<?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.daoOp.OpeWorkOrderMapper">
|
<resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder">
|
<!--@mbg.generated-->
|
<!--@Table ope_work_order-->
|
<id column="id" jdbcType="BIGINT" property="id" />
|
<result column="dispatcher_id" jdbcType="BIGINT" property="dispatcherId" />
|
<result column="inspector_id" jdbcType="BIGINT" property="inspectorId" />
|
<result column="task_type_id" jdbcType="BIGINT" property="taskTypeId" />
|
<result column="task_content" jdbcType="VARCHAR" property="taskContent" />
|
<result column="complete_criteria" jdbcType="VARCHAR" property="completeCriteria" />
|
<result column="dead_line" jdbcType="TIMESTAMP" property="deadLine" />
|
<result column="complete_time" jdbcType="TIMESTAMP" property="completeTime" />
|
<result column="dispatch_time" jdbcType="TIMESTAMP" property="dispatchTime" />
|
<result column="client_report_id" jdbcType="BIGINT" property="clientReportId" />
|
<result column="inspector_report_id" jdbcType="BIGINT" property="inspectorReportId" />
|
<result column="state" jdbcType="TINYINT" property="state" />
|
<result column="reject_times" jdbcType="INTEGER" property="rejectTimes" />
|
<result column="deleted" jdbcType="BIGINT" property="deleted" />
|
</resultMap>
|
<sql id="Base_Column_List">
|
<!--@mbg.generated-->
|
id, dispatcher_id, inspector_id, task_type_id, task_content, complete_criteria, dead_line,
|
complete_time, dispatch_time, client_report_id, inspector_report_id, `state`, reject_times,
|
deleted
|
</sql>
|
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
<!--@mbg.generated-->
|
select
|
<include refid="Base_Column_List" />
|
from ope_work_order
|
where id = #{id,jdbcType=BIGINT}
|
</select>
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
<!--@mbg.generated-->
|
delete from ope_work_order
|
where id = #{id,jdbcType=BIGINT}
|
</delete>
|
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder">
|
<!--@mbg.generated-->
|
insert into ope_work_order (id, dispatcher_id, inspector_id,
|
task_type_id, task_content, complete_criteria,
|
dead_line, complete_time, dispatch_time,
|
client_report_id, inspector_report_id, `state`,
|
reject_times, deleted)
|
values (#{id,jdbcType=BIGINT}, #{dispatcherId,jdbcType=BIGINT}, #{inspectorId,jdbcType=BIGINT},
|
#{taskTypeId,jdbcType=BIGINT}, #{taskContent,jdbcType=VARCHAR}, #{completeCriteria,jdbcType=VARCHAR},
|
#{deadLine,jdbcType=TIMESTAMP}, #{completeTime,jdbcType=TIMESTAMP}, #{dispatchTime,jdbcType=TIMESTAMP},
|
#{clientReportId,jdbcType=BIGINT}, #{inspectorReportId,jdbcType=BIGINT}, #{state,jdbcType=TINYINT},
|
#{rejectTimes,jdbcType=INTEGER}, #{deleted,jdbcType=BIGINT})
|
</insert>
|
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder">
|
<!--@mbg.generated-->
|
insert into ope_work_order
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
id,
|
</if>
|
<if test="dispatcherId != null">
|
dispatcher_id,
|
</if>
|
<if test="inspectorId != null">
|
inspector_id,
|
</if>
|
<if test="taskTypeId != null">
|
task_type_id,
|
</if>
|
<if test="taskContent != null">
|
task_content,
|
</if>
|
<if test="completeCriteria != null">
|
complete_criteria,
|
</if>
|
<if test="deadLine != null">
|
dead_line,
|
</if>
|
<if test="completeTime != null">
|
complete_time,
|
</if>
|
<if test="dispatchTime != null">
|
dispatch_time,
|
</if>
|
<if test="clientReportId != null">
|
client_report_id,
|
</if>
|
<if test="inspectorReportId != null">
|
inspector_report_id,
|
</if>
|
<if test="state != null">
|
`state`,
|
</if>
|
<if test="rejectTimes != null">
|
reject_times,
|
</if>
|
<if test="deleted != null">
|
deleted,
|
</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
#{id,jdbcType=BIGINT},
|
</if>
|
<if test="dispatcherId != null">
|
#{dispatcherId,jdbcType=BIGINT},
|
</if>
|
<if test="inspectorId != null">
|
#{inspectorId,jdbcType=BIGINT},
|
</if>
|
<if test="taskTypeId != null">
|
#{taskTypeId,jdbcType=BIGINT},
|
</if>
|
<if test="taskContent != null">
|
#{taskContent,jdbcType=VARCHAR},
|
</if>
|
<if test="completeCriteria != null">
|
#{completeCriteria,jdbcType=VARCHAR},
|
</if>
|
<if test="deadLine != null">
|
#{deadLine,jdbcType=TIMESTAMP},
|
</if>
|
<if test="completeTime != null">
|
#{completeTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="dispatchTime != null">
|
#{dispatchTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="clientReportId != null">
|
#{clientReportId,jdbcType=BIGINT},
|
</if>
|
<if test="inspectorReportId != null">
|
#{inspectorReportId,jdbcType=BIGINT},
|
</if>
|
<if test="state != null">
|
#{state,jdbcType=TINYINT},
|
</if>
|
<if test="rejectTimes != null">
|
#{rejectTimes,jdbcType=INTEGER},
|
</if>
|
<if test="deleted != null">
|
#{deleted,jdbcType=BIGINT},
|
</if>
|
</trim>
|
</insert>
|
<update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder">
|
<!--@mbg.generated-->
|
update ope_work_order
|
<set>
|
<if test="dispatcherId != null">
|
dispatcher_id = #{dispatcherId,jdbcType=BIGINT},
|
</if>
|
<if test="inspectorId != null">
|
inspector_id = #{inspectorId,jdbcType=BIGINT},
|
</if>
|
<if test="taskTypeId != null">
|
task_type_id = #{taskTypeId,jdbcType=BIGINT},
|
</if>
|
<if test="taskContent != null">
|
task_content = #{taskContent,jdbcType=VARCHAR},
|
</if>
|
<if test="completeCriteria != null">
|
complete_criteria = #{completeCriteria,jdbcType=VARCHAR},
|
</if>
|
<if test="deadLine != null">
|
dead_line = #{deadLine,jdbcType=TIMESTAMP},
|
</if>
|
<if test="completeTime != null">
|
complete_time = #{completeTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="dispatchTime != null">
|
dispatch_time = #{dispatchTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="clientReportId != null">
|
client_report_id = #{clientReportId,jdbcType=BIGINT},
|
</if>
|
<if test="inspectorReportId != null">
|
inspector_report_id = #{inspectorReportId,jdbcType=BIGINT},
|
</if>
|
<if test="state != null">
|
`state` = #{state,jdbcType=TINYINT},
|
</if>
|
<if test="rejectTimes != null">
|
reject_times = #{rejectTimes,jdbcType=INTEGER},
|
</if>
|
<if test="deleted != null">
|
deleted = #{deleted,jdbcType=BIGINT},
|
</if>
|
</set>
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
<update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder">
|
<!--@mbg.generated-->
|
update ope_work_order
|
set dispatcher_id = #{dispatcherId,jdbcType=BIGINT},
|
inspector_id = #{inspectorId,jdbcType=BIGINT},
|
task_type_id = #{taskTypeId,jdbcType=BIGINT},
|
task_content = #{taskContent,jdbcType=VARCHAR},
|
complete_criteria = #{completeCriteria,jdbcType=VARCHAR},
|
dead_line = #{deadLine,jdbcType=TIMESTAMP},
|
complete_time = #{completeTime,jdbcType=TIMESTAMP},
|
dispatch_time = #{dispatchTime,jdbcType=TIMESTAMP},
|
client_report_id = #{clientReportId,jdbcType=BIGINT},
|
inspector_report_id = #{inspectorReportId,jdbcType=BIGINT},
|
`state` = #{state,jdbcType=TINYINT},
|
reject_times = #{rejectTimes,jdbcType=INTEGER},
|
deleted = #{deleted,jdbcType=BIGINT}
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
|
<!--根据主键获取工单视图对象-->
|
<select id="getWorkOrderById" resultType="com.dy.pipIrrGlobal.voOp.VoWorkOrder">
|
SELECT
|
ord.id AS workOrderId,
|
ord.dispatcher_id AS dispatcherId,
|
us1.name AS dispatcher,
|
ord.inspector_id AS inspectorId,
|
us2.name AS inspector,
|
typ.task_type AS taskType,
|
ord.task_content AS taskContent,
|
ord.complete_criteria AS completeCriteria,
|
ord.dead_line AS deadLine,
|
ord.client_report_id AS clientReportId,
|
ord.inspector_report_id AS inspectorReportId,
|
ord.complete_time AS completeTime,
|
ord.dispatch_time AS dispatchTime,
|
ord.reject_times AS rejectTimes,
|
CASE
|
WHEN ord.state = 1 THEN '未完成'
|
WHEN ord.state = 2 THEN '已完成'
|
END AS state,
|
CASE
|
WHEN res.state = 1 THEN '已上报'
|
WHEN res.state = 2 THEN '已通过'
|
WHEN res.state = 3 THEN '已驳回'
|
ELSE '未上报'
|
END AS processingState
|
FROM ope_work_order ord
|
INNER JOIN ba_user us1 ON us1.id = ord.dispatcher_id
|
INNER JOIN ba_user us2 ON us2.id = ord.inspector_id
|
INNER JOIN ope_task_type typ ON typ.id = ord.task_type_id
|
LEFT JOIN ope_processing_result res ON res.work_order_id = ord.id
|
WHERE ord.deleted = 0 AND ord.id = #{workOrderId}
|
</select>
|
|
<!--获取指定派单人的指定未删除工单,删除工单前判断使用使用-->
|
<select id="getWorkOrder" resultType="com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder">
|
SELECT * FROM ope_work_order
|
WHERE deleted = 0 AND id = #{workOrderId} AND dispatcher_id = #{dispatcherId} LIMIT 1
|
</select>
|
|
<!--逻辑删除一个未删除的工单-->
|
<update id="deleteWorkOrder">
|
UPDATE ope_work_order SET deleted = UNIX_TIMESTAMP() WHERE deleted = 0 AND id = #{workOrderId}
|
</update>
|
|
<!-- 根据指定条件获取工单数量-->
|
<select id="getWorkOrdersCount" resultType="java.lang.Long">
|
select
|
COUNT(*) AS recordCount
|
FROM ope_work_order ord
|
INNER JOIN ba_user us1 ON us1.id = ord.dispatcher_id
|
INNER JOIN ba_user us2 ON us2.id = ord.inspector_id
|
INNER JOIN ope_task_type typ ON typ.id = ord.task_type_id
|
LEFT JOIN ope_processing_result res ON res.work_order_id = ord.id
|
<where>
|
AND ord.deleted = 0
|
|
<if test = "dispatcher != null and dispatcher !=''">
|
AND us1.name like CONCAT('%',#{dispatcher},'%')
|
</if>
|
|
<if test = "inspector != null and inspector !=''">
|
AND us2.name like CONCAT('%',#{inspector},'%')
|
</if>
|
|
<if test = "timeStart != null and timeStop != null">
|
AND ord.dispatch_time BETWEEN #{timeStart} AND #{timeStop}
|
</if>
|
</where>
|
</select>
|
|
<select id="getWorkOrders" resultType="com.dy.pipIrrGlobal.voOp.VoWorkOrder">
|
SELECT
|
ord.id AS workOrderId,
|
ord.dispatcher_id AS dispatcherId,
|
us1.name AS dispatcher,
|
ord.inspector_id AS inspectorId,
|
us2.name AS inspector,
|
typ.task_type AS taskType,
|
ord.task_content AS taskContent,
|
ord.complete_criteria AS completeCriteria,
|
ord.dead_line AS deadLine,
|
ord.client_report_id AS clientReportId,
|
ord.inspector_report_id AS inspectorReportId,
|
ord.complete_time AS completeTime,
|
ord.dispatch_time AS dispatchTime,
|
ord.reject_times AS rejectTimes,
|
CASE
|
WHEN ord.state = 1 THEN '未完成'
|
WHEN ord.state = 2 THEN '已完成'
|
END AS state,
|
CASE
|
WHEN res.state = 1 THEN '已上报'
|
WHEN res.state = 2 THEN '已通过'
|
WHEN res.state = 3 THEN '已驳回'
|
ELSE '未上报'
|
END AS processingState
|
FROM ope_work_order ord
|
INNER JOIN ba_user us1 ON us1.id = ord.dispatcher_id
|
INNER JOIN ba_user us2 ON us2.id = ord.inspector_id
|
INNER JOIN ope_task_type typ ON typ.id = ord.task_type_id
|
LEFT JOIN ope_processing_result res ON res.work_order_id = ord.id
|
<where>
|
AND ord.deleted = 0
|
|
<if test = "dispatcher != null and dispatcher !=''">
|
AND us1.name like CONCAT('%',#{dispatcher},'%')
|
</if>
|
|
<if test = "inspector != null and inspector !=''">
|
AND us2.name like CONCAT('%',#{inspector},'%')
|
</if>
|
|
<if test = "timeStart != null and timeStop != null">
|
AND ord.dispatch_time BETWEEN #{timeStart} AND #{timeStop}
|
</if>
|
</where>
|
ORDER BY ord.dispatch_time DESC
|
<trim prefix="limit " >
|
<if test="start != null and count != null">
|
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
|
</if>
|
</trim>
|
</select>
|
</mapper>
|