From bc3313efa51f00e128b6d9483becfd71df4e659d Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 09 八月 2024 18:14:51 +0800
Subject: [PATCH] 检验单审核添加对应试验室bug解决

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   74 ++++++++++++++++++++++++++----------
 1 files changed, 53 insertions(+), 21 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 1d15f2b..6102381 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
@@ -162,6 +162,7 @@
             insOrderPlanDTO.setUserId(null);
         }
         String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
+        insOrderPlanDTO.setSonLaboratory(null);
         IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userName, sonLaboratory, laboratory);
         map.put("body", insOrderPage);
         return map;
@@ -249,6 +250,12 @@
                 break;
         }
 
+        //濡傛灉鏄ぇ鏍峰搧涓嬬殑椤圭洰涓虹┖,閭d箞鏌ヨ绗竴涓厜绾ょ殑椤圭洰
+        if (ObjectUtils.isEmpty(insProducts) && type==0){
+            //鏌ヨ绗竴涓厜绾ょ殑id
+            List<InsFiber> insFibers = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, id)).get(0).getId()));
+            insProducts = insSampleMapper.getInsProduct3(insFibers.get(0).getId());
+        }
         Set<Integer> set = new HashSet<>();
         Map<Integer, String> map2 = new HashMap<>();
         if (BeanUtil.isEmpty(insProducts)) return null;
@@ -336,7 +343,7 @@
                 for (InsFibers insFiber : insFibers) {
                     List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFibersId, insFiber.getId()));
                     List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
-                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm!=2).collect(Collectors.toList());
+                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                     if (insProducts.size() == collect.size()) {
                         insFiber.setState(1);//宸叉楠�
                     } else {
@@ -349,7 +356,7 @@
                 for (InsFiber insFiber : fiberList) {
                     List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
                     List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
-                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm!=2).collect(Collectors.toList());
+                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                     if (insProducts.size() == collect.size()) {
                         insFiber.setState(1);//宸叉楠�
                     } else {
@@ -363,7 +370,7 @@
                 for (InsFiber insFiber : insFiberList) {
                     List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId()));
                     List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult)
-                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm!=2).collect(Collectors.toList());
+                            .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                     if (insProducts.size() == collect.size()) {
                         insFiber.setState(1);//宸叉楠�
                     } else {
@@ -378,7 +385,7 @@
                         .eq(InsProduct::getInsBushId, insBushing.getId()));
                 List<Integer> collect = insProducts.stream()
                         .map(InsProduct::getInsResult)
-                        .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm!=2).collect(Collectors.toList());
+                        .filter(sm -> ObjectUtils.isNotEmpty(sm) && sm != 2).collect(Collectors.toList());
                 if (insProducts.size() == collect.size()) {
                     insBushing.setState(1);//宸叉楠�
                 } else {
@@ -516,6 +523,7 @@
                 insProduct.setId(Integer.parseInt(k));
                 List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
                         .eq(InsProductResult::getInsProductId, insProduct.getId()));
+                InsProduct product = insProductMapper.selectById(insProduct.getId());
                 InsProductResult result;
                 if (CollectionUtils.isEmpty(results)) {
                     result = new InsProductResult();
@@ -531,7 +539,7 @@
                         insProductResultMapper.deleteById(insProductResultss.get(i));
                     }
                 }
-                InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, Integer.parseInt(k)));
+                //InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, Integer.parseInt(k)));
                 //妫�楠屽��
                 if (jo.get("insValue") != null) {
                     JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(jo.get("insValue")));
@@ -621,9 +629,10 @@
 
                 /*濡傛灉鏄涓�娆¢�夋嫨璁惧淇℃伅,涓旇繕鏈夊叾浣欐牱鍝佷篃鏈夊悓涓�涓粡楠岄」鐩�,閭d箞鎵�鏈夋牱鍝佺殑璇ラ」鐩兘鐢ㄨ繖涓澶囦俊鎭�*/
                 //鍏堟煡璇㈡槸鍚﹁繕鏈夊叾浣欐牱鍝�
-                InsProduct product = insProductMapper.selectById(insProduct.getId());
+
                 Integer insSampleId = product.getInsSampleId();
                 List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSampleMapper.selectById(insSampleId).getInsOrderId()));
+                //濡傛灉鏈夊涓牱鍝佹垨鑰呮槸涓嶆槸閲囬泦绫诲瀷灏卞悓涓�涓澶�
                 if (insSamples.size() > 1 && !product.getInspectionItemType().equals("1")) {
                     //瀛樺湪鍏朵綑鏍峰搧,鏌ヨ鏄惁鏈夊悓涓�绉嶆楠岄」鐩�
                     for (InsSample sample : insSamples.stream().filter(insSample -> !insSample.getId().equals(insSampleId)).collect(Collectors.toList())) {
@@ -636,9 +645,9 @@
                                 .eq(InsProduct::getInspectionItemSubclassEn, product.getInspectionItemSubclassEn())
                                 .eq(InsProduct::getTemplateId, product.getTemplateId())
                                 .eq(InsProduct::getStandardMethodListId, product.getStandardMethodListId())
-                                .eq(InsProduct::getInsBushId,product.getInsBushId())
-                                .eq(InsProduct::getInsFibersId,product.getInsFibersId())
-                                .eq(InsProduct::getInsFiberId,product.getInsFiberId())
+                                .eq(InsProduct::getInsBushId, product.getInsBushId())
+                                .eq(InsProduct::getInsFibersId, product.getInsFibersId())
+                                .eq(InsProduct::getInsFiberId, product.getInsFiberId())
                         );
                         if (ObjectUtils.isNotEmpty(product1)) {
                             //濡傛灉瀛樺湪椤圭洰,鏌ヨ鏄惁鏈夎〃
@@ -665,8 +674,6 @@
                     }
 
                 }
-
-
                 insProduct.setUpdateUser(userId);
                 insProductMapper.updateById(insProduct);
                 insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
@@ -698,20 +705,30 @@
                             isWithinRange = !now.isBefore(startTime) || !now.isAfter(endTime);
                         }
                         //鍔犵彮
-                        AuxiliaryOutputWorkingHours count1 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+                        List<AuxiliaryOutputWorkingHours> count1s = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
                                 .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
                                 .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
                                 .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
                                 .eq(AuxiliaryOutputWorkingHours::getOvertimeOrderNo, insOrder.getEntrustCode())
                                 .eq(AuxiliaryOutputWorkingHours::getSample, insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode()));
+                        if (count1s.size() > 1) {
+                            for (int i = 1; i < count1s.size(); i++) {
+                                auxiliaryOutputWorkingHoursMapper.deleteById(count1s.get(i));
+                            }
+                        }
                         //闈炲姞鐝�
-                        AuxiliaryOutputWorkingHours count2 = auxiliaryOutputWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
+                        List<AuxiliaryOutputWorkingHours> count2s = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
                                 .eq(AuxiliaryOutputWorkingHours::getCheck, userId)
                                 .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem())
                                 .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass())
                                 .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())
                                 .eq(AuxiliaryOutputWorkingHours::getSample, insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode()));
-                        if (ObjectUtils.isNotEmpty(insProduct.getManHour()) && ObjectUtils.isEmpty(count2) && ObjectUtils.isEmpty(count1)) {
+                        if (count2s.size() > 1) {
+                            for (int i = 1; i < count2s.size(); i++) {
+                                auxiliaryOutputWorkingHoursMapper.deleteById(count2s.get(i));
+                            }
+                        }
+                        if (ObjectUtils.isNotEmpty(insProduct.getManHour()) && CollectionUtils.isEmpty(count2s) && CollectionUtils.isEmpty(count1s)) {
                             AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours();
                             if (isWithinRange) {
                                 //鍦ㄦ椂闂村唴灏辨槸姝e父涓婄彮
@@ -750,8 +767,12 @@
                                 auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
                                 auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
                             }
-                            if (ObjectUtils.isEmpty(insProductResult) && !result.getInsValue().equals("[]") || (ObjectUtils.isNotEmpty(insProductResult) && !insProductResult.getInsValue().equals(result.getInsValue()) && !insProductResult.getInsValue().equals("[]"))) {
-                                auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+                            try {
+                                if (CollectionUtils.isEmpty(insProductResultss) && !result.getInsValue().equals("[]") || (CollectionUtils.isNotEmpty(insProductResultss) && !insProductResultss.get(0).getInsValue().equals(result.getInsValue()) && !insProductResultss.get(0).getInsValue().equals("[]"))) {
+                                    auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+                                }
+                            }catch (Exception e){
+                                System.out.println("宸ユ椂鏂板涓嶆垚鍔�!!!");
                             }
                         }
                     }
@@ -764,9 +785,9 @@
                 Long l1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                         .eq(InsProduct::getInsSampleId, insSample.getId())
                         .and(wrapper -> wrapper
-                                .isNull(InsProduct::getInsResult)
+                                .isNotNull(InsProduct::getInsResult)
                                 .or()
-                                .eq(InsProduct::getInsResult, 2)
+                                .ne(InsProduct::getInsResult, 2)
                         ));
                 if (l == l1) {
                     insSample.setInsState(2);
@@ -1117,8 +1138,19 @@
                                         textRenderData.setText("鉁�");
                                         break;
                                     case 0:
-                                        resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (p.getInspectionItemSubclass().equals("") ? "" : " " + p.getInspectionItemSubclass()));
-                                        resultEn.set(resultEn.get() + "銆�" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn()));
+                                        Set<String> uniqueItems1 = new HashSet<>();
+                                        Set<String> uniqueItems2 = new HashSet<>();
+
+                                        String item1 = p.getInspectionItem() + (p.getInspectionItemSubclass().equals("") ? "" : " " + p.getInspectionItemSubclass());
+                                        if (uniqueItems1.add(item1)) {
+                                            resultCh.set(resultCh.get() + "銆�" + item1);
+                                        }
+                                        //resultCh.set(resultCh.get() + "銆�" + p.getInspectionItem() + (p.getInspectionItemSubclass().equals("") ? "" : " " + p.getInspectionItemSubclass()));
+                                        String item2 = p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn());
+                                        if (uniqueItems2.add(item2)) {
+                                            resultEn.set(resultEn.get() + "銆�" + item2);
+                                        }
+                                        //resultEn.set(resultEn.get() + "銆�" + );
                                         textRenderData.setText("鉁�");
                                         break;
                                     default:
@@ -3474,7 +3506,7 @@
                         put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
                         put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
                         put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
-                        put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
+                        put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + insOrder.getInsTime().getDayOfMonth() + ", " + insOrder.getInsTime().getYear());
                         put("writeUrl", null);
                         put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
                         put("images", images);

--
Gitblit v1.9.3