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