UPDATE: 添加数据合并时更新主计划检测状态。
This commit is contained in:
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.gather.detection.pojo.po.AdPair;
|
import com.njcn.gather.detection.pojo.po.AdPair;
|
||||||
import com.njcn.gather.detection.service.IAdPariService;
|
import com.njcn.gather.detection.service.IAdPariService;
|
||||||
|
import com.njcn.gather.device.pojo.enums.CheckStateEnum;
|
||||||
import com.njcn.gather.device.pojo.po.PqDev;
|
import com.njcn.gather.device.pojo.po.PqDev;
|
||||||
import com.njcn.gather.device.pojo.po.PqDevSub;
|
import com.njcn.gather.device.pojo.po.PqDevSub;
|
||||||
import com.njcn.gather.device.service.IPqDevService;
|
import com.njcn.gather.device.service.IPqDevService;
|
||||||
@@ -325,8 +326,8 @@ public class AsyncPlanHandler {
|
|||||||
// 同步检测数据
|
// 同步检测数据
|
||||||
List<AdPair> pairList = planCheckDataVO.getPairList();
|
List<AdPair> pairList = planCheckDataVO.getPairList();
|
||||||
adPairService.updateBatchById(pairList);
|
adPairService.updateBatchById(pairList);
|
||||||
|
// 主计划
|
||||||
|
AdPlan plan = adPlanService.getById(planId);
|
||||||
if (CollUtil.isNotEmpty(docxFiles)) {
|
if (CollUtil.isNotEmpty(docxFiles)) {
|
||||||
progress.addAndGet(1);
|
progress.addAndGet(1);
|
||||||
sseClient.sendMessage(uid, planId, HttpResultUtil.assembleResult(CommonResponseEnum.SUCCESS.getCode(), progress, "开始同步检测报告文件"));
|
sseClient.sendMessage(uid, planId, HttpResultUtil.assembleResult(CommonResponseEnum.SUCCESS.getCode(), progress, "开始同步检测报告文件"));
|
||||||
@@ -345,7 +346,6 @@ public class AsyncPlanHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(dataFiles)) {
|
if (CollUtil.isNotEmpty(dataFiles)) {
|
||||||
AdPlan plan = adPlanService.getById(planId);
|
|
||||||
Integer planCode = plan.getCode();
|
Integer planCode = plan.getCode();
|
||||||
progress.addAndGet(1);
|
progress.addAndGet(1);
|
||||||
sseClient.sendMessage(uid, planId, HttpResultUtil.assembleResult(CommonResponseEnum.SUCCESS.getCode(), progress, "开始同步检测数据信息,请耐心等待..."));
|
sseClient.sendMessage(uid, planId, HttpResultUtil.assembleResult(CommonResponseEnum.SUCCESS.getCode(), progress, "开始同步检测数据信息,请耐心等待..."));
|
||||||
@@ -420,6 +420,27 @@ public class AsyncPlanHandler {
|
|||||||
|
|
||||||
// 删除临时目录
|
// 删除临时目录
|
||||||
FileUtil.del(tempDir);
|
FileUtil.del(tempDir);
|
||||||
|
// 更新主计划状态
|
||||||
|
List<String> planIds = adPlanService.lambdaQuery().eq(AdPlan::getFatherPlanId, planId).list().stream().map(AdPlan::getId).collect(Collectors.toList());
|
||||||
|
planIds.add(planId);
|
||||||
|
List<String> devIds = pqDevService.lambdaQuery().in(PqDev::getPlanId, planIds).list().stream().map(PqDev::getId).collect(Collectors.toList());
|
||||||
|
List<PqDevSub> devSubs = pqDevSubService.lambdaQuery().in(PqDevSub::getDevId, devIds).list();
|
||||||
|
long checkedCount = devSubs.stream().filter(sub -> sub.getCheckState().equals(CheckStateEnum.CHECKED.getValue())).count();
|
||||||
|
if (checkedCount > 0) {
|
||||||
|
plan.setTestState(CheckStateEnum.CHECKING.getValue());
|
||||||
|
// 都已检测完成
|
||||||
|
if (checkedCount == devSubs.size()) {
|
||||||
|
plan.setTestState(CheckStateEnum.CHECKED.getValue());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
plan.setTestState(CheckStateEnum.UNCHECKED.getValue());
|
||||||
|
// 是否有检测中
|
||||||
|
long checkingCount = devSubs.stream().filter(sub -> sub.getCheckState().equals(CheckStateEnum.CHECKING.getValue())).count();
|
||||||
|
if (checkingCount > 0) {
|
||||||
|
plan.setTestState(CheckStateEnum.CHECKING.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
adPlanService.updateById(plan);
|
||||||
LocalDateTime endTime = LocalDateTime.now();
|
LocalDateTime endTime = LocalDateTime.now();
|
||||||
log.info("数据合并完成,耗时:{}s", Duration.between(startTime, endTime).getSeconds());
|
log.info("数据合并完成,耗时:{}s", Duration.between(startTime, endTime).getSeconds());
|
||||||
progress.set(100);
|
progress.set(100);
|
||||||
|
|||||||
Reference in New Issue
Block a user