From ac87f61568a68501aa50d5c3f0d083e8ea36ebb3 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 29 十一月 2024 14:33:07 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderSv.java |  199 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 197 insertions(+), 2 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderSv.java
index 1a01ab6..1375549 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderSv.java
@@ -1,13 +1,25 @@
 package com.dy.pipIrrApp.workOrder;
 
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrApp.workOrder.qo.QoWorkOrder;
+import com.dy.pipIrrGlobal.daoOp.OpeApproveResultMapper;
+import com.dy.pipIrrGlobal.daoOp.OpeProcessingResultMapper;
+import com.dy.pipIrrGlobal.daoOp.OpeTaskTypeMapper;
 import com.dy.pipIrrGlobal.daoOp.OpeWorkOrderMapper;
+import com.dy.pipIrrGlobal.pojoOp.OpeApproveResult;
+import com.dy.pipIrrGlobal.pojoOp.OpeProcessingResult;
 import com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder;
+import com.dy.pipIrrGlobal.voOp.VoProcessingResult;
+import com.dy.pipIrrGlobal.voOp.VoTaskType;
 import com.dy.pipIrrGlobal.voOp.VoWorkOrder;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author ZhuBaoMin
@@ -22,6 +34,15 @@
     @Autowired
     private OpeWorkOrderMapper opeWorkOrderMapper;
 
+    @Autowired
+    private OpeProcessingResultMapper opeProcessingResultMapper;
+
+    @Autowired
+    private OpeApproveResultMapper opeApproveResultMapper;
+
+    @Autowired
+    private OpeTaskTypeMapper opeTaskTypeMapper;
+
     /**
      * 娣诲姞宸ュ崟璁板綍
      * @param po
@@ -29,7 +50,7 @@
      */
     public Long insertWorkOrder(OpeWorkOrder po) {
         po.setDispatchTime(new Date());
-        po.setState((byte)1);
+        po.setState((byte) 1);
         po.setRejectTimes(0);
         po.setDeleted(0L);
 
@@ -38,11 +59,185 @@
     }
 
     /**
-     * 鏍规嵁涓婚敭鑾峰彇宸ュ崟瑙嗗浘瀵硅薄
+     * 鑾峰彇鎸囧畾娲惧崟浜虹殑鎸囧畾鏈垹闄ゅ伐鍗曪紝鍒犻櫎宸ュ崟鍓嶅垽鏂娇鐢ㄤ娇鐢�
+     * @param dispatcherId
+     * @param workOrderId
+     * @return
+     */
+    public OpeWorkOrder getWorkOrder(Long workOrderId, Long dispatcherId) {
+        return opeWorkOrderMapper.getWorkOrder(workOrderId, dispatcherId);
+    }
+
+    /**
+     * 閫昏緫鍒犻櫎涓�涓湭鍒犻櫎鐨勫伐鍗�
+     * @param workOrderId
+     * @return
+     */
+    public Integer deleteWorkOrder(Long workOrderId) {
+        return opeWorkOrderMapper.deleteWorkOrder(workOrderId);
+    }
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇宸ュ崟
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoWorkOrder>> getWorkOrders(QoWorkOrder qo) {
+        qo.completionTime() ;
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+        Long itemTotal = opeWorkOrderMapper.getWorkOrdersCount(params);
+
+        QueryResultVo<List<VoWorkOrder>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = opeWorkOrderMapper.getWorkOrders(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鏍规嵁宸ュ崟涓婚敭鑾峰彇宸ュ崟瑙嗗浘瀵硅薄
      * @param workOrderId
      * @return
      */
     public VoWorkOrder getWorkOrderById(Long workOrderId) {
         return opeWorkOrderMapper.getWorkOrderById(workOrderId);
     }
+
+    /**
+     * 涓婃姤宸ュ崟澶勭悊缁撴灉
+     * @param po
+     * @return
+     */
+    public String addProcessingResult(OpeProcessingResult po) {
+        String result = "";
+        OpeProcessingResult processingResult = opeProcessingResultMapper.getByWorkOrderId(po.getWorkOrderId());
+        if(processingResult == null) {
+            // 鏃犲鐞嗙粨鏋滀笂鎶ュ鐞嗙粨鏋�
+            po.setReportTime(new Date());
+            po.setState((byte)1);
+            po.setDeleted(0L);
+            opeProcessingResultMapper.insert(po);
+            if(po.getId() == 0) {
+                result = "宸ュ崟澶勭悊缁撴灉涓婃姤澶辫触";
+                return result;
+            }
+
+            result = "success";
+            return result;
+        }
+
+        switch (processingResult.getState()) {
+            case 1:
+                result = "宸ュ崟澶勭悊缁撴灉宸蹭笂鎶ワ紝璇峰嬁閲嶅涓婃姤";
+                break;
+            case 2:
+                result = "宸ュ崟澶勭悊缁撴灉宸查�氳繃";
+                break;
+            case 3:
+                // 澶勭悊缁撴灉琚┏鍥炴椂锛屽垹闄ゅ綋鍓嶅鐞嗙粨鏋滐紝涓婃姤鏂扮殑澶勭悊缁撴灉
+                processingResult.setDeleted(System.currentTimeMillis()/1000);
+                opeProcessingResultMapper.updateByPrimaryKeySelective(processingResult);
+
+                po.setReportTime(new Date());
+                po.setState((byte)1);
+                po.setDeleted(0L);
+                opeProcessingResultMapper.insert(po);
+                result = "success";
+                break;
+        }
+
+        return result;
+    }
+
+    /**
+     * 鑾峰彇鎸囧畾宸℃鍛樼殑鎸囧畾鏈垹闄や笖鏈鎵圭殑澶勭悊缁撴灉涓婃姤锛屽垹闄ゅ鐞嗙粨鏋滃墠鍒ゆ柇浣跨敤浣跨敤
+     * @param proResultId
+     * @param inspectorId
+     * @return
+     */
+    public OpeProcessingResult getProResult(Long proResultId, Long inspectorId) {
+        return opeProcessingResultMapper.getProResult(proResultId, inspectorId);
+    }
+
+    /**
+     * 閫昏緫鍒犻櫎涓�涓湭鍒犻櫎鐨勫鐞嗙粨鏋�
+     * @param proResultId
+     * @return
+     */
+    public Integer deleteProResult(Long proResultId) {
+        return opeProcessingResultMapper.deleteProResult(proResultId);
+    }
+
+    /**
+     * 鑾峰彇澶勭悊缁撴灉璇︽儏
+     * @param proResultId
+     * @return
+     */
+    public VoProcessingResult getProResultById(Long proResultId) {
+        return opeProcessingResultMapper.getProResultById(proResultId);
+    }
+
+    /**
+     * 瀹℃牳宸ュ崟澶勭悊缁撴灉
+     *      1. 鍒ゆ柇鎸囧畾鐨勫伐鍗曞強澶勭悊缁撴灉鏄惁瀛樺湪涓旀湭瀹屾垚
+     *      2. 娣诲姞瀹℃牳璁板綍
+     *      3. 濡傛灉瀹℃牳閫氳繃
+     *          澶勭悊缁撴灉鐘舵�佹敼涓哄凡閫氳繃
+     *          宸ュ崟琛ュ厖浠诲姟瀹屾垚鏃堕棿
+     *          宸ュ崟鐘舵�佹敼涓哄凡瀹屾垚
+     *      4. 濡傛灉椹冲洖
+     *          浠诲姟澶勭悊缁撴灉鏀逛负椹冲洖
+     *          宸ュ崟椹冲洖娆℃暟鍔�1
+     * @param po
+     * @return
+     */
+    public String approveProResult(OpeApproveResult po) {
+
+        OpeProcessingResult processingResult = opeProcessingResultMapper.selectByPrimaryKey(po.getProcessingResultId());
+        if(processingResult == null || processingResult.getDeleted() != 0 || processingResult.getState() != 1) {
+            return "澶勭悊缁撴灉涓嶅瓨鍦ㄦ垨宸插畬鎴愬鏍�";
+        }
+
+        OpeWorkOrder workOrder = opeWorkOrderMapper.selectByPrimaryKey(po.getWorkOrderId());
+        if(workOrder == null || workOrder.getDeleted() != 0 || workOrder.getState() == 2) {
+            return "宸ュ崟涓嶅瓨鍦ㄦ垨宸插畬鎴�";
+        }
+
+        po.setApproveTime(new Date());
+        po.setDeleted(0L);
+        if(opeApproveResultMapper.insert(po) == 0) {
+            return "瀹℃牳璁板綍娣诲姞澶辫触";
+        }
+
+        if(po.getApproveResult() == 1) {
+            // 瀹℃牳閫氳繃
+            processingResult.setState((byte)2);
+            opeProcessingResultMapper.updateByPrimaryKeySelective(processingResult);
+
+            workOrder.setCompleteTime(processingResult.getCompleteTime());
+            workOrder.setState((byte)2);
+            opeWorkOrderMapper.updateByPrimaryKeySelective(workOrder);
+
+        } else {
+            // 椹冲洖
+            processingResult.setState((byte)3);
+            opeProcessingResultMapper.updateByPrimaryKeySelective(processingResult);
+
+            workOrder.setRejectTimes(workOrder.getRejectTimes() + 1);
+            opeWorkOrderMapper.updateByPrimaryKeySelective(workOrder);
+        }
+
+        return "success";
+    }
+
+    /**
+     * 鑾峰彇浠诲姟绫诲瀷鍒楄〃
+     * @return
+     */
+    public List<VoTaskType> getTaskTypes() {
+        return opeTaskTypeMapper.getTaskTypes();
+    }
 }

--
Gitblit v1.8.0