diff --git a/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java b/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java index 5f85fff5..f657973e 100644 --- a/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java +++ b/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java @@ -452,7 +452,7 @@ public class PqDevServiceImpl extends ServiceImpl implements } @Override - @Transactional(rollbackFor = {Exception.class}) +// @Transactional(rollbackFor = {Exception.class}) public boolean documented(List ids) { if (CollUtil.isNotEmpty(ids)) { for (String id : ids) { @@ -515,6 +515,20 @@ public class PqDevServiceImpl extends ServiceImpl implements .set(PqDev::getCheckTime, LocalDateTime.now()) .set(PqDev::getReportState, DevReportStateEnum.NOT_GENERATED.getValue()) .eq(PqDev::getId, pqDev.getId())); + + if (pqDev.getCheckState().equals(CheckStateEnum.DOCUMENTED.getValue())) { + // 判断计划下所有设备是否都已归档,如果是则将计划改为已完成 + // 查询该计划下所有设备的检测状态,是否有不为归档的 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PqDev::getPlanId, pqDev.getPlanId()) + .eq(PqDev::getState, DataStateEnum.ENABLE.getCode()) + .ne(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue()); + int count = this.count(queryWrapper); + if (count == 0) { + // 如果非归档状态的设备数量为0,则更新计划已完成 + this.baseMapper.finishPlan(pqDev.getPlanId()); + } + } } }