feat: 增强链接任务状态管理,确保在首次选区和重复选区时正确更新任务状态
This commit is contained in:
@@ -692,6 +692,12 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
|
|||||||
String selectedDeviceId;
|
String selectedDeviceId;
|
||||||
|
|
||||||
if(linkTask.getFirstRegionSelectAt() == null){
|
if(linkTask.getFirstRegionSelectAt() == null){
|
||||||
|
if(!linkTask.getStatus().equals("USING")){
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
linkTask.setStatus("USING");
|
||||||
|
linkTask.setUpdatedAt(now);
|
||||||
|
linkTaskMapper.updateById(linkTask);
|
||||||
|
}
|
||||||
log.info("首次选区: 开始检查和分配空闲设备");
|
log.info("首次选区: 开始检查和分配空闲设备");
|
||||||
DeviceStatusResponse deviceStatus = scriptClient.checkAvailableDeviceStatus().block();
|
DeviceStatusResponse deviceStatus = scriptClient.checkAvailableDeviceStatus().block();
|
||||||
|
|
||||||
@@ -716,6 +722,12 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
|
|||||||
|
|
||||||
log.info("首次选区设备分配成功: 选中设备={}, 任务ID={}", selectedDeviceId, linkTask.getId());
|
log.info("首次选区设备分配成功: 选中设备={}, 任务ID={}", selectedDeviceId, linkTask.getId());
|
||||||
}else{
|
}else{
|
||||||
|
if(!linkTask.getStatus().equals("USING")){
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
linkTask.setStatus("USING");
|
||||||
|
linkTask.setUpdatedAt(now);
|
||||||
|
linkTaskMapper.updateById(linkTask);
|
||||||
|
}
|
||||||
log.info("重复选区: 检查首次选区时有效性并复用设备");
|
log.info("重复选区: 检查首次选区时有效性并复用设备");
|
||||||
// 检查首次选区是否已过期
|
// 检查首次选区是否已过期
|
||||||
LocalDateTime firstSelectTime = linkTask.getFirstRegionSelectAt();
|
LocalDateTime firstSelectTime = linkTask.getFirstRegionSelectAt();
|
||||||
@@ -831,6 +843,8 @@ private UserLinkStatusResponse doGetUserLinkStatus(Long linkId, String codeNo) {
|
|||||||
}
|
}
|
||||||
if (linkTask.getFirstRegionSelectAt() == null) {
|
if (linkTask.getFirstRegionSelectAt() == null) {
|
||||||
linkTask.setFirstRegionSelectAt(now);
|
linkTask.setFirstRegionSelectAt(now);
|
||||||
|
linkTask.setStatus("USING");
|
||||||
|
linkTask.setUpdatedAt(LocalDateTime.now());
|
||||||
try { linkTaskMapper.update(linkTask); } catch (Exception ignore) {}
|
try { linkTaskMapper.update(linkTask); } catch (Exception ignore) {}
|
||||||
}
|
}
|
||||||
// Audit and history for USING transition
|
// Audit and history for USING transition
|
||||||
|
|||||||
Reference in New Issue
Block a user