|
@@ -4,6 +4,7 @@ import cn.hutool.core.lang.Assert;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.ktg.iscs.domain.*;
|
|
import com.ktg.iscs.domain.*;
|
|
|
import com.ktg.iscs.domain.dto.hardwareApi.*;
|
|
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.LockStatusEnum;
|
|
|
import com.ktg.iscs.domain.enums.LocksetStatusEnum;
|
|
import com.ktg.iscs.domain.enums.LocksetStatusEnum;
|
|
|
import com.ktg.iscs.service.*;
|
|
import com.ktg.iscs.service.*;
|
|
@@ -42,51 +43,93 @@ public class HardwareApiServiceImpl implements HardwareApiService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IIsHardwareService isHardwareService;
|
|
private IIsHardwareService isHardwareService;
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Boolean updateTakeOutKey(TakeOutKeyDTO dto) {
|
|
|
|
|
+ Assert.notNull(dto.getTicketId(), "请告诉我关于哪个作业票!");
|
|
|
|
|
+ Assert.notBlank(dto.getKeyNfc(), "请告诉我钥匙的NFC!");
|
|
|
|
|
+ Assert.notBlank(dto.getSerialNumber(), "请告知归还到哪里!");
|
|
|
|
|
+ // 1.获取作业票数据
|
|
|
|
|
+ IsJobTicket jobTicket = isJobTicketService.getById(dto.getTicketId());
|
|
|
|
|
+ Assert.notNull(jobTicket, "作业票数据丢失啦!");
|
|
|
|
|
+ // 1.1获取上锁时取出的锁的信息
|
|
|
|
|
+ IsKey startKey = isKeyService.getOne(Wrappers.<IsKey>lambdaQuery().eq(IsKey::getKeyNfc, dto.getKeyNfc()));
|
|
|
|
|
+ Assert.notNull(startKey, "钥匙数据丢失啦!");
|
|
|
|
|
+ // 1.2通过序列号查询柜子信息
|
|
|
|
|
+ IsHardware isHardware = isHardwareService.getOne(Wrappers.<IsHardware>lambdaQuery()
|
|
|
|
|
+ .eq(IsHardware::getSerialNumber, dto.getSerialNumber()));
|
|
|
|
|
+ Assert.notNull(isHardware, "该序列号无对应的硬件信息!");
|
|
|
|
|
+ // 1.3初始化时间参数
|
|
|
|
|
+ Date date = new Date();
|
|
|
|
|
+ // 1.4获取上锁时的数据
|
|
|
|
|
+ IsJobTicketKey jobTicketKey = iIsJobTicketKeyService.getOne(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
|
|
+ .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "0"));
|
|
|
|
|
+ // 2.根据作业票判断到了哪一阶段了,如果上锁数据中这两个数据有空的,那肯定是上锁阶段还没有完成
|
|
|
|
|
+ if (jobTicketKey.getCollectTime() == null || jobTicketKey.getGiveBackTime() == null) {
|
|
|
|
|
+ // 3.上锁阶段
|
|
|
|
|
+ iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
|
|
+ .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "0")
|
|
|
|
|
+ .set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
|
|
+ .set(IsJobTicketKey::getFromHardwareId, isHardware.getId())
|
|
|
|
|
+ .set(IsJobTicketKey::getCollectTime, date)
|
|
|
|
|
+ .set(IsJobTicketKey::getKeyStatus, KeyStatusEnum.TAKED.status));
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 3.1解锁阶段
|
|
|
|
|
+ iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
|
|
+ .eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
|
|
+ .eq(IsJobTicketKey::getTicketType, "1")
|
|
|
|
|
+ .set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
|
|
+ .set(IsJobTicketKey::getFromHardwareId, isHardware.getId())
|
|
|
|
|
+ .set(IsJobTicketKey::getCollectTime, date)
|
|
|
|
|
+ .set(IsJobTicketKey::getKeyStatus, KeyStatusEnum.TAKED.status));
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
- public Boolean updateTicketKetStatus(UpdateKeyStatusDTO dto) {
|
|
|
|
|
|
|
+ public Boolean updateReturnKey(ReturnKeyDTO dto) {
|
|
|
Assert.notNull(dto.getTicketId(), "请告诉我关于哪个作业票!");
|
|
Assert.notNull(dto.getTicketId(), "请告诉我关于哪个作业票!");
|
|
|
Assert.notBlank(dto.getKeyNfc(), "请告诉我钥匙的NFC!");
|
|
Assert.notBlank(dto.getKeyNfc(), "请告诉我钥匙的NFC!");
|
|
|
|
|
+ Assert.notBlank(dto.getSerialNumber(), "请告知归还到哪里!");
|
|
|
// 1.获取作业票数据
|
|
// 1.获取作业票数据
|
|
|
IsJobTicket jobTicket = isJobTicketService.getById(dto.getTicketId());
|
|
IsJobTicket jobTicket = isJobTicketService.getById(dto.getTicketId());
|
|
|
Assert.notNull(jobTicket, "作业票数据丢失啦!");
|
|
Assert.notNull(jobTicket, "作业票数据丢失啦!");
|
|
|
- // 1.1初始化时间参数
|
|
|
|
|
|
|
+ // 1.1获取上锁时取出的锁的信息
|
|
|
|
|
+ IsKey startKey = isKeyService.getOne(Wrappers.<IsKey>lambdaQuery().eq(IsKey::getKeyNfc, dto.getKeyNfc()));
|
|
|
|
|
+ Assert.notNull(startKey, "钥匙数据丢失啦!");
|
|
|
|
|
+ // 1.2通过序列号查询柜子信息
|
|
|
|
|
+ IsHardware isHardware = isHardwareService.getOne(Wrappers.<IsHardware>lambdaQuery()
|
|
|
|
|
+ .eq(IsHardware::getSerialNumber, dto.getSerialNumber()));
|
|
|
|
|
+ Assert.notNull(isHardware, "该序列号无对应的硬件信息!");
|
|
|
|
|
+ // 1.3初始化时间参数
|
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
|
- // 1.2获取上锁时的数据
|
|
|
|
|
|
|
+ // 1.4获取上锁时的数据
|
|
|
IsJobTicketKey jobTicketKey = iIsJobTicketKeyService.getOne(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
IsJobTicketKey jobTicketKey = iIsJobTicketKeyService.getOne(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
.eq(IsJobTicketKey::getTicketType, "0"));
|
|
.eq(IsJobTicketKey::getTicketType, "0"));
|
|
|
- // 2.根据作业票判断到了哪一阶段了
|
|
|
|
|
|
|
+ // 2.根据作业票判断到了哪一阶段了,如果上锁数据中这两个数据有空的,那肯定是上锁阶段还没有完成
|
|
|
if (jobTicketKey.getCollectTime() == null || jobTicketKey.getGiveBackTime() == null) {
|
|
if (jobTicketKey.getCollectTime() == null || jobTicketKey.getGiveBackTime() == null) {
|
|
|
- // 3.1获取上锁时取出的锁的信息
|
|
|
|
|
- IsKey startKey = isKeyService.getOne(Wrappers.<IsKey>lambdaQuery().eq(IsKey::getKeyNfc, dto.getKeyNfc()));
|
|
|
|
|
- Assert.notNull(startKey, "钥匙数据丢失啦!");
|
|
|
|
|
- // 3.2上锁阶段
|
|
|
|
|
|
|
+ // 3.上锁阶段
|
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
.eq(IsJobTicketKey::getTicketType, "0")
|
|
.eq(IsJobTicketKey::getTicketType, "0")
|
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
- .set(dto.getFromHardwareId() != null, IsJobTicketKey::getFromHardwareId, dto.getFromHardwareId())
|
|
|
|
|
- .set(dto.getFromHardwareId() != null, IsJobTicketKey::getCollectTime, date)
|
|
|
|
|
- .set(dto.getFromHardwareId() != null, IsJobTicketKey::getKeyStatus, "1")
|
|
|
|
|
- .set(dto.getToHardwareId() != null, IsJobTicketKey::getToHardwareId, dto.getToHardwareId())
|
|
|
|
|
- .set(dto.getToHardwareId() != null, IsJobTicketKey::getGiveBackTime, date)
|
|
|
|
|
- .set(dto.getToHardwareId() != null, IsJobTicketKey::getKeyStatus, "2"));
|
|
|
|
|
|
|
+ .set(IsJobTicketKey::getToHardwareId, isHardware.getId())
|
|
|
|
|
+ .set(IsJobTicketKey::getGiveBackTime, date)
|
|
|
|
|
+ .set(IsJobTicketKey::getKeyStatus, KeyStatusEnum.RETURNED.status));
|
|
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
- // 4.1获取解锁时取出的锁的信息
|
|
|
|
|
- IsKey startKey = isKeyService.getOne(Wrappers.<IsKey>lambdaQuery().eq(IsKey::getKeyNfc, dto.getKeyNfc()));
|
|
|
|
|
- Assert.notNull(startKey, "钥匙数据丢失啦!");
|
|
|
|
|
- // 4.2解锁阶段
|
|
|
|
|
|
|
+ // 3.1解锁阶段
|
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
iIsJobTicketKeyService.update(Wrappers.<IsJobTicketKey>lambdaUpdate()
|
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
.eq(IsJobTicketKey::getTicketId, dto.getTicketId())
|
|
|
.eq(IsJobTicketKey::getTicketType, "1")
|
|
.eq(IsJobTicketKey::getTicketType, "1")
|
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
.set(IsJobTicketKey::getKeyId, startKey.getKeyId())
|
|
|
- .set(dto.getFromHardwareId() != null, IsJobTicketKey::getFromHardwareId, dto.getFromHardwareId())
|
|
|
|
|
- .set(dto.getFromHardwareId() != null, IsJobTicketKey::getCollectTime, date)
|
|
|
|
|
- .set(dto.getFromHardwareId() != null, IsJobTicketKey::getKeyStatus, "1")
|
|
|
|
|
- .set(dto.getToHardwareId() != null, IsJobTicketKey::getToHardwareId, dto.getToHardwareId())
|
|
|
|
|
- .set(dto.getToHardwareId() != null, IsJobTicketKey::getGiveBackTime, date)
|
|
|
|
|
- .set(dto.getToHardwareId() != null, IsJobTicketKey::getKeyStatus, "2"));
|
|
|
|
|
|
|
+ .set(IsJobTicketKey::getToHardwareId, isHardware.getId())
|
|
|
|
|
+ .set(IsJobTicketKey::getGiveBackTime, date)
|
|
|
|
|
+ .set(IsJobTicketKey::getKeyStatus, KeyStatusEnum.RETURNED.status));
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|