From c60767599cf741fde1cb7a10544d8c0ebb8db6a5 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 08 八月 2024 19:36:33 +0800 Subject: [PATCH] 2024-08-08 朱宝民 统计指定月份各天漏算了、统计指定年份各月漏算量 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 539 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 537 insertions(+), 2 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 b332c90..5e895e4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml @@ -450,6 +450,29 @@ <if test="rtuAddr != null and rtuAddr != ''"> AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') </if> + <if test="timeStart_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''"> + 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> @@ -471,7 +494,7 @@ 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 '寮�鍏抽榾鍗″紑闃�' ELSE '鏈煡' @@ -487,7 +510,7 @@ 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 '鐢ㄦ埛杩滅▼鍏抽榾' @@ -528,4 +551,516 @@ </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 = 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 timeStart_open != '' and timeStop_open != null and timeStop_open != ''"> + 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> + 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="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) + </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴浠庢湭寮�杩囬榾鐨勫彇姘村彛--> + <select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> + 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 + 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 + <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="getOpenValveGtIntakesCount" resultType="java.lang.Long"> + select count(*) + from (SELECT COUNT(*) AS recordCount, + inta.id AS intakeId, + 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 + WHERE inta.deleted = 0 + GROUP BY intakeId, intakeNum, blockName + HAVING recordCount > #{value}) a + </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> + <select id="getOpenValveGtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount"> + SELECT COUNT(*) AS recordCount, + inta.id AS intakeId, + 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 + WHERE inta.deleted = 0 + GROUP BY intakeId, intakeNum, blockName + HAVING recordCount > #{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="getOpenValveLtIntakesCount" resultType="java.lang.Long"> + select count(*) + from (SELECT COUNT(*) AS recordCount, + inta.id AS intakeId, + 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 + WHERE inta.deleted = 0 + GROUP BY intakeId, intakeNum, blockName + HAVING recordCount < #{value}) a + </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍙栨按鍙�--> + <select id="getOpenValveLtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount"> + SELECT COUNT(*) AS recordCount, + inta.id AS intakeId, + 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 + WHERE inta.deleted = 0 + GROUP BY intakeId, intakeNum, blockName + HAVING recordCount < #{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="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} + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> + <select id="getLargeOpenCountClients" 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 + 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} + 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="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} + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟浣庝簬鎸囧畾鍊肩殑鍐滄埛--> + <select id="getSmallOpenCountClients" 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 + 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} + 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="getLargeWaterConsumptionClientsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM se_client cli + WHERE (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} + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍐滄埛--> + <select id="getLargeWaterConsumptionClients" 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 + FROM se_client cli + WHERE (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} + 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="getLargeAmountSpentClientsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM se_client cli + WHERE (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} + </select> + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> + <select id="getLargeAmountSpentClients" 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 + FROM se_client cli + WHERE (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} + 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="getLargeWaterDurationClientsCount" resultType="java.lang.Long"> + SELECT COUNT(*) AS recordCount + FROM se_client cli + WHERE (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} + </select> + + <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍐滄埛--> + <select id="getLargeWaterDurationClients" 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 + FROM se_client cli + WHERE (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} + 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="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 + 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 + 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} + 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, + 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> + <!--鎸囧畾鏃堕棿娈� 鏈夊紑闃� 鏃犲叧闃�鐨勫彇姘村彛--> + <select id="getHaveOpenNoCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> + 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 + 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="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> + <!--鎸囧畾鏃堕棿娈� 鏃犲紑闃� 鏈夊叧闃�鐨勫彇姘村彛--> + <select id="getNoOpenHaveCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> + 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 + 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> </mapper> \ No newline at end of file -- Gitblit v1.8.0