From b181d08b9c8c4f3f4d8c475a60506ba4d93c8382 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期三, 09 四月 2025 11:38:23 +0800 Subject: [PATCH] 灌溉计划详情页,包含计划信息、轮灌组信息、取水口命令发布员结果信息 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml | 75 ++++++++++++++++++++++++++++++------- 1 files changed, 60 insertions(+), 15 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..ddf5206 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml @@ -230,16 +230,27 @@ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇杞亴缁勮褰曟暟--> <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--> +<!-- <where>--> +<!-- AND grp.deleted = 0--> + +<!-- <if test="projectId != null and projectId != ''">--> +<!-- AND pro.id = #{projectId}--> +<!-- </if>--> + +<!-- <if test="groupCode != null and groupCode != ''">--> +<!-- AND grp.group_code LIKE CONCAT('%', #{groupCode}, '%')--> +<!-- </if>--> +<!-- </where>--> 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 <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 +260,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