<?xml version="1.0" encoding="UTF-8"?> 
 | 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
 | 
<mapper namespace="com.dy.pipIrrGlobal.daoIr.IrIrrigateScheduleMapper"> 
 | 
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule"> 
 | 
    <!--@mbg.generated--> 
 | 
    <!--@Table ir_irrigate_schedule--> 
 | 
    <id column="id" jdbcType="BIGINT" property="id" /> 
 | 
    <result column="group_id" jdbcType="BIGINT" property="groupId" /> 
 | 
    <result column="start_time" jdbcType="TIMESTAMP" property="startTime" /> 
 | 
    <result column="duration" jdbcType="INTEGER" property="duration" /> 
 | 
    <result column="current_state" jdbcType="TINYINT" property="currentState" /> 
 | 
  </resultMap> 
 | 
  <sql id="Base_Column_List"> 
 | 
    <!--@mbg.generated--> 
 | 
    id, group_id, start_time, duration, current_state 
 | 
  </sql> 
 | 
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
    <!--@mbg.generated--> 
 | 
    select  
 | 
    <include refid="Base_Column_List" /> 
 | 
    from ir_irrigate_schedule 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </select> 
 | 
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
    <!--@mbg.generated--> 
 | 
    delete from ir_irrigate_schedule 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </delete> 
 | 
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into ir_irrigate_schedule (id, group_id, start_time, duration, current_state) 
 | 
    values (#{id,jdbcType=BIGINT}, #{groupId,jdbcType=BIGINT}, 
 | 
      #{startTime,jdbcType=TIMESTAMP}, #{duration,jdbcType=INTEGER}, #{currentState,jdbcType=TINYINT}) 
 | 
  </insert> 
 | 
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into ir_irrigate_schedule 
 | 
    <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
      <if test="id != null"> 
 | 
        id, 
 | 
      </if> 
 | 
      <if test="groupId != null"> 
 | 
        group_id, 
 | 
      </if> 
 | 
      <if test="startTime != null"> 
 | 
        start_time, 
 | 
      </if> 
 | 
      <if test="duration != null"> 
 | 
        duration, 
 | 
      </if> 
 | 
      <if test="currentState != null"> 
 | 
        current_state, 
 | 
      </if> 
 | 
    </trim> 
 | 
    <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
      <if test="id != null"> 
 | 
        #{id,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="groupId != null"> 
 | 
        #{groupId,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="startTime != null"> 
 | 
        #{startTime,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="duration != null"> 
 | 
        #{duration,jdbcType=INTEGER}, 
 | 
      </if> 
 | 
      <if test="currentState != null"> 
 | 
        #{currentState,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
    </trim> 
 | 
  </insert> 
 | 
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule"> 
 | 
    <!--@mbg.generated--> 
 | 
    update ir_irrigate_schedule 
 | 
    <set> 
 | 
      <if test="groupId != null"> 
 | 
        group_id = #{groupId,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="startTime != null"> 
 | 
        start_time = #{startTime,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
      <if test="duration != null"> 
 | 
        duration = #{duration,jdbcType=INTEGER}, 
 | 
      </if> 
 | 
      <if test="currentState != null"> 
 | 
        current_state = #{currentState,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
    </set> 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule"> 
 | 
    <!--@mbg.generated--> 
 | 
    update ir_irrigate_schedule 
 | 
    set group_id = #{groupId,jdbcType=BIGINT}, 
 | 
      start_time = #{startTime,jdbcType=TIMESTAMP}, 
 | 
      duration = #{duration,jdbcType=INTEGER}, 
 | 
      current_state = #{currentState,jdbcType=TINYINT} 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  
 | 
  <!--根据计划ID获取灌溉次序记录--> 
 | 
  <select id="getSchedulesByPlanId" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule"> 
 | 
    SELECT 
 | 
        sch.id AS scheduleId, 
 | 
        sch.group_id AS groupId, 
 | 
        sch.start_time AS startTime, 
 | 
        sch.duration 
 | 
    FROM ir_irrigate_schedule sch 
 | 
        INNER JOIN ir_plan_schedule ps ON ps.schedule_id = sch.id 
 | 
    WHERE current_state = 1 AND ps.plan_id = #{planId} 
 | 
  </select> 
 | 
  
 | 
  <!--根据灌溉次序ID更新次序开始时间--> 
 | 
  <update id="updateScheduleStartTime"> 
 | 
    UPDATE ir_irrigate_schedule 
 | 
    SET start_time = #{startTime} 
 | 
    WHERE id = #{scheduleId} 
 | 
  </update> 
 | 
  
 | 
  <!--根据计划ID终止灌溉次序,将灌溉次序的当前状态改为已终止--> 
 | 
  <update id="terminateSchedule"> 
 | 
    UPDATE ir_irrigate_schedule sch 
 | 
      INNER JOIN ir_plan_schedule ps ON ps.schedule_id = sch.id 
 | 
      INNER JOIN ir_irrigate_plan plan ON ps.plan_id = plan.id 
 | 
    SET sch.current_state = 2 
 | 
    WHERE plan.id = #{planId} 
 | 
  </update> 
 | 
  
 | 
</mapper> 
 |