From 6f0184601b95a4dcb217108d78f7fffbbe115577 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期三, 11 十二月 2024 09:49:45 +0800
Subject: [PATCH] 优化代码 获取工单详情接口 数据不存在返回独有code        统一返回结果处理基类 增加数据不存在选项

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/workOrder/WorkOrderSv.java |  103 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 102 insertions(+), 1 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 356820b..3b1c0c4 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,21 +1,32 @@
 package com.dy.pipIrrApp.workOrder;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrApp.workOrder.qo.QoWorkOrder;
+import com.dy.pipIrrGlobal.daoBa.BaUserMapper;
+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.voBa.VoRoleSimple;
 import com.dy.pipIrrGlobal.voOp.VoProcessingResult;
+import com.dy.pipIrrGlobal.voOp.VoProcessingResult_temp;
+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.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -32,6 +43,15 @@
 
     @Autowired
     private OpeProcessingResultMapper opeProcessingResultMapper;
+
+    @Autowired
+    private OpeApproveResultMapper opeApproveResultMapper;
+
+    @Autowired
+    private OpeTaskTypeMapper opeTaskTypeMapper;
+
+    @Autowired
+    private BaUserMapper baUserMapper;
 
     /**
      * 娣诲姞宸ュ崟璁板綍
@@ -167,6 +187,87 @@
      * @return
      */
     public VoProcessingResult getProResultById(Long proResultId) {
-        return opeProcessingResultMapper.getProResultById(proResultId);
+        VoProcessingResult_temp result_temp = opeProcessingResultMapper.getProResultById(proResultId);
+        VoProcessingResult result = new VoProcessingResult();
+        BeanUtils.copyProperties(result_temp, result);
+
+        JSONArray images_array = Optional.ofNullable(JSON.parseArray(result_temp.getImages())).orElse(new JSONArray());
+        JSONArray audios_array = Optional.ofNullable(JSON.parseArray(result_temp.getAudios())).orElse(new JSONArray());
+        JSONArray videos_array = Optional.ofNullable(JSON.parseArray(result_temp.getVideos())).orElse(new JSONArray());
+        result.setImages(images_array);
+        result.setAudios(audios_array);
+        result.setVideos(videos_array);
+
+        return result;
+    }
+
+    /**
+     * 瀹℃牳宸ュ崟澶勭悊缁撴灉
+     *      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();
+    }
+
+    /**
+     * 鑾峰彇宸℃鍛樺垪琛�
+     * @param inspector
+     * @return
+     */
+    public List<VoRoleSimple> getInspectors(String inspector) {
+        return baUserMapper.getInspectors(inspector);
     }
 }

--
Gitblit v1.8.0