From ede49ec7133b86d9db9dc1f0328418dcdaaef8aa Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 28 二月 2025 15:16:55 +0800
Subject: [PATCH] 报告修改+实验结果

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   67 +++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 20 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index bac2940..af24757 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -652,6 +652,16 @@
                 } catch (Exception e) {
                     result.setAfterCheck("");//''
                 }
+                //瀹為獙缁撴灉
+                try {
+                    JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("testResult")));
+                    if (resValue.get("v") != null) {
+                        Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
+                        result.setTestResult(o.equals("") ? null : (o.toString()));
+                    }
+                } catch (Exception e) {
+                    result.setTestResult("");//''
+                }
                 //璁惧缂栧彿
                 if (jo.get("equipValue") != null) {
                     JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipValue")));
@@ -920,19 +930,19 @@
             }
         }
         // 澶勭悊鍏朵粬姣旇緝鏉′欢
-        if (ask.startsWith(">")) {
+        if (ask.startsWith(">") || ask.startsWith("锛�")) {
             double threshold = Double.parseDouble(ask.substring(1));
             return s > threshold;
         } else if (ask.startsWith("鈮�")) {
             double threshold = Double.parseDouble(ask.substring(1));
             return s >= threshold;
-        } else if (ask.startsWith("<")) {
+        } else if (ask.startsWith("<")|| ask.startsWith("锛�")) {
             double threshold = Double.parseDouble(ask.substring(1));
             return s < threshold;
         } else if (ask.startsWith("鈮�")) {
             double threshold = Double.parseDouble(ask.substring(1));
             return s <= threshold;
-        } else if (ask.equals("=")) {
+        } else if (ask.equals("=")|| ask.startsWith("锛�")) {
             double exactValue = Double.parseDouble(ask.substring(1));
             return s == exactValue;
         }
@@ -979,7 +989,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException {
+    public int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell)  {
         LocalDateTime now = LocalDateTime.now();
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
         List<InsUnPass> insUnPasses = new ArrayList<>();
@@ -1063,10 +1073,15 @@
                     //濡傛灉璁㈠崟绫诲瀷鏄師鐞嗘牱鏈�,鍒欒璁㈠崟鐩存帴闂幆
                     List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
                     for (InsSample sample : insSamples) {
-                        outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+                        try{
+                            outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+                        }catch (Exception e){
+
+                        }
                     }
-                    insOrder.setState(4);
-                    insOrderMapper.updateById(insOrder);
+                    /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+                    List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+                    createReport(insOrder.getId(),insReportDto1s);
                     break;
             }
         }
@@ -1075,7 +1090,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public int verifyPlan2(Integer sampleId, String laboratory, Integer type, String tell) throws IOException {
+    public int verifyPlan2(Integer sampleId, String laboratory, Integer type, String tell) {
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
         InsSample insSample = insSampleMapper.selectById(sampleId);
         InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
@@ -1088,11 +1103,6 @@
                 .orderByDesc(InsOrderState::getId)
                 .last("LIMIT 1")); // 纭繚鍙彇涓�鏉¤褰�
         if (record != null) {
-            //鏇存柊璁板綍
-            insOrderUserMapper.update(null, Wrappers.<InsOrderUser>lambdaUpdate()
-                    .eq(InsOrderUser::getInsOrderStateId, record.getId())
-                    .eq(InsOrderUser::getNum, record.getNum())
-                    .set(InsOrderUser::getTell, tell));
             switch (type) {
                 case 0:
                     //鍐嶆璇曢獙:璇ュ崟瀛愰��鍥炲埌妫�楠岀姸鎬�(鎺掑簭鏀规垚褰撳墠鐨勬渶鍚�),娆℃暟閫掑(淇濈暀浠ュ墠鐨勬暟鎹�)锛�
@@ -1104,7 +1114,6 @@
                             .set(InsOrderState::getVerifyUser, userId)
                             .set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
                             .set(InsOrderState::getCreateTime, LocalDateTime.now()));
-                    insOrder.setState(3);
                     break;
                 case 1:
                     //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
@@ -1127,7 +1136,6 @@
                                 .set(InsOrderState::getVerifyTell, tell)
                                 .set(InsOrderState::getVerifyUser, userId));
                     }
-                    insOrder.setState(3);
                     break;
                 case 2:
                     //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆�
@@ -1153,14 +1161,33 @@
                     //鍑哄簱
                     List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
                     for (InsSample sample : insSamples) {
-                        outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+                        try{
+                            outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
+                        }catch (Exception e){
+                        }
                     }
-                    insOrder.setState(4);
+                    /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+                    List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+                    createReport(insOrder.getId(),insReportDto1s);
                     break;
             }
-            insOrderMapper.updateById(insOrder);
         }
         return 1;
+    }
+
+
+    /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+    private void createReport(Integer orderId,List<InsReportDto1> insReportDto1s){
+        for (InsReportDto1 insReportDto1 : insReportDto1s) {
+            if (ObjectUtils.isNotEmpty(insReportDto1.getInsReportDto2s())){
+                wordUtils.generateReport(orderId, insReportDto1);
+//                try{
+//                    wordUtils.generateReport(orderId, insReportDto1);
+//                }catch (Exception e){
+//                    throw new ErrorException("鎶ュ憡鏍煎紡鐢熸垚鏈夎,璇疯仈绯荤鐞嗗憳!");
+//                }
+            }
+        }
     }
 
     private void getTemplateThing
@@ -1221,8 +1248,8 @@
             String str = "";
             int count = 0;
             for (InsProduct product : insProducts) {
-                //杈愬皠璇曢獙,娓╂箍搴﹁瘯楠�,鍔熺巼璇曢獙鐨勬楠岄」鐩�,涓嶉渶瑕佸幓鎵嬪姩濉啓妫�楠屽��,鍙渶瑕佷笂浼犺〃鏍兼枃浠跺氨鍙互浜�,鍚庡彴鎻愪氦鐨勬椂鍊欐牎楠岃烦杩囪繖涓楠岄」鐩�
-                if (product.getInspectionItem().equals("杈愬皠璇曢獙") || product.getInspectionItem().equals("娓╂箍搴﹁瘯楠�") || product.getInspectionItem().equals("鍔熺巼璇曢獙")) {
+                //娓╂箍搴﹁瘯楠�,鍔熺巼璇曢獙鐨勬楠岄」鐩�,涓嶉渶瑕佸幓鎵嬪姩濉啓妫�楠屽��,鍙渶瑕佷笂浼犺〃鏍兼枃浠跺氨鍙互浜�,鍚庡彴鎻愪氦鐨勬椂鍊欐牎楠岃烦杩囪繖涓楠岄」鐩�
+                if ( product.getInspectionItem().equals("娓╂箍搴﹁瘯楠�") || product.getInspectionItem().equals("鍔熺巼璇曢獙")) {
                     product.setInsResult(3);//涓嶅垽瀹�
                     insProductMapper.updateById(product);
                     continue;

--
Gitblit v1.9.3