|  |  |  | 
|---|
|  |  |  | <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" /> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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, `state`, reject_times, deleted | 
|---|
|  |  |  | 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--> | 
|---|
|  |  |  | 
|---|
|  |  |  | insert into ope_work_order (id, dispatcher_id, inspector_id, | 
|---|
|  |  |  | task_type_id, task_content, complete_criteria, | 
|---|
|  |  |  | dead_line, complete_time, dispatch_time, | 
|---|
|  |  |  | `state`, reject_times, deleted | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | 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}, | 
|---|
|  |  |  | #{state,jdbcType=TINYINT}, #{rejectTimes,jdbcType=INTEGER}, #{deleted,jdbcType=BIGINT} | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | #{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--> | 
|---|
|  |  |  | 
|---|
|  |  |  | </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="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 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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, | 
|---|
|  |  |  | res.id AS proResultId, | 
|---|
|  |  |  | IFNULL(res.state,0) AS proResultStateId, | 
|---|
|  |  |  | CASE | 
|---|
|  |  |  | WHEN ord.state = 1 THEN '未完成' | 
|---|
|  |  |  | WHEN ord.state = 2 THEN '已完成' | 
|---|
|  |  |  | END AS state, | 
|---|
|  |  |  | CASE | 
|---|
|  |  |  | WHEN IFNULL(res.state,0) = 0 THEN   '未上报' | 
|---|
|  |  |  | 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 (SELECT * FROM `ope_processing_result` WHERE deleted = 0) 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 ord | 
|---|
|  |  |  | WHERE deleted = 0 | 
|---|
|  |  |  | AND NOT EXISTS(SELECT * FROM ope_processing_result res WHERE res.work_order_id = ord.id) | 
|---|
|  |  |  | 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 (SELECT * FROM `ope_processing_result` WHERE deleted = 0) res ON res.work_order_id = ord.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | AND ord.deleted = 0 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <if test = "dispatcherId != null"> | 
|---|
|  |  |  | AND ord.dispatcher_id = #{dispatcherId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <if test = "inspectorId != null"> | 
|---|
|  |  |  | AND ord.inspector_id = #{inspectorId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <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 = "state != null"> | 
|---|
|  |  |  | AND ord.state = #{state} | 
|---|
|  |  |  | </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, | 
|---|
|  |  |  | IFNULL(res.state,0) AS proResultStateId, | 
|---|
|  |  |  | CASE | 
|---|
|  |  |  | WHEN ord.state = 1 THEN '未完成' | 
|---|
|  |  |  | WHEN ord.state = 2 THEN '已完成' | 
|---|
|  |  |  | END AS state, | 
|---|
|  |  |  | CASE | 
|---|
|  |  |  | WHEN IFNULL(res.state,0) = 0 THEN   '未上报' | 
|---|
|  |  |  | WHEN res.state = 1 THEN   '待审核' | 
|---|
|  |  |  | WHEN res.state = 2 THEN   '已通过' | 
|---|
|  |  |  | WHEN res.state = 3 THEN   '被驳回' | 
|---|
|  |  |  | ELSE '未上报' | 
|---|
|  |  |  | END AS processingState, | 
|---|
|  |  |  | res.id AS proResultId | 
|---|
|  |  |  | 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 (SELECT * FROM `ope_processing_result` WHERE deleted = 0) res ON res.work_order_id = ord.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | AND ord.deleted = 0 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <if test = "dispatcherId != null"> | 
|---|
|  |  |  | AND ord.dispatcher_id = #{dispatcherId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <if test = "inspectorId != null"> | 
|---|
|  |  |  | AND ord.inspector_id = #{inspectorId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <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 = "state != null"> | 
|---|
|  |  |  | AND ord.state = #{state} | 
|---|
|  |  |  | </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> | 
|---|