<?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.ycl.mapper.ProcessCodingMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProcessCodingVO">
|
<result column="task_id" property="taskId" />
|
<result column="task_def_key" property="taskDefKey" />
|
<result column="start_task_id" property="startTaskId" />
|
<result column="process_ins_id" property="processInsId" />
|
<result column="yellow_time" property="yellowTime" />
|
<result column="red_time" property="redTime" />
|
<result column="overtime" property="overtime" />
|
<result column="status" property="status" />
|
<result column="overtime_status" property="overtimeStatus" />
|
</resultMap>
|
|
|
<select id="getById" resultMap="BaseResultMap">
|
SELECT
|
TPC.task_id,
|
TPC.task_def_key,
|
TPC.start_task_id,
|
TPC.process_ins_id,
|
TPC.yellow_time,
|
TPC.red_time,
|
TPC.overtime,
|
TPC.status,
|
TPC.overtime_status,
|
TPC.id
|
FROM
|
t_process_coding TPC
|
WHERE
|
TPC.id = #{id} AND TPC.deleted = 0
|
</select>
|
|
|
<select id="getPage" resultMap="BaseResultMap">
|
SELECT
|
TPC.task_id,
|
TPC.task_def_key,
|
TPC.start_task_id,
|
TPC.process_ins_id,
|
TPC.yellow_time,
|
TPC.red_time,
|
TPC.overtime,
|
TPC.status,
|
TPC.overtime_status,
|
TPC.id
|
FROM
|
t_process_coding TPC
|
WHERE
|
TPC.deleted = 0
|
</select>
|
<select id="findByTaskId" resultType="com.ycl.domain.entity.ProcessCoding">
|
SELECT * from t_process_coding where task_id = #{taskId}
|
</select>
|
|
<!-- 自定义批量更新,使用前判断list是否为空 转换为sql
|
update t_process_coding
|
set status =
|
case
|
when id = #{item.id} then #{item.status}
|
...
|
end
|
where id in (...);-->
|
<update id="updateBatch" parameterType="java.util.List">
|
update t_process_coding
|
<trim prefix="set" suffixOverrides=","><!-- 表示在生成的 SQL 语句前面添加 set 关键字,并移除末尾逗号 -->
|
<trim prefix="status =case" suffix="end,"><!-- 构造case语法 末尾加上end,如果需要更新多个字段复制这个trim -->
|
<foreach collection="list" item="item">
|
when id=#{item.id} then #{item.status}
|
</foreach>
|
</trim>
|
<trim prefix="overtime_status =case" suffix="end,"><!-- 构造case语法 末尾加上end,如果需要更新多个字段复制这个trim -->
|
<foreach collection="list" item="item">
|
when id=#{item.id} then #{item.overtimeStatus}
|
</foreach>
|
</trim>
|
<trim prefix="start_task_time =case" suffix="end,"><!-- 构造case语法 末尾加上end,如果需要更新多个字段复制这个trim -->
|
<foreach collection="list" item="item">
|
when id=#{item.id} then #{item.startTaskTime}
|
</foreach>
|
</trim>
|
</trim>
|
where id in
|
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
|
#{item.id,jdbcType=BIGINT}
|
</foreach>
|
</update>
|
|
</mapper>
|