|
|
@@ -105,13 +105,15 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
// 1.4获取上锁时的数据
|
|
|
IsJobTicketKey jobTicketKey = iIsJobTicketKeyService.getOne(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .ne(IsJobTicketKey::getKeyStatus, "2")
|
|
|
.eq(IsJobTicketKey::getTicketType, "0"));
|
|
|
- // 2.根据作业票判断到了哪一阶段了,如果上锁数据中这两个数据有空的,那肯定是上锁阶段还没有完成
|
|
|
- if (jobTicketKey.getCollectTime() == null || jobTicketKey.getGiveBackTime() == null) {
|
|
|
+ // 2.根据作业票判断到了哪一阶段了,如果未归还的上锁数据不为空并且上锁数据中这两个数据有空的,那肯定是上锁阶段还没有完成
|
|
|
+ if (jobTicketKey!=null && (jobTicketKey.getCollectTime() == null || jobTicketKey.getGiveBackTime() == null)) {
|
|
|
// 3.上锁阶段取钥匙
|
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
- .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
- .eq(IsJobTicketKey::getTicketType, "0")
|
|
|
+ /*.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "0")*/
|
|
|
+ .eq(IsJobTicketKey::getRecordId, jobTicketKey.getRecordId())
|
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
.set(IsJobTicketKey::getFromHardwareId, isHardware.getId())
|
|
|
.set(IsJobTicketKey::getCollectTime, date)
|
|
|
@@ -123,10 +125,15 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
reqVO.equipStatus = 3;
|
|
|
isJobTicketService.updateTicketProgress(reqVO);
|
|
|
} else {
|
|
|
+ IsJobTicketKey jobTicketKey1 = iIsJobTicketKeyService.getOne(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
+ .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .ne(IsJobTicketKey::getKeyStatus, "2")
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "1"));
|
|
|
// 3.1解锁阶段取钥匙
|
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
- .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
- .eq(IsJobTicketKey::getTicketType, "1")
|
|
|
+ /*.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "1")*/
|
|
|
+ .eq(IsJobTicketKey::getRecordId, jobTicketKey1.getRecordId())
|
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
.set(IsJobTicketKey::getFromHardwareId, isHardware.getId())
|
|
|
.set(IsJobTicketKey::getCollectTime, date)
|
|
|
@@ -218,13 +225,15 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
// 1.4获取上锁时的数据
|
|
|
IsJobTicketKey jobTicketKey = iIsJobTicketKeyService.getOne(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .ne(IsJobTicketKey::getKeyStatus, "2")
|
|
|
.eq(IsJobTicketKey::getTicketType, "0"));
|
|
|
- // 2.根据作业票判断到了哪一阶段了,如果上锁数据中这两个数据有空的,那肯定是上锁阶段还没有完成
|
|
|
- if (jobTicketKey.getCollectTime() == null || jobTicketKey.getGiveBackTime() == null) {
|
|
|
+ // 2.根据作业票判断到了哪一阶段了,如果未归还的上锁数据不为空并且上锁数据中这两个数据有空的,那肯定是上锁阶段还没有完成
|
|
|
+ if (jobTicketKey!=null && (jobTicketKey.getCollectTime() == null || jobTicketKey.getGiveBackTime() == null)) {
|
|
|
// 3.1上锁阶段还钥匙
|
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
- .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
- .eq(IsJobTicketKey::getTicketType, "0")
|
|
|
+ /*.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "0")*/
|
|
|
+ .eq(IsJobTicketKey::getRecordId, jobTicketKey.getRecordId())
|
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
.set(IsJobTicketKey::getToHardwareId, isHardware.getId())
|
|
|
.set(IsJobTicketKey::getGiveBackTime, date)
|
|
|
@@ -246,10 +255,15 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
iIsJobTicketKeyService.save(isJobTicketKey);
|
|
|
}
|
|
|
} else {
|
|
|
+ IsJobTicketKey jobTicketKey1 = iIsJobTicketKeyService.getOne(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
+ .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .ne(IsJobTicketKey::getKeyStatus, "2")
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "1"));
|
|
|
// 3.2解锁阶段还钥匙
|
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
- .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
- .eq(IsJobTicketKey::getTicketType, "1")
|
|
|
+ /*.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "1")*/
|
|
|
+ .eq(IsJobTicketKey::getRecordId, jobTicketKey1.getRecordId())
|
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
.set(IsJobTicketKey::getToHardwareId, isHardware.getId())
|
|
|
.set(IsJobTicketKey::getGiveBackTime, date)
|
|
|
@@ -262,6 +276,13 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
isJobTicketService.update(Wrappers.<IsJobTicket>lambdaUpdate()
|
|
|
.eq(IsJobTicket::getTicketId, dto.getTicketId())
|
|
|
.set(IsJobTicket::getTicketStatus, "4"));
|
|
|
+ } else {
|
|
|
+ // 3.1.2如果没解完,允许再次获取一个新钥匙去解锁,所以要在生成一个解锁时取钥匙的初始化数据
|
|
|
+ IsJobTicketKey isJobTicketKey = new IsJobTicketKey();
|
|
|
+ isJobTicketKey.setTicketId(dto.getTicketId());
|
|
|
+ isJobTicketKey.setKeyStatus("0");
|
|
|
+ isJobTicketKey.setTicketType(1);
|
|
|
+ iIsJobTicketKeyService.save(isJobTicketKey);
|
|
|
}
|
|
|
}
|
|
|
/*JobTicketUpdateProgressReqVO reqVO = new JobTicketUpdateProgressReqVO();
|
|
|
@@ -379,7 +400,7 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
if (dto.getTicketId() != null) {
|
|
|
// 2.1登陆后归还, 判断钥匙在哪个阶段,根据不同阶段更新不一样
|
|
|
Integer lockStateByNfc = getLockStateByNfc(dto.getLockNfc(), dto.getTicketId());
|
|
|
- if (lockStateByNfc.equals(0)) {
|
|
|
+ if (lockStateByNfc.equals(0) || lockStateByNfc.equals(2)) {
|
|
|
// 0-上锁未取钥匙(可锁-需更改还锁逻辑)
|
|
|
iIsJobTicketLockService.update(Wrappers.<IsJobTicketLock>lambdaUpdate()
|
|
|
.eq(IsJobTicketLock::getTicketId, dto.getTicketId())
|
|
|
@@ -409,10 +430,10 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
} else if (jobTicketLockList.size() == 1) {
|
|
|
// 2.1登陆后归还, 判断钥匙在哪个阶段,根据不同阶段更新不一样
|
|
|
Integer lockStateByNfc = getLockStateByNfc(dto.getLockNfc(), jobTicketLockList.get(0).getTicketId());
|
|
|
- if (lockStateByNfc.equals(0)) {
|
|
|
+ if (lockStateByNfc.equals(0) || lockStateByNfc.equals(2)) {
|
|
|
// 0-上锁未取钥匙(可锁-需更改还锁逻辑)
|
|
|
iIsJobTicketLockService.update(Wrappers.<IsJobTicketLock>lambdaUpdate()
|
|
|
- .eq(IsJobTicketLock::getTicketId, dto.getTicketId())
|
|
|
+ .eq(IsJobTicketLock::getTicketId, jobTicketLockList.get(0).getTicketId())
|
|
|
.eq(IsJobTicketLock::getLockId, lock.getLockId())
|
|
|
.set(IsJobTicketLock::getLockId, null)
|
|
|
.set(IsJobTicketLock::getFromHardwareId, null)
|
|
|
@@ -949,7 +970,7 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
boolean b = false;
|
|
|
Assert.notNull(ticketId, "当前作业票id不能为空!");
|
|
|
// 0.检查是不是取了锁 但是没有取钥匙,如果是说明数据有问题,断过网
|
|
|
- checkExTakeLock(ticketId);
|
|
|
+ // checkExTakeLock(ticketId);
|
|
|
IsJobTicket isJobTicket = isJobTicketService.getById(ticketId);
|
|
|
// 1.查询当前作业票需要上锁的点位信息
|
|
|
List<IsJobTicketPoints> listByTicketId = iIsJobTicketPointsService.list(Wrappers.<IsJobTicketPoints>lambdaQuery()
|
|
|
@@ -1245,7 +1266,7 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
return 0;
|
|
|
} else if (lockLast.getKeyStatus().equals("1")) {
|
|
|
return 1;
|
|
|
- } else if (lockLast.getKeyStatus().equals("2") && unlockLast.getKeyStatus().equals("0")) {
|
|
|
+ } else if (lockLast.getKeyStatus().equals("2") && unlockLast.getKeyStatus().equals("0")) {
|
|
|
return 2;
|
|
|
} else if (unlockLast.getKeyStatus().equals("1")) {
|
|
|
return 3;
|