From a6077615d835d96ded47f2d170e22ea88e9a3099 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 11 五月 2026 15:23:19 +0800
Subject: [PATCH] 不合格处理:对接OA报错问题修复

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 35 insertions(+), 20 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 42e9deb..fd57189 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
@@ -14,6 +14,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.enums.ContractType;
 import com.ruoyi.common.oa.OAProcess;
 import com.ruoyi.common.oa.OAProperty;
 import com.ruoyi.common.oa.OAResult;
@@ -125,25 +126,33 @@
         //鑾峰彇涓嶅悎鏍煎鐞嗚褰�
         UnqualifiedHandlerVO vo = baseMapper.findById(pushOADto.getHandlerId());
 
-//        if (vo.getRequestId() != null) {
-//            throw new ErrorException("璇ヤ笉鍚堟牸澶勭悊宸叉彁浜よ繃OA");
-//        }
-
         //鎻愪氦oa鐩稿叧瀛楁璧嬪��
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         Map<String, String> mainFields = new HashMap<>();
-        mainFields.put("bh", vo.getNo());//缂栧彿
-        mainFields.put("gysmc", vo.getSupplierName());//渚涘簲鍟嗗悕绉�
-        mainFields.put("wlmc", vo.getMaterialName());//鐗╂枡鍚嶇О
-        mainFields.put("scpc", vo.getProductionBatch());//鐢熶骇鎵规
-        mainFields.put("dhsl", vo.getCargoQuantity());//鍒拌揣鏁伴噺
-        mainFields.put("ggxh", vo.getSpecsModels());//瑙勬牸鍨嬪彿
-        mainFields.put("bjrq", vo.getInspectTime().format(formatter));//鎶ユ鏃ユ湡
-        mainFields.put("fkr", SecurityUtils.getUsername());//鍙嶉浜�
-        mainFields.put("fkrq", vo.getFeedbackTime().format(formatter));//鍙嶉鏃ユ湡
-        mainFields.put("fl", vo.getClassification());//鍒嗙被
-        mainFields.put("bhggs", vo.getOffGradeAscription());//涓嶅悎鏍煎綊灞�
-        mainFields.put("bhgqkms", vo.getUnqualifiedDesc());//涓嶅悎鏍兼儏鍐垫弿杩�
+//        mainFields.put("bh", vo.getNo());//缂栧彿
+//        mainFields.put("gysmc", vo.getSupplierName());//渚涘簲鍟嗗悕绉�
+//        mainFields.put("wlmc", vo.getMaterialName());//鐗╂枡鍚嶇О
+//        mainFields.put("scpc", vo.getProductionBatch());//鐢熶骇鎵规
+//        mainFields.put("dhsl", vo.getCargoQuantity());//鍒拌揣鏁伴噺
+//        mainFields.put("ggxh", vo.getSpecsModels());//瑙勬牸鍨嬪彿
+//        mainFields.put("bjrq", vo.getInspectTime().format(formatter));//鎶ユ鏃ユ湡
+//        mainFields.put("fkr", SecurityUtils.getUsername());//鍙嶉浜�
+//        mainFields.put("fkrq", vo.getFeedbackTime().format(formatter));//鍙嶉鏃ユ湡
+//        mainFields.put("fl", vo.getClassification());//鍒嗙被
+//        mainFields.put("bhggs", vo.getOffGradeAscription());//涓嶅悎鏍煎綊灞�
+//        mainFields.put("bhgqkms", vo.getUnqualifiedDesc());//涓嶅悎鏍兼儏鍐垫弿杩�
+//        mainFields.put("bh", vo.getNo());//缂栧彿
+        mainFields.put("gysmcsuppliername", vo.getSupplierName());//渚涘簲鍟嗗悕绉�
+        mainFields.put("wlmcmaterialname", vo.getMaterialName());//鐗╂枡鍚嶇О
+        mainFields.put("scpcproductionbatch", vo.getProductionBatch());//鐢熶骇鎵规
+        mainFields.put("dhslcargoquantity", vo.getCargoQuantity());//鍒拌揣鏁伴噺
+        mainFields.put("ggxhspecificationsmodels", vo.getSpecsModels());//瑙勬牸鍨嬪彿
+        mainFields.put("bjrqdeclarationinspectdate", vo.getInspectTime().format(formatter));//鎶ユ鏃ユ湡
+        mainFields.put("fkrprovideroffeedback", SecurityUtils.getUsername());//鍙嶉浜�
+        mainFields.put("fkrqfeedbacktime", vo.getFeedbackTime().format(formatter));//鍙嶉鏃ユ湡
+        mainFields.put("flclassification", vo.getClassification());//鍒嗙被
+        mainFields.put("bhggsoffgradeascription", vo.getOffGradeAscription());//涓嶅悎鏍煎綊灞�
+        mainFields.put("bhgqkmsunqualifieddescription", vo.getUnqualifiedDesc());//涓嶅悎鏍兼儏鍐垫弿杩�
 
         //鏌ヨ闄勪欢
         List<InsUnqualifiedHandlerFile> handlerFiles = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
@@ -151,7 +160,7 @@
         if (CollectionUtils.isNotEmpty(handlerFiles)) {
             StringBuilder fileUrl = new StringBuilder();
             for (int i = 0; i < handlerFiles.size(); i++) {
-                String path = handlerFiles.get(i).getType().equals(1) ? "/lims/img/" : "/lims/word/";
+                String path = handlerFiles.get(i).getType().equals(1) ? "/img/" : "/word/";
                 if (i == handlerFiles.size() - 1) {
                     fileUrl.append("<a href='" + oaProperty.getProdIp()).append(path + handlerFiles.get(i).getFileUrl()
                             + "'target='_blank'>" + handlerFiles.get(i).getFileName() + "</a>");
@@ -160,7 +169,7 @@
                             + "'target='_blank'>" + handlerFiles.get(i).getFileName() + "</a>").append("<br/>");
                 }
             }
-            mainFields.put("xlimsfj", fileUrl.toString());
+            mainFields.put("fjlj", fileUrl.toString());
         }
         //娴佺▼鏍囬
         String requestName = vo.getHeadline();
@@ -168,9 +177,14 @@
         boolean oa = false;
         try {
             log.info("鍙戣捣涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼");
-            String unqualifiedProcessId = oaProperty.getUnqualifiedProcessId();
+            //鏍规嵁IFS鍩熻幏鍙栧搴旂殑娴佺▼id
+            if(StringUtils.isBlank(pushOADto.getContract())){
+                throw new RuntimeException("IFS鍩熴��"+pushOADto.getContract()+"銆戜笉瀛樺湪锛孫A娴佺▼鎻愪氦澶辫触");
+            }
+            String unqualifiedProcessId = StringUtils.equals(ContractType.ZTNS.getValue(),pushOADto.getContract())?oaProperty.getUnqualifiedProcessId():oaProperty.getUnqualifiedProcessIdByKJNS();
+            log.info("涓嶅悎鏍兼祦绋嬭姹傚弬鏁�:{},{},{},{}",mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername());
             OAResult oaResult = OAProcess.start(mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername());
-            log.info("涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼缁撴潫锛岃繑鍥炵粨鏋�->{}" + oaResult);
+            log.info("涓嶅悎鏍兼祦绋婭D:{},涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼缁撴潫锛岃繑鍥炵粨鏋�->{}",unqualifiedProcessId,oaResult);
             oa = oaResult.success();
             if (oa) {
                 String addWorkflowResult = oaResult.getAddWorkflowResult();
@@ -299,6 +313,7 @@
             //鎺ㄩ�丱A
             PushOADto pushOADto = new PushOADto();
             pushOADto.setHandlerId(unqualifiedHandlerDto.getId());
+            pushOADto.setContract(unqualifiedHandlerDto.getContract());
             pushOA(pushOADto);
         }
         return true;

--
Gitblit v1.9.3