liurunyu
6 天以前 e5c29d6ac2b210a9385723598d79a42ae5a9679e
pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateScheduleMapper.xml
@@ -5,17 +5,14 @@
    <!--@mbg.generated-->
    <!--@Table ir_irrigate_schedule-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="plan_id" jdbcType="BIGINT" property="planId" />
    <result column="group_id" jdbcType="BIGINT" property="groupId" />
    <result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
    <result column="stop_time" jdbcType="TIMESTAMP" property="stopTime" />
    <result column="duration" jdbcType="INTEGER" property="duration" />
    <result column="intake_ids" jdbcType="LONGVARCHAR" property="intakeIds" />
    <result column="current_state" jdbcType="TINYINT" property="currentState" />
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, plan_id, group_id, start_time, stop_time, duration, intake_ids, current_state
    id, group_id, start_time, duration, current_state
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
@@ -31,12 +28,9 @@
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule">
    <!--@mbg.generated-->
    insert into ir_irrigate_schedule (id, plan_id, group_id,
      start_time, stop_time, duration,
      intake_ids, current_state)
    values (#{id,jdbcType=BIGINT}, #{planId,jdbcType=BIGINT}, #{groupId,jdbcType=BIGINT},
      #{startTime,jdbcType=TIMESTAMP}, #{stopTime,jdbcType=TIMESTAMP}, #{duration,jdbcType=INTEGER},
      #{intakeIds,jdbcType=LONGVARCHAR}, #{currentState,jdbcType=TINYINT})
    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-->
@@ -45,23 +39,14 @@
      <if test="id != null">
        id,
      </if>
      <if test="planId != null">
        plan_id,
      </if>
      <if test="groupId != null">
        group_id,
      </if>
      <if test="startTime != null">
        start_time,
      </if>
      <if test="stopTime != null">
        stop_time,
      </if>
      <if test="duration != null">
        duration,
      </if>
      <if test="intakeIds != null">
        intake_ids,
      </if>
      <if test="currentState != null">
        current_state,
@@ -71,23 +56,14 @@
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="planId != null">
        #{planId,jdbcType=BIGINT},
      </if>
      <if test="groupId != null">
        #{groupId,jdbcType=BIGINT},
      </if>
      <if test="startTime != null">
        #{startTime,jdbcType=TIMESTAMP},
      </if>
      <if test="stopTime != null">
        #{stopTime,jdbcType=TIMESTAMP},
      </if>
      <if test="duration != null">
        #{duration,jdbcType=INTEGER},
      </if>
      <if test="intakeIds != null">
        #{intakeIds,jdbcType=LONGVARCHAR},
      </if>
      <if test="currentState != null">
        #{currentState,jdbcType=TINYINT},
@@ -98,23 +74,14 @@
    <!--@mbg.generated-->
    update ir_irrigate_schedule
    <set>
      <if test="planId != null">
        plan_id = #{planId,jdbcType=BIGINT},
      </if>
      <if test="groupId != null">
        group_id = #{groupId,jdbcType=BIGINT},
      </if>
      <if test="startTime != null">
        start_time = #{startTime,jdbcType=TIMESTAMP},
      </if>
      <if test="stopTime != null">
        stop_time = #{stopTime,jdbcType=TIMESTAMP},
      </if>
      <if test="duration != null">
        duration = #{duration,jdbcType=INTEGER},
      </if>
      <if test="intakeIds != null">
        intake_ids = #{intakeIds,jdbcType=LONGVARCHAR},
      </if>
      <if test="currentState != null">
        current_state = #{currentState,jdbcType=TINYINT},
@@ -125,30 +92,39 @@
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoIr.IrIrrigateSchedule">
    <!--@mbg.generated-->
    update ir_irrigate_schedule
    set plan_id = #{planId,jdbcType=BIGINT},
      group_id = #{groupId,jdbcType=BIGINT},
    set group_id = #{groupId,jdbcType=BIGINT},
      start_time = #{startTime,jdbcType=TIMESTAMP},
      stop_time = #{stopTime,jdbcType=TIMESTAMP},
      duration = #{duration,jdbcType=INTEGER},
      intake_ids = #{intakeIds,jdbcType=LONGVARCHAR},
      current_state = #{currentState,jdbcType=TINYINT}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <!--根据计划ID获取灌溉次序_模式2-->
  <select id="getIrrigateSchedules" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule">
  <!--根据计划ID获取灌溉次序记录-->
  <select id="getSchedulesByPlanId" resultType="com.dy.pipIrrGlobal.voIr.VoIrrigateSchedule">
    SELECT
        id AS scheduleId,
        <if test="startupMode == 1">
            null AS startTime,
            duration,
        </if>
        <if test="startupMode == 2">
          start_time AS startTime,
          TIMESTAMPDIFF(MINUTE, start_time, stop_time) AS duration,
        </if>
        intake_ids AS intakeIds
    FROM ir_irrigate_schedule
    WHERE plan_id = #{planId}
        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>