From 1cf88d43994ec7ec403319032a9d118b39fe3571 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 25 四月 2025 14:35:35 +0800 Subject: [PATCH] 登录代码优化 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 863 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 671 insertions(+), 192 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml index 6c188cc..3c10897 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml @@ -29,6 +29,7 @@ <result column="cl_this_amount" jdbcType="DOUBLE" property="clThisAmount"/> <result column="cl_this_money" jdbcType="DOUBLE" property="clThisMoney"/> <result column="cl_this_time" jdbcType="INTEGER" property="clThisTime"/> + <result column="cl_price" jdbcType="DOUBLE" property="clPrice"/> <result column="cl_open_dt" jdbcType="TIMESTAMP" property="clOpenDt"/> <result column="close_dt" jdbcType="TIMESTAMP" property="closeDt"/> <result column="cl_order_no" jdbcType="VARCHAR" property="clOrderNo"/> @@ -63,6 +64,7 @@ cl_this_amount, cl_this_money, cl_this_time, + cl_price, cl_open_dt, close_dt, cl_order_no, @@ -93,7 +95,7 @@ op_ele_total_amount, op_water_remain_user, cl_dt, cl_type, cl_total_amount, cl_ic_card_no, cl_ic_card_addr, cl_remain_money, cl_this_amount, - cl_this_money, cl_this_time, cl_open_dt, + cl_this_money, cl_this_time, cl_price, cl_open_dt, close_dt, cl_order_no, cl_ele_total_amount, cl_water_remain_user, cl_this_ele) values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{clientName,jdbcType=VARCHAR}, @@ -104,9 +106,9 @@ #{opEleTotalAmount,jdbcType=FLOAT}, #{opWaterRemainUser,jdbcType=FLOAT}, #{clDt,jdbcType=TIMESTAMP}, #{clType,jdbcType=TINYINT}, #{clTotalAmount,jdbcType=DOUBLE}, #{clIcCardNo,jdbcType=VARCHAR}, #{clIcCardAddr,jdbcType=VARCHAR}, #{clRemainMoney,jdbcType=DOUBLE}, #{clThisAmount,jdbcType=DOUBLE}, - #{clThisMoney,jdbcType=DOUBLE}, #{clThisTime,jdbcType=INTEGER}, #{clOpenDt,jdbcType=TIMESTAMP}, - #{closeDt,jdbcType=TIMESTAMP}, #{clOrderNo,jdbcType=VARCHAR}, #{clEleTotalAmount,jdbcType=FLOAT}, - #{clWaterRemainUser,jdbcType=FLOAT}, #{clThisEle,jdbcType=FLOAT}) + #{clThisMoney,jdbcType=DOUBLE}, #{clThisTime,jdbcType=INTEGER}, #{clPrice,jdbcType=INTEGER}, + #{clOpenDt,jdbcType=TIMESTAMP}, #{closeDt,jdbcType=TIMESTAMP}, #{clOrderNo,jdbcType=VARCHAR}, + #{clEleTotalAmount,jdbcType=FLOAT},#{clWaterRemainUser,jdbcType=FLOAT}, #{clThisEle,jdbcType=FLOAT}) </insert> <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory"> <!--@mbg.generated--> @@ -183,6 +185,9 @@ </if> <if test="clThisMoney != null"> cl_this_money, + </if> + <if test="clPrice != null"> + cl_price, </if> <if test="clThisTime != null"> cl_this_time, @@ -282,6 +287,9 @@ <if test="clThisTime != null"> #{clThisTime,jdbcType=INTEGER}, </if> + <if test="clPrice != null"> + #{clPrice,jdbcType=DOUBLE}, + </if> <if test="clOpenDt != null"> #{clOpenDt,jdbcType=TIMESTAMP}, </if> @@ -378,6 +386,9 @@ <if test="clThisTime != null"> cl_this_time = #{clThisTime,jdbcType=INTEGER}, </if> + <if test="clPrice != null"> + cl_price = #{clPrice,jdbcType=INTEGER}, + </if> <if test="clOpenDt != null"> cl_open_dt = #{clOpenDt,jdbcType=TIMESTAMP}, </if> @@ -426,6 +437,7 @@ cl_this_amount = #{clThisAmount,jdbcType=DOUBLE}, cl_this_money = #{clThisMoney,jdbcType=DOUBLE}, cl_this_time = #{clThisTime,jdbcType=INTEGER}, + cl_price = #{clPrice,jdbcType=DOUBLE}, cl_open_dt = #{clOpenDt,jdbcType=TIMESTAMP}, close_dt = #{closeDt,jdbcType=TIMESTAMP}, cl_order_no = #{clOrderNo,jdbcType=VARCHAR}, @@ -447,6 +459,9 @@ <if test="intakeNum != null and intakeNum != ''"> AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') </if> + <if test="clientName != null and clientName != ''"> + AND oh.client_name LIKE CONCAT('%', #{clientName}, '%') + </if> <if test="rtuAddr != null and rtuAddr != ''"> AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') </if> @@ -454,154 +469,72 @@ AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open} </if> <if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''"> - AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} - </if> - </where> - </select> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰曟暟閲�--> - <select id="getOpenCloseValveReportsCount_history" resultType="java.lang.Long"> - SELECT COUNT(*) AS recordCount - FROM rm_open_close_valve_history oh - INNER JOIN pr_intake inta ON inta.id = oh.intake_id - <where> - <if test="intakeId != null and intakeId > 0"> - AND oh.intake_id = #{intakeId} - </if> - <if test="intakeNum != null and intakeNum != ''"> - AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') - </if> - <if test="rtuAddr != null and rtuAddr != ''"> - AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') - </if> - <if test="timeStart_open != null and timeStop_open != null"> - AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open} - </if> - <if test="timeStart_close != null and timeStop_close != null"> AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} </if> </where> </select> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰�--> - <select id="getOpenCloseValveReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve"> - SELECT oh.intake_id AS intakeId, - inta.name AS intakenum, - oh.rtu_addr AS rtuAddr, - oh.client_name AS clientName, - oh.op_ic_card_no AS openIcNum, - oh.op_ic_card_addr AS openIcAddr, - oh.op_dt AS openTime, - CASE + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰� + CASE WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�' WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�' - WHEN oh.op_type = 5 THEN '娆犺垂鍏抽榾' + WHEN oh.op_type = 5 THEN '浣欓涓嶈冻鍏抽榾' WHEN oh.op_type = 8 THEN '鐢ㄦ埛杩滅▼寮�闃�' - WHEN oh.op_type = 11 THEN '寮�鍏抽榾鍗″紑闃�' + WHEN oh.op_type = 11 THEN '宸℃鍗″紑闃�' ELSE '鏈煡' END AS openType, - oh.op_order_no AS openOrderNo, - oh.op_total_amount AS openTotalAmount, - oh.op_remain_money AS openRemainMoney, - oh.op_water_remain_user AS openWaterRemain, - oh.op_ele_total_amount AS openEleTotalAmount, - oh.cl_ic_card_no AS closeIcNum, - oh.cl_ic_card_addr AS closeIcAddr, - oh.cl_dt AS closeTime, - CASE + + CASE WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾' WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�' - WHEN oh.cl_type = 5 THEN '娆犺垂鍏抽榾' - WHEN oh.cl_type = 6 THEN '娴侀噺璁℃晠闅滃叧闃�' - WHEN oh.cl_type = 7 THEN '绱ф�ュ叧闃�' - WHEN oh.cl_type = 9 THEN '鐢ㄦ埛杩滅▼鍏抽榾' - WHEN oh.cl_type = 10 THEN '寮�鍏抽榾鍗″叧闃�' - WHEN oh.cl_type = 12 THEN '榛戝悕鍗曞懡浠ゅ叧闃�' - WHEN oh.cl_type = 13 THEN '杩滅▼瀹氭椂鍏抽榾' - WHEN oh.cl_type = 14 THEN '杩滅▼瀹氶噺鍏抽榾' - ELSE '鏈煡' - END AS closeType, - oh.cl_this_amount AS closeThisAmount, - oh.cl_this_time AS thisTime, - oh.cl_this_money AS thisMoney, - oh.cl_remain_money AS closeRemainMoney, - oh.cl_total_amount AS closeTotalAmount - FROM rm_open_close_valve_history oh - INNER JOIN pr_intake inta ON inta.id = oh.intake_id - <where> - <if test="intakeId != null and intakeId > 0"> - AND oh.intake_id = #{intakeId} - </if> - <if test="intakeNum != null and intakeNum != ''"> - AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') - </if> - <if test="rtuAddr != null and rtuAddr != ''"> - AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') - </if> - <if test="timeStart_open != null and timeStop_open != null"> - AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open} - </if> - <if test="timeStart_close != null and timeStop_close != null"> - AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} - </if> - </where> - ORDER BY oh.op_dt DESC - <trim prefix="limit "> - <if test="start != null and count != null"> - #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} - </if> - </trim> - </select> - <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰�--> - <select id="getOpenCloseValveReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve"> - SELECT oh.intake_id AS intakeId, - inta.name AS intakenum, - oh.rtu_addr AS rtuAddr, - oh.client_name AS clientName, - oh.op_ic_card_no AS openIcNum, - oh.op_ic_card_addr AS openIcAddr, - oh.op_dt AS openTime, - CASE - WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�' - WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�' - WHEN oh.op_type = 5 THEN '娆犺垂鍏抽榾' - WHEN oh.op_type = 8 THEN '鐢ㄦ埛杩滅▼寮�闃�' - WHEN oh.op_type = 11 THEN '寮�鍏抽榾鍗″紑闃�' - ELSE '鏈煡' - END AS openType, - oh.op_order_no AS openOrderNo, - oh.op_total_amount AS openTotalAmount, - oh.op_remain_money AS openRemainMoney, - oh.op_water_remain_user AS openWaterRemain, - oh.op_ele_total_amount AS openEleTotalAmount, - oh.cl_ic_card_no AS closeIcNum, - oh.cl_ic_card_addr AS closeIcAddr, - oh.cl_dt AS closeTime, - CASE - WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾' - WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�' - WHEN oh.cl_type = 5 THEN '娆犺垂鍏抽榾' + WHEN oh.cl_type = 5 THEN '浣欓涓嶈冻鍏抽榾' WHEN oh.cl_type = 6 THEN '娴侀噺璁℃晠闅滃叧闃�' WHEN oh.cl_type = 7 THEN '绱ф�ュ叧闂�' WHEN oh.cl_type = 9 THEN '鐢ㄦ埛杩滅▼鍏抽榾' - WHEN oh.cl_type = 10 THEN '寮�鍏抽榾鍗″叧闃�' + WHEN oh.cl_type = 10 THEN '宸℃鍗″叧闃�' WHEN oh.cl_type = 12 THEN '榛戝悕鍗曞懡浠ゅ叧闃�' WHEN oh.cl_type = 13 THEN '鐢ㄦ埛杩滅▼瀹氭椂鍏抽榾' WHEN oh.cl_type = 14 THEN '鐢ㄦ埛杩滅▼瀹氶噺鍏抽榾' ELSE '鏈煡' END AS closeType, + --> + <select id="getOpenCloseValveReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve"> + SELECT oh.intake_id AS intakeId, + inta.name AS intakenum, + oh.rtu_addr AS rtuAddr, + cl.name AS clientName, + cl.address AS clientAddr, + oh.op_ic_card_no AS openIcNum, + oh.op_ic_card_addr AS openIcAddr, + oh.open_dt AS openTime, + oh.op_type AS opType, + oh.op_order_no AS openOrderNo, + oh.op_total_amount AS openTotalAmount, + oh.op_remain_money AS openRemainMoney, + oh.op_water_remain_user AS openWaterRemain, + oh.op_ele_total_amount AS openEleTotalAmount, + oh.cl_ic_card_no AS closeIcNum, + oh.cl_ic_card_addr AS closeIcAddr, + oh.close_dt AS closeTime, + oh.cl_type AS clType, oh.cl_this_amount AS closeThisAmount, oh.cl_this_time AS thisTime, + oh.cl_price AS closePrice, oh.cl_this_money AS thisMoney, oh.cl_remain_money AS closeRemainMoney, oh.cl_total_amount AS closeTotalAmount FROM rm_open_close_valve_history oh - INNER JOIN pr_intake inta ON inta.id = oh.intake_id + LEFT JOIN pr_intake inta ON inta.id = oh.intake_id + LEFT JOIN se_client cl ON cl.id = oh.client_id <where> <if test="intakeId != null and intakeId > 0"> AND oh.intake_id = #{intakeId} </if> <if test="intakeNum != null and intakeNum != ''"> AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') + </if> + <if test="clientName != null and clientName != ''"> + AND oh.client_name LIKE CONCAT('%', #{clientName}, '%') </if> <if test="rtuAddr != null and rtuAddr != ''"> AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') @@ -613,37 +546,57 @@ AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close} </if> </where> - ORDER BY oh.op_dt DESC + ORDER BY oh.id DESC <trim prefix="limit "> <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} </if> </trim> </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛鏁伴噺--> <select id="getNeverOpenValveIntakesCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM pr_intake inta - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 - AND NOT EXISTS(SELECT * - FROM rm_open_close_valve_history - WHERE op_dt BETWEEN #{timeStart} AND #{timeStop} - AND intake_id = inta.id) + LEFT JOIN + (SELECT intake_id FROM rm_open_close_valve_history + <where> + <if test = "idStart != null"> + id <![CDATA[>=]]> #{idStart} + </if> + <if test = "idEnd != null"> + AND id <![CDATA[<=]]> #{idEnd} + </if> + </where>) his + ON his.intake_id = inta.id + LEFT JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN pr_controller pct ON inta.id = pct.intakeId + WHERE his.intake_id IS NULL AND inta.deleted = 0 </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛--> - <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> - SELECT inta.id AS intakeId, - inta.name AS intakeNum, - blo.name AS blockName + <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeUnOpenValve"> + SELECT inta.id AS intakeId, + inta.name AS intakeNum, + inta.lng AS lng, + inta.lat AS lat, + blo.name AS blockName, + pct.rtuAddr AS rtuAddr FROM pr_intake inta - INNER JOIN ba_block blo ON blo.id = inta.blockId - WHERE inta.deleted = 0 - AND NOT EXISTS(SELECT * - FROM rm_open_close_valve_history - WHERE op_dt BETWEEN #{timeStart} AND #{timeStop} - AND intake_id = inta.id) - ORDER BY inta.id + LEFT JOIN + (SELECT intake_id FROM rm_open_close_valve_history + <where> + <if test = "idStart != null"> + id <![CDATA[>=]]> #{idStart} + </if> + <if test = "idEnd != null"> + AND id <![CDATA[<=]]> #{idEnd} + </if> + </where>) his + ON his.intake_id = inta.id + LEFT JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN pr_controller pct ON inta.id = pct.intakeId + WHERE his.intake_id IS NULL AND inta.deleted = 0 + ORDER BY inta.id DESC <trim prefix="limit "> <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} @@ -658,10 +611,11 @@ inta.name AS intakeNum, blo.name AS blockName FROM pr_intake inta - LEFT JOIN (SELECT * - FROM rm_open_close_valve_history - WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN (SELECT intake_id + FROM rm_open_close_valve_history + WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd} + ) his ON his.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId WHERE inta.deleted = 0 GROUP BY intakeId, intakeNum, blockName HAVING recordCount > #{value}) a @@ -671,22 +625,26 @@ SELECT COUNT(*) AS recordCount, inta.id AS intakeId, inta.name AS intakeNum, + inta.lng AS lng, + inta.lat AS lat, blo.name AS blockName FROM pr_intake inta - LEFT JOIN (SELECT * - FROM rm_open_close_valve_history - WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN(SELECT intake_id + FROM rm_open_close_valve_history + WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd} + ) his ON his.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId WHERE inta.deleted = 0 GROUP BY intakeId, intakeNum, blockName HAVING recordCount > #{value} - <!-- ORDER BY inta.id--> + ORDER BY intakeId DESC <trim prefix="limit "> <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} </if> </trim> </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> <select id="getOpenValveLtIntakesCount" resultType="java.lang.Long"> select count(*) @@ -695,10 +653,11 @@ inta.name AS intakeNum, blo.name AS blockName FROM pr_intake inta - LEFT JOIN (SELECT * - FROM rm_open_close_valve_history - WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN (SELECT intake_id + FROM rm_open_close_valve_history + WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd} + ) his ON his.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId WHERE inta.deleted = 0 GROUP BY intakeId, intakeNum, blockName HAVING recordCount < #{value}) a @@ -708,16 +667,19 @@ SELECT COUNT(*) AS recordCount, inta.id AS intakeId, inta.name AS intakeNum, + inta.lng AS lng, + inta.lat AS lat, blo.name AS blockName FROM pr_intake inta - LEFT JOIN (SELECT * - FROM rm_open_close_valve_history - WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id - INNER JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN(SELECT intake_id + FROM rm_open_close_valve_history + WHERE id <![CDATA[>=]]> #{idStart} AND id <![CDATA[<=]]> #{idEnd} + ) his ON his.intake_id = inta.id + INNER JOIN ba_block blo ON blo.id = inta.blockId WHERE inta.deleted = 0 GROUP BY intakeId, intakeNum, blockName HAVING recordCount < #{value} - <!-- ORDER BY inta.id--> + ORDER BY intakeId DESC <trim prefix="limit "> <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} @@ -729,10 +691,14 @@ <select id="getLargeOpenCountClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - WHERE (SELECT COUNT(*) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> @@ -742,12 +708,24 @@ cli.clientNum, CONCAT(cli.districtTitle, cli.address) AS address, cli.phone, - cli.idCard + cli.idCard, + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where>) AS openCount FROM se_client cli - WHERE (SELECT COUNT(*) + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) FROM rm_open_close_valve_history his WHERE his.client_id = cli.id AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -760,10 +738,14 @@ <select id="getSmallOpenCountClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - WHERE (SELECT COUNT(*) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍐滄埛--> @@ -773,12 +755,24 @@ cli.clientNum, CONCAT(cli.districtTitle, cli.address) AS address, cli.phone, - cli.idCard + cli.idCard, + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where>) AS openCount FROM se_client cli - WHERE (SELECT COUNT(*) - FROM rm_open_close_valve_history his - WHERE his.client_id = cli.id - AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null"> + (SELECT COUNT(*) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -791,9 +785,14 @@ <select id="getLargeWaterConsumptionClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id - WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop} - AND his.cl_this_amount > #{waterConsumption} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> + (SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍐滄埛--> @@ -803,11 +802,73 @@ cli.clientNum, CONCAT(cli.districtTitle, cli.address) AS address, cli.phone, - cli.idCard + cli.idCard, + IFNULL((SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ),0) AS waterConsumption FROM se_client cli - INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id - WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop} - AND his.cl_this_amount > #{waterConsumption} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> + (SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption} + </if> + </where> + ORDER BY cli.id + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忎綆浜庢寚瀹氬�肩殑鍐滄埛鏁伴噺--> + <select id="getSmallWaterConsumptionClientsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM se_client cli + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> + (SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterConsumption} + </if> + </where> + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忎綆浜庢寚瀹氬�肩殑鍐滄埛--> + <select id="getSmallWaterConsumptionClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> + SELECT cli.id AS clientId, + cli.name AS clientName, + cli.clientNum, + CONCAT(cli.districtTitle, cli.address) AS address, + cli.phone, + cli.idCard, + IFNULL((SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ),0) AS waterConsumption + FROM se_client cli + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null"> + (SELECT SUM(his.cl_this_amount) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterConsumption} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -820,9 +881,14 @@ <select id="getLargeAmountSpentClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id - WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop} - AND his.cl_this_money > #{amountSpent} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> + (SELECT SUM(his.cl_this_money) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> <select id="getLargeAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> @@ -831,11 +897,72 @@ cli.clientNum, CONCAT(cli.districtTitle, cli.address) AS address, cli.phone, - cli.idCard + cli.idCard, + IFNULL((SELECT SUM(his.cl_this_money) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ),0) AS amountSpent FROM se_client cli - INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id - WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop} - AND his.cl_this_money > #{amountSpent} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> + (SELECT SUM(his.cl_this_money) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent} + </if> + </where> + ORDER BY cli.id + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦浣庝簬鎸囧畾鍊肩殑鍐滄埛鏁伴噺--> + <select id="getSmallAmountSpentClientsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM se_client cli + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> + (SELECT SUM(his.cl_this_money) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{amountSpent} + </if> + </where> + </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦浣庝簬鎸囧畾鍊肩殑鍐滄埛--> + <select id="getSmallAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> + SELECT cli.id AS clientId, + cli.name AS clientName, + cli.clientNum, + CONCAT(cli.districtTitle, cli.address) AS address, + cli.phone, + cli.idCard, + IFNULL((SELECT SUM(his.cl_this_money) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ),0) AS amountSpent + FROM se_client cli + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null"> + (SELECT SUM(his.cl_this_money) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{amountSpent} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -848,9 +975,14 @@ <select id="getLargeWaterDurationClientsCount" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount FROM se_client cli - INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id - WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop} - AND his.cl_this_time > #{waterDuration} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> + (SELECT SUM(his.cl_this_time) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration} + </if> + </where> </select> <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> @@ -860,11 +992,25 @@ cli.clientNum, CONCAT(cli.districtTitle, cli.address) AS address, cli.phone, - cli.idCard + cli.idCard, + IFNULL((SELECT SUM(his.cl_this_time) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ),0) AS waterDuration FROM se_client cli - INNER JOIN rm_open_close_valve_history his ON his.client_id = cli.id - WHERE his.op_dt BETWEEN #{timeStart} AND #{timeStop} - AND his.cl_this_time > #{waterDuration} + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> + (SELECT SUM(his.cl_this_time) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration} + </if> + </where> ORDER BY cli.id <trim prefix="limit "> <if test="start != null and count != null"> @@ -872,4 +1018,337 @@ </if> </trim> </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱浣庝簬鎸囧畾鍊肩殑鍐滄埛鏁伴噺--> + <select id="getSmallWaterDurationClientsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM se_client cli + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> + (SELECT SUM(his.cl_this_time) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterDuration} + </if> + </where> + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱浣庝簬鎸囧畾鍊肩殑鍐滄埛--> + <select id="getSmallWaterDurationClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient"> + SELECT cli.id AS clientId, + cli.name AS clientName, + cli.clientNum, + CONCAT(cli.districtTitle, cli.address) AS address, + cli.phone, + cli.idCard, + IFNULL((SELECT SUM(his.cl_this_time) + FROM rm_open_close_valve_history his + <where> + his.client_id = cli.id + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + ),0) AS waterDuration + FROM se_client cli + <where> + <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null"> + (SELECT SUM(his.cl_this_time) + FROM rm_open_close_valve_history his + WHERE his.client_id = cli.id + AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{waterDuration} + </if> + </where> + ORDER BY cli.id + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <select id="getUseWaterDurationGtValueIntakesCount" resultType="java.lang.Long"> + select + count(*) + from + ( SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount + FROM + pr_intake inta + INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_time),0) > #{value}) c + </select> + <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> + <select id="getUseWaterDurationGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount"> + SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount + FROM + pr_intake inta + LEFT JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_time),0) > #{value} + ORDER BY inta.id + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛鏁伴噺--> + <select id="getHaveOpenNoCloseIntakesCount" resultType="java.lang.Long"> + select count(*) from + ( + SELECT + inta.id AS intakeId + FROM + pr_intake inta + LEFT JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.cl_dt IS NULL + GROUP BY inta.id + ) c + </select> + <!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛--> + <select id="getHaveOpenNoCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> + SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + inta.lng AS lng, + inta.lat AS lat, + blo.NAME AS blockName + FROM + pr_intake inta + LEFT JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.cl_dt IS NULL + GROUP BY inta.id + ORDER BY inta.id DESC + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!--鎸囧畾鏃堕棿娈� 鏃犲紑闃� 鏈夊叧闃�鐨勫彇姘村彛鏁伴噺--> + <select id="getNoOpenHaveCloseIntakesCount" resultType="java.lang.Long"> + select count(*) from + ( + SELECT + inta.id AS intakeId + FROM + pr_intake inta + LEFT JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.op_dt IS NULL + GROUP BY inta.id + ) c + </select> + <!--鎸囧畾鏃堕棿娈� 鏃犲紑闃� 鏈夊叧闃�鐨勫彇姘村彛--> + <select id="getNoOpenHaveCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> + SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + inta.lng AS lng, + inta.lat AS lat, + blo.NAME AS blockName + FROM + pr_intake inta + LEFT JOIN ba_block blo ON blo.id = inta.blockId + INNER JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE inta.deleted = 0 AND rocvh.id <![CDATA[>=]]> #{idStart} AND rocvh.id <![CDATA[<=]]> #{idEnd} AND rocvh.op_dt IS NULL + GROUP BY inta.id + ORDER BY inta.id DESC + <trim prefix="limit "> + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--鑾峰彇姘村崱娑堣垂璁板綍鏁伴噺锛岀鐞嗗钩鍙颁娇鐢�--> + <select id="getExpendsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM rm_open_close_valve_history och + INNER JOIN se_client cli ON cli.id = och.client_id + INNER JOIN pr_intake inta ON inta.id = och.intake_id + <where> + AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL + AND och.cl_this_money> 0 + <if test = "clientName != null and clientName !=''"> + AND cli.name like CONCAT('%',#{clientName},'%') + </if> + + <if test = "clientNum != null and clientNum > 0"> + AND cli.clientNum like CONCAT('%',#{clientNum},'%') + </if> + + <if test = "cardNum != null and cardNum !=''"> + AND och.cl_ic_card_no like CONCAT('%',#{cardNum},'%') + </if> + </where> + </select> + + <!--鑾峰彇姘村崱娑堣垂璁板綍锛岀鐞嗗钩鍙颁娇鐢�--> + <select id="getExpends" resultType="com.dy.pipIrrGlobal.voRm.VoExpend"> + SELECT + cli.name AS clientName, + cli.clientNum, + och.cl_ic_card_no AS cardNum, + inta.name AS intakeName, + och.rtu_addr AS rtuAddr, + och.cl_this_money AS moneyAmount, + och.cl_this_amount AS waterAmount, + och.cl_this_time AS duration, + och.cl_dt AS operateTime + FROM rm_open_close_valve_history och + INNER JOIN se_client cli ON cli.id = och.client_id + INNER JOIN pr_intake inta ON inta.id = och.intake_id + <where> + AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL + AND och.cl_this_money> 0 + <if test = "clientName != null and clientName !=''"> + AND cli.name like CONCAT('%',#{clientName},'%') + </if> + + <if test = "clientNum != null and clientNum > 0"> + AND cli.clientNum like CONCAT('%',#{clientNum},'%') + </if> + + <if test = "cardNum != null and cardNum !=''"> + AND och.cl_ic_card_no like CONCAT('%',#{cardNum},'%') + </if> + </where> + ORDER BY och.cl_dt DESC + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍鏁伴噺锛屽井淇″皬绋嬪簭浣跨敤--> + <select id="getCardOpenCloseCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM rm_open_close_valve_history his + LEFT JOIN pr_intake inta ON inta.id = his.intake_id + <where> + AND op_type = 1 + <if test = "clientId != null"> + AND his.client_id = #{clientId} + </if> + </where> + </select> + + <!--鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤--> + <select id="getCardOpenClose" resultType="com.dy.pipIrrGlobal.voRm.VoOpenClostWechat"> + SELECT + cl_this_money AS expense, + op_ic_card_no AS cardNum, + inta.name AS intakeNum, + open_dt AS openTime, + close_dt AS closeTime, + cl_this_time AS duration, + cl_this_amount AS amount, + '鍒峰崱寮�闃�' AS openType + FROM rm_open_close_valve_history his + LEFT JOIN pr_intake inta ON inta.id = his.intake_id + <where> + AND op_type = 1 + <if test = "clientId != null"> + AND his.client_id = #{clientId} + </if> + </where> + ORDER BY open_dt DESC + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + <!--鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍鏁伴噺锛屽井淇″皬绋嬪簭浣跨敤--> + <select id="getVcCardOpenCloseCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM rm_open_close_valve_history his + LEFT JOIN pr_intake inta ON inta.id = his.intake_id + <where> + AND op_type = 8 + <if test = "clientId != null"> + AND his.client_id = #{clientId} + </if> + </where> + </select> + + <!--鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤--> + <select id="getVcCardOpenClose" resultType="com.dy.pipIrrGlobal.voRm.VoOpenClostWechat"> + SELECT + cl_this_money AS expense, + op_ic_card_no AS cardNum, + inta.name AS intakeNum, + open_dt AS openTime, + close_dt AS closeTime, + cl_this_time AS duration, + cl_this_amount AS amount, + CASE + WHEN cl_type = 13 THEN '瀹氭椂鍏抽榾寮忓紑闃�' + WHEN cl_type = 14 THEN '瀹氶噺鍏抽榾寮忓紑闃�' + ELSE '杩滅▼寮�闃�' + END AS openType + FROM rm_open_close_valve_history his + LEFT JOIN pr_intake inta ON inta.id = his.intake_id + <where> + AND op_type = 8 + <if test = "clientId != null"> + AND his.client_id = #{clientId} + </if> + </where> + ORDER BY open_dt DESC + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + + + + <!-- /////////////////////////////////// --> + <!-- 缁熻鐩稿叧 --> + <!-- /////////////////////////////////// --> + <select id="statisticsByIc" resultType="com.dy.pipIrrGlobal.voSt.VoIcConsumeStatistics"> + select ocvh.client_id as clientId, + cc.id as cardId, + sum(ocvh.cl_this_amount) as water, + sum(ocvh.cl_this_money) as amount, + sum(ocvh.cl_this_time) as duration, + count(ocvh.id) as times + from rm_open_close_valve_history ocvh + inner join se_client_card cc on CAST(cc.cardNum AS CHAR) = ocvh.cl_ic_card_no + where ocvh.cl_dt <![CDATA[>=]]> #{startDt, jdbcType=TIMESTAMP } + and ocvh.cl_dt <![CDATA[<=]]> #{endDt, jdbcType=TIMESTAMP} + group by ocvh.client_id, cc.id + </select> + <select id="statisticsByClient" resultType="com.dy.pipIrrGlobal.voSt.VoClientConsumeStatistics"> + select client_id as clientId, + sum(cl_this_amount) as water, + sum(cl_this_money) as amount, + sum(cl_this_time) as duration, + count(id) as times + from rm_open_close_valve_history + where cl_dt <![CDATA[>=]]> #{startDt, jdbcType=TIMESTAMP} + and cl_dt <![CDATA[<=]]> #{endDt, jdbcType=TIMESTAMP} + group by client_id + </select> </mapper> \ No newline at end of file -- Gitblit v1.8.0