|
|
@@ -11,8 +11,7 @@ import com.ktg.iscs.domain.*;
|
|
|
import com.ktg.iscs.domain.dto.ticket.AddJobTicketDTO;
|
|
|
import com.ktg.iscs.domain.dto.ticket.AddTicketUserDTO;
|
|
|
import com.ktg.iscs.domain.dto.ticket.PageTicketDTO;
|
|
|
-import com.ktg.iscs.domain.enums.JobStatusEnum;
|
|
|
-import com.ktg.iscs.domain.enums.TicketStatusEnum;
|
|
|
+import com.ktg.iscs.domain.enums.*;
|
|
|
import com.ktg.iscs.domain.vo.points.PointDetailVO;
|
|
|
import com.ktg.iscs.domain.vo.ticket.*;
|
|
|
import com.ktg.iscs.domain.vo.ticketKey.IsJobTicketKeyVO;
|
|
|
@@ -450,13 +449,27 @@ 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) {
|
|
|
+ isJobTicket.setTicketStatus(UNLOCKED.status);
|
|
|
+ } else if (checkToolReturn(isJobTicket.getTicketId()) == 2) {
|
|
|
+ isJobTicket.setTicketStatus(FINISHED.status);
|
|
|
+ }
|
|
|
} else {
|
|
|
throw exception(JOB_TICKET_USER_WAIT_COLOCKERS);
|
|
|
}
|
|
|
} else if (Objects.equals(jobUser.getJobStatus(), JobStatusEnum.UNLOCKED.status)) {
|
|
|
// 任务已完成,更新
|
|
|
- jobUser.setJobStatus(JobStatusEnum.UNLOCKED.status);
|
|
|
- isJobTicket.setTicketStatus(FINISHED.status);
|
|
|
+// jobUser.setJobStatus(JobStatusEnum.UNLOCKED.status);
|
|
|
+// if (checkToolReturn(isJobTicket.getTicketId())) {
|
|
|
+// isJobTicket.setTicketStatus(FINISHED.status);
|
|
|
+// }
|
|
|
+ // 检查所有设备归还,钥匙归还,锁没还完:已解锁(ticket_status),都还:已完成(ticket_status)
|
|
|
+ if (checkToolReturn(isJobTicket.getTicketId()) == 1) {
|
|
|
+ isJobTicket.setTicketStatus(UNLOCKED.status);
|
|
|
+ } else if (checkToolReturn(isJobTicket.getTicketId()) == 2) {
|
|
|
+ isJobTicket.setTicketStatus(FINISHED.status);
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
@@ -480,6 +493,39 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据作业票检查锁、辅件、钥匙是否都已经归还了
|
|
|
+ *
|
|
|
+ * @return 1:挂锁全还,其他有未还 2:全还 3:其他
|
|
|
+ */
|
|
|
+ private int checkToolReturn(Long ticketId) {
|
|
|
+ // 1.1检查钥匙
|
|
|
+ List<IsJobTicketKey> ticketKeyList = iIsJobTicketKeyService.list(Wrappers.<IsJobTicketKey>lambdaQuery()
|
|
|
+ .eq(IsJobTicketKey::getTicketId, ticketId)
|
|
|
+ .ne(IsJobTicketKey::getKeyStatus, KeyStatusEnum.RETURNED.status));
|
|
|
+
|
|
|
+ // 1.2检查挂锁是否都已经归还
|
|
|
+ List<IsJobTicketLock> jobTicketLockList = iIsJobTicketLockService.list(Wrappers.<IsJobTicketLock>lambdaQuery()
|
|
|
+ .eq(IsJobTicketLock::getTicketId, ticketId)
|
|
|
+ .ne(IsJobTicketLock::getLockStatus, LockStatusEnum.RETURN_LOCK.status));
|
|
|
+
|
|
|
+ // 1.3检查辅件是否都已经归还
|
|
|
+ List<IsJobTicketLockset> jobTicketLocksetList = iIsJobTicketLocksetService.list(Wrappers.<IsJobTicketLockset>lambdaQuery()
|
|
|
+ .eq(IsJobTicketLockset::getJobTicketId, ticketId)
|
|
|
+ .ne(IsJobTicketLockset::getLocksetStatus, LocksetStatusEnum.RETURNED.status));
|
|
|
+
|
|
|
+ // 锁全还
|
|
|
+ if (jobTicketLockList.isEmpty()) {
|
|
|
+ if (ticketKeyList.isEmpty() || jobTicketLocksetList.isEmpty()) {
|
|
|
+ return 2;
|
|
|
+ } else {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return 3;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据关联人作业状态更新工作票状态
|
|
|
*/
|