<?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>
|