|  |  | 
 |  |  |     SELECT | 
 |  |  |         plan.plan_name AS planName, | 
 |  |  |         pro.project_name AS projectName, | 
 |  |  |         IF(#{terminateTime} < plan.plan_start_time, 6, | 
 |  |  |           IF(#{terminateTime} < plan.plan_stop_time, 5, 4)) AS state, | 
 |  |  | <!--        IF(#{terminateTime} < plan.plan_start_time, 6,--> | 
 |  |  | <!--          IF(#{terminateTime} < plan.plan_stop_time, 5, 4)) AS state,--> | 
 |  |  |         IF(plan.executing_state = 3, 5, | 
 |  |  |             IF(NOW() < plan_start_time, 2, | 
 |  |  |                 IF(NOW() < plan_stop_time, 3, 4) | 
 |  |  |             ) | 
 |  |  |         ) AS state, | 
 |  |  |         plan.plan_start_time AS planStartTime, | 
 |  |  |         plan.plan_stop_time AS planStopTime, | 
 |  |  |         #{terminateTime} AS realStopTime, | 
 |  |  | 
 |  |  |         NULL AS failureCount | 
 |  |  |     FROM ir_irrigate_plan plan | 
 |  |  |       INNER JOIN ir_project pro ON pro.id = plan.project_id | 
 |  |  |     WHERE plan.id =2025041515194900009 | 
 |  |  |     WHERE plan.id = #{planId} | 
 |  |  |     AND plan.deleted = 0 | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  | 
 |  |  |         FROM ir_irrigate_schedule sche | 
 |  |  |             INNER JOIN ir_plan_schedule ps ON schedule_id = sche.id | 
 |  |  |         WHERE ps.plan_id = #{planId} | 
 |  |  |         LIMIT 1 | 
 |  |  | <!--        LIMIT 1--> | 
 |  |  |     ) AS has_intersection | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--判断当前计划与最近终止的计划的轮灌组是否有重叠 --> | 
 |  |  |   <select id="hasPlanOverlapWithTerminated" resultType="java.lang.Integer"> | 
 |  |  |     SELECT COUNT(1)  | 
 |  |  |     FROM ( | 
 |  |  |         SELECT sche1.group_id | 
 |  |  |         FROM ir_plan_schedule ps1 | 
 |  |  |         INNER JOIN ir_irrigate_schedule sche1 ON ps1.schedule_id = sche1.id | 
 |  |  |         WHERE ps1.plan_id = #{planId} | 
 |  |  |     ) AS current_groups | 
 |  |  |     INNER JOIN ( | 
 |  |  |         SELECT sche2.group_id | 
 |  |  |         FROM ir_plan_schedule ps2 | 
 |  |  |         INNER JOIN ir_irrigate_schedule sche2 ON ps2.schedule_id = sche2.id | 
 |  |  |         WHERE ps2.plan_id = #{terminatedPlanId} | 
 |  |  |     ) AS terminated_groups | 
 |  |  |     ON current_groups.group_id = terminated_groups.group_id | 
 |  |  |     LIMIT 1 | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据计划ID获取计划最新状态--> | 
 |  |  | 
 |  |  |         IF(plan_state = 1, 1, | 
 |  |  |             IF(executing_state = 3, 5, | 
 |  |  |                 IF(NOW() < plan_start_time, 2, | 
 |  |  |                   IF(NOW() > plan_stop_time, 3, 4) | 
 |  |  |                   IF(NOW() < plan_stop_time, 3, 4) | 
 |  |  |                 ) | 
 |  |  |             ) | 
 |  |  |     ) AS planState |