liurunyu
5 天以前 e5c29d6ac2b210a9385723598d79a42ae5a9679e
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>