UPDATE: 完善。
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.njcn.gather.device.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.mybatisplus.bo.BaseEntity;
|
||||
import lombok.Data;
|
||||
@@ -72,5 +73,8 @@ public class PqStandardDev extends BaseEntity implements Serializable {
|
||||
private String devKey;
|
||||
|
||||
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.utils.EncryptionUtil;
|
||||
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.po.PqStandardDev;
|
||||
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());
|
||||
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> subPlanList = 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().equals(CommonEnum.FATHER_ID.getValue())).collect(Collectors.toList());
|
||||
List<String> excludePlanIds = new ArrayList<>();
|
||||
|
||||
// 主计划直接排除
|
||||
// 主计划未完成直接排除
|
||||
if (CollectionUtil.isNotEmpty(mainPlanList)) {
|
||||
List<String> excludeMainPlanIds = mainPlanList.stream().filter(plan -> plan.getTestState() != 2).map(plan -> plan.getId()).collect(Collectors.toList());
|
||||
excludePlanIds.addAll(excludeMainPlanIds);
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
// 子计划需要判断其主计划, 如果主计划未完成则排除
|
||||
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<String> excludeFatherPlanIds = fatherPlanList.stream()
|
||||
.filter(plan -> plan.getTestState() != 2)
|
||||
.map(plan -> plan.getId()).collect(Collectors.toList());
|
||||
.filter(plan -> !plan.getTestState().equals(CheckStateEnum.CHECKED.getValue()))
|
||||
.map(AdPlan::getId).collect(Collectors.toList());
|
||||
List<String> excludeSubPlanIds = subPlanList.stream()
|
||||
.filter(plan -> excludeFatherPlanIds.contains(plan.getFatherPlanId()))
|
||||
.map(plan -> plan.getId()).collect(Collectors.toList());
|
||||
.map(AdPlan::getId).collect(Collectors.toList());
|
||||
excludePlanIds.addAll(excludeSubPlanIds);
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(excludePlanIds)) {
|
||||
@@ -346,10 +351,12 @@ public class PqStandardDevServiceImpl extends ServiceImpl<PqStandardDevMapper, P
|
||||
excludeStandardDevIds = excludeBoundList.stream().map(AdPlanStandardDev::getStandardDevId).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
return this.lambdaQuery()
|
||||
List<PqStandardDev> list = this.lambdaQuery()
|
||||
.eq(PqStandardDev::getState, DataStateEnum.ENABLE.getCode())
|
||||
.notIn(CollectionUtil.isNotEmpty(excludeStandardDevIds), PqStandardDev::getId, excludeStandardDevIds)
|
||||
.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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.gather.detection.pojo.po.AdPair;
|
||||
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<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);
|
||||
// 被检设备监测点信息
|
||||
List<PqMonitor> monitorList = pqMonitorService.list(new LambdaQueryWrapper<PqMonitor>().in(PqMonitor::getDevId, devIdList));
|
||||
@@ -310,7 +317,9 @@ public class AsyncPlanHandler {
|
||||
adPlanService.updateById(subPlan);
|
||||
progress.addAndGet(1);
|
||||
sseClient.sendMessage(uid, planId, HttpResultUtil.assembleResult(CommonResponseEnum.SUCCESS.getCode(), progress, "开始同步计划设备信息,请耐心等待..."));
|
||||
|
||||
// 更新监测点数据
|
||||
List<PqMonitor> monitorList = planCheckDataVO.getMonitorList();
|
||||
pqMonitorService.updateBatchById(monitorList);
|
||||
// 批量更新被检设备信息
|
||||
// 不更新导入标志
|
||||
devList.forEach(dev -> dev.setImportFlag(null));
|
||||
@@ -325,7 +334,7 @@ public class AsyncPlanHandler {
|
||||
|
||||
// 同步检测数据
|
||||
List<AdPair> pairList = planCheckDataVO.getPairList();
|
||||
adPairService.updateBatchById(pairList);
|
||||
adPairService.saveOrUpdateBatch(pairList);
|
||||
// 主计划
|
||||
AdPlan plan = adPlanService.getById(planId);
|
||||
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()));
|
||||
|
||||
PqDevParam.QueryParam queryParam1 = new PqDevParam.QueryParam();
|
||||
queryParam1.setPlanIdList(Collections.singletonList(adPlan.getId()));
|
||||
|
||||
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()));
|
||||
}
|
||||
List<PqDevVO> pqDevVOList = pqDevMapper.selectByQueryParam(queryParam1);
|
||||
if (CollUtil.isNotEmpty(pqDevVOList)) {
|
||||
long count = pqDevVOList.stream().filter(pqDev -> CheckStateEnum.CHECKED.getValue().equals(pqDev.getCheckState())).count();
|
||||
@@ -1821,7 +1831,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
List<String> removeDevIds = uncheckedDevIds.stream()
|
||||
.filter(devId -> !devIds.contains(devId))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
if (CollUtil.isNotEmpty(removeDevIds)) {
|
||||
pqDevService.removeByIds(removeDevIds);
|
||||
pqDevSubService.remove(new LambdaQueryWrapper<PqDevSub>().in(PqDevSub::getDevId, removeDevIds));
|
||||
@@ -2068,6 +2078,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
|
||||
/**
|
||||
* 比对模式下计划的检测项获取
|
||||
*
|
||||
* @param planId 计划ID
|
||||
* @return 检测项
|
||||
*/
|
||||
@@ -2078,7 +2089,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
String pattern = adPlan.getPattern();
|
||||
DictData dictData = dictDataService.getDictDataById(pattern);
|
||||
if (ObjectUtil.isNotNull(dictData)) {
|
||||
if(dictData.getCode().equalsIgnoreCase("Contrast")){
|
||||
if (dictData.getCode().equalsIgnoreCase("Contrast")) {
|
||||
String[] items = adPlan.getTestItem().split(",");
|
||||
scriptList = new ArrayList<>(Arrays.asList(items));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user