Ver código fonte

工作票进度更新逻辑优化、修正

Frankensteinly 11 meses atrás
pai
commit
ea66c5af33

+ 11 - 6
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsJobTicketServiceImpl.java

@@ -450,9 +450,10 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
                     if (checkJobStatus(isJobTicket, jobUserList)) {
                         jobUser.setJobStatus(JobStatusEnum.UNLOCKED.status);
                         // 检查所有设备归还,钥匙归还,锁没还完:已解锁(ticket_status),都还:已完成(ticket_status)
-                        if (checkToolReturn(isJobTicket.getTicketId()) == 1) {
+                        int toolRst = checkToolReturn(isJobTicket.getTicketId());
+                        if (toolRst == 1) {
                             isJobTicket.setTicketStatus(UNLOCKED.status);
-                        } else if (checkToolReturn(isJobTicket.getTicketId()) == 2) {
+                        } else if (toolRst == 2) {
                             isJobTicket.setTicketStatus(FINISHED.status);
                         }
                     } else {
@@ -465,9 +466,10 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
 //                        isJobTicket.setTicketStatus(FINISHED.status);
 //                    }
                     // 检查所有设备归还,钥匙归还,锁没还完:已解锁(ticket_status),都还:已完成(ticket_status)
-                    if (checkToolReturn(isJobTicket.getTicketId()) == 1) {
+                    int toolRst = checkToolReturn(isJobTicket.getTicketId());
+                    if (toolRst == 1) {
                         isJobTicket.setTicketStatus(UNLOCKED.status);
-                    } else if (checkToolReturn(isJobTicket.getTicketId()) == 2) {
+                    } else if (toolRst == 2) {
                         isJobTicket.setTicketStatus(FINISHED.status);
                     }
                 }
@@ -516,7 +518,7 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
 
         // 锁全还
         if (jobTicketLockList.isEmpty()) {
-            if (ticketKeyList.isEmpty() || jobTicketLocksetList.isEmpty()) {
+            if (ticketKeyList.isEmpty() && jobTicketLocksetList.isEmpty()) {
                 return 2;
             } else {
                 return 1;
@@ -534,7 +536,10 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
                 .filter(jobUser -> Objects.equals(jobUser.getUserRole(), JTCOLOCKER.key)).collect(Collectors.toList());
         boolean isCoLockerDone = coLockerList.stream().allMatch(jobUser -> Objects.equals(jobUser.getJobStatus(), JobStatusEnum.UNLOCKED.status));
         if (isCoLockerDone) {
-            isJobTicket.setTicketStatus(TicketStatusEnum.READY_TO_UNLOCK.status);
+            // 防止进度回溯
+            if (Integer.parseInt(isJobTicket.getTicketStatus()) <= 3) {
+                isJobTicket.setTicketStatus(TicketStatusEnum.READY_TO_UNLOCK.status);
+            }
         }
         return isCoLockerDone;
     }