Просмотр исходного кода

新增判断当前登陆人员是否有需要去上所或者去解锁的需求

车车 3 месяцев назад
Родитель
Сommit
5c346c6148

+ 8 - 0
ktg-iscs/src/main/java/com/ktg/iscs/controller/HardwareApiController.java

@@ -158,6 +158,14 @@ public class HardwareApiController extends BaseController
         return CommonResult.success(hardwareApiService.updateHardwareEsStatus(dto));
     }
 
+    // ----------------------------------判断当前登陆人员是否有需要去上所或者去解锁的需求-------------------------------------------------------
+    @ApiOperation("判断当前登陆人员是否有需要去上所或者去解锁的需求")
+    @GetMapping(value = "/getMySelfState")
+    public CommonResult<Boolean> getMySelfState()
+    {
+        return CommonResult.success(hardwareApiService.getMySelfState());
+    }
+
 
 
 }

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/mapper/IsJobTicketUserMapper.java

@@ -4,6 +4,7 @@ import com.ktg.common.mapper.BaseMapperX;
 import com.ktg.common.query.LambdaQueryWrapperX;
 import com.ktg.iscs.domain.IsJobTicketUser;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -67,4 +68,6 @@ public interface IsJobTicketUserMapper extends BaseMapperX<IsJobTicketUser>
     default List<IsJobTicketUser> selectIsJobTicketUserListByTicketId(Long ticketId) {
         return selectList(new LambdaQueryWrapperX<IsJobTicketUser>().eq(IsJobTicketUser::getTicketId, ticketId));
     }
+
+    List<IsJobTicketUser> getMyJob(@Param(value = "userId") Long userId);
 }

+ 5 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/HardwareApiService.java

@@ -123,5 +123,10 @@ public interface HardwareApiService {
      */
     Boolean updateHardwareEsStatus(ExDTO dto);
 
+    /**
+     * 判断当前登陆人员是否有需要去上所或者去解锁的需求
+     * @return false 不需要 true 需要
+     */
+    Boolean getMySelfState();
 
 }

+ 8 - 1
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsJobTicketUserService.java

@@ -20,6 +20,13 @@ public interface IIsJobTicketUserService extends IService<IsJobTicketUser>
      */
     List<IsJobTicketUser> selectIsJobTicketUserListByTicketId(Long ticketId);
 
-
     Boolean addJobUsers(AddJobTicketDTO dto);
+
+    /**
+     * 获取我的需要去上锁或者去解锁的作业
+     * @param userId
+     * @return
+     */
+    List<IsJobTicketUser> getMyJob(Long userId);
+
 }

+ 34 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/HardwareApiServiceImpl.java

@@ -72,6 +72,8 @@ public class HardwareApiServiceImpl implements HardwareApiService {
     @Autowired
     private IIsTicketOperLogService isTicketOperLogService;
     @Autowired
+    private IIsJobTicketStepService iIsJobTicketStepService;
+    @Autowired
     private RedisCache redisCache;
     // @Value("${ktg-mes.jtcolocker}")
     // private String jtcolocker;
@@ -1134,4 +1136,36 @@ public class HardwareApiServiceImpl implements HardwareApiService {
         }
         return true;
     }
+
+    @Override
+    public Boolean getMySelfState() {
+        // 当前登陆人
+        Long userId = SecurityUtils.getUserId();
+        // 获取当前登陆人未完成的作业
+        List<IsJobTicketUser> myJobs = iIsJobTicketUserService.getMyJob(userId);
+        if (myJobs.isEmpty()) {
+            return false;
+        }
+        // 如果有,检查一下这个人是否是需要去上锁
+        List<IsJobTicketStep> steps = iIsJobTicketStepService.list(Wrappers.<IsJobTicketStep>lambdaQuery()
+                .eq(IsJobTicketStep::getStepIndex, "5")
+                .eq(IsJobTicketStep::getStepStatus, "0"));
+        if (!steps.isEmpty()) {
+            return true;
+        }
+        // 检查是否有需要解锁的,如果共锁人都已经解锁,但是点位存在没解锁
+        for (IsJobTicketUser myJob : myJobs) {
+            List<IsJobTicketUser> list = iIsJobTicketUserService.list(Wrappers.<IsJobTicketUser>lambdaQuery()
+                    .eq(IsJobTicketUser::getTicketId, myJob.getTicketId())
+                    .eq(IsJobTicketUser::getUserRole, JobUserEnum.JTCOLOCKER)
+                    .eq(IsJobTicketUser::getJobStatus, "5"));
+            List<IsJobTicketPoints> list1 = iIsJobTicketPointsService.list(Wrappers.<IsJobTicketPoints>lambdaQuery()
+                    .eq(IsJobTicketPoints::getTicketId, myJob.getTicketId())
+                    .eq(IsJobTicketPoints::getPointStatus, "1"));
+            if (list.isEmpty() && !list1.isEmpty()) {
+                return true;
+            }
+        }
+        return false;
+    }
 }

+ 6 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsJobTicketUserServiceImpl.java

@@ -99,6 +99,7 @@ public class IsJobTicketUserServiceImpl extends ServiceImpl<IsJobTicketUserMappe
         return true;
     }
 
+
     private void removeUserLog(IsJobTicket byId, List<IsJobTicketUser> list, List<AddTicketUserDTO> ticketUserDTOList) {
         list.removeIf(item -> ticketUserDTOList
                 .stream()
@@ -139,5 +140,10 @@ public class IsJobTicketUserServiceImpl extends ServiceImpl<IsJobTicketUserMappe
 
     }
 
+    @Override
+    public List<IsJobTicketUser> getMyJob(Long userId) {
+        return isJobTicketUserMapper.getMyJob(userId);
+    }
+
 
 }

+ 15 - 0
ktg-iscs/src/main/resources/mapper/IsJobTicketUserMapper.xml

@@ -99,4 +99,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{recordId}
         </foreach>
     </delete>
+
+    <select id="getMyJob" resultType="com.ktg.iscs.domain.IsJobTicketUser">
+        SELECT
+            u.*
+        FROM
+            is_job_ticket_user u
+                LEFT JOIN is_job_ticket t ON t.ticket_id = u.user_id
+        WHERE
+            u.user_id = 224
+          AND u.user_role = "jtlocker"
+          AND t.ticket_status != "5"
+          AND t.ticket_status != "6"
+    </select>
+
+
 </mapper>