Procházet zdrojové kódy

修复工作票更新逻辑

Frankensteinly před 11 měsíci
rodič
revize
6c29fa4a30

+ 10 - 9
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsJobTicketServiceImpl.java

@@ -435,6 +435,7 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
                         jobUser.setJobStatus(JobStatusEnum.ACQUIRE_KEY.status);
                     } else if (equipStatus == 3) {    // 已拿钥匙
                         jobUser.setJobStatus(JobStatusEnum.READY_TO_LOCK.status);
+                        isJobTicket.setTicketStatus(READY_TO_LOCK.status);
                     } else {
                         log.warn("Job ticket user equipment status is null, ticketId: {}, userId : {}", isJobTicket.getTicketId(), userId);
                         throw exception(JOB_TICKET_USER_EQUIPMENT_STATUS_NULL);
@@ -457,20 +458,20 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
             });
         } else {
             matchUserList.stream().filter(user -> Objects.equals(user.getUserRole(), JTCOLOCKER.key)).findFirst().ifPresent(jobUser -> {
-                if (Objects.equals(jobUser.getJobStatus(), JobStatusEnum.NOT_STARTED.status)) {
-                    if (Objects.equals(isJobTicket.getTicketStatus(), PROCESSING.status)) {
+                if (Objects.equals(isJobTicket.getTicketStatus(), PROCESSING.status)) {
+                    if (Objects.equals(jobUser.getJobStatus(), JobStatusEnum.NOT_STARTED.status)) {
                         jobUser.setJobStatus(JobStatusEnum.READY_TO_UNLOCK.status);
-                    } else if (Objects.equals(isJobTicket.getTicketStatus(), READY_TO_LOCK.status)) {
-                        jobUser.setJobStatus(JobStatusEnum.READY_TO_LOCK.status);
+                    } else if (Objects.equals(jobUser.getJobStatus(), JobStatusEnum.READY_TO_UNLOCK.status)) {
+                        jobUser.setJobStatus(JobStatusEnum.UNLOCKED.status);
                         checkJobStatus(isJobTicket, jobUserList);
-                    } else if (Objects.equals(isJobTicket.getTicketStatus(), NOT_STARTED.status)
-                            || Objects.equals(isJobTicket.getTicketStatus(), READY_TO_LOCK.status)) {
-                        // 等上锁人上锁
-                        throw exception(JOB_TICKET_USER_WAIT_TO_LOCK);
-                    } else {
+                    } else if (Objects.equals(jobUser.getJobStatus(), JobStatusEnum.UNLOCKED.status)) {
                         // 作业票本人Job部分已完成
                         throw exception(JOB_TICKET_USER_JOB_IS_DONE);
                     }
+                } else if (Objects.equals(isJobTicket.getTicketStatus(), NOT_STARTED.status)
+                        || Objects.equals(isJobTicket.getTicketStatus(), READY_TO_LOCK.status)) {
+                    // 等上锁人上锁
+                    throw exception(JOB_TICKET_USER_WAIT_TO_LOCK);
                 }
             });
         }