From e07e0f836e64c5795a4819894a8c515f689ad535 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期二, 23 七月 2024 17:23:59 +0800
Subject: [PATCH] 数采调整

---
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java          |    5 --
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                            |    8 ++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   45 ++++++++++++++++------
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java    |    5 +-
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java                |    8 +--
 cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java                             |    6 +-
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java                |    2 +
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java          |    3 +
 8 files changed, 54 insertions(+), 28 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
index 0f143a9..909c79a 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
@@ -128,10 +128,10 @@
     @ApiModelProperty("瀛樺偍鍦板潃")
     private String storageUrl;
 
+    @ApiModelProperty("璁惧IP")
+    private String ip;
+
     @ApiModelProperty("鏄惁涓烘暟閲囪澶�")
     @TableField(exist = false)
     private Boolean isItADataAcquisitionDevice;
-
-    @ApiModelProperty("璁惧IP")
-    private String ip;
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
index 9e25d22..d8609a0 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -116,11 +116,6 @@
             String[] ids = device.getInsProductIds().split(",");
             for (String i : ids) {
                 if (i.equals(id + "")) {
-                    if (ObjectUtils.isEmpty(device.getFileType()) || ObjectUtils.isEmpty(device.getCollectUrl())) {
-                        device.setIsItADataAcquisitionDevice(false);
-                    } else {
-                        device.setIsItADataAcquisitionDevice(true);
-                    }
                     devices2.add(device);
                     break;
                 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index 79c81a2..72eea8e 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -18,6 +18,7 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -80,8 +81,8 @@
     @ValueAuth
     @PostMapping("/getInsProduct")
     @ApiOperation("鑾峰彇妫�楠岄」鐩拰妯℃澘鍐呭")
-    public Result<?> getInsProduct(Integer id, Integer type, String laboratory) {
-        return Result.success(insOrderPlanService.getInsProduct(id, type, laboratory));
+    public Result<?> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) {
+        return Result.success(insOrderPlanService.getInsProduct(id, type, laboratory, request));
     }
 
     @ValueClassify("妫�楠屼换鍔�")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
index 25fb187..57a0348 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
@@ -53,4 +53,6 @@
     List<Map<Integer, Object>> selectReportModelByOrderId(@Param("id") Integer id, @Param("laboratory") String laboratory);
 
     String seldepLimsId(int depLimsId);
+
+    Map<String, Object> getDeviceMessage(@Param("ip")String ip, @Param("inspectionItem") String inspectionItem);
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
index 2ccace9..c6b89b4 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
@@ -1,15 +1,13 @@
 package com.yuanchu.mom.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
 /**
  * 妫�楠岄」鐩殑缁撴灉
  * @TableName ins_product_result
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 510fa39..6539a54 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -6,6 +6,7 @@
 import com.yuanchu.mom.pojo.InsProduct;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Map;
 
@@ -29,7 +30,7 @@
 
     int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String sampleCode);
 
-    List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory);
+    List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request);
 
     List<String> checkSubmitPlan(Integer orderId, String laboratory);
 
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 9bab7c6..fd75c1a 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.*;
@@ -34,22 +34,17 @@
 import com.yuanchu.mom.utils.MatrixToImageWriter;
 import com.yuanchu.mom.utils.QueryWrappers;
 import com.yuanchu.mom.utils.RedisUtil;
-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.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;
@@ -132,7 +127,6 @@
 
     @Resource
     private InsOrderFileMapper insOrderFileMapper;
-
     @Override
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
         Map<String, Object> map = new HashMap<>();
@@ -197,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:
@@ -210,6 +204,9 @@
                 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;
@@ -217,6 +214,30 @@
         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;
+    }
+
     @Override
     public List<String> checkSubmitPlan(Integer orderId, String laboratory) {
         List<String> collect = new ArrayList<>();
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index b6396c8..6f450e0 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -456,4 +456,12 @@
         from department_lims
         where id = #{depLimsId}
     </select>
+
+    <select id="getDeviceMessage" resultType="java.util.Map">
+        select d.*
+        from device d, structure_item_parameter sip
+        where d.ip = #{ip}
+          and sip.inspection_item = #{inspectionItem}
+        limit 1
+    </select>
 </mapper>

--
Gitblit v1.9.3