|  |  |  | 
|---|
|  |  |  | 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,--> | 
|---|
|  |  |  | TIMESTAMPDIFF(MINUTE, | 
|---|
|  |  |  | IF('2025-04-15 15:27' > sche.start_time, sche.start_time, NULL), | 
|---|
|  |  |  | IF('2025-04-15 15:27' > DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), DATE_ADD(sche.start_time, INTERVAL sche.duration MINUTE), | 
|---|
|  |  |  | IF('2025-04-15 15:27' > sche.start_time, '2025-04-15 15:27', 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> | 
|---|
|  |  |  | </mapper> | 
|---|