From e5c29d6ac2b210a9385723598d79a42ae5a9679e Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 23 四月 2025 15:20:13 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml | 56 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 45 insertions(+), 11 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml index 9e2a155..2c29293 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/OpeWorkOrderMapper.xml @@ -224,28 +224,35 @@ 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 res.state = 1 THEN '宸蹭笂鎶�' + WHEN IFNULL(res.state,0) = 0 THEN '鏈笂鎶�' + WHEN res.state = 1 THEN '寰呭鏍�' WHEN res.state = 2 THEN '宸查�氳繃' - WHEN res.state = 3 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 + 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 - WHERE deleted = 0 AND id = #{workOrderId} AND dispatcher_id = #{dispatcherId} LIMIT 1 + 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> <!--閫昏緫鍒犻櫎涓�涓湭鍒犻櫎鐨勫伐鍗�--> @@ -261,9 +268,17 @@ 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 + 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},'%') @@ -271,6 +286,10 @@ <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"> @@ -295,23 +314,34 @@ 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 res.state = 1 THEN '宸蹭笂鎶�' + WHEN IFNULL(res.state,0) = 0 THEN '鏈笂鎶�' + WHEN res.state = 1 THEN '寰呭鏍�' WHEN res.state = 2 THEN '宸查�氳繃' - WHEN res.state = 3 THEN '宸查┏鍥�' + WHEN res.state = 3 THEN '琚┏鍥�' ELSE '鏈笂鎶�' - END AS processingState + 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 ope_processing_result res ON res.work_order_id = ord.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},'%') @@ -321,6 +351,10 @@ 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> -- Gitblit v1.8.0