From 6a4f68b8f99dca3a00c297cbcff82c065575212c Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期六, 16 八月 2025 11:25:20 +0800
Subject: [PATCH] 1、完善代码;2、作物去除lat属性,采用关联气象站的lat;3、project模块增加查询全部气象站的方法。
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml | 61 +++++++++++++++++++++++++++---
1 files changed, 54 insertions(+), 7 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
index 4fbefea..5305c81 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
@@ -250,7 +250,7 @@
grp.group_code AS groupCode,
(SELECT COUNT(*) FROM ir_group_intake WHERE group_id = grp.id) AS intakeCount,
grp.default_duration AS defaultDuration,
- 0 as sort,
+ pg.sort,
grp.operate_time
FROM ir_irrigate_group grp
LEFT JOIN ir_project_group pg ON pg.group_id = grp.id
@@ -265,7 +265,7 @@
AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')
</if>
</where>
- ORDER BY grp.operate_time DESC
+ ORDER BY pg.sort
<trim prefix="limit ">
<if test="start != null and count != null">
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
@@ -321,15 +321,62 @@
IF(#{terminateTime} > DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE),
IF(#{terminateTime} > sche.start_time, #{terminateTime}, NULL)) AS stopTime,
<!--sche.duration,-->
- TIMESTAMPDIFF(MINUTE,
- IF(#{terminateTime} > sche.start_time, sche.start_time, NULL),
- IF(#{terminateTime} > DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE),
- IF(#{terminateTime} > sche.start_time, #{terminateTime}, NULL))
- ) AS duration,
+ IF(
+ TIMESTAMPDIFF(MINUTE,
+ IF(#{terminateTime} > sche.start_time, sche.start_time, NULL),
+ IF(#{terminateTime} > DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE),
+ IF(#{terminateTime} > sche.start_time, #{terminateTime}, NULL))
+ ) = 0, 1,
+ TIMESTAMPDIFF(MINUTE,
+ IF(#{terminateTime} > sche.start_time, sche.start_time, NULL),
+ IF(#{terminateTime} > DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE),
+ IF(#{terminateTime} > sche.start_time, #{terminateTime}, NULL))
+ )) AS duration,
NULL AS publishResult
FROM ir_irrigate_group grp
INNER JOIN ir_irrigate_schedule sche ON sche.group_id = grp.id
INNER JOIN ir_plan_schedule ps ON ps.schedule_id = sche.id
WHERE ps.plan_id = #{planId}
</select>
+
+ <!--鏍规嵁杞亴缁処D鑾峰彇杞亴缁勮鎯�-->
+ <select id="getGroupIntakes" resultType="com.dy.pipIrrGlobal.voIr.VoGroupIntakes">
+ SELECT
+ pro.project_name AS projectName,
+ gro.group_code AS groupName,
+ NULL AS intakes
+ FROM ir_irrigate_group gro
+ INNER JOIN ir_project_group pg ON pg.group_id = gro.id
+ INNER JOIN ir_project pro ON pro.id = pg.project_id
+ WHERE gro.deleted = 0 AND gro.id = #{groupId}
+ </select>
+
+ <!--鏍规嵁杞亴缁処D鑾峰彇杞亴缁勮鎯呭垪琛�-->
+ <select id="getGroupIntakesList" resultType="com.dy.pipIrrGlobal.voIr.VoIntake">
+ SELECT
+ con.rtuAddr,
+ inta.name AS intakeName,
+ NULL AS isOnLine
+ FROM ir_group_intake gi
+ INNER JOIN pr_intake inta ON inta.id = gi.intake_id
+ INNER JOIN pr_controller con ON con.intakeId = gi.intake_id
+ WHERE gi.group_id = #{groupId}
+ </select>
+
+ <!--鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟-->
+ <select id="countByGroupCode" resultType="java.lang.Integer">
+ SELECT COUNT(*)
+ FROM ir_irrigate_group
+ WHERE group_code = #{groupCode}
+ AND deleted = 0
+ </select>
+
+ <!--鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟锛堟帓闄ゆ寚瀹欼D锛�-->
+ <select id="countByGroupCodeExcludeId" resultType="java.lang.Integer">
+ SELECT COUNT(*)
+ FROM ir_irrigate_group
+ WHERE group_code = #{groupCode}
+ AND id != #{excludeId}
+ AND deleted = 0
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0