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