UPDATE: 1、子计划管理,筛选条件改成搜索、设备厂家、是否分配;
2、重复导入子计划时,增量被检设备并删除未检设备。
This commit is contained in:
@@ -6,14 +6,12 @@ import com.njcn.gather.pojo.constant.DetectionValidMessage;
|
||||
import com.njcn.web.pojo.annotation.DateTimeStrValid;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.*;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -137,6 +135,7 @@ public class PqDevParam {
|
||||
|
||||
@ApiModelProperty("是否为导入设备")
|
||||
private Integer importFlag;
|
||||
|
||||
/**
|
||||
* 更新操作实体
|
||||
*/
|
||||
@@ -197,6 +196,12 @@ public class PqDevParam {
|
||||
|
||||
@ApiModelProperty("是否分配")
|
||||
private Integer assign;
|
||||
@ApiModelProperty("关键词")
|
||||
private String keywords;
|
||||
@ApiModelProperty("主计划ID")
|
||||
private String planId;
|
||||
@ApiModelProperty("是否分配子计划")
|
||||
private Integer assignSub;
|
||||
}
|
||||
|
||||
@Data
|
||||
|
||||
@@ -396,12 +396,21 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
.in(CollectionUtil.isNotEmpty(queryParam.getPlanIdList()), "pq_dev.Plan_Id", queryParam.getPlanIdList())
|
||||
.isNotNull(DataStateEnum.ENABLE.getCode().equals(queryParam.getAssign()), "pq_dev.Plan_Id")
|
||||
.isNull(DataStateEnum.DELETED.getCode().equals(queryParam.getAssign()), "pq_dev.Plan_Id")
|
||||
.eq(DataStateEnum.DELETED.getCode().equals(queryParam.getAssignSub()), "pq_dev.Plan_Id", queryParam.getPlanId())
|
||||
.ne(DataStateEnum.ENABLE.getCode().equals(queryParam.getAssignSub()), "pq_dev.Plan_Id", queryParam.getPlanId())
|
||||
.between(ObjectUtil.isAllNotEmpty(queryParam.getSearchBeginTime(), queryParam.getSearchEndTime()), "pq_dev.Create_Date", queryParam.getSearchBeginTime(), queryParam.getSearchEndTime());
|
||||
if (StrUtil.isNotBlank(queryParam.getRegion())) {
|
||||
queryWrapper.and(w -> w.like(StrUtil.isNotBlank(queryParam.getRegion()), "pq_dev.City_Name", queryParam.getRegion())
|
||||
.or().like(StrUtil.isNotBlank(queryParam.getRegion()), "pq_dev.Gd_Name", queryParam.getRegion())
|
||||
.or().like(StrUtil.isNotBlank(queryParam.getRegion()), "pq_dev.Sub_Name", queryParam.getRegion()));
|
||||
}
|
||||
if (StrUtil.isNotBlank(queryParam.getKeywords())) {
|
||||
queryWrapper.and(w -> w.like(StrUtil.isNotBlank(queryParam.getKeywords()), "pq_dev.City_Name", queryParam.getKeywords())
|
||||
.or().like(StrUtil.isNotBlank(queryParam.getKeywords()), "pq_dev.Gd_Name", queryParam.getKeywords())
|
||||
.or().like(StrUtil.isNotBlank(queryParam.getKeywords()), "pq_dev.Sub_Name", queryParam.getKeywords())
|
||||
.or().like(StrUtil.isNotBlank(queryParam.getKeywords()), "pq_dev.name", queryParam.getKeywords())
|
||||
);
|
||||
}
|
||||
//排序
|
||||
if (ObjectUtil.isAllNotEmpty(queryParam.getSortBy(), queryParam.getOrderBy())) {
|
||||
queryWrapper.orderBy(true, queryParam.getOrderBy().equals(DbConstant.ASC), StrUtil.toUnderlineCase(queryParam.getSortBy()));
|
||||
|
||||
@@ -250,6 +250,7 @@ public class AdPlanController extends BaseController {
|
||||
List<String> planIdList = planList.stream().map(AdPlan::getId).collect(Collectors.toList());
|
||||
param.getPlanIdList().addAll(planIdList);
|
||||
}
|
||||
param.setPlanId(plan.getId());
|
||||
Page<PqDevVO> pqDevVOPage = pqDevService.listPqDevs(param);
|
||||
|
||||
List<AdPlan> planList = adPlanService.listByIds(param.getPlanIdList());
|
||||
|
||||
@@ -1777,7 +1777,12 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
// 更新检测计划信息
|
||||
plan.setImportFlag(1);
|
||||
plan.setFatherPlanId(CommonEnum.FATHER_ID.getValue());
|
||||
saveOrUpdate(plan);
|
||||
AdPlan oldPlan = this.getById(plan.getId());
|
||||
// 不存在,则入库
|
||||
if (oldPlan == null) {
|
||||
this.save(plan);
|
||||
}
|
||||
|
||||
|
||||
List<PqDev> devList = subPlanMetaDataVO.getDevList();
|
||||
List<PqStandardDev> standardDevList = subPlanMetaDataVO.getStandardDevList();
|
||||
@@ -1789,8 +1794,14 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
// 批量更新被检设备信息
|
||||
// 设置导入标志为 1
|
||||
devList.forEach(dev -> dev.setImportFlag(1));
|
||||
pqDevService.saveOrUpdateBatch(devList);
|
||||
devList.forEach(dev -> {
|
||||
// 排除已存在的,再入库
|
||||
List<String> devIds = devList.stream().map(PqDev::getId).collect(Collectors.toList());
|
||||
List<PqDevSub> pqDevSubs = pqDevSubService.lambdaQuery().in(PqDevSub::getDevId, devIds).list();
|
||||
List<String> hadDevIds = pqDevSubs.stream().map(PqDevSub::getDevId).collect(Collectors.toList());
|
||||
// 新增被检设备
|
||||
List<PqDev> saveDevList = devList.stream().filter(dev -> !hadDevIds.contains(dev.getId())).collect(Collectors.toList());
|
||||
pqDevService.saveBatch(saveDevList);
|
||||
saveDevList.forEach(dev -> {
|
||||
pqMonitorService.saveOrUpdateBatch(dev.getMonitorList());
|
||||
// 新增时默认设置
|
||||
PqDevSub pqDevSub = new PqDevSub();
|
||||
@@ -1800,17 +1811,21 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
pqDevSub.setCheckState(CheckStateEnum.UNCHECKED.getValue());
|
||||
pqDevSub.setReportState(DevReportStateEnum.UNCHECKED.getValue());
|
||||
pqDevSub.setCheckResult(CheckResultEnum.UNCHECKED.getValue());
|
||||
Integer count = pqDevSubService.lambdaQuery().eq(PqDevSub::getDevId, dev.getId()).count();
|
||||
if (count.intValue() == 0) {
|
||||
pqDevSubService.save(pqDevSub);
|
||||
} else {
|
||||
pqDevSubService.update(pqDevSub, new LambdaUpdateWrapper<PqDevSub>().eq(PqDevSub::getDevId, dev.getId()));
|
||||
}
|
||||
pqDevSubService.save(pqDevSub);
|
||||
});
|
||||
List<String> devIds = devList.stream().map(PqDev::getId).collect(Collectors.toList());
|
||||
// 守时检测
|
||||
pqDevService.updatePqDevTimeCheckResult(devIds, TimeCheckResultEnum.UNKNOWN);
|
||||
|
||||
// 移除未检测的被检设备
|
||||
List<String> uncheckedDevIds = pqDevSubs.stream()
|
||||
.filter(pqDevSub -> pqDevSub.getCheckState().equals(CheckStateEnum.UNCHECKED.getValue()))
|
||||
.map(PqDevSub::getDevId)
|
||||
.collect(Collectors.toList());
|
||||
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));
|
||||
}
|
||||
// 批量更新标准设备信息
|
||||
pqStandardDevService.saveOrUpdateBatch(standardDevList);
|
||||
List<String> standardDevIds = standardDevList.stream().map(PqStandardDev::getId).collect(Collectors.toList());
|
||||
|
||||
@@ -1616,7 +1616,12 @@ public class ResultServiceImpl implements IResultService {
|
||||
|
||||
List<PqMonitor> pqMonitorList = pqMonitorService.lambdaQuery().eq(PqMonitor::getDevId, devId).isNotNull(PqMonitor::getResultType).list();
|
||||
List<MonitorResultVO> list = new ArrayList<>();
|
||||
if (CollUtil.isEmpty(pqMonitorList)) {
|
||||
return list;
|
||||
}
|
||||
MonitorResultVO result;
|
||||
// 根据通道号排序
|
||||
pqMonitorList.sort(Comparator.comparing(PqMonitor::getNum));
|
||||
for (PqMonitor pqMonitor : pqMonitorList) {
|
||||
result = new MonitorResultVO();
|
||||
result.setMonitorId(pqMonitor.getDevId() + CnSocketUtil.SPLIT_TAG + pqMonitor.getNum());
|
||||
|
||||
Reference in New Issue
Block a user