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; } 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; } 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("检验任务") 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); } 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 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); 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<>(); 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>