From 6955a2c758385c6c2e0d14350a11bdbf4f99780b Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 06 八月 2025 14:02:43 +0800
Subject: [PATCH] 1、实现作物实体管理;2、实现计算参数管理。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/Ls4StatisticsMapper.xml | 190 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 190 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
index 8674548..f3678df 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Ls4StatisticsMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/Ls4StatisticsMapper.xml
@@ -130,5 +130,195 @@
</if>
</select>
+ <select id="mTotalCountOfReport" resultType="java.lang.Integer">
+ select
+ count(*) as count
+ from rm_on_hour_report_last tb
+ inner join pr_intake tbIn on tb.intake_id = tbIn.id
+ where tbIn.deleted != 1 and 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 tb.deleted != 1 and 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 tb.deleted != 1 and temTb.intake_id is null
+ </select>
+
+
+
+
+ <select id="mTotalCountOfOpenValve" resultType="java.lang.Integer">
+ select
+ count(*) as count
+ from rm_alarm_state_last tb
+ inner join pr_intake tbIn on tb.intake_id = tbIn.id
+ where tbIn.deleted != 1 and 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
+ inner join pr_intake tbIn on tb.intake_id = tbIn.id
+ where tbIn.deleted != 1 and 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 tb.deleted != 1 and temTb.intake_id is null
+ </select>
+
+
+ <select id="mTotalCountOfAlarm" resultType="java.lang.Integer">
+ select
+ count(*) as count
+ from rm_alarm_state_last tb
+ inner join pr_intake tbIn on tb.intake_id = tbIn.id
+ where tbIn.deleted != 1 and
+ (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
+ 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
+ inner join pr_intake tbIn on tb.intake_id = tbIn.id
+ where tbIn.deleted != 1 and
+ ((alarm_remain_water is null or alarm_remain_water = 0) and
+ (alarm_exceed_year is null or alarm_exceed_year = 0) and
+ (alarm_water_meter_fault is null or alarm_water_meter_fault = 0) and
+ (alarm_loss is null or alarm_loss = 0) and
+ (alarm_water_meter_break is null or alarm_water_meter_break = 0) and
+ (alarm_ele_meter_fault is null or alarm_ele_meter_fault = 0) and
+ (alarm_inner_door is null or alarm_inner_door = 0) and
+ (alarm_outer_door is null or alarm_outer_door = 0) and
+ (alarm_ele_miss is null or alarm_ele_miss = 0) and
+ (alarm_ele_exceed is null or alarm_ele_exceed = 0) and
+ (alarm_ele_low_volt is null or alarm_ele_low_volt = 0) and
+ (alarm_battery_volt is null or alarm_battery_volt = 0) and
+ (alarm_valve 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 tb.deleted != 1 and 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