Ver código fonte

修复数据更新变量对象错误的bug

Frankensteinly 11 meses atrás
pai
commit
36b6a5b2cd

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

@@ -392,7 +392,7 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
             if (Objects.equals(isJobTicket.getTicketStatus(), NOT_STARTED.status)
                     || Objects.equals(isJobTicket.getTicketStatus(), READY_TO_LOCK.status)
                     || Objects.equals(isJobTicket.getTicketStatus(), READY_TO_UNLOCK.status)) {
-                handleJobStatus(isJobTicket, matchUserList, reqVO.userId, true, reqVO.equipStatus);
+                handleJobStatus(isJobTicket, jobUserList, reqVO.userId, true, reqVO.equipStatus);
             } else if (Objects.equals(isJobTicket.getTicketStatus(), PROCESSING.status)) {
                 // 同时为上锁人、共锁人
                 if (matchUserList.stream().anyMatch(user -> Objects.equals(user.getUserRole(), JTCOLOCKER.key))) {
@@ -422,11 +422,12 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
      * @param isLocker true:上锁人 false:共锁人
      */
     private void handleJobStatus(IsJobTicket isJobTicket, List<IsJobTicketUser> jobUserList, Long userId, boolean isLocker, int equipStatus) {
-        List<IsJobTicketUser> matchUserList = jobUserList.stream()
-                .filter(jobUser -> Objects.equals(jobUser.getUserId(), userId)).collect(Collectors.toList());
-
         if (isLocker) {
-            matchUserList.stream().filter(user -> Objects.equals(user.getUserRole(), JTLOCKER.key)).findFirst().ifPresent(jobUser -> {
+            jobUserList.stream()
+                    .filter(jobUser -> Objects.equals(jobUser.getUserId(), userId))
+                    .filter(user -> Objects.equals(user.getUserRole(), JTLOCKER.key))
+                    .findFirst()
+                    .ifPresent(jobUser -> {
                 if (Objects.equals(jobUser.getJobStatus(), JobStatusEnum.NOT_STARTED.status)
                         || Objects.equals(jobUser.getJobStatus(), JobStatusEnum.ACQUIRE_LOCK.status)
                         || Objects.equals(jobUser.getJobStatus(), JobStatusEnum.ACQUIRE_KEY.status)) {
@@ -475,7 +476,11 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
                 }
             });
         } else {
-            matchUserList.stream().filter(user -> Objects.equals(user.getUserRole(), JTCOLOCKER.key)).findFirst().ifPresent(jobUser -> {
+            jobUserList.stream()
+                    .filter(jobUser -> Objects.equals(jobUser.getUserId(), userId))
+                    .filter(user -> Objects.equals(user.getUserRole(), JTCOLOCKER.key))
+                    .findFirst()
+                    .ifPresent(jobUser -> {
                 if (Objects.equals(isJobTicket.getTicketStatus(), PROCESSING.status)) {
                     if (Objects.equals(jobUser.getJobStatus(), JobStatusEnum.NOT_STARTED.status)) {
                         jobUser.setJobStatus(JobStatusEnum.READY_TO_UNLOCK.status);