From b633cb48b94c207468a2a5e4cb92baf3e43568b0 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期二, 23 七月 2024 18:16:33 +0800 Subject: [PATCH] 数采调整 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 87 ++++++++++++++++++++++++++++++++----------- 1 files changed, 64 insertions(+), 23 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 07d458c..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.*; @@ -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<>(); @@ -143,7 +137,8 @@ userId = map1.get("userId"); insOrderPlanDTO.setUserId(userId.longValue()); } - IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId); + String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹� + IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId,sonLaboratory); map.put("body", insOrderPage); return map; } @@ -157,11 +152,13 @@ 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; } + //璁ら浠诲姟 @Override public boolean claimInsOrderPlan(InsOrderPlanDTO entity) { if (Objects.isNull(entity)) { @@ -169,7 +166,7 @@ } Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); Integer userId = map1.get("userId"); - InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1); + InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1,entity.getSonLaboratory()); return insSampleUserMapper.insert(insSampleUser) > 0; } @@ -194,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: @@ -207,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; } @@ -359,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()); @@ -374,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); @@ -382,7 +407,8 @@ } } } - } else { + } + else { //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡 List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId())); for (InsFiber fiber : insFiberList) { @@ -406,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); @@ -418,7 +444,7 @@ productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList()); } else { - //鐢靛姏--鐑惊鐜� + //鐢靛姏--鐑惊鐜拰娓╁崌璇曢獙 List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getInsSampleId, sampleId) .eq(InsProduct::getInspectionItem, inspectionItem)); @@ -434,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; } @@ -545,7 +578,7 @@ .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass()) .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())); if (count == 0 && ObjectUtils.isNotEmpty(insProduct.getManHour())) { - //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂 + //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂,瑕佸垽鏂綋鍓嶆椂闂存槸鍚︽槸杩欎釜浜虹殑鎺掔彮鏃堕棿,濡傛灉涓嶆槸鍒欐槸鍔犵彮 AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤� auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤� @@ -608,12 +641,14 @@ }); } + //浜ゆ帴 @Override - public int upPlanUser(Integer userId, Integer orderId) { + public int upPlanUser(Integer userId, Integer orderId,String sonLaboratory) { InsSampleUser insSampleUser = new InsSampleUser(); insSampleUser.setUserId(userId); insSampleUser.setInsSampleId(orderId); insSampleUser.setState(0); + insSampleUser.setSonLaboratory(sonLaboratory); return insSampleUserMapper.insert(insSampleUser); } @@ -3455,7 +3490,13 @@ info.setViewStatus(false); info.setJumpPath("b1-inspect-order-plan"); informationNotificationService.addInformationNotification(info); - upPlanUser(verifyUser, orderId); + //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜� + InsSampleUser insSampleUser = new InsSampleUser(); + insSampleUser.setUserId(verifyUser); + insSampleUser.setInsSampleId(orderId); + insSampleUser.setState(0); + insSampleUser.setSonLaboratory(laboratory); + insSampleUserMapper.insert(insSampleUser); /*鏍¢獙涓�涓媟esult琛�*/ CompletableFuture.supplyAsync(() -> { List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); -- Gitblit v1.9.3