|  |  | 
 |  |  |     <result column="startup_mode" jdbcType="TINYINT" property="startupMode" /> | 
 |  |  |     <result column="plan_start_time" jdbcType="TIMESTAMP" property="planStartTime" /> | 
 |  |  |     <result column="plan_stop_time" jdbcType="TIMESTAMP" property="planStopTime" /> | 
 |  |  |     <result column="duration" jdbcType="INTEGER" property="duration" /> | 
 |  |  |     <result column="plan_state" jdbcType="TINYINT" property="planState" /> | 
 |  |  |     <result column="executing_state" jdbcType="TINYINT" property="executingState" /> | 
 |  |  |     <result column="deleted" jdbcType="BIGINT" property="deleted" /> | 
 |  |  |   </resultMap> | 
 |  |  |   <sql id="Base_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, plan_state,  | 
 |  |  |     executing_state, deleted | 
 |  |  |     id, project_id, plan_name, startup_mode, plan_start_time, plan_stop_time, duration,  | 
 |  |  |     plan_state, executing_state, deleted | 
 |  |  |   </sql> | 
 |  |  |   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into ir_irrigate_plan (id, project_id, plan_name,  | 
 |  |  |       startup_mode, plan_start_time, plan_stop_time,  | 
 |  |  |       plan_state, executing_state, deleted | 
 |  |  |       ) | 
 |  |  |       duration, plan_state, executing_state,  | 
 |  |  |       deleted) | 
 |  |  |     values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{planName,jdbcType=VARCHAR},  | 
 |  |  |       #{startupMode,jdbcType=TINYINT}, #{planStartTime,jdbcType=TIMESTAMP}, #{planStopTime,jdbcType=TIMESTAMP},  | 
 |  |  |       #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT}, #{deleted,jdbcType=BIGINT} | 
 |  |  |       ) | 
 |  |  |       #{duration,jdbcType=INTEGER}, #{planState,jdbcType=TINYINT}, #{executingState,jdbcType=TINYINT},  | 
 |  |  |       #{deleted,jdbcType=BIGINT}) | 
 |  |  |   </insert> | 
 |  |  |   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigatePlan"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  | 
 |  |  |       </if> | 
 |  |  |       <if test="planStopTime != null"> | 
 |  |  |         plan_stop_time, | 
 |  |  |       </if> | 
 |  |  |       <if test="duration != null"> | 
 |  |  |         duration, | 
 |  |  |       </if> | 
 |  |  |       <if test="planState != null"> | 
 |  |  |         plan_state, | 
 |  |  | 
 |  |  |       </if> | 
 |  |  |       <if test="planStopTime != null"> | 
 |  |  |         #{planStopTime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="duration != null"> | 
 |  |  |         #{duration,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="planState != null"> | 
 |  |  |         #{planState,jdbcType=TINYINT}, | 
 |  |  | 
 |  |  |       <if test="planStopTime != null"> | 
 |  |  |         plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP}, | 
 |  |  |       </if> | 
 |  |  |       <if test="duration != null"> | 
 |  |  |         duration = #{duration,jdbcType=INTEGER}, | 
 |  |  |       </if> | 
 |  |  |       <if test="planState != null"> | 
 |  |  |         plan_state = #{planState,jdbcType=TINYINT}, | 
 |  |  |       </if> | 
 |  |  | 
 |  |  |       startup_mode = #{startupMode,jdbcType=TINYINT}, | 
 |  |  |       plan_start_time = #{planStartTime,jdbcType=TIMESTAMP}, | 
 |  |  |       plan_stop_time = #{planStopTime,jdbcType=TIMESTAMP}, | 
 |  |  |       duration = #{duration,jdbcType=INTEGER}, | 
 |  |  |       plan_state = #{planState,jdbcType=TINYINT}, | 
 |  |  |       executing_state = #{executingState,jdbcType=TINYINT}, | 
 |  |  |       deleted = #{deleted,jdbcType=BIGINT} | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  |   </update> | 
 |  |  |  | 
 |  |  |   <!--根据指定的计划ID获取启动模式--> | 
 |  |  |   <select id="getStartupMode" resultType="java.lang.Byte"> | 
 |  |  |     SELECT | 
 |  |  |         startup_mode AS startupMode | 
 |  |  |     FROM ir_irrigate_plan | 
 |  |  |     WHERE id = #{planId} | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据指定的计划ID获取已发布的灌溉计划数量--> | 
 |  |  |   <select id="getPublishedCount" resultType="java.lang.Integer"> | 
 |  |  |     SELECT COUNT(*) | 
 |  |  |     FROM ir_irrigate_plan plan | 
 |  |  |     WHERE plan.id = #{planId} | 
 |  |  |       AND plan.plan_state = 2 | 
 |  |  |       AND plan.deleted = 0 | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--发布指定的灌溉计划--> | 
 |  |  |   <update id="publishIrrigatePlan"> | 
 |  |  |     UPDATE ir_irrigate_plan SET plan_state = 2 WHERE id = #{planId} | 
 |  |  |   </update> | 
 |  |  |  | 
 |  |  |   <!--根据指定的条件获取计划数量--> | 
 |  |  |   <select id="getIrrigatePlanCount" resultType="java.lang.Long"> | 
 |  |  |     SELECT COUNT(*) | 
 |  |  |     FROM ir_irrigate_plan plan | 
 |  |  |     INNER JOIN ir_project pro ON pro.id = plan.project_id | 
 |  |  |     <where> | 
 |  |  |       AND plan.deleted = 0 | 
 |  |  |       AND pro.deleted = 0 | 
 |  |  |       <if test="projectName != null and projectName != ''"> | 
 |  |  |         AND pro.project_name LIKE CONCAT('%', #{projectName}, '%') | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="planName != null and planName != ''"> | 
 |  |  |         AND plan.plan_name LIKE CONCAT('%', #{planName}, '%') | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="startupMode != null"> | 
 |  |  |         AND plan.startup_mode = #{startupMode} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="planState != null"> | 
 |  |  |         AND plan.plan_state = #{planState} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="executingState != null"> | 
 |  |  |         AND plan.executing_state = #{executingState} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据指定的条件获取计划列表--> | 
 |  |  |   <select id="getIrrigatePlans" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigatePlan"> | 
 |  |  |     SELECT | 
 |  |  |         plan.id AS planId, | 
 |  |  |         pro.project_name AS projectName, | 
 |  |  |         plan.plan_name AS planName, | 
 |  |  |         CASE plan.startup_mode | 
 |  |  |             WHEN 1 THEN '手动启动' | 
 |  |  |             WHEN 2 THEN '自动启动' | 
 |  |  |         END AS startupMode, | 
 |  |  |         plan.plan_start_time AS startTime, | 
 |  |  |         plan.plan_stop_time AS stopTime, | 
 |  |  |         plan.duration AS duration, | 
 |  |  |         CASE plan.plan_state | 
 |  |  |             WHEN 1 THEN '草稿' | 
 |  |  |             WHEN 2 THEN '已发布' | 
 |  |  |         END AS planState, | 
 |  |  |  | 
 |  |  |         CASE plan.executing_state | 
 |  |  |             WHEN 1 THEN | 
 |  |  |             '未执行' | 
 |  |  |             WHEN 2 THEN | 
 |  |  |             '执行中' | 
 |  |  |             WHEN 3 THEN | 
 |  |  |             '已暂停' | 
 |  |  |             WHEN 4 THEN | 
 |  |  |             '已终止' | 
 |  |  |         END AS executingState | 
 |  |  |     FROM ir_irrigate_plan plan | 
 |  |  |     INNER JOIN ir_project pro ON pro.id = plan.project_id | 
 |  |  |     <where> | 
 |  |  |       AND plan.deleted = 0 | 
 |  |  |       AND pro.deleted = 0 | 
 |  |  |       <if test="projectName != null and projectName != ''"> | 
 |  |  |         AND pro.project_name LIKE CONCAT('%', #{projectName}, '%') | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="planName != null and planName != ''"> | 
 |  |  |         AND plan.plan_name LIKE CONCAT('%', #{planName}, '%') | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="startupMode != null"> | 
 |  |  |         AND plan.startup_mode = #{startupMode} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="planState != null"> | 
 |  |  |         AND plan.plan_state = #{planState} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="executingState != null"> | 
 |  |  |         AND plan.executing_state = #{executingState} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |     ORDER BY plan.plan_state DESC, plan.plan_start_time | 
 |  |  |     <trim prefix="limit "> | 
 |  |  |       <if test="start != null and count != null"> | 
 |  |  |         #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </select> | 
 |  |  | </mapper> |