| | |
| | | <select id="getSimpleGroupCount" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM ir_irrigate_group grp |
| | | LEFT JOIN ir_project_group pg ON pg.group_id = grp.id |
| | | <where> |
| | | AND grp.deleted = 0 |
| | | <if test="projectId != null"> |
| | |
| | | |
| | | <!--根据指定条件获取轮灌组列表--> |
| | | <select id="getSimpleGroups" resultType="com.dy.pipIrrGlobal.voIr.VoGroupSimple"> |
| | | SELECT |
| | | SELECT DISTINCT |
| | | 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 |
| | | 0 as sort, |
| | | grp.operate_time |
| | | FROM ir_irrigate_group grp |
| | | INNER JOIN ir_project_group pg ON pg.group_id = grp.id |
| | | LEFT JOIN ir_project_group pg ON pg.group_id = grp.id |
| | | <where> |
| | | AND grp.deleted = 0 |
| | | |
| | |
| | | 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, |
| | | IF(sche.current_state = 2, 5, |
| | | 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, |
| | |
| | | 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, |
| | | 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> |