From 288c8e2d24ee2db081ba818e6b42ea52eb9c4ca2 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 01 七月 2026 11:14:43 +0800
Subject: [PATCH] 不合格处理调整&合格率统计调整

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java |   61 +++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
index c2ad66c..e252218 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
@@ -151,7 +151,7 @@
 
         //鏌ヨ闄勪欢
         List<InsUnqualifiedHandlerFile> handlerFiles = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
-                .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, vo.getHandlerId()));
+                .eq(InsUnqualifiedHandlerFile::getGroupId, vo.getGroupId()));
         if (CollectionUtils.isNotEmpty(handlerFiles)) {
             StringBuilder fileUrl = new StringBuilder();
             for (int i = 0; i < handlerFiles.size(); i++) {
@@ -191,6 +191,25 @@
         return Result.success();
     }
 
+    /**
+     * 杩斿洖绗竴涓笉涓虹┖鐨勫瓧绗︿覆
+     * @param values
+     * @return
+     */
+    public static String firstNotBlank(String... values) {
+        if (values == null) {
+            return null;
+        }
+
+        for (String value : values) {
+            if (StringUtils.isNotBlank(value)) {
+                return value;
+            }
+        }
+
+        return null;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONObject response) {
@@ -218,30 +237,31 @@
         for (Object workflowRequestLog : workflowRequestLogs) {
             JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(workflowRequestLog));
             CommonOa oa = new CommonOa();
-            oa.setApprover(jsonObject.getString("operatorName"));
-            oa.setOperateId(jsonObject.getLong("operateId"));
-            oa.setWorkflowId(oaWorkId);
-            oa.setOperation(jsonObject.getString("operateType"));
-            oa.setApprovalDate(jsonObject.getString("operateDate"));
-            oa.setNodeName(jsonObject.getString("nodeName"));
-            oa.setApprovalTime(jsonObject.getString("operateTime"));
             //璁剧疆鍚勮妭鐐圭殑澶勭悊鎰忚
+            oa.setApprover(jsonObject.getString("operatorName"));//瀹℃壒浜�
+            oa.setOperateId(jsonObject.getLong("operateId"));//瀹℃壒浜篿d
+            oa.setWorkflowId(oaWorkId);//娴佺▼id
+            oa.setApprovalDate(jsonObject.getString("operateDate"));//瀹℃壒鏃ユ湡
+            oa.setNodeName(jsonObject.getString("nodeName"));//鑺傜偣鍚嶇О
+            oa.setApprovalTime(jsonObject.getString("operateTime"));//瀹℃壒鏃堕棿
             if(StringUtils.isNotBlank(oa.getNodeName())){
+                String operateType = jsonObject.getString("operateType");//鑺傜偣鎿嶄綔
+                String approvalOpinion = jsonObject.getString("remark");//澶勭悊鎰忚鎻忚堪
+                oa.setOperation(operateType);
+                oa.setApprovalOpinion(approvalOpinion);
                 if(oa.getNodeName().contains("璐ㄩ噺")){
-                    oa.setOperation(clcsMap.get(response.getString("clcs1")));
-                    oa.setApprovalOpinion(response.getString("dbhgcpdclyqdealwiththenonconfo"));//1.瀵逛笉鍚堟牸浜у搧鐨勫鐞嗚姹�
+                    oa.setOperation(firstNotBlank(clcsMap.get(response.getString("clcs1")),operateType));
+                    oa.setApprovalOpinion(firstNotBlank(response.getString("dbhgcpdclyqdealwiththenonconfo"),approvalOpinion));//1.瀵逛笉鍚堟牸浜у搧鐨勫鐞嗚姹�
                 }else if(oa.getNodeName().contains("宸ヨ壓")){
-                    oa.setApprovalOpinion(response.getString("gjyqimprovementrequirements"));//2.鏀硅繘瑕佹眰
+                    oa.setApprovalOpinion(firstNotBlank(response.getString("gjyqimprovementrequirements"),approvalOpinion));//2.鏀硅繘瑕佹眰
                 }else if(oa.getNodeName().contains("鎶�鏈�")){
-                    oa.setOperation(clcsMap.get(response.getString("clcs2")));
-                    oa.setApprovalOpinion(response.getString("csyqactionrequirement"));//3.鎺柦瑕佹眰
+                    oa.setOperation(firstNotBlank(clcsMap.get(response.getString("clcs2")),operateType));
+                    oa.setApprovalOpinion(firstNotBlank(response.getString("csyqactionrequirement"),approvalOpinion));//3.鎺柦瑕佹眰
                 }else if(oa.getNodeName().contains("鎬荤粡鐞�")){
-                    oa.setOperation(clcsMap.get(response.getString("clcs3")));
-                    oa.setApprovalOpinion(response.getString("zzclyqfinaltreatmentrequiremen"));//4.鏈�缁堝鐞嗚姹�
+                    oa.setOperation(firstNotBlank(clcsMap.get(response.getString("clcs3")),operateType));
+                    oa.setApprovalOpinion(firstNotBlank(response.getString("zzclyqfinaltreatmentrequiremen"),approvalOpinion));//4.鏈�缁堝鐞嗚姹�
                 }else if(oa.getNodeName().contains("鏍哥畻")){
-                    oa.setApprovalOpinion(response.getString("spyqcompensationrequirement"));//5.绱㈣禂瑕佹眰
-                }else{
-                    oa.setApprovalOpinion(jsonObject.getString("remark"));
+                    oa.setApprovalOpinion(firstNotBlank(response.getString("spyqcompensationrequirement"),approvalOpinion));//5.绱㈣禂瑕佹眰
                 }
             }
 
@@ -276,11 +296,6 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean addUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto) {
-        long count = this.count(Wrappers.<InsUnqualifiedHandler>lambdaQuery()
-                .in(InsUnqualifiedHandler::getInsOrderId, unqualifiedHandlerDto.getSelectOrderIds()));
-        if (count > 0) {
-            throw new ErrorException("瀛樺湪宸叉彁浜よ繃涓嶅悎鏍煎鐞嗙殑璁㈠崟");
-        }
         //鐢熸垚鍒嗙粍id
         String groupId = insUnqualifiedHandlerNumberGenerator.generateNumberWithPrefix(6, "GROUP", InsUnqualifiedHandler::getGroupId);
         // 鍘熸潗鏂欑紪鍙峰垏鍓�

--
Gitblit v1.9.3