| | |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | |
| | | <!--根据指定条件获取开关阀报历史记录数量--> |
| | | <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 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 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 |
| | |
| | | </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 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="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> |
| | | <!--获取指定时间段内开阀次数超过指定值的取水口数量--> |
| | | <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> |
| | | <!--获取指定时间段内开阀次数低于指定值的取水口数量--> |
| | | <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="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> |
| | | <!--获取指定时间段内开阀次数超过指定值的取水口数量--> |
| | | <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> |
| | | <!--获取指定时间段内开阀次数低于指定值的取水口数量--> |
| | | <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> |
| | | </mapper> |