|
|
@@ -6,10 +6,7 @@ import com.ktg.common.utils.SecurityUtils;
|
|
|
import com.ktg.common.utils.bean.BeanUtils;
|
|
|
import com.ktg.iscs.domain.*;
|
|
|
import com.ktg.iscs.domain.dto.hardwareApi.*;
|
|
|
-import com.ktg.iscs.domain.enums.KeyStatusEnum;
|
|
|
-import com.ktg.iscs.domain.enums.LockStatusEnum;
|
|
|
-import com.ktg.iscs.domain.enums.LocksetStatusEnum;
|
|
|
-import com.ktg.iscs.domain.enums.PointStatusEnum;
|
|
|
+import com.ktg.iscs.domain.enums.*;
|
|
|
import com.ktg.iscs.domain.vo.hardwareApi.*;
|
|
|
import com.ktg.iscs.domain.vo.ticket.JobTicketUpdateProgressReqVO;
|
|
|
import com.ktg.iscs.service.*;
|
|
|
@@ -108,6 +105,52 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 上锁阶段,取钥匙时更新状态
|
|
|
+ * @param ticketId
|
|
|
+ */
|
|
|
+ private void updateFirstProgress(Long ticketId) {
|
|
|
+ // 上锁阶段取钥匙,更新is_job_ticket_user和is_job_ticket
|
|
|
+ // 1.新更人员状态
|
|
|
+ iIsJobTicketUserService.update(Wrappers.<IsJobTicketUser>lambdaUpdate()
|
|
|
+ .eq(IsJobTicketUser::getTicketId, ticketId)
|
|
|
+ .eq(IsJobTicketUser::getUserRole, JobUserEnum.JTLOCKER.key)
|
|
|
+ .set(IsJobTicketUser::getJobStatus, JobStatusEnum.ACQUIRE_KEY.status));
|
|
|
+ // 2.获取设备取出状态
|
|
|
+ boolean b = checkTakeStatus(ticketId);
|
|
|
+ // 3.根据设备去除状态更新is_job_ticket
|
|
|
+ if (b) {
|
|
|
+ isJobTicketService.update(Wrappers.<IsJobTicket>lambdaUpdate()
|
|
|
+ .eq(IsJobTicket::getTicketId, ticketId)
|
|
|
+ .set(IsJobTicket::getTicketStatus, TicketStatusEnum.READY_TO_LOCK.status));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检查上锁前的设备是否全部取出完毕
|
|
|
+ * @param ticketId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean checkTakeStatus(Long ticketId) {
|
|
|
+ // 1.检查钥匙是否取出
|
|
|
+ int keyCount = (int)iIsJobTicketKeyService.count(Wrappers.<IsJobTicketKey>lambdaQuery()
|
|
|
+ .eq(IsJobTicketKey::getTicketId, ticketId)
|
|
|
+ .eq(IsJobTicketKey::getKeyStatus, KeyStatusEnum.WAIT_TAKE.status)
|
|
|
+ .eq(IsJobTicketKey::getTicketType, 0));
|
|
|
+ // 2.检查挂锁是否全部取出
|
|
|
+ int lockCount = (int)iIsJobTicketLockService.count(Wrappers.<IsJobTicketLock>lambdaQuery()
|
|
|
+ .eq(IsJobTicketLock::getTicketId, ticketId)
|
|
|
+ .eq(IsJobTicketLock::getLockStatus, LockStatusEnum.WAIT_TAKE.status));
|
|
|
+ // 3.检查辅件是否全部取出
|
|
|
+ int locksetCount = (int)iIsJobTicketLocksetService.count(Wrappers.<IsJobTicketLockset>lambdaQuery()
|
|
|
+ .eq(IsJobTicketLockset::getJobTicketId, ticketId)
|
|
|
+ .eq(IsJobTicketLockset::getLocksetStatus, LocksetStatusEnum.WAIT_TAKE.status));
|
|
|
+ if (keyCount == 0 && lockCount == 0 && locksetCount == 0) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 归还钥匙
|
|
|
* @param dto
|