From 72219adeceb06a060978e876880750f804df5772 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期一, 22 七月 2024 16:24:05 +0800
Subject: [PATCH] login bug

---
 pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java           |    9 ++--
 pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java       |   66 ++++++++++++++++++--------------
 pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java |    4 +-
 3 files changed, 44 insertions(+), 35 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 8daa7bf..3d7179b 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
@@ -211,8 +211,8 @@
     private StaDeviceLast buildDeviceLast(QueryVo params, StaAssemblyWorkLast workLast, String deviceNo) {
         //缁勮鏁版嵁
         StaDeviceLast record = new StaDeviceLast();
-        //pr_assembly_plan input_number +1  鎶曞叆鏁板姞1
-        PrAssemblyPlan assemblyPlan = assemblyPlanDao.selectByPrimaryKey(workLast.planId);
+        //pr_assembly_plan input_number +1  鎶曞叆鏁板姞1   鏍规嵁deviceNo 鎵惧埌瀵瑰簲浠诲姟
+        PrAssemblyPlan assemblyPlan = queryPlanByDeviceNo(deviceNo); //PrAssemblyPlan assemblyPlan = assemblyPlanDao.selectByPrimaryKey(workLast.planId);
         StaDeviceLast preRecord = deviceLastDao.selectByDeviceNo(deviceNo);
         if (preRecord != null) {
             record.id = preRecord.id;
diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java
index f86f322..4548886 100644
--- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java
+++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java
@@ -34,23 +34,24 @@
     /**
      * 缁勮鐢熶骇浠诲姟瀹炰綋缂栧彿
      */
-    @NotNull(message="[缁勮鐢熶骇浠诲姟瀹炰綋缂栧彿]涓嶈兘涓虹┖")
+    //@NotNull(message="[缁勮鐢熶骇浠诲姟瀹炰綋缂栧彿]涓嶈兘涓虹┖")
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     public Long planId;
     /**
      * 鐢熶骇娴佺▼瀹炰綋缂栧彿
      */
-    @NotNull(message="[鐢熶骇娴佺▼瀹炰綋缂栧彿]涓嶈兘涓虹┖")
+    //@NotNull(message="[鐢熶骇娴佺▼瀹炰綋缂栧彿]涓嶈兘涓虹┖")
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     public Long processId;
     /**
      * 鐢熶骇娴佺▼鑺傜偣瀹炰綋缂栧彿
      */
-    @NotNull(message="[鐢熶骇娴佺▼鑺傜偣瀹炰綋缂栧彿]涓嶈兘涓虹┖")
+    //@NotNull(message="[鐢熶骇娴佺▼鑺傜偣瀹炰綋缂栧彿]涓嶈兘涓虹┖")
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     public Long nodeId;
 
-    @NotNull(message="[鐢熶骇娴佺▼鑺傜偣绫诲瀷]涓嶈兘涓虹┖")
+    //@NotNull(message="[鐢熶骇娴佺▼鑺傜偣绫诲瀷]涓嶈兘涓虹┖")
+    @NotNull(message="[宸ヤ綔鑱岃矗]涓嶈兘涓虹┖")
     public Integer workType;
     /**
      * 浠诲姟璁ら鏃堕棿
diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java
index 43c43f0..bf136dc 100644
--- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java
+++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/WorkOrderSv.java
@@ -191,8 +191,8 @@
         }
         BaUser userInfo = getUserInfo(result.getUserId().toString());
         PltStation stationInfo = getStationInfo(result.getStationId().toString());
-        //濡傛灉鏄淮淇畐ork_type 娌℃湁 planId processId nodeId
-        if (WORK_TYPE_REPAIR.equals(result.getWorkType())) {
+        //濡傛灉鏄棤浠诲姟璁″垝 濡傜淮淇畐ork_type 娌℃湁 planId processId nodeId
+        if (result.getPlanId() != null) {
             //鏍¢獙planId processId nodeId
             PrAssemblyPlan assyPlan = assemblyDao.selectByPrimaryKey(result.getPlanId());
             boolean hasNodeId = assyPlan.getProcess().getNodes().stream()
@@ -266,23 +266,26 @@
     public StaAssemblyWorkLast save(QueryVo vo) {
         //鍏坈heck
         StaAssemblyWorkLast checkResult = checkUserAndStationUsed(vo);
-        //鏍¢獙planId processId nodeId
-        PrAssemblyPlan assyPlan = assemblyDao.selectByPrimaryKey(vo.getPlanId());
-        if (assyPlan == null) {
-            throw new RuntimeException("缁勮浠诲姟宸茬粡鍦ㄧ郴缁熶腑鍒犻櫎璇锋鏌�,鍒锋柊骞堕噸鏂伴�夋嫨浠诲姟");
-        }
-        boolean hasNodeId = assyPlan.getProcess().getNodes().stream()
-                .anyMatch(node -> node.id.equals(vo.getNodeId()));
-        if (!hasNodeId) {
-            throw new RuntimeException("鑺傜偣淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇烽噸鏂伴�夋嫨鑺傜偣淇℃伅");
-        }
-
         //鏁版嵁閫愪釜灏佽杩斿洖
         vo.setLineId(checkResult.getLineId());
         StaAssemblyWorkLast staLast = new StaAssemblyWorkLast();
         BeanUtils.copyProperties(vo, staLast);
         staLast.setUserId(checkResult.getUserId());
         staLast.setStationId(checkResult.getStationId());
+        //鏍¢獙planId processId nodeId
+        PrAssemblyPlan assyPlan = new PrAssemblyPlan();
+        if (vo.getPlanId() != null) {
+            assyPlan = assemblyDao.selectByPrimaryKey(vo.getPlanId());
+            if (assyPlan == null) {
+                throw new RuntimeException("缁勮浠诲姟宸茬粡鍦ㄧ郴缁熶腑鍒犻櫎璇锋鏌�,鍒锋柊骞堕噸鏂伴�夋嫨浠诲姟");
+            }
+            boolean hasNodeId = assyPlan.getProcess().getNodes().stream()
+                    .anyMatch(node -> node.id.equals(vo.getNodeId()));
+            if (!hasNodeId) {
+                throw new RuntimeException("鑺傜偣淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇烽噸鏂伴�夋嫨鑺傜偣淇℃伅");
+            }
+        }
+
         int count = 0;
         if (checkResult.getId() == null) {
             BeanUtils.copyProperties(vo, staLast);//vo鎷疯礉鍒皊taLast
@@ -294,9 +297,12 @@
         } else {
             //淇濆瓨涓�鏉istory?
             BeanUtils.copyProperties(checkResult, staLast);
-            staLast.setPlanId(assyPlan.getId());
-            staLast.setProcessId(assyPlan.getProcess().getId());
-            staLast.setNodeId(vo.getNodeId());
+            if (vo.getPlanId() != null) {
+                staLast.setPlanId(assyPlan.getId());
+                staLast.setProcessId(assyPlan.getProcess().getId());
+                staLast.setNodeId(vo.getNodeId());
+            }
+            staLast.setWorkType(vo.getWorkType());
             staLast.setStatus(STATUS_NORMAL);
             staLast.setStartTime(new Date());
             count = assemblyWorkLastDao.updateByPrimaryKeySelective(staLast);
@@ -305,20 +311,22 @@
             throw new RuntimeException("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         }
         StaAssemblyWorkLast result = assemblyWorkLastDao.selectByPrimaryKey(staLast.getId());
-        List<PrProductionNode> nodeInfo = assyPlan.getProcess().getNodes().stream()
-                .filter(node -> node.id.equals(vo.getNodeId())).collect(Collectors.toList());
-        result.setPlanName(assyPlan.getName());
-        result.setProcessName(assyPlan.getProcessName());
-        result.setNodeName(assyPlan.getProcess().getNodes().get(0).getContent());
-        //鎵惧埌瀵瑰簲鐨勪骇鍝佷俊鎭�
-        PltProduct product = productDao.selectByPrimaryKey(assyPlan.getProId());
-        if (product == null) {
-            throw new RuntimeException("浜у搧淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇风櫥褰曠鐞嗙郴缁熸煡鐪嬩换鍔″叧鑱斾骇鍝両D涓�:" + assyPlan.getProId());
+        if (assyPlan != null) {
+            List<PrProductionNode> nodeInfo = assyPlan.getProcess().getNodes().stream()
+                    .filter(node -> node.id.equals(vo.getNodeId())).collect(Collectors.toList());
+            result.setPlanName(assyPlan.getName());
+            result.setProcessName(assyPlan.getProcessName());
+            result.setNodeName(assyPlan.getProcess().getNodes().get(0).getContent());
+            //鎵惧埌瀵瑰簲鐨勪骇鍝佷俊鎭�
+            PltProduct product = productDao.selectByPrimaryKey(assyPlan.getProId());
+            if (product == null) {
+                throw new RuntimeException("浜у搧淇℃伅鏈夎鎴栬鍏朵粬浜哄憳淇敼,璇风櫥褰曠鐞嗙郴缁熸煡鐪嬩换鍔″叧鑱斾骇鍝両D涓�:" + assyPlan.getProId());
+            }
+            result.setProId(product.getId());
+            result.setProName(product.getName());
+            String devicePrefix = QrCodeConstant.TypeProduct + product.getCode() + assyPlan.getBatchNo();
+            result.setDevicePrefix(devicePrefix);
         }
-        result.setProId(product.getId());
-        result.setProName(product.getName());
-        String devicePrefix = QrCodeConstant.TypeProduct + product.getCode() + assyPlan.getBatchNo();
-        result.setDevicePrefix(devicePrefix);
         return result;
     }
 

--
Gitblit v1.8.0