From dd301742784e570ec01098907f56e5c9c19b5a99 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 23 七月 2024 17:26:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   73 +++++++++++++++++++++++++++---------
 1 files changed, 54 insertions(+), 19 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 8d61c07..8c51007 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
@@ -3,7 +3,6 @@
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.lang.Console;
 import cn.hutool.core.lang.UUID;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -22,10 +21,11 @@
 import com.deepoove.poi.data.*;
 import com.deepoove.poi.data.style.*;
 import com.deepoove.poi.util.TableTools;
-import com.deepoove.poi.xwpf.WidthScalePattern;
 import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
-import com.yuanchu.mom.dto.*;
+import com.yuanchu.mom.dto.ExcelDto;
+import com.yuanchu.mom.dto.InsOrderPlanDTO;
+import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
@@ -33,22 +33,18 @@
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.utils.MatrixToImageWriter;
 import com.yuanchu.mom.utils.QueryWrappers;
-import com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo;
-import com.yuanchu.mom.vo.InsOrderPlanVO;
-import com.yuanchu.mom.vo.ProductVo;
-import com.yuanchu.mom.vo.SampleVo;
+import com.yuanchu.mom.utils.RedisUtil;
+import com.yuanchu.mom.vo.*;
 import org.apache.commons.io.IOUtils;
 import org.apache.poi.xwpf.usermodel.*;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.io.*;
-import java.math.BigInteger;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.text.SimpleDateFormat;
@@ -131,7 +127,6 @@
 
     @Resource
     private InsOrderFileMapper insOrderFileMapper;
-
     @Override
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
         Map<String, Object> map = new HashMap<>();
@@ -157,7 +152,8 @@
         if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
             insOrderPlanDTO.setUserId(userId.longValue());
         }
-        IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId);
+        String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
+        IPage<InsOrderPlanTaskSwitchVo> insOrderPage = insSampleMapper.inspectionOrderDetailsTaskSwitching(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory);
         map.put("body", insOrderPage);
         return map;
     }
@@ -195,7 +191,7 @@
     }
 
     @Override
-    public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory) {
+    public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) {
         List<InsProduct> insProducts = new ArrayList<>();
         switch (type) {
             case 0:
@@ -208,10 +204,37 @@
                 insProducts = insSampleMapper.getInsProduct3(id);
                 break;
         }
+        // 鏁伴噰鏂板
+        getDeviceMessage(insProducts, request);
+
         Set<Integer> set = new HashSet<>();
         Map<Integer, String> map2 = new HashMap<>();
         if (BeanUtil.isEmpty(insProducts)) return null;
         getTemplateThing(set, map2, insProducts);
+        return insProducts;
+    }
+
+    private List<InsProduct> getDeviceMessage(List<InsProduct> insProducts, HttpServletRequest request) {
+        String ipAddress = request.getRemoteAddr();
+        // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
+        String ip =  ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
+        insProducts.forEach(i -> {
+            Map<String, Object> devices = baseMapper.getDeviceMessage(ip, i.getInspectionItem());
+            if (ObjectUtils.isNotEmpty(devices)) {
+                InsProductResult insProductResult = i.getInsProductResult();
+                List<Object> list = new ArrayList<>();
+                Map<Object, Object> hashMap = new HashMap<>();
+                hashMap.put("v", devices.get("device_name"));
+                list.add(hashMap);
+                insProductResult.setEquipName(JSON.toJSON(list).toString());
+                List<Object> listValue = new ArrayList<>();
+                Map<Object, Object> hashMapValue = new HashMap<>();
+                hashMapValue.put("v", devices.get("management_number"));
+                listValue.add(hashMapValue);
+                insProductResult.setEquipName(JSON.toJSON(list).toString());
+                insProductResult.setEquipValue(JSON.toJSON(listValue).toString());
+            }
+        });
         return insProducts;
     }
 
@@ -360,7 +383,8 @@
                                     .eq(InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
                                     .eq(InsProduct::getInsFiberId, fiber.getId()));
                             for (InsProduct insProduct : insProducts) {
-                                InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
+                                InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+                                        .eq(InsProductResult::getInsProductId, insProduct.getId()));
                                 ProductVo productVo = new ProductVo();
                                 productVo.setCode(insFiber.getCode());
                                 productVo.setColor(fiber.getColor());
@@ -375,7 +399,7 @@
                                         .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
                                         .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
                                         .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
-                                if (!insProductResult1.getComValue().equals("[]")) {
+                                if (ObjectUtils.isNotEmpty(insProductResult1) &&!insProductResult1.getComValue().equals("[]")) {
                                     insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
                                 }
                                 productVo.setInsProduct(insProduct);
@@ -383,7 +407,8 @@
                             }
                         }
                     }
-                } else {
+                }
+                else {
                     //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
                     List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
                     for (InsFiber fiber : insFiberList) {
@@ -407,7 +432,7 @@
                                     .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
                                     .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
                                     .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
-                            if (!insProductResult1.getComValue().equals("[]")) {
+                            if (ObjectUtils.isNotEmpty(insProductResult1) && !insProductResult1.getComValue().equals("[]")) {
                                 insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
                             }
                             productVo.setInsProduct(insProduct);
@@ -435,6 +460,13 @@
         }
         map.put("productVos", productVos);
         return map;
+    }
+
+    @Override
+    public List<String> upPlanUser2(Integer orderId) {
+        List<Integer> sampleId = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
+        List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, sampleId)).stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList());
+        return sonLaboratory;
     }
 
 
@@ -3387,7 +3419,7 @@
     }
 
     @Override
-    public int submitPlan(Integer orderId, String laboratory, Integer verifyUser) {
+    public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String sampleCode) {
         List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
         List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
         List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
@@ -3464,7 +3496,7 @@
         insSampleUser.setInsSampleId(orderId);
         insSampleUser.setState(0);
         insSampleUser.setSonLaboratory(laboratory);
-         insSampleUserMapper.insert(insSampleUser);
+        insSampleUserMapper.insert(insSampleUser);
         /*鏍¢獙涓�涓媟esult琛�*/
         CompletableFuture.supplyAsync(() -> {
             List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList());
@@ -3476,6 +3508,9 @@
             }
             return null;
         });
+        // 鍒犻櫎鏁伴噰閲囬泦娆℃暟
+        String key = "frequency" + ":" + entrustCode + ":" + sampleCode;
+        RedisUtil.del(key);
         return 1;
     }
 

--
Gitblit v1.9.3