UPDATE: 完善。
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.gather.device.pojo.po;
|
package com.njcn.gather.device.pojo.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.njcn.db.mybatisplus.bo.BaseEntity;
|
import com.njcn.db.mybatisplus.bo.BaseEntity;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -72,5 +73,8 @@ public class PqStandardDev extends BaseEntity implements Serializable {
|
|||||||
private String devKey;
|
private String devKey;
|
||||||
|
|
||||||
private Integer state;
|
private Integer state;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private boolean disabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ import com.njcn.common.pojo.exception.BusinessException;
|
|||||||
import com.njcn.common.pojo.poi.PullDown;
|
import com.njcn.common.pojo.poi.PullDown;
|
||||||
import com.njcn.common.utils.EncryptionUtil;
|
import com.njcn.common.utils.EncryptionUtil;
|
||||||
import com.njcn.gather.device.mapper.PqStandardDevMapper;
|
import com.njcn.gather.device.mapper.PqStandardDevMapper;
|
||||||
|
import com.njcn.gather.device.pojo.enums.CheckStateEnum;
|
||||||
|
import com.njcn.gather.device.pojo.enums.CommonEnum;
|
||||||
import com.njcn.gather.device.pojo.param.PqStandardDevParam;
|
import com.njcn.gather.device.pojo.param.PqStandardDevParam;
|
||||||
import com.njcn.gather.device.pojo.po.PqStandardDev;
|
import com.njcn.gather.device.pojo.po.PqStandardDev;
|
||||||
import com.njcn.gather.device.pojo.vo.PqStandardDevExcel;
|
import com.njcn.gather.device.pojo.vo.PqStandardDevExcel;
|
||||||
@@ -316,27 +318,30 @@ public class PqStandardDevServiceImpl extends ServiceImpl<PqStandardDevMapper, P
|
|||||||
// 获取对应检测计划
|
// 获取对应检测计划
|
||||||
List<String> planIds = boundList.stream().map(AdPlanStandardDev::getPlanId).collect(Collectors.toList());
|
List<String> planIds = boundList.stream().map(AdPlanStandardDev::getPlanId).collect(Collectors.toList());
|
||||||
IAdPlanService adPlanService = SpringUtil.getBean(IAdPlanService.class);
|
IAdPlanService adPlanService = SpringUtil.getBean(IAdPlanService.class);
|
||||||
List<AdPlan> planList = adPlanService.listByIds(planIds);
|
List<AdPlan> planList = adPlanService.lambdaQuery().in(AdPlan::getId, planIds).eq(AdPlan::getState, DataStateEnum.ENABLE.getCode()).list();
|
||||||
// 区分主计划和子计划
|
// 区分主计划和子计划
|
||||||
List<AdPlan> mainPlanList = planList.stream().filter(plan -> plan.getFatherPlanId() == null).collect(Collectors.toList());
|
List<AdPlan> mainPlanList = planList.stream().filter(plan -> plan.getFatherPlanId().equals(CommonEnum.FATHER_ID.getValue())).collect(Collectors.toList());
|
||||||
List<AdPlan> subPlanList = planList.stream().filter(plan -> plan.getFatherPlanId() != null).collect(Collectors.toList());
|
List<AdPlan> subPlanList = planList.stream().filter(plan -> !plan.getFatherPlanId().equals(CommonEnum.FATHER_ID.getValue())).collect(Collectors.toList());
|
||||||
List<String> excludePlanIds = new ArrayList<>();
|
List<String> excludePlanIds = new ArrayList<>();
|
||||||
|
|
||||||
// 主计划直接排除
|
// 主计划未完成直接排除
|
||||||
if (CollectionUtil.isNotEmpty(mainPlanList)) {
|
if (CollectionUtil.isNotEmpty(mainPlanList)) {
|
||||||
List<String> excludeMainPlanIds = mainPlanList.stream().filter(plan -> plan.getTestState() != 2).map(plan -> plan.getId()).collect(Collectors.toList());
|
List<String> excludeMainPlanIds = mainPlanList.stream().filter(plan -> !plan.getTestState().equals(CheckStateEnum.CHECKED.getValue())).map(AdPlan::getId).collect(Collectors.toList());
|
||||||
|
if (CollectionUtil.isNotEmpty(excludeMainPlanIds)) {
|
||||||
excludePlanIds.addAll(excludeMainPlanIds);
|
excludePlanIds.addAll(excludeMainPlanIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
// 子计划需要判断其主计划, 如果主计划未完成则排除
|
// 子计划需要判断其主计划, 如果主计划未完成则排除
|
||||||
if (CollectionUtil.isNotEmpty(subPlanList)) {
|
if (CollectionUtil.isNotEmpty(subPlanList)) {
|
||||||
List<String> fatherPlanIds = subPlanList.stream().map(plan -> plan.getFatherPlanId()).collect(Collectors.toList());
|
List<String> fatherPlanIds = subPlanList.stream().map(AdPlan::getFatherPlanId).distinct().collect(Collectors.toList());
|
||||||
List<AdPlan> fatherPlanList = adPlanService.listByIds(fatherPlanIds);
|
List<AdPlan> fatherPlanList = adPlanService.listByIds(fatherPlanIds);
|
||||||
List<String> excludeFatherPlanIds = fatherPlanList.stream()
|
List<String> excludeFatherPlanIds = fatherPlanList.stream()
|
||||||
.filter(plan -> plan.getTestState() != 2)
|
.filter(plan -> !plan.getTestState().equals(CheckStateEnum.CHECKED.getValue()))
|
||||||
.map(plan -> plan.getId()).collect(Collectors.toList());
|
.map(AdPlan::getId).collect(Collectors.toList());
|
||||||
List<String> excludeSubPlanIds = subPlanList.stream()
|
List<String> excludeSubPlanIds = subPlanList.stream()
|
||||||
.filter(plan -> excludeFatherPlanIds.contains(plan.getFatherPlanId()))
|
.filter(plan -> excludeFatherPlanIds.contains(plan.getFatherPlanId()))
|
||||||
.map(plan -> plan.getId()).collect(Collectors.toList());
|
.map(AdPlan::getId).collect(Collectors.toList());
|
||||||
excludePlanIds.addAll(excludeSubPlanIds);
|
excludePlanIds.addAll(excludeSubPlanIds);
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(excludePlanIds)) {
|
if (CollectionUtil.isNotEmpty(excludePlanIds)) {
|
||||||
@@ -346,10 +351,12 @@ public class PqStandardDevServiceImpl extends ServiceImpl<PqStandardDevMapper, P
|
|||||||
excludeStandardDevIds = excludeBoundList.stream().map(AdPlanStandardDev::getStandardDevId).collect(Collectors.toList());
|
excludeStandardDevIds = excludeBoundList.stream().map(AdPlanStandardDev::getStandardDevId).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
List<PqStandardDev> list = this.lambdaQuery()
|
||||||
return this.lambdaQuery()
|
|
||||||
.eq(PqStandardDev::getState, DataStateEnum.ENABLE.getCode())
|
.eq(PqStandardDev::getState, DataStateEnum.ENABLE.getCode())
|
||||||
.notIn(CollectionUtil.isNotEmpty(excludeStandardDevIds), PqStandardDev::getId, excludeStandardDevIds)
|
|
||||||
.list();
|
.list();
|
||||||
|
for (PqStandardDev pqStandardDev : list) {
|
||||||
|
pqStandardDev.setDisabled(excludeStandardDevIds.contains(pqStandardDev.getId()));
|
||||||
|
}
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import cn.hutool.json.JSONConfig;
|
|||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
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;
|
||||||
@@ -89,6 +90,12 @@ public class AsyncPlanHandler {
|
|||||||
List<String> devIdList = devList.stream().map(PqDev::getId).collect(Collectors.toList());
|
List<String> devIdList = devList.stream().map(PqDev::getId).collect(Collectors.toList());
|
||||||
// 被检设备状态统计
|
// 被检设备状态统计
|
||||||
List<PqDevSub> devSubList = pqDevSubService.list(new LambdaQueryWrapper<PqDevSub>().in(PqDevSub::getDevId, devIdList));
|
List<PqDevSub> devSubList = pqDevSubService.list(new LambdaQueryWrapper<PqDevSub>().in(PqDevSub::getDevId, devIdList));
|
||||||
|
for (PqDevSub devSub : devSubList) {
|
||||||
|
// 不导出报告,设置报告状态为未生成
|
||||||
|
if (ObjectUtil.isNull(report) || report.equals(DataStateEnum.DELETED.getCode())) {
|
||||||
|
devSub.setReportState(DataStateEnum.DELETED.getCode());
|
||||||
|
}
|
||||||
|
}
|
||||||
planCheckDataVO.setDevSubList(devSubList);
|
planCheckDataVO.setDevSubList(devSubList);
|
||||||
// 被检设备监测点信息
|
// 被检设备监测点信息
|
||||||
List<PqMonitor> monitorList = pqMonitorService.list(new LambdaQueryWrapper<PqMonitor>().in(PqMonitor::getDevId, devIdList));
|
List<PqMonitor> monitorList = pqMonitorService.list(new LambdaQueryWrapper<PqMonitor>().in(PqMonitor::getDevId, devIdList));
|
||||||
@@ -310,7 +317,9 @@ public class AsyncPlanHandler {
|
|||||||
adPlanService.updateById(subPlan);
|
adPlanService.updateById(subPlan);
|
||||||
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, "开始同步计划设备信息,请耐心等待..."));
|
||||||
|
// 更新监测点数据
|
||||||
|
List<PqMonitor> monitorList = planCheckDataVO.getMonitorList();
|
||||||
|
pqMonitorService.updateBatchById(monitorList);
|
||||||
// 批量更新被检设备信息
|
// 批量更新被检设备信息
|
||||||
// 不更新导入标志
|
// 不更新导入标志
|
||||||
devList.forEach(dev -> dev.setImportFlag(null));
|
devList.forEach(dev -> dev.setImportFlag(null));
|
||||||
@@ -325,7 +334,7 @@ public class AsyncPlanHandler {
|
|||||||
|
|
||||||
// 同步检测数据
|
// 同步检测数据
|
||||||
List<AdPair> pairList = planCheckDataVO.getPairList();
|
List<AdPair> pairList = planCheckDataVO.getPairList();
|
||||||
adPairService.updateBatchById(pairList);
|
adPairService.saveOrUpdateBatch(pairList);
|
||||||
// 主计划
|
// 主计划
|
||||||
AdPlan plan = adPlanService.getById(planId);
|
AdPlan plan = adPlanService.getById(planId);
|
||||||
if (CollUtil.isNotEmpty(docxFiles)) {
|
if (CollUtil.isNotEmpty(docxFiles)) {
|
||||||
|
|||||||
@@ -193,8 +193,18 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
adPlanVO.setSourceName(pqSourceList.stream().map(PqSource::getName).collect(Collectors.toList()));
|
adPlanVO.setSourceName(pqSourceList.stream().map(PqSource::getName).collect(Collectors.toList()));
|
||||||
|
|
||||||
PqDevParam.QueryParam queryParam1 = new PqDevParam.QueryParam();
|
PqDevParam.QueryParam queryParam1 = new PqDevParam.QueryParam();
|
||||||
|
if (adPlan.getFatherPlanId().equals(CommonEnum.FATHER_ID.getValue())) {
|
||||||
|
List<String> planIds = this.lambdaQuery()
|
||||||
|
.eq(AdPlan::getFatherPlanId, adPlan.getId())
|
||||||
|
.eq(AdPlan::getState, DataStateEnum.ENABLE.getCode())
|
||||||
|
.select(AdPlan::getId)
|
||||||
|
.list()
|
||||||
|
.stream().map(AdPlan::getId).collect(Collectors.toList());
|
||||||
|
planIds.add(adPlan.getId());
|
||||||
|
queryParam1.setPlanIdList(planIds);
|
||||||
|
} else {
|
||||||
queryParam1.setPlanIdList(Collections.singletonList(adPlan.getId()));
|
queryParam1.setPlanIdList(Collections.singletonList(adPlan.getId()));
|
||||||
|
}
|
||||||
List<PqDevVO> pqDevVOList = pqDevMapper.selectByQueryParam(queryParam1);
|
List<PqDevVO> pqDevVOList = pqDevMapper.selectByQueryParam(queryParam1);
|
||||||
if (CollUtil.isNotEmpty(pqDevVOList)) {
|
if (CollUtil.isNotEmpty(pqDevVOList)) {
|
||||||
long count = pqDevVOList.stream().filter(pqDev -> CheckStateEnum.CHECKED.getValue().equals(pqDev.getCheckState())).count();
|
long count = pqDevVOList.stream().filter(pqDev -> CheckStateEnum.CHECKED.getValue().equals(pqDev.getCheckState())).count();
|
||||||
@@ -2068,6 +2078,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 比对模式下计划的检测项获取
|
* 比对模式下计划的检测项获取
|
||||||
|
*
|
||||||
* @param planId 计划ID
|
* @param planId 计划ID
|
||||||
* @return 检测项
|
* @return 检测项
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user