From deac851d71b074885553f538a396936815073fc1 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期二, 15 四月 2025 08:46:01 +0800 Subject: [PATCH] 优化命令发布接口(6个),重复时使用新的commandId --- 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..33dd307 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 + LEFT 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 + LEFT 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