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