From 9f7fcb82f43ac4905623b0239d0f3ef7f4079e47 Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期二, 13 八月 2024 08:48:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/assemblyStep/AssemblyStepSv.java |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 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 438f790..f825f4a 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
@@ -240,6 +240,9 @@
             if (record.outLineTime != null) {
                 isEnd = true;
             }
+            if(StringUtils.isNotBlank(params.getContent())){
+                record.nodeContent = params.getContent();
+            }
         } else {
             PrProductionNode node = nodeDao.selectByPrimaryKey(workLast.nodeId);
             record.nodeContent = node.content;
@@ -284,7 +287,7 @@
      */
     private Integer getStatus(String status, boolean isEnd, String workType) {
         //缁勮   2024/07/17 鐩墠缁勮workType 1 鍙湁MarkOk     //娴嬭瘯    //鍝佹
-        if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_TEST.equals(workType) || WORK_TYPE_INSPECTION.equals(workType) || WORK_TYPE_REPAIR.equals(workType)) {
+        if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_TEST.equals(workType) || WORK_TYPE_INSPECTION.equals(workType) || WORK_TYPE_REPAIR.equals(workType)|| WORK_TYPE_OTHER.equals(workType)) {
             return switch (status) {
                 case QrCodeConstant.MarkOk -> isEnd ? DeviceStatus.COMPLETED.getCode() : DeviceStatus.ASSEMBLING.getCode();
                 case QrCodeConstant.MarkQualified -> isEnd ? DeviceStatus.COMPLETED.getCode() : DeviceStatus.ASSEMBLING.getCode();
@@ -304,8 +307,8 @@
      * @return 缁撴灉
      */
     private Integer getResult(String status, String workType) {
-        //缁勮
-        if (WORK_TYPE_ASSEMBLY.equals(workType)) {
+        //缁勮  涓存椂浠诲姟-鍏朵粬
+        if (WORK_TYPE_ASSEMBLY.equals(workType) || WORK_TYPE_OTHER.equals(workType)) {
             return switch (status) {
                 case QrCodeConstant.MarkOk -> DeviceResult.PASS.getCode();
                 default -> throw new RuntimeException("鐘舵�侀敊璇�");
@@ -410,22 +413,31 @@
         if (workLast == null) {
             throw new RuntimeException("绯荤粺涓病鏈夎鏉$櫥褰曚俊鎭�");
         }
-        //淇濆瓨宸ヤ綔璁板綍
-        StaDeviceProductionLog log = new StaDeviceProductionLog();
-        log.setId(null); // 璁惧鐢熶骇鏃ュ織ID璁句负null锛岃〃绀烘柊澧�
-        log.setDeviceNo("");  //RepairId  planId  currNode deviceCycleContent  memo
-        log.setWorkId(workId);
-        log.setStationId(workLast.getStationId());
-        log.setNodeContent(vo.getContent());
-        log.setStatus(DeviceStatus.COMPLETED.getCode());//瀹屾垚鐘舵��
-        log.setResult(DeviceResult.PASS.getCode());//閫氳繃
-        log.setErrorMsg(vo.getErrorMsg());
-        log.setAssistants(workLast.getAssistants());
-        log.setInTime(new Date());
-        log.setOutTime(new Date());
-        log.setUpdatedBy(workLast.getUserId());
-        log.setNumber(vo.getNumber());
-        int count = deviceProductionLogDao.insertSelective(log);
+        int count = 0;
+        //淇濆瓨宸ヤ綔璁板綍 //濡傛灉鏈夎澶囩爜
+        if(vo.deviceNo != null && StringUtils.isNotBlank(vo.deviceNo[0])){
+            StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo[0]);
+            count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) :
+                    deviceLastDao.updateByPrimaryKey(deviceLast);
+            saveDeviceProductionLog(deviceLast);
+        }else{
+            StaDeviceProductionLog log = new StaDeviceProductionLog();
+            log.setId(null); // 璁惧鐢熶骇鏃ュ織ID璁句负null锛岃〃绀烘柊澧�
+            log.setDeviceNo("");  //RepairId  planId  currNode deviceCycleContent  memo
+            log.setWorkId(workId);
+            log.setStationId(workLast.getStationId());
+            log.setNodeContent(vo.getContent());
+            log.setStatus(DeviceStatus.COMPLETED.getCode());//瀹屾垚鐘舵��
+            log.setResult(DeviceResult.PASS.getCode());//閫氳繃
+            log.setErrorMsg(vo.getErrorMsg());
+            log.setAssistants(workLast.getAssistants());
+            log.setInTime(new Date());
+            log.setOutTime(new Date());
+            log.setUpdatedBy(workLast.getUserId());
+            log.setNumber(vo.getNumber());
+            count = deviceProductionLogDao.insertSelective(log);
+
+        }
         return count;
     }
 

--
Gitblit v1.8.0