From 8ebf5bc4bf1cc2b70b6aa9dc295eaa9d86c95245 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 02 七月 2024 13:17:26 +0800
Subject: [PATCH] 委托编号生成规则修改+用户默认密码更改+温度循环项目新增逻辑+检验任务模版切换

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java |   99 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 72 insertions(+), 27 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index 253a563..7ad21ac 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -15,6 +15,7 @@
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
 import com.yuanchu.mom.service.InsOrderService;
+import com.yuanchu.mom.service.InsProductService;
 import com.yuanchu.mom.utils.GiveCode;
 import com.yuanchu.mom.utils.QueryWrappers;
 import com.yuanchu.mom.vo.SampleDefectsFatherVo;
@@ -47,6 +48,7 @@
     private InsSampleMapper insSampleMapper;
 
     private InsProductMapper insProductMapper;
+    private InsProductService insProductService;
 
     private GiveCode giveCode;
 
@@ -145,6 +147,7 @@
             }
             insSampleMapper.insert(a);
             if (ObjectUtil.isNotEmpty(a.getInsProduct())) {
+                //鏅�氭楠岄」鐩�(闄や簡鍏夌氦鎺ュご鎹熻��)鐨勬坊鍔�
                 addInsProductMethod(a.getId(), a.getInsProduct(), null, 0);
             }
             if (ObjectUtil.isNotEmpty(a.getInsulating())) {
@@ -211,10 +214,12 @@
             sample.setId(null);
             insSampleMapper.insert(sample);
             try {
-                InsProduct insProduct = sample.getInsProduct().stream().filter(a -> Objects.equals(a.getInspectionItem(), "鐔旀帴鎹熻��")).findFirst().get();
-                insProduct.setId(null);
-                insProduct.setInsSampleId(sample.getId());
-                insProductMapper.insert(insProduct);
+                List<InsProduct> insProducts = sample.getInsProduct().stream().filter(a -> Objects.equals(a.getInspectionItem(), "鍏夌氦鎺ュご鎹熻��")).collect(Collectors.toList());
+                for (InsProduct insProduct : insProducts) {
+                    insProduct.setId(null);
+                    insProduct.setInsSampleId(sample.getId());
+                    insProductMapper.insert(insProduct);
+                }
             } catch (Exception e) {
             }
         }
@@ -222,30 +227,70 @@
     }
 
     private void addInsProductMethod(Integer sampleId, List<InsProduct> productList, Integer id, Integer type) {
+        InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(sampleId).getInsOrderId());
         for (InsProduct product : productList) {
-            /*if(product.getState()==1 && (product.getAsk().indexOf("D")>-1||product.getAsk().indexOf("W")>-1||product.getAsk().indexOf("X")>-1
-            ||product.getAsk().indexOf("RTS")>-1||product.getAsk().indexOf("H")>-1||product.getAsk().indexOf("L")>-1)){
-                throw new ErrorException("鎻愪氦澶辫触锛屽瓨鍦ㄦ湭濉啓鐨勫彉閲忥細"+product.getInspectionItem()+" "+product.getInspectionItemSubclass());
-            }*/
-            if (product.getState() == 1 && !product.getInspectionItem().equals("鐔旀帴鎹熻��")) {
-                switch (type) {
-                    case 1:
-                        product.setInsFibersId(id);
-                        break;
-                    case 2:
-                        product.setInsFiberId(id);
-                        break;
+            if (product.getState() == 1 && !product.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")) {
+                //鍒ゆ柇鍏夌紗鐨勬俯搴﹀惊鐜」鐩坊鍔�
+                if (insOrder.getSampleType().equals("鍏夌紗") && product.getInspectionItem().equals("娓╁害寰幆") && type != 0) {
+                    List<InsProduct> insProductes = new ArrayList<>();
+                    List<InsProduct> insProducts = new ArrayList<>();
+                    String[] strings = product.getAsk().split(";");
+                    for (int i = 0; i < strings.length; i++) {
+                        if (i != strings.length - 1) {
+                            InsProduct insProduct = new InsProduct();
+                            switch (type) {
+                                case 1:
+                                    insProduct.setInsFibersId(id);
+                                    break;
+                                case 2:
+                                    insProduct.setInsFiberId(id);
+                                    break;
+                            }
+                            String[] split = strings[i].split(",");
+                            insProduct.setInspectionItem("1娆�");//妫�楠岄」--寰幆娆℃暟
+                            insProduct.setInspectionItemSubclass(split[0]);//妫�楠岄」--娓╁害
+                            insProduct.setInspectionItemClass(split[1]);//妫�楠岄」--鍏夌氦椤圭洰
+                            insProduct.setAsk(split[2]);//妫�楠岃姹�
+                            insProduct.setTell(strings[i]);//妫�楠屾弿杩�
+                            insProducts.add(insProduct);
+                            insProductes.add(insProduct);
+                        } else {
+                            //鏈�鍚庝竴涓暟鎹槸璇存槑浼氬惊鐜灏戞
+                            int count = Integer.parseInt(strings[i]);
+                            if (count > 1) {
+                                //寰幆瓒呰繃1娆�
+                                for (int j = 2; j <= count; j++) {
+                                    for (InsProduct insProduct : insProducts) {
+                                        if (!insProduct.getInspectionItemSubclass().equals("20鈩�")) {
+                                            insProduct.setInspectionItem(j + "娆�");
+                                            insProductes.add(insProduct);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    insProductService.saveBatch(insProductes);
+                } else {
+                    switch (type) {
+                        case 1:
+                            product.setInsFibersId(id);
+                            break;
+                        case 2:
+                            product.setInsFiberId(id);
+                            break;
+                    }
+                    product.setId(null);
+                    product.setCreateTime(null);
+                    product.setUpdateTime(null);
+                    product.setUpdateTime(null);
+                    product.setUpdateUser(null);
+                    product.setInsSampleId(sampleId);
+                    if (product.getInspectionItemSubclass() == null) {
+                        product.setInspectionItemSubclass("");
+                    }
+                    insProductMapper.insert(product);
                 }
-                product.setId(null);
-                product.setCreateTime(null);
-                product.setUpdateTime(null);
-                product.setUpdateTime(null);
-                product.setUpdateUser(null);
-                product.setInsSampleId(sampleId);
-                if (product.getInspectionItemSubclass() == null) {
-                    product.setInspectionItemSubclass("");
-                }
-                insProductMapper.insert(product);
             }
         }
     }
@@ -270,7 +315,7 @@
                 code = "";
             }
             String code2 = customMapper.selectById(insOrder.getCompanyId()).getCode2();
-            insOrder.setEntrustCode(giveCode.giveCode("JC/ZX" + code + "-" + code2 + "-", "ins_order", "", "yyMM"));
+            insOrder.setEntrustCode(giveCode.giveCode2("JCZX/" + code + "-" + code2 + "-", insOrder.getCompanyId(), insOrder.getLaboratory(), "ins_order", "", "yyMM"));
         }
         return insOrderMapper.updateById(insOrder);
     }

--
Gitblit v1.9.3