| | |
| | | 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 |
| | |
| | | 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} |
| | |
| | | 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> |
| | | |
| | | <!--根据灌溉计划ID获取轮灌组终止结果--> |
| | | <select id="getGroupResult_terminate" resultType="com.dy.pipIrrGlobal.voIr.VoGroupResult"> |
| | | SELECT |
| | | grp.id AS groupId, |
| | | grp.group_code AS groupCode, |
| | | IF(#{terminateTime} < sche.start_time, 6, |
| | | IF(#{terminateTime} < DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), 5, 4)) AS state, |
| | | IF(#{terminateTime} > sche.start_time, sche.start_time, NULL) AS startTime, |
| | | 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,--> |
| | | 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> |
| | | |
| | | <!--根据轮灌组ID获取轮灌组详情--> |
| | | <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> |
| | | |
| | | <!--根据轮灌组ID获取轮灌组详情列表--> |
| | | <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> |
| | | |
| | | <!--根据轮灌组名称统计记录数(排除指定ID)--> |
| | | <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> |