From f1e8ef7d00fc176d5cba60f3f8b8c10a8541bd71 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 14 四月 2025 16:07:37 +0800
Subject: [PATCH] 代码优化
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml | 63 +++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 16 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 5a23b4d..76f8fda 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
@@ -231,15 +231,12 @@
<select id="getSimpleGroupCount" resultType="java.lang.Long">
SELECT COUNT(*) AS recordCount
FROM ir_irrigate_group grp
- INNER JOIN ir_project_group pg ON pg.group_id = grp.id
- INNER JOIN ir_project pro ON pg.project_id = pro.id
+ INNER JOIN ir_project_group pg ON pg.group_id = grp.id
<where>
AND grp.deleted = 0
-
- <if test="projectId != null and projectId != ''">
- AND pro.id = #{projectId}
+ <if test="projectId != null">
+ AND pg.project_id = #{projectId}
</if>
-
<if test="groupCode != null and groupCode != ''">
AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')
</if>
@@ -249,30 +246,64 @@
<!--鏍规嵁鎸囧畾鏉′欢鑾峰彇杞亴缁勫垪琛�-->
<select id="getSimpleGroups" resultType="com.dy.pipIrrGlobal.voIr.VoGroupSimple">
SELECT
- grp.id AS groupId,
- grp.group_code AS groupCode,
- (SELECT COUNT(*) FROM ir_group_intake WHERE group_id = grp.id) AS intakeCount,
- grp.default_duration AS defaultDuration,
- pg.sort
+ grp.id AS groupId,
+ 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
FROM ir_irrigate_group grp
- INNER JOIN ir_project_group pg ON pg.group_id = grp.id
- INNER JOIN ir_project pro ON pg.project_id = pro.id
+ INNER JOIN ir_project_group pg ON pg.group_id = grp.id
<where>
AND grp.deleted = 0
- <if test="projectId != null and projectId != ''">
- AND pro.id = #{projectId}
+ <if test="projectId != null">
+ AND pg.project_id = #{projectId}
</if>
<if test="groupCode != null and groupCode != ''">
AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')
</if>
</where>
- ORDER BY pg.sort
+ ORDER BY grp.operate_time 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="getGroupDetail" resultType="com.dy.pipIrrGlobal.voIr.VoGroupDetail">
+ SELECT
+ groupCode,
+ defaultDuration,
+ GROUP_CONCAT(intakeId) AS intakes
+ FROM
+ (
+ SELECT
+ grp.group_code AS groupCode,
+ grp.default_duration AS defaultDuration,
+ inta.id AS intakeId
+ FROM ir_irrigate_group grp
+ INNER JOIN ir_group_intake gi ON gi.group_id = grp.id
+ INNER JOIN pr_intake inta ON inta.id = gi.intake_id
+ WHERE grp.deleted = 0 AND grp.id = #{groupId}
+ ) irrigateGroup
+ GROUP BY groupCode,defaultDuration
+ </select>
+
+ <select id="getGroupResult" resultType="com.dy.pipIrrGlobal.voIr.VoGroupResult">
+ SELECT
+ grp.id AS groupId,
+ grp.group_code AS groupCode,
+ IF(NOW() < sche.start_time, 2,
+ IF(NOW() > sche.start_time AND NOW() < DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), 3, 4)) AS state,
+ sche.start_time AS startTime,
+ DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE) AS stopTime,
+ sche.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>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0