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 | 341 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 172 insertions(+), 169 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 65e7dd0..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}, @@ -462,16 +474,8 @@ </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.open_dt AS openTime, - CASE + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍏抽榾鎶ュ巻鍙茶褰� + CASE WHEN oh.op_type = 1 THEN '鍒峰崱寮�闃�' WHEN oh.op_type = 3 THEN '涓績绔欏紑闃�' WHEN oh.op_type = 5 THEN '浣欓涓嶈冻鍏抽榾' @@ -479,15 +483,8 @@ 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.close_dt AS closeTime, - CASE + + CASE WHEN oh.cl_type = 2 THEN '鍒峰崱鍏抽榾' WHEN oh.cl_type = 4 THEN '涓績绔欏叧闃�' WHEN oh.cl_type = 5 THEN '浣欓涓嶈冻鍏抽榾' @@ -500,13 +497,35 @@ 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} @@ -527,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} @@ -572,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 @@ -585,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(*) @@ -609,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 @@ -622,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} @@ -1018,84 +1066,7 @@ </if> </trim> </select> - <!--鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> - <select id="getUseWaterGtValueIntakesCount" 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_amount),0) AS value - 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_amount),0) > #{value}) c - </select> - <!--鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> - <select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> - SELECT - inta.id AS intakeId, - inta.NAME AS intakeNum, - blo.NAME AS blockName , - IFNULL(SUM(rocvh.cl_this_amount),0) AS value - 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_amount),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> - <!--鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙g殑鏁伴噺--> - <select id="getExpenseGtValueIntakesCount" 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_money),0) AS value - 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_money),0) > #{value}) c - </select> - <!--鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> - <select id="getExpenseGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> - SELECT - inta.id AS intakeId, - inta.NAME AS intakeNum, - blo.NAME AS blockName , - IFNULL(SUM(rocvh.cl_this_money),0) AS value - 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_money),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> + <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> <select id="getUseWaterDurationGtValueIntakesCount" resultType="java.lang.Long"> select @@ -1123,8 +1094,8 @@ 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 + 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} @@ -1138,31 +1109,32 @@ <!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛鏁伴噺--> <select id="getHaveOpenNoCloseIntakesCount" resultType="java.lang.Long"> select count(*) from - ( - SELECT - inta.id AS intakeId, - inta.NAME AS intakeNum, - blo.NAME AS blockName - FROM - pr_intake inta - INNER 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 BETWEEN #{timeStart} AND #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0 - GROUP BY inta.id) c + ( + 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 - INNER 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 BETWEEN #{timeStart} AND #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0 + 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 + 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} @@ -1173,30 +1145,31 @@ <select id="getNoOpenHaveCloseIntakesCount" resultType="java.lang.Long"> select count(*) from ( - SELECT - inta.id AS intakeId, - inta.NAME AS intakeNum, - blo.NAME AS blockName - FROM - pr_intake inta - INNER 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.cl_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0 - GROUP BY inta.id) c + 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 - INNER 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.cl_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0 + 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 + 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} @@ -1348,4 +1321,34 @@ </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