You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

159 lines
8.0 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.WxVehicleBindMapper">
<select id="selectMyPage" resultType="java.util.Map">
SELECT
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE
t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor ),0) freeTimes,
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE
t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor and t7.iscomplete=1),0) reviewedTimes,
COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE
t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor and t8.iscomplete=0),0) notReviewedTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
t.freesta,
(COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE
wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor ),0) + (SELECT COALESCE(SUM(w.advancefee), 0) FROM wx_pretimesinfo w WHERE
w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor)) totalAdvancefee,
(COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE
w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor and w1.iscomplete=1),0) + COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE
a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor and a1.iscomplete=1),0)) reviewedFee,
(COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE
w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor and w2.iscomplete=0),0) + COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE
a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor and a2.iscomplete=0),0)) notReviewedFee,
t.checkcode,
t.backup2,
t.backup3,
t.backup4,
t.backup5,
t.iscomplete,
t4.wxid,
t4.applyType,
t4.managerWXID,
t4.TEXT,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
COALESCE(( SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor
),0) surplusTimes
FROM
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN wx_unbindapply t4 ON ( t4.vehicleid = t.vehicleid AND t4.vehiclecolor = t.vehiclecolor )
<where>
1=1
<if test="vehicleid != null and vehicleid != ''">
AND t.vehicleid like '%${vehicleid}%'
</if>
<if test="vehiclecolor != null">
AND t.vehiclecolor=${vehiclecolor}
</if>
</where>
ORDER BY
t.freeStartTime DESC
</select>
<select id="queryList" resultType="com.nmgs.entity.WxVehicleBindExcel">
SELECT
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
CASE
WHEN freesta = 'G' THEN '嘎鲁图'
WHEN freesta = 'T' THEN '台格'
ELSE '台格,嘎鲁图'
END AS freesta,
CASE
WHEN t.freetype = 5 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0),
CASE
WHEN (SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0), 0))
ELSE ''
END,
', 合计: ',
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor), 0)
)
ELSE ''
END AS freeTimes,
CASE
WHEN t.freetype = 5 THEN
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0) -
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS applyTimes,
CASE
WHEN t.freetype = 5 OR t.freetype = 2 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor AND w1.iscomplete = 1), 0) +
COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor AND a1.iscomplete = 1), 0), '元',
CASE
WHEN (SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor AND w2.iscomplete = 0), 0) +
COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0), 0), '元')
ELSE ''
END,
', 合计: ',
COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor), 0) +
COALESCE((SELECT SUM(w.advancefee) FROM wx_pretimesinfo w WHERE w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor), 0), '元'
)
ELSE ''
END AS advancefee,
t.checkcode,
CASE
WHEN t.freetype = 5 AND (SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor) > 0 THEN
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS surplusTimes,
CASE
WHEN t.iscomplete = 0 THEN '未审核'
WHEN t.iscomplete = 1 THEN '通过'
WHEN t.iscomplete = 2 THEN '未通过'
ELSE '其他状态'
END AS iscomplete,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename
FROM
wx_vehiclebind t
LEFT JOIN
atype_text t1 ON t1.VALUE = t.vehiclecolor
LEFT JOIN
TYPE_TEXT t2 ON t2.VALUE = t.vehicletype
LEFT JOIN
wx_freetype_text t3 ON t3.VALUE = t.freetype
${whereSql}
ORDER BY
t.freeStartTime DESC
</select>
</mapper>