From 4a2deb11b819dd78a8c75e244ef67ec2e48cf5f5 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 14 四月 2025 21:03:28 +0800 Subject: [PATCH] 重构轮灌组修改接口 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/Ls4StatisticsMapper.xml | 319 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 319 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Ls4StatisticsMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Ls4StatisticsMapper.xml new file mode 100644 index 0000000..dc355db --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Ls4StatisticsMapper.xml @@ -0,0 +1,319 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoLargeScreen.Ls4StatisticsMapper"> + + <select id="totalCountOfDistrict" resultType="java.lang.Integer"> + select + count(*) as count + from ba_district tb + where tb.level = #{level, jdbcType=INTEGER} + and tb.deleted != 1 + </select> + + <select id="totalCountOfBlock" resultType="java.lang.Integer"> + select + count(*) as count + from ba_block tb + where tb.deleted != 1 + </select> + + <select id="totalCountOfDivide" resultType="java.lang.Integer"> + select + count(*) as count + from pr_divide tb + where tb.deleted != 1 + </select> + + <select id="totalCountOfIntake" resultType="java.lang.Integer"> + select + count(*) as count + from pr_intake tb + where tb.deleted != 1 + </select> + + <select id="totalCountOfIntakeWithController" resultType="java.lang.Integer"> + select count(*) as count + from ( + select distinct tb.id + from pr_intake tb + inner join pr_intake_controller ctb on tb.id = ctb.intakeId + where tb.deleted != 1 + and ctb.id is not null + ) otb + </select> + + <select id="totalCountOfIntakeWithoutController" resultType="java.lang.Integer"> + select + count(*) as count + from pr_intake tb + left join pr_intake_controller ctb on tb.id = ctb.intakeId + where tb.deleted != 1 + and ctb.id is null + </select> + + <select id="totalCountOfController" resultType="java.lang.Integer"> + select + count(*) as count + from pr_controller tb + where tb.deleted != 1 + </select> + + <select id="totalCountOfControllerTramp" resultType="java.lang.Integer"> + select + count(*) as count + from pr_controller_tramp tb + </select> + + <select id="totalCountOfOpenValve" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where valve_state = 0 + <if test="dt != null "> + AND tb.dt <![CDATA[>=]]> #{dt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="totalCountOfCloseValve" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where valve_state = 1 + <if test="dt != null "> + AND tb.dt <![CDATA[>=]]> #{dt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="totalCountOfAlarm" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where (alarm_remain_water = 1 or + alarm_exceed_year = 1 or + alarm_water_meter_fault = 1 or + alarm_loss = 1 or + alarm_water_meter_break = 1 or + alarm_ele_meter_fault = 1 or + alarm_inner_door = 1 or + alarm_outer_door = 1 or + alarm_ele_miss = 1 or + alarm_ele_exceed = 1 or + alarm_ele_low_volt = 1 or + state_ic_enable = 1 or + alarm_battery_volt = 1 or + alarm_valve = 1) + <if test="dt != null "> + AND tb.dt <![CDATA[>=]]> #{dt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="totalCountOfNoAlarm" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where ((alarm_remain_water is null or alarm_remain_water = 0) and + (alarm_remain_water is null or alarm_exceed_year = 0) and + (alarm_remain_water is null or alarm_water_meter_fault = 0) and + (alarm_remain_water is null or alarm_loss = 0) and + (alarm_remain_water is null or alarm_water_meter_break = 0) and + (alarm_remain_water is null or alarm_ele_meter_fault = 0) and + (alarm_remain_water is null or alarm_inner_door = 0) and + (alarm_remain_water is null or alarm_outer_door = 0) and + (alarm_remain_water is null or alarm_ele_miss = 0) and + (alarm_remain_water is null or alarm_ele_exceed = 0) and + (alarm_remain_water is null or alarm_ele_low_volt = 0) and + (alarm_remain_water is null or state_ic_enable = 0) and + (alarm_remain_water is null or alarm_battery_volt = 0) and + (alarm_remain_water is null or alarm_valve = 0) ) + <if test="dt != null "> + AND tb.dt <![CDATA[>=]]> #{dt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="mTotalCountOfReport" resultType="java.lang.Integer"> + select + count(*) as count + from rm_on_hour_report_last tb + where tb.dt <![CDATA[>=]]> #{fromDt, javaType=DATE, jdbcType=TIMESTAMP} + </select> + + <select id="mTotalCountOfNoReport" resultType="java.lang.Integer"> + select + count(*) as count + from pr_intake tb + left join ( + select ltb.intake_id + from rm_on_hour_report_last ltb + where ltb.dt <![CDATA[>=]]> #{fromDt, javaType=DATE, jdbcType=TIMESTAMP} + ) temTb on tb.id = temTb.intake_id + where temTb.intake_id is null + </select> + + + <select id="mTotalCountOfNeverReport" resultType="java.lang.Integer"> + select + count(*) as count + from pr_intake tb + left join ( + select ltb.intake_id + from rm_on_hour_report_last ltb + ) temTb on tb.id = temTb.intake_id + where temTb.intake_id is null + </select> + + + + + <select id="mTotalCountOfOpenValve" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where valve_state = 0 + <if test="fromDt != null "> + AND tb.dt <![CDATA[>=]]> #{fromDt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="mTotalCountOfCloseValve" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where valve_state = 1 + <if test="fromDt != null "> + AND tb.dt <![CDATA[>=]]> #{fromDt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="mTotalCountOfNeverOpenValve" resultType="java.lang.Integer"> + select + count(*) as count + from pr_intake tb + left join ( + /* 姝ゅ鐞嗚В涓烘湁杩囪褰曪紝閭d箞灏卞紑杩囬榾 */ + select ltb.intake_id + from rm_alarm_state_last ltb + ) temTb on tb.id = temTb.intake_id + where temTb.intake_id is null + </select> + + + <select id="mTotalCountOfAlarm" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where (alarm_remain_water = 1 or + alarm_exceed_year = 1 or + alarm_water_meter_fault = 1 or + alarm_loss = 1 or + alarm_water_meter_break = 1 or + alarm_ele_meter_fault = 1 or + alarm_inner_door = 1 or + alarm_outer_door = 1 or + alarm_ele_miss = 1 or + alarm_ele_exceed = 1 or + alarm_ele_low_volt = 1 or + state_ic_enable = 1 or + alarm_battery_volt = 1 or + alarm_valve = 1) + <if test="fromDt != null "> + AND tb.dt <![CDATA[>=]]> #{fromDt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="mTotalCountOfNoAlarm" resultType="java.lang.Integer"> + select + count(*) as count + from rm_alarm_state_last tb + where ((alarm_remain_water is null or alarm_remain_water = 0) and + (alarm_remain_water is null or alarm_exceed_year = 0) and + (alarm_remain_water is null or alarm_water_meter_fault = 0) and + (alarm_remain_water is null or alarm_loss = 0) and + (alarm_remain_water is null or alarm_water_meter_break = 0) and + (alarm_remain_water is null or alarm_ele_meter_fault = 0) and + (alarm_remain_water is null or alarm_inner_door = 0) and + (alarm_remain_water is null or alarm_outer_door = 0) and + (alarm_remain_water is null or alarm_ele_miss = 0) and + (alarm_remain_water is null or alarm_ele_exceed = 0) and + (alarm_remain_water is null or alarm_ele_low_volt = 0) and + (alarm_remain_water is null or state_ic_enable = 0) and + (alarm_remain_water is null or alarm_battery_volt = 0) and + (alarm_remain_water is null or alarm_valve = 0) ) + <if test="fromDt != null "> + AND tb.dt <![CDATA[>=]]> #{fromDt, javaType=DATE, jdbcType=TIMESTAMP} + </if> + </select> + + <select id="mTotalCountOfNeverAlarm" resultType="java.lang.Integer"> + select + count(*) as count + from pr_intake tb + left join ( + select ltb.intake_id + from rm_alarm_state_last ltb + where ((ltb.alarm_remain_water is null or ltb.alarm_remain_water = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_exceed_year = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_water_meter_fault = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_loss = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_water_meter_break = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_ele_meter_fault = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_inner_door = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_outer_door = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_ele_miss = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_ele_exceed = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_ele_low_volt = 0) and + (ltb.alarm_remain_water is null or ltb.state_ic_enable = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_battery_volt = 0) and + (ltb.alarm_remain_water is null or ltb.alarm_valve = 0) ) + ) temTb on tb.id = temTb.intake_id + where temTb.intake_id is null + </select> + + + + + <select id="topXClientAtCertainDay" resultType="com.dy.pipIrrGlobal.voSpecial.VoTopXClient"> + select mTb.id as id, mTb.client_id as clientId, + scTb.name as clientName, scTb.clientNum as clientNum, scTb.address as clientAddress, + mTb.amount as amount + from rm_client_amount_day mTb + left join se_client scTb on scTb.id = mTb.client_id + <where> + <if test = "idStart != null"> + mTb.id <![CDATA[>=]]> #{idStart, javaType=LONG, jdbcType=BIGINT} + </if> + <if test = "idEnd != null"> + and mTb.id <![CDATA[<=]]> #{idEnd, javaType=LONG, jdbcType=BIGINT} + </if> + </where> + order by mTb.amount DESC + <trim prefix="limit " > + <if test="count != null"> + 0, #{count,javaType=Integer, jdbcType=INTEGER} + </if> + </trim> + </select> + + + <select id="topXIntakeAtCertainDay" resultType="com.dy.pipIrrGlobal.voSpecial.VoTopXIntake"> + select mTb.id as id, mTb.intake_id as intakeId, + piTb.name as intakeNum, piTb.lng as intakeLng, piTb.lat as intakeLat, + mTb.amount as amount + from rm_intake_amount_day mTb + left join pr_intake piTb on piTb.id = mTb.intake_id + <where> + <if test = "idStart != null"> + mTb.id <![CDATA[>=]]> #{idStart, javaType=LONG, jdbcType=BIGINT} + </if> + <if test = "idEnd != null"> + and mTb.id <![CDATA[<=]]> #{idEnd, javaType=LONG, jdbcType=BIGINT} + </if> + </where> + order by mTb.amount DESC + <trim prefix="limit " > + <if test="count != null"> + 0, #{count,javaType=Integer, jdbcType=INTEGER} + </if> + </trim> + </select> + +</mapper> \ No newline at end of file -- Gitblit v1.8.0