From e9af4d03a4f64dec62ab180640de9d26d0f2b8d7 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 16 七月 2024 17:28:36 +0800
Subject: [PATCH] fix assy queryByDeviceNo method

---
 pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java |   38 ++++++++++++++++++++------------------
 1 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java
index 96edc4a..ddb5aa2 100644
--- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java
+++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java
@@ -155,17 +155,9 @@
                 deviceList.add(deviceNo);
             } else {
                 //鍒ゆ柇鏄笉鏄槸鏈巶鐗╂枡,濡傛灉鏄�,鍒欐坊鍔犵墿鏂欏埌ex琛ㄤ腑
-                PltProduct product = null;
-                if (StringUtils.isNotEmpty(deviceNo) && deviceNo.length() == 22) {
-                    product = productList.stream().filter(p -> deviceNo.startsWith(QrCodeConstant.TypeProduct + p.getCode())).findFirst().orElse(null);
-                }
-                if(product != null){
-                    Map<String, String> map = new HashMap<>();
-                    map.put("deviceNo", deviceNo);
-                    map.put("proName", product.getName());
-                    BigInteger proId = BigInteger.valueOf(product.getId());
-                    map.put("proId", proId.toString());
-                    materialList.add(map);
+                Map<String, String> result = queryByDeviceNo(deviceNo, productList);
+                if (StringUtils.isNotBlank(result.get("proName"))) {
+                    materialList.add(result);
                 }
             }
         });
@@ -334,11 +326,14 @@
         if (workLast == null) {
             throw new RuntimeException("绯荤粺涓病鏈夎鏉$櫥褰曚俊鎭�");
         }
-
         StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo[0]);
         int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) :
                 deviceLastDao.updateByPrimaryKeySelective(deviceLast);
         saveDeviceProductionLog(deviceLast);
+        PrProductionNode node = nodeDao.selectByPrimaryKey(workLast.nodeId);
+        if (node.isRecord) {
+            saveDeviceLife(deviceLast);
+        }
         return count;
     }
 
@@ -451,20 +446,27 @@
         return fileRestVo.fileWebUrl + file.filePath;
     }
 
-    public Map<String, String> queryByDeviceNo(String deviceNo) {
+    public Map<String, String> queryByDeviceNo(String deviceNo,List<PltProduct> productList) {
         Map<String, String> map = new HashMap<>();
         map.put("deviceNo", deviceNo);
         map.put("proName", "");
         map.put("proType", "");
-
-        PltProduct product = productDao.selectByCode(deviceNo.substring(3, 6));
+        map.put("proId", "");
+        //鍒ゆ柇鏄笉鏄槸鏈巶鐗╂枡
+        if(CollectionUtils.isEmpty(productList)){
+            productList = productDao.selectAll(null);
+        }
+        PltProduct product = null;
+        if (StringUtils.isNotEmpty(deviceNo) && deviceNo.length() == 22) {
+            product = productList.stream().filter(p -> deviceNo.startsWith(QrCodeConstant.TypeProduct + p.getCode())).findFirst().orElse(null);
+        }
         if (product != null) {
+            map.put("deviceNo", deviceNo);
             map.put("proName", product.getName());
             map.put("proType", product.getType());
+            BigInteger proId = BigInteger.valueOf(product.getId());
+            map.put("proId", proId.toString());
         }
-        /*else{
-            throw new RuntimeException("璇ョ紪鐮�("+deviceNo +")涓嶆槸涓昏鐗╂枡(绯荤粺涓鎺х殑鍏朵粬璁惧)");
-        }*/
         return map;
     }
 

--
Gitblit v1.8.0