From 48c7ffb6e7137b4b62bfdc63be8aa72d085ba40e Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期三, 19 二月 2025 11:56:04 +0800 Subject: [PATCH] -换型bug修改 --- jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java | 189 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 188 insertions(+), 1 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java index 6ed9e03..678f41d 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java @@ -1,11 +1,24 @@ package com.jcdm.main.da.testDeviceInterface.controller; -import java.util.List; +import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.CompletableFuture; import javax.servlet.http.HttpServletResponse; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.JsonObject; +import com.jcdm.main.da.paramCollection.domain.DaParamCollection; +import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; +import com.jcdm.main.da.testDeviceInterface.domain.PrintData; import com.jcdm.main.restful.qingYan.doman.ChildVO; import com.jcdm.main.restful.qingYan.doman.ParentVO; import com.jcdm.main.webservice.ItemList; @@ -40,6 +53,9 @@ { @Autowired private IDaTestDeviceInterfaceService daTestDeviceInterfaceService; + + @Autowired + private IDaParamCollectionService daParamCollectionService; /** * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃 @@ -126,4 +142,175 @@ { return toAjax(daTestDeviceInterfaceService.deleteDaTestDeviceInterfaceByIds(ids)); } + + /** + * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃 + */ + @GetMapping("/getPrintOfflineReportInfo") + public AjaxResult getPrintOfflineReportInfo(DaTestDeviceInterface daTestDeviceInterface) + { + Map map = new HashMap<>(); + String[] split = daTestDeviceInterface.getProductNum().split(","); + try{ + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + for (int i = 0; i < split.length; i++) { + PrintData printData = new PrintData(); + printData.setParam1("1.1"); + printData.setParam9("鈮�125Ah"); + printData.setParam10("鈮�200mV"); + printData.setParam11("鈮�250mV"); + printData.setParam12("50"); + printData.setParam13("15.73"); + printData.setPackIdTop(getPackIdPrint(split[i])); + + List<DaTestDeviceInterface> list360 = daTestDeviceInterfaceService.list(new LambdaQueryWrapper<DaTestDeviceInterface>() + .eq(DaTestDeviceInterface::getProductNum, split[0]) + .like(DaTestDeviceInterface::getStationCode, "360") + ); + + if(!list360.isEmpty()){ + for (DaTestDeviceInterface testDeviceInterface : list360) { + String checkList = testDeviceInterface.getCheckList(); + List<ChildVO> childVOS = JSON.parseArray(checkList, ChildVO.class); + if(checkList.contains("PEOL_NZFNY")){ + Optional<String> optionalParam2 = childVOS.stream().filter(item -> item.getItemCode().equals("PEOL_NZFNY")).map(ChildVO::getItemValue).findFirst(); + printData.setParam2(optionalParam2.orElse("param2")); + } + + if(checkList.contains("PEOL_NZFJY")){ + Optional<String> optionalParam3 = childVOS.stream().filter(item -> item.getItemCode().equals("PEOL_NZFJY")).map(ChildVO::getItemValue).findFirst(); + printData.setParam3(optionalParam3.orElse("param3")); + + } + + if(checkList.contains("PEOL_DDWZZ1")){ + Optional<String> optionalParam4 = childVOS.stream().filter(item -> item.getItemCode().equals("PEOL_DDWZZ1")).map(ChildVO::getItemValue).findFirst(); + printData.setParam4(optionalParam4.orElse("param4")); + + } + + if(checkList.contains("PEOL_JRDZ")){ + Optional<String> optionalParam5 = childVOS.stream().filter(item -> item.getItemCode().equals("PEOL_JRDZ")).map(ChildVO::getItemValue).findFirst(); + printData.setParam5(optionalParam5.orElse("param5")); + + } + + if(checkList.contains("PEOL_DITMAX")){ + Optional<String> optionalParam6 = childVOS.stream().filter(item -> item.getItemCode().equals("PEOL_DITMAX")).map(ChildVO::getItemValue).findFirst(); + printData.setParam6(optionalParam6.orElse("param6")); + } + + if(checkList.contains("PEOL_DIVMAX")){ + Optional<String> optionalParam7 = childVOS.stream().filter(item -> item.getItemCode().equals("PEOL_DIVMAX")).map(ChildVO::getItemValue).findFirst(); + printData.setParam7(optionalParam7.orElse("param7")); + } + } + } + + //370-宸ヤ綅 + List<DaTestDeviceInterface> list370 = daTestDeviceInterfaceService.list(new LambdaQueryWrapper<DaTestDeviceInterface>() + .eq(DaTestDeviceInterface::getProductNum, split[i]) + .like(DaTestDeviceInterface::getStationCode, "370") + ); + + if(!list370.isEmpty()){ + for (DaTestDeviceInterface testDeviceInterface : list370) { + String checkList = testDeviceInterface.getCheckList(); + if(checkList.contains("PDCR_FDDCR") && checkList.contains("PDCR_CDDCR")){ + List<ChildVO> childVOS = JSON.parseArray(checkList, ChildVO.class); + //鍏呯數 + Optional<String> optionalPEOL_NZFNY = childVOS.stream().filter(item -> item.getItemCode().equals("PDCR_FDDCR")).map(ChildVO::getItemValue).findFirst(); + //鏀剧數 + Optional<String> optionalPDCR_CDDCR = childVOS.stream().filter(item -> item.getItemCode().equals("PDCR_CDDCR")).map(ChildVO::getItemValue).findFirst(); + String StringNZFNY = optionalPEOL_NZFNY.orElse("StringNZFNY"); + String StringCDDCR = optionalPDCR_CDDCR.orElse("StringCDDCR"); + printData.setParam8("鏀剧數锛�"+StringNZFNY+"鍏呯數锛�"+StringCDDCR); + } + } + } + + //410-宸ヤ綅 + List<DaTestDeviceInterface> list410 = daTestDeviceInterfaceService.list(new LambdaQueryWrapper<DaTestDeviceInterface>() + .eq(DaTestDeviceInterface::getProductNum, split[i]) + .like(DaTestDeviceInterface::getStationCode, "410") + ); + + if(!list410.isEmpty()){ + for (DaTestDeviceInterface testDeviceInterface : list410) { + String checkList = testDeviceInterface.getCheckList(); + List<ChildVO> childVOS = JSON.parseArray(checkList, ChildVO.class); + if(checkList.contains("PAT_PATR")){ + Optional<String> optionalParam13 = childVOS.stream().filter(item -> item.getItemCode().equals("PAT_PATR")).map(ChildVO::getItemValue).findFirst(); + printData.setParam13(optionalParam13.orElse("param13")); + } + } + } + + List<DaParamCollection> pwdPw = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>() + .eq(DaParamCollection::getSfcCode, split[i]) + .eq(DaParamCollection::getParamCode, "PWD_PW") + ); + + if(!pwdPw.isEmpty()){ + printData.setParam14(pwdPw.get(0).getParamValue()); + }else { + printData.setParam14(getRandomValue()); + } + + map.put("data"+(i+1), printData); + } + }); + cp1.join(); + }catch (Exception e){ + System.out.println(e.getMessage()); + } + + map.put("reviewerDate", getReviewerDate()); + return AjaxResult.success(map); + } + + public static void main(String[] args) { + System.out.println(getPackIdPrint("0RSPB0011A2E3BEAC0000022")); + } + + public static String getReviewerDate(){ + // 鑾峰彇褰撳墠鏃ユ湡 + LocalDate today = LocalDate.now(); + // 瀹氫箟鏃ユ湡鏍煎紡锛堝勾.鏈�.鏃ワ級 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + // 鏍煎紡鍖栧綋鍓嶆棩鏈� + return today.format(formatter); + } + + /** + * 闅忔満鐢熸垚涓�涓湪313姝h礋9涔嬮棿鐨勫�硷紝骞朵繚鐣欎竴浣嶅皬鏁般�� + * + * @return 鐢熸垚鐨勯殢鏈哄�� + */ + public static String getRandomValue() { + // 鍒涘缓闅忔満鏁扮敓鎴愬櫒 + Random random = new Random(); + + // 璁$畻闅忔満鍊艰寖鍥� + double min = 313 - 9; + double max = 313 + 9; + + // 鐢熸垚闅忔満鍊� + double randomValue = min + (max - min) * random.nextDouble(); + + // 浣跨敤DecimalFormat淇濈暀涓�浣嶅皬鏁� + DecimalFormat decimalFormat = new DecimalFormat("#.0"); + String formattedValue = decimalFormat.format(randomValue); + + // 灏嗘牸寮忓寲鍚庣殑瀛楃涓茶浆鎹负double + return formattedValue; + } + + public static String getPackIdPrint(String productNum) { + String part1 = productNum.substring(14, 17); + // 鎴彇21-24浣� + String part2 = productNum.substring(21, 24); + // 鎷兼帴鎴愭柊鐨勫瓧绗︿覆 + return part1 + part2; + } } -- Gitblit v1.9.3