检测计划导出,微调被检设备、误差体系
This commit is contained in:
@@ -3,6 +3,7 @@ package com.njcn.gather.device.device.controller;
|
||||
import cn.afterturn.easypoi.excel.ExcelImportUtil;
|
||||
import cn.afterturn.easypoi.excel.entity.ImportParams;
|
||||
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
@@ -17,8 +18,12 @@ import com.njcn.gather.device.device.pojo.po.PqDev;
|
||||
import com.njcn.gather.device.device.pojo.vo.PqDevExcel;
|
||||
import com.njcn.gather.device.device.pojo.vo.PqDevVO;
|
||||
import com.njcn.gather.device.device.service.IPqDevService;
|
||||
import com.njcn.gather.device.pojo.constant.DevConst;
|
||||
import com.njcn.gather.device.pojo.enums.DevResponseEnum;
|
||||
import com.njcn.gather.system.dictionary.pojo.po.DictData;
|
||||
import com.njcn.gather.system.dictionary.service.IDictDataService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import com.njcn.web.utils.ExcelUtil;
|
||||
import com.njcn.web.utils.HttpResultUtil;
|
||||
import com.njcn.web.utils.PoiUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -48,6 +53,8 @@ import java.util.Map;
|
||||
public class PqDevController extends BaseController {
|
||||
|
||||
private final IPqDevService pqDevService;
|
||||
private final IDictDataService dictDataService;
|
||||
|
||||
|
||||
@OperateInfo
|
||||
@PostMapping("/list")
|
||||
@@ -159,7 +166,16 @@ public class PqDevController extends BaseController {
|
||||
public void export(@RequestBody @Validated PqDevParam.QueryParam queryParam) {
|
||||
String methodDescribe = getMethodDescribe("export");
|
||||
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, queryParam);
|
||||
pqDevService.exportPqDevData(queryParam);
|
||||
DictData dictData = dictDataService.getDictDataById(queryParam.getPattern());
|
||||
if (ObjectUtil.isNotNull(dictData)) {
|
||||
if (DevConst.PATTERN_CONTRAST.equals(dictData.getCode())) {
|
||||
List<Map<String, Object>> sheetList = pqDevService.getContrastExportSheetList(queryParam);
|
||||
ExcelUtil.exportExcel("被检设备导出数据.xlsx", sheetList);
|
||||
} else {
|
||||
List<Map<String, Object>> sheetList = pqDevService.getSimOrDigitExportSheetList(queryParam);
|
||||
ExcelUtil.exportExcel("被检设备导出数据.xlsx", sheetList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@@ -174,13 +190,24 @@ public class PqDevController extends BaseController {
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/listBoundByPlanId")
|
||||
@PostMapping("/listByPlanId")
|
||||
@ApiOperation("根据检测计划id查询出所有已绑定的设备")
|
||||
@ApiImplicitParam(name = "planId", value = "计划id", required = true)
|
||||
public HttpResult<List<PqDev>> listBoundByPlanId(@RequestBody @Validated PqDevParam.QueryParam param) {
|
||||
String methodDescribe = getMethodDescribe("listBoundByPlanId");
|
||||
public HttpResult<List<PqDev>> listByPlanId(@RequestBody @Validated PqDevParam.QueryParam param) {
|
||||
String methodDescribe = getMethodDescribe("listByPlanId");
|
||||
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, param);
|
||||
List<PqDev> result = pqDevService.listBoundByPlanId(param);
|
||||
List<PqDev> result = pqDevService.listByPlanId(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
// @PostMapping("/listUnDocumentByPlanId")
|
||||
// @ApiOperation("根据检测计划id查询出所有已绑定(未归档)的设备")
|
||||
// @ApiImplicitParam(name = "planId", value = "计划id", required = true)
|
||||
// public HttpResult<List<PqDev>> listUnDocumentByPlanId(@RequestBody @Validated PqDevParam.QueryParam param) {
|
||||
// String methodDescribe = getMethodDescribe("listUnDocumentByPlanId");
|
||||
// LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, param);
|
||||
// List<PqDev> result = pqDevService.listUnDocumentByPlanId(param);
|
||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -137,6 +137,11 @@ public class PqDevParam {
|
||||
@Min(value = 0, message = DevValidMessage.RECHECK_NUM_FORMAT_ERROR)
|
||||
private Integer reCheckNum;
|
||||
|
||||
@ApiModelProperty("是否支持系数校准")
|
||||
@Min(value = 0, message = DevValidMessage.FACTOR_FLAG_FORMAT_ERROR)
|
||||
@Max(value = 1, message = DevValidMessage.FACTOR_FLAG_FORMAT_ERROR)
|
||||
private String factorFlag;
|
||||
|
||||
@ApiModelProperty("监测点台账列表")
|
||||
@Valid
|
||||
private List<PqMonitorParam> monitorList;
|
||||
@@ -155,7 +160,7 @@ public class PqDevParam {
|
||||
|
||||
@ApiModelProperty("检测状态")
|
||||
@Min(value = 0, message = DevValidMessage.CHECK_STATE_FORMAT_ERROR)
|
||||
@Max(value = 2, message = DevValidMessage.CHECK_STATE_FORMAT_ERROR)
|
||||
@Max(value = 3, message = DevValidMessage.CHECK_STATE_FORMAT_ERROR)
|
||||
private Integer checkState;
|
||||
|
||||
@ApiModelProperty("检测结果")
|
||||
@@ -185,7 +190,6 @@ public class PqDevParam {
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "设备模式,字典表(数字、模拟、比对)")
|
||||
// @NotBlank(message = DevValidMessage.PATTERN_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = DevValidMessage.PATTERN_FORMAT_ERROR)
|
||||
private String pattern;
|
||||
|
||||
@@ -196,10 +200,10 @@ public class PqDevParam {
|
||||
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = DevValidMessage.PLAN_ID_FORMAT_ERROR)
|
||||
private String planId;
|
||||
|
||||
@ApiModelProperty("检测状态")
|
||||
@ApiModelProperty("检测状态列表")
|
||||
private List<
|
||||
@Min(value = 0, message = DevValidMessage.CHECK_STATE_FORMAT_ERROR)
|
||||
@Max(value = 2, message = DevValidMessage.CHECK_STATE_FORMAT_ERROR)
|
||||
private Integer checkState;
|
||||
@Max(value = 3, message = DevValidMessage.CHECK_STATE_FORMAT_ERROR) Integer> checkStateList;
|
||||
|
||||
@ApiModelProperty("检测结果")
|
||||
@Min(value = 0, message = DevValidMessage.CHECK_RESULT_FORMAT_ERROR)
|
||||
|
||||
@@ -72,11 +72,28 @@ public interface IPqDevService extends IService<PqDev> {
|
||||
void importPqDevData(List<PqDevExcel.ContrastImportData> sgEventExcels);
|
||||
|
||||
/**
|
||||
* 导出被检设备信息
|
||||
* 根据检测计划planIds获取被检设备设备导出时所需的SheetMap
|
||||
*
|
||||
* @param planIds
|
||||
* @return SheetMap
|
||||
*/
|
||||
Map<String, Object> getExportSheetMap(List<String> planIds, Class clazz);
|
||||
|
||||
/**
|
||||
* 获取模拟式||数字式设备导出时所需的SheetList
|
||||
*
|
||||
* @param queryParam 查询参数
|
||||
* @return SheetList
|
||||
*/
|
||||
void exportPqDevData(PqDevParam.QueryParam queryParam);
|
||||
List<Map<String, Object>> getSimOrDigitExportSheetList(PqDevParam.QueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 获取比对式设备导出时所需的SheetList (包含与之关联的监控点信息)
|
||||
*
|
||||
* @param queryParam 查询参数
|
||||
* @return SheetList
|
||||
*/
|
||||
List<Map<String, Object>> getContrastExportSheetList(PqDevParam.QueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 获取所有未绑定的设备
|
||||
@@ -92,7 +109,7 @@ public interface IPqDevService extends IService<PqDev> {
|
||||
* @param param 计划id
|
||||
* @return 绑定的设备列表
|
||||
*/
|
||||
List<PqDev> listBoundByPlanId(PqDevParam.QueryParam param);
|
||||
List<PqDev> listByPlanId(PqDevParam.QueryParam param);
|
||||
|
||||
/**
|
||||
* 绑定计划
|
||||
@@ -117,4 +134,11 @@ public interface IPqDevService extends IService<PqDev> {
|
||||
* @return
|
||||
*/
|
||||
PqDevVO getPqDevById(String id);
|
||||
|
||||
/**
|
||||
* 获取所有非未检测状态的设备
|
||||
*
|
||||
* @return 所有非未检测状态的设备列表
|
||||
*/
|
||||
List<PqDev> listNotUnchecked();
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -50,25 +51,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
|
||||
@Override
|
||||
public Page<PqDev> listPqDevs(PqDevParam.QueryParam queryParam) {
|
||||
QueryWrapper<PqDev> queryWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtil.isNotNull(queryParam)) {
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(queryParam.getName()), "pq_dev.name", queryParam.getName())
|
||||
.eq(StrUtil.isNotBlank(queryParam.getPattern()), "pq_dev.pattern", queryParam.getPattern())
|
||||
.eq(StrUtil.isNotBlank(queryParam.getManufacturer()), "pq_dev.manufacturer", queryParam.getManufacturer())
|
||||
.between(ObjectUtil.isAllNotEmpty(queryParam.getSearchBeginTime(), queryParam.getSearchEndTime()), "pq_dev.Create_Date", queryParam.getSearchBeginTime(), queryParam.getSearchEndTime());
|
||||
//排序
|
||||
if (ObjectUtil.isAllNotEmpty(queryParam.getSortBy(), queryParam.getOrderBy())) {
|
||||
queryWrapper.orderBy(true, queryParam.getOrderBy().equals(DbConstant.ASC), StrUtil.toUnderlineCase(queryParam.getSortBy()));
|
||||
} else {
|
||||
//没有排序参数,默认根据sort字段排序,没有排序字段的,根据updateTime更新时间排序
|
||||
queryWrapper.orderBy(true, true, "pq_dev.Create_Time");
|
||||
}
|
||||
} else {
|
||||
queryWrapper.orderBy(true, true, "pq_dev.Create_Time");
|
||||
}
|
||||
queryWrapper.eq("pq_dev.state", DataStateEnum.ENABLE.getCode());
|
||||
Page<PqDev> page = this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper);
|
||||
Page<PqDev> page = this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), this.getQueryWrapper(queryParam));
|
||||
page.getRecords().forEach(p -> {
|
||||
if (ObjectUtil.isNotNull(p.getSeries())) {
|
||||
p.setSeries(DeviceUtil.decoderString(1, p.getSeries()));
|
||||
@@ -82,6 +65,8 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
|
||||
@Override
|
||||
public boolean addPqDev(PqDevParam pqDevParam) {
|
||||
this.checkRepeat(pqDevParam, false);
|
||||
|
||||
PqDev pqDev = new PqDev();
|
||||
BeanUtil.copyProperties(pqDevParam, pqDev);
|
||||
if (pqDevParam.getEncryptionFlag() == 1) {
|
||||
@@ -111,6 +96,8 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
|
||||
@Override
|
||||
public boolean updatePqDev(PqDevParam.UpdateParam updateParam) {
|
||||
this.checkRepeat(updateParam, true);
|
||||
|
||||
PqDev pqDev = new PqDev();
|
||||
BeanUtil.copyProperties(updateParam, pqDev);
|
||||
if (Objects.nonNull(pqDev.getSeries())) {
|
||||
@@ -177,73 +164,59 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportPqDevData(PqDevParam.QueryParam queryParam) {
|
||||
QueryWrapper<PqDev> queryWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtil.isNotNull(queryParam)) {
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(queryParam.getName()), "pq_dev.name", queryParam.getName())
|
||||
.eq(StrUtil.isNotBlank(queryParam.getPattern()), "pq_dev.pattern", queryParam.getPattern())
|
||||
.eq(StrUtil.isNotBlank(queryParam.getManufacturer()), "pq_dev.manufacturer", queryParam.getManufacturer())
|
||||
.between(ObjectUtil.isAllNotEmpty(queryParam.getSearchBeginTime(), queryParam.getSearchEndTime()), "pq_dev.Create_Date", queryParam.getSearchBeginTime(), queryParam.getSearchEndTime());
|
||||
//排序
|
||||
if (ObjectUtil.isAllNotEmpty(queryParam.getSortBy(), queryParam.getOrderBy())) {
|
||||
queryWrapper.orderBy(true, queryParam.getOrderBy().equals(DbConstant.ASC), StrUtil.toUnderlineCase(queryParam.getSortBy()));
|
||||
} else {
|
||||
//没有排序参数,默认根据sort字段排序,没有排序字段的,根据updateTime更新时间排序
|
||||
queryWrapper.orderBy(true, false, "pq_dev.Create_Time");
|
||||
public Map<String, Object> getExportSheetMap(List<String> planIds, Class clazz) {
|
||||
List<PqDev> devList = new ArrayList<>();
|
||||
if (ObjectUtil.isNotEmpty(planIds)) {
|
||||
devList.addAll(this.lambdaQuery().in(PqDev::getPlanId, planIds).eq(PqDev::getState, DataStateEnum.ENABLE.getCode()).orderBy(true, true, PqDev::getCreateTime).list());
|
||||
}
|
||||
} else {
|
||||
queryWrapper.orderBy(true, false, "pq_dev.Create_Time");
|
||||
this.visualize(devList);
|
||||
|
||||
List<Object> pqDevExcels = BeanUtil.copyToList(devList, clazz);
|
||||
Map<String, Object> sheetMap = new HashMap<>();
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setSheetName("被检设备");
|
||||
sheetMap.put("title", exportParams);
|
||||
sheetMap.put("data", pqDevExcels);
|
||||
sheetMap.put("entity", PqDevExcel.ContrastExportData.class);
|
||||
|
||||
return sheetMap;
|
||||
}
|
||||
queryWrapper.eq("pq_dev.state", DataStateEnum.ENABLE.getCode());
|
||||
List<PqDev> pqDevs = this.list(queryWrapper);
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getSimOrDigitExportSheetList(PqDevParam.QueryParam queryParam) {
|
||||
List<PqDev> pqDevs = this.list(this.getQueryWrapper(queryParam));
|
||||
this.visualize(pqDevs);
|
||||
DictData dictData = dictDataService.getDictDataById(queryParam.getPattern());
|
||||
if (ObjectUtil.isNotNull(dictData)) {
|
||||
if (DevConst.PATTERN_CONTRAST.equals(dictData.getCode())) {
|
||||
List<PqDevExcel.ContrastExportData> pqDevExcels = BeanUtil.copyToList(pqDevs, PqDevExcel.ContrastExportData.class);
|
||||
|
||||
Map<String, Object> sheet1 = new HashMap<>();
|
||||
ExportParams exportParams1 = new ExportParams();
|
||||
exportParams1.setSheetName("被检设备");
|
||||
sheet1.put("title", exportParams1);
|
||||
sheet1.put("data", pqDevExcels);
|
||||
sheet1.put("entity", PqDevExcel.ContrastExportData.class);
|
||||
|
||||
List<PqMonitorExcel.ExportData> pqMonitorExcels = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < pqDevs.size(); i++) {
|
||||
List<PqMonitor> pqMonitors = pqMonitorService.listPqMonitorByDevId(pqDevs.get(i).getId());
|
||||
if (ObjectUtil.isNotEmpty(pqMonitors)) {
|
||||
List<PqMonitorExcel.ExportData> exportData = BeanUtil.copyToList(pqMonitors, PqMonitorExcel.ExportData.class);
|
||||
int finalI = i;
|
||||
exportData.forEach(data -> {
|
||||
// 给监测点台账添加设备名称
|
||||
data.setDevName(pqDevs.get(finalI).getName());
|
||||
data.setPtType(dictDataService.getDictDataById(data.getPtType()).getName());
|
||||
});
|
||||
pqMonitorExcels.addAll(exportData);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, Object> sheet2 = new HashMap<>();
|
||||
ExportParams exportParams2 = new ExportParams();
|
||||
exportParams2.setSheetName("监测点台账");
|
||||
sheet2.put("title", exportParams2);
|
||||
sheet2.put("data", pqMonitorExcels);
|
||||
sheet2.put("entity", PqMonitorExcel.ExportData.class);
|
||||
|
||||
List<Map<String, Object>> sheetsList = new ArrayList<>();
|
||||
sheetsList.add(sheet1);
|
||||
sheetsList.add(sheet2);
|
||||
|
||||
ExcelUtil.exportExcel("被检设备导出数据.xlsx", sheetsList);
|
||||
// ExcelUtil.exportExcel("被检设备导出数据.xlsx", "被检设备", PqDevExcel.ContrastExportData.class, pqDevExcels);
|
||||
} else {
|
||||
List<PqDevExcel.SimulateAndDigitalExportData> pqDevExcels = BeanUtil.copyToList(pqDevs, PqDevExcel.SimulateAndDigitalExportData.class);
|
||||
ExcelUtil.exportExcel("被检设备导出数据.xlsx", "被检设备", PqDevExcel.SimulateAndDigitalExportData.class, pqDevExcels);
|
||||
}
|
||||
|
||||
Map<String, Object> sheetMap = new HashMap<>();
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setSheetName("被检设备");
|
||||
sheetMap.put("title", exportParams);
|
||||
sheetMap.put("data", pqDevExcels);
|
||||
sheetMap.put("entity", PqDevExcel.SimulateAndDigitalExportData.class);
|
||||
return Collections.singletonList(sheetMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getContrastExportSheetList(PqDevParam.QueryParam queryParam) {
|
||||
List<PqDev> pqDevs = this.list(this.getQueryWrapper(queryParam));
|
||||
this.visualize(pqDevs);
|
||||
|
||||
List<PqDevExcel.ContrastExportData> pqDevExcels = BeanUtil.copyToList(pqDevs, PqDevExcel.ContrastExportData.class);
|
||||
Map<String, Object> sheetMap1 = new HashMap<>();
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setSheetName("被检设备");
|
||||
sheetMap1.put("title", exportParams);
|
||||
sheetMap1.put("data", pqDevExcels);
|
||||
sheetMap1.put("entity", PqDevExcel.ContrastExportData.class);
|
||||
|
||||
Map<String, Object> sheetMap2 = pqMonitorService.getExportSheetMap(pqDevs);
|
||||
|
||||
List<Map<String, Object>> sheetList = new ArrayList<>();
|
||||
sheetList.add(sheetMap1);
|
||||
sheetList.add(sheetMap2);
|
||||
|
||||
return sheetList;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -259,11 +232,11 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PqDev> listBoundByPlanId(PqDevParam.QueryParam param) {
|
||||
public List<PqDev> listByPlanId(PqDevParam.QueryParam param) {
|
||||
List<PqDev> pqDevList = this.lambdaQuery()
|
||||
.eq(StrUtil.isNotBlank(param.getPlanId()), PqDev::getPlanId, param.getPlanId())
|
||||
.eq(StrUtil.isNotBlank(param.getName()), PqDev::getName, param.getName())
|
||||
.eq(ObjectUtil.isNotNull(param.getCheckState()), PqDev::getCheckState, param.getCheckState())
|
||||
.in(ObjectUtil.isNotEmpty(param.getCheckStateList()), PqDev::getCheckState, param.getCheckStateList())
|
||||
.eq(ObjectUtil.isNotNull(param.getCheckResult()), PqDev::getCheckResult, param.getCheckResult())
|
||||
.eq(PqDev::getState, DataStateEnum.ENABLE.getCode()).list();
|
||||
// List<Map<String, Object>> result = pqDevList.stream().map(pqDev -> {
|
||||
@@ -275,6 +248,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
return pqDevList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean bind(AdPlanParam.BindPlanParam bindPlanParam) {
|
||||
String planId = bindPlanParam.getPlanId();
|
||||
@@ -282,7 +256,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
|
||||
PqDevParam.QueryParam queryParam = new PqDevParam.QueryParam();
|
||||
queryParam.setPlanId(planId);
|
||||
List<String> existedBoundPqDevIds = this.listBoundByPlanId(queryParam).stream().map(PqDev::getId).collect(Collectors.toList());
|
||||
List<String> existedBoundPqDevIds = this.listByPlanId(queryParam).stream().map(PqDev::getId).collect(Collectors.toList());
|
||||
|
||||
//共有的(交集)
|
||||
List<String> intersection = existedBoundPqDevIds.stream().filter(pqDevIds::contains).collect(Collectors.toList());
|
||||
@@ -332,6 +306,34 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
||||
return pqDevVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PqDev> listNotUnchecked() {
|
||||
return this.lambdaQuery().ne(PqDev::getCheckState, CheckStateEnum.UNCHECKED.getValue()).eq(PqDev::getState, DataStateEnum.ENABLE.getCode()).list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取查询条件wrapper
|
||||
*
|
||||
* @param queryParam 查询条件
|
||||
* @return
|
||||
*/
|
||||
private Wrapper getQueryWrapper(PqDevParam.QueryParam queryParam) {
|
||||
QueryWrapper<PqDev> queryWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtil.isNotNull(queryParam)) {
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(queryParam.getName()), "pq_dev.name", queryParam.getName())
|
||||
.eq(StrUtil.isNotBlank(queryParam.getPattern()), "pq_dev.pattern", queryParam.getPattern())
|
||||
.eq(StrUtil.isNotBlank(queryParam.getManufacturer()), "pq_dev.manufacturer", queryParam.getManufacturer())
|
||||
.between(ObjectUtil.isAllNotEmpty(queryParam.getSearchBeginTime(), queryParam.getSearchEndTime()), "pq_dev.Create_Date", queryParam.getSearchBeginTime(), queryParam.getSearchEndTime());
|
||||
//排序
|
||||
if (ObjectUtil.isAllNotEmpty(queryParam.getSortBy(), queryParam.getOrderBy())) {
|
||||
queryWrapper.orderBy(true, queryParam.getOrderBy().equals(DbConstant.ASC), StrUtil.toUnderlineCase(queryParam.getSortBy()));
|
||||
}
|
||||
}
|
||||
queryWrapper.eq("pq_dev.state", DataStateEnum.ENABLE.getCode()).orderBy(true, true, "pq_dev.Create_Time");
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取检测状态饼状图数据
|
||||
*
|
||||
|
||||
@@ -19,11 +19,6 @@ import java.util.List;
|
||||
@Data
|
||||
public class PqErrSysParam {
|
||||
|
||||
@ApiModelProperty(value = "误差体系名称", required = true)
|
||||
@NotBlank(message = DevValidMessage.NAME_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.ERR_SYS_NAME, message = DevValidMessage.NAME_FORMAT_ERROR)
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "参照标准名称", required = true)
|
||||
@NotBlank(message = DevValidMessage.STANDARD_NAME_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.ERR_SYS_NAME, message = DevValidMessage.STANDARD_NAME_FORMAT_ERROR)
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.njcn.gather.system.dictionary.service.IDictTreeService;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -183,4 +184,17 @@ public class PqErrSysServiceImpl extends ServiceImpl<PqErrSysMapper, PqErrSys> i
|
||||
// pqErrSys.getPqErrSysDtlsList().forEach(pqErrSysDtls -> pqErrSysDtls.setId(UUID.randomUUID().toString().replaceAll("-", "")));
|
||||
// return this.save(pqErrSys);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 生成误差体系名称(标准号+年份+设备等级)
|
||||
*
|
||||
* @return 检测源名称
|
||||
*/
|
||||
private String generatePqSourceName(PqErrSysParam param) {
|
||||
DictData devLevel = dictDataService.getDictDataById(param.getDevLevel());
|
||||
if (ObjectUtils.allNotNull(param.getStandardName(), param.getStandardTime(), devLevel)) {
|
||||
return param.getStandardName() + "-" + param.getStandardTime() + "-" + devLevel.getName();
|
||||
}
|
||||
throw new BusinessException(DevResponseEnum.ERR_SOURCE_GEN_NAME_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.njcn.gather.device.monitor.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.gather.device.device.pojo.po.PqDev;
|
||||
import com.njcn.gather.device.monitor.pojo.param.PqMonitorParam;
|
||||
import com.njcn.gather.device.monitor.pojo.po.PqMonitor;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author caozehui
|
||||
@@ -45,4 +47,12 @@ public interface IPqMonitorService extends IService<PqMonitor> {
|
||||
* @return 修改成功返回true,否则返回false
|
||||
*/
|
||||
boolean updatePqMonitorByDevId(String devId, List<PqMonitorParam> paramList);
|
||||
|
||||
/**
|
||||
* 根据被检设备获取导出监测点数据时所需的SheetMap
|
||||
*
|
||||
* @param devList 被检设备列表
|
||||
* @return SheetMap
|
||||
*/
|
||||
Map<String, Object> getExportSheetMap(List<PqDev> devList);
|
||||
}
|
||||
|
||||
@@ -1,17 +1,25 @@
|
||||
package com.njcn.gather.device.monitor.service.impl;
|
||||
|
||||
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.gather.device.device.pojo.po.PqDev;
|
||||
import com.njcn.gather.device.monitor.mapper.PqMonitorMapper;
|
||||
import com.njcn.gather.device.monitor.pojo.param.PqMonitorParam;
|
||||
import com.njcn.gather.device.monitor.pojo.po.PqMonitor;
|
||||
import com.njcn.gather.device.monitor.pojo.vo.PqMonitorExcel;
|
||||
import com.njcn.gather.device.monitor.service.IPqMonitorService;
|
||||
import com.njcn.gather.system.dictionary.service.IDictDataService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author caozehui
|
||||
@@ -22,6 +30,8 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
public class PqMonitorServiceImpl extends ServiceImpl<PqMonitorMapper, PqMonitor> implements IPqMonitorService {
|
||||
|
||||
private final IDictDataService dictDataService;
|
||||
|
||||
@Override
|
||||
public List<PqMonitor> listPqMonitorByDevId(String devId) {
|
||||
return this.lambdaQuery().eq(PqMonitor::getDevId, devId).list();
|
||||
@@ -50,4 +60,32 @@ public class PqMonitorServiceImpl extends ServiceImpl<PqMonitorMapper, PqMonitor
|
||||
pqMonitorList.forEach(pqMonitor -> pqMonitor.setDevId(devId));
|
||||
return this.saveBatch(pqMonitorList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getExportSheetMap(List<PqDev> devList) {
|
||||
List<PqMonitorExcel.ExportData> pqMonitorExcels = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < devList.size(); i++) {
|
||||
List<PqMonitor> pqMonitors = this.listPqMonitorByDevId(devList.get(i).getId());
|
||||
if (ObjectUtil.isNotEmpty(pqMonitors)) {
|
||||
List<PqMonitorExcel.ExportData> exportData = BeanUtil.copyToList(pqMonitors, PqMonitorExcel.ExportData.class);
|
||||
int finalI = i;
|
||||
exportData.forEach(data -> {
|
||||
// 给监测点台账添加设备名称
|
||||
data.setDevName(devList.get(finalI).getName());
|
||||
data.setPtType(dictDataService.getDictDataById(data.getPtType()).getName());
|
||||
});
|
||||
pqMonitorExcels.addAll(exportData);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, Object> sheetMap = new HashMap<>();
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setSheetName("监测点台账");
|
||||
sheetMap.put("title", exportParams);
|
||||
sheetMap.put("data", pqMonitorExcels);
|
||||
sheetMap.put("entity", PqMonitorExcel.ExportData.class);
|
||||
|
||||
return sheetMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.njcn.gather.device.plan.pojo.param.AdPlanParam;
|
||||
import com.njcn.gather.device.plan.pojo.vo.AdPlanVO;
|
||||
import com.njcn.gather.device.plan.service.IAdPlanService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import com.njcn.web.utils.ExcelUtil;
|
||||
import com.njcn.web.utils.HttpResultUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -121,6 +122,17 @@ public class AdPlanController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(operateType = OperateType.DOWNLOAD)
|
||||
@PostMapping("/export")
|
||||
@ApiOperation("导出检测计划")
|
||||
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
|
||||
public void export(@RequestBody @Validated AdPlanParam.QueryParam queryParam) {
|
||||
String methodDescribe = getMethodDescribe("download");
|
||||
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, queryParam);
|
||||
List<Map<String, Object>> sheetList = adPlanService.getAdPlanEexportSheetList(queryParam);
|
||||
ExcelUtil.exportExcel("检测计划导出数据.xlsx", sheetList);
|
||||
}
|
||||
|
||||
@OperateInfo
|
||||
@GetMapping("/getPieData")
|
||||
@ApiOperation("获取饼状图数据")
|
||||
|
||||
@@ -8,13 +8,13 @@ import lombok.Getter;
|
||||
*/
|
||||
@Getter
|
||||
public enum DataSourceEnum {
|
||||
THREE_SENSE_ACTUAL_TIME_DATA("0","3秒实时数据"),
|
||||
THREE_SENSE_ACTUAL_TIME_DATA("0", "3秒实时数据"),
|
||||
|
||||
MINUTE_STATISTICS_MAX("1","分钟统计数据-最大"),
|
||||
MINUTE_STATISTICS_MIN("2","分钟统计数据-最小"),
|
||||
MINUTE_STATISTICS_AVG("3","分钟统计数据-平均"),
|
||||
MINUTE_STATISTICS_CP95("4","分钟统计数据-CP95"),
|
||||
RECORDED_DATA("5","录播数据");
|
||||
MINUTE_STATISTICS_MAX("1", "分钟统计数据-最大"),
|
||||
MINUTE_STATISTICS_MIN("2", "分钟统计数据-最小"),
|
||||
MINUTE_STATISTICS_AVG("3", "分钟统计数据-平均"),
|
||||
MINUTE_STATISTICS_CP95("4", "分钟统计数据-CP95"),
|
||||
RECORDED_DATA("5", "录播数据");
|
||||
|
||||
private String value;
|
||||
private String msg;
|
||||
@@ -23,4 +23,13 @@ public enum DataSourceEnum {
|
||||
this.value = value;
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public static String getMsgByValue(String value) {
|
||||
for (DataSourceEnum dataSourceEnum : DataSourceEnum.values()) {
|
||||
if (dataSourceEnum.getValue().equals(value)) {
|
||||
return dataSourceEnum.getMsg();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.njcn.gather.device.plan.pojo.vo;
|
||||
|
||||
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||
import com.njcn.gather.device.pojo.constant.DevValidMessage;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @author caozehui
|
||||
* @data 2024-12-11
|
||||
*/
|
||||
@Data
|
||||
public class AdPlanExcel {
|
||||
@Excel(name = "名称", width = 40)
|
||||
private String name;
|
||||
|
||||
@Excel(name = "模式", width = 20)
|
||||
@NotBlank(message = DevValidMessage.PATTERN_NOT_BLANK)
|
||||
private String pattern;
|
||||
|
||||
@Excel(name = "父计划id", width = 25)
|
||||
private String fatherPlanId;
|
||||
|
||||
@Excel(name = "数据源", width = 20)
|
||||
private String datasource;
|
||||
|
||||
@Excel(name = "脚本", width = 50)
|
||||
private String script;
|
||||
|
||||
@Excel(name = "误差体系", width = 30)
|
||||
private String errorSys;
|
||||
|
||||
@Excel(name = "是否做守时检测", width = 15, replace = {"否_0", "是_1"})
|
||||
private Integer timeCheck;
|
||||
|
||||
@Excel(name = "检测状态", width = 10, replace = {"未检_0", "检测中_1", "检测完成_2"})
|
||||
private Integer testState;
|
||||
|
||||
@Excel(name = "报告生成状态", width = 15, replace = {"未生成_0", "部分生成_1", "全部生成_2"})
|
||||
private Integer reportState;
|
||||
|
||||
@Excel(name = "检测结果", width = 10, replace = {"不符合_0", "符合_1", "/_2"})
|
||||
private Integer result;
|
||||
|
||||
@Excel(name = "数据表后缀", width = 20)
|
||||
private Integer code;
|
||||
}
|
||||
@@ -54,4 +54,12 @@ public interface IAdPlanService extends IService<AdPlan> {
|
||||
* @return 检测计划列表
|
||||
*/
|
||||
List<Map<String, Object>> listByPattern(String pattern);
|
||||
|
||||
/**
|
||||
* 获取检测计划导出时所需的SheetList (包含与之关联的设备信息)
|
||||
*
|
||||
* @param queryParam 查询参数
|
||||
* @return SheetList
|
||||
*/
|
||||
List<Map<String, Object>> getAdPlanEexportSheetList(AdPlanParam.QueryParam queryParam);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.njcn.gather.device.plan.service.impl;
|
||||
|
||||
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -10,11 +12,15 @@ import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.gather.device.device.pojo.enums.TimeCheckResultEnum;
|
||||
import com.njcn.gather.device.device.pojo.param.PqDevParam;
|
||||
import com.njcn.gather.device.device.pojo.po.PqDev;
|
||||
import com.njcn.gather.device.device.pojo.vo.PqDevExcel;
|
||||
import com.njcn.gather.device.device.service.IPqDevService;
|
||||
import com.njcn.gather.device.err.service.IPqErrSysService;
|
||||
import com.njcn.gather.device.plan.mapper.AdPlanMapper;
|
||||
import com.njcn.gather.device.plan.pojo.enums.DataSourceEnum;
|
||||
import com.njcn.gather.device.plan.pojo.param.AdPlanParam;
|
||||
import com.njcn.gather.device.plan.pojo.po.AdPlan;
|
||||
import com.njcn.gather.device.plan.pojo.vo.AdPlanExcel;
|
||||
import com.njcn.gather.device.plan.pojo.vo.AdPlanVO;
|
||||
import com.njcn.gather.device.plan.service.IAdPlanService;
|
||||
import com.njcn.gather.device.plan.service.IAdPlanSourceService;
|
||||
@@ -25,6 +31,8 @@ import com.njcn.gather.device.pojo.enums.DevResponseEnum;
|
||||
import com.njcn.gather.device.pojo.enums.PlanReportStateEnum;
|
||||
import com.njcn.gather.device.script.service.IPqScriptService;
|
||||
import com.njcn.gather.device.source.pojo.po.PqSource;
|
||||
import com.njcn.gather.system.dictionary.pojo.po.DictData;
|
||||
import com.njcn.gather.system.dictionary.service.IDictDataService;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -47,19 +55,11 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
private final IPqErrSysService pqErrSysService;
|
||||
private final IAdPlanSourceService adPlanSourceService;
|
||||
private final IPqDevService pqDevService;
|
||||
private final IDictDataService dictDataService;
|
||||
|
||||
@Override
|
||||
public Page<AdPlanVO> listAdPlan(AdPlanParam.QueryParam queryParam) {
|
||||
QueryWrapper<AdPlan> queryWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtil.isNotNull(queryParam)) {
|
||||
queryWrapper.eq(StrUtil.isNotBlank(queryParam.getPattern()), "ad_plan.pattern", queryParam.getPattern())
|
||||
.eq(StrUtil.isNotBlank(queryParam.getName()), "ad_plan.name", queryParam.getName())
|
||||
.eq(ObjectUtil.isNotNull(queryParam.getTestState()), "ad_plan.Test_State", queryParam.getTestState())
|
||||
.eq(ObjectUtil.isNotNull(queryParam.getReportState()), "ad_plan.Report_State", queryParam.getReportState())
|
||||
.eq(ObjectUtil.isNotNull(queryParam.getResult()), "ad_plan.result", queryParam.getResult());
|
||||
}
|
||||
queryWrapper.eq("ad_plan.state", DataStateEnum.ENABLE.getCode());
|
||||
Page<AdPlan> page1 = this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper);
|
||||
Page<AdPlan> page1 = this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), this.getQueryWrapper(queryParam));
|
||||
List<AdPlan> adPlans = page1.getRecords();
|
||||
List<AdPlanVO> adPlanVOList = adPlans.stream().map(adPlan -> {
|
||||
AdPlanVO adPlanVO = new AdPlanVO();
|
||||
@@ -129,11 +129,18 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
// 修改检测计划、检测源关联
|
||||
adPlanSourceService.updateAdPlanSource(param.getId(), param.getSourceIds());
|
||||
if (ObjectUtil.isNotEmpty(param.getDevIds())) {
|
||||
// 修改时,只有未检测过的设备才可以修改绑定设备
|
||||
List<String> notUnCheckedIds = pqDevService.listNotUnchecked().stream().map(PqDev::getId).collect(Collectors.toList());
|
||||
List<String> intersection = new ArrayList<>(notUnCheckedIds);
|
||||
intersection.retainAll(param.getDevIds());
|
||||
if (ObjectUtil.isEmpty(intersection)) {
|
||||
AdPlanParam.BindPlanParam bindPlanParam = new AdPlanParam.BindPlanParam();
|
||||
bindPlanParam.setPlanId(param.getId());
|
||||
bindPlanParam.setPqDevIds(param.getDevIds());
|
||||
// 修改时,修改绑定设备
|
||||
pqDevService.bind(bindPlanParam);
|
||||
} else {
|
||||
throw new BusinessException(DevResponseEnum.HAS_NOT_UNCHECKED_DEVICE);
|
||||
}
|
||||
}
|
||||
|
||||
return this.updateById(adPlan);
|
||||
@@ -144,7 +151,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
for (String id : ids) {
|
||||
PqDevParam.QueryParam queryParam = new PqDevParam.QueryParam();
|
||||
queryParam.setPlanId(id);
|
||||
if (ObjectUtils.isNotEmpty(pqDevService.listBoundByPlanId(queryParam))) {
|
||||
if (ObjectUtils.isNotEmpty(pqDevService.listByPlanId(queryParam))) {
|
||||
throw new BusinessException(DevResponseEnum.PLAN_HAS_DEVICE_BIND);
|
||||
}
|
||||
}
|
||||
@@ -184,4 +191,74 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getAdPlanEexportSheetList(AdPlanParam.QueryParam queryParam) {
|
||||
List<AdPlan> adPlans = this.list(this.getQueryWrapper(queryParam));
|
||||
|
||||
List<AdPlanExcel> adPlanExcelList = this.getAdPlanExcelList(adPlans);
|
||||
Map<String, Object> sheetMap1 = new HashMap<>();
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setSheetName("检测计划");
|
||||
sheetMap1.put("title", exportParams);
|
||||
sheetMap1.put("entity", AdPlanExcel.class);
|
||||
sheetMap1.put("data", adPlanExcelList);
|
||||
|
||||
List<Map<String, Object>> sheetList = new ArrayList<>();
|
||||
sheetList.add(sheetMap1);
|
||||
DictData dictData = dictDataService.getDictDataById(queryParam.getPattern());
|
||||
if (ObjectUtil.isNotNull(dictData)) {
|
||||
if (DevConst.PATTERN_CONTRAST.equals(dictData.getCode())) {
|
||||
sheetList.add(pqDevService.getExportSheetMap(adPlans.stream().map(AdPlan::getId).collect(Collectors.toList()), PqDevExcel.ContrastExportData.class));
|
||||
} else {
|
||||
sheetList.add(pqDevService.getExportSheetMap(adPlans.stream().map(AdPlan::getId).collect(Collectors.toList()), PqDevExcel.SimulateAndDigitalExportData.class));
|
||||
}
|
||||
}
|
||||
|
||||
return sheetList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取查询条件wrapper
|
||||
*
|
||||
* @param queryParam 查询条件
|
||||
* @return
|
||||
*/
|
||||
private Wrapper getQueryWrapper(AdPlanParam.QueryParam queryParam) {
|
||||
QueryWrapper<AdPlan> queryWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtil.isNotNull(queryParam)) {
|
||||
queryWrapper.eq(StrUtil.isNotBlank(queryParam.getPattern()), "ad_plan.pattern", queryParam.getPattern()).eq(StrUtil.isNotBlank(queryParam.getName()), "ad_plan.name", queryParam.getName()).eq(ObjectUtil.isNotNull(queryParam.getTestState()), "ad_plan.Test_State", queryParam.getTestState()).eq(ObjectUtil.isNotNull(queryParam.getReportState()), "ad_plan.Report_State", queryParam.getReportState()).eq(ObjectUtil.isNotNull(queryParam.getResult()), "ad_plan.result", queryParam.getResult());
|
||||
}
|
||||
queryWrapper.eq("ad_plan.state", DataStateEnum.ENABLE.getCode()).orderBy(true, true, "Create_Time");
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取检测计划excel数据
|
||||
*
|
||||
* @param adPlans 检测计划列表
|
||||
* @return 检测计划excel数据
|
||||
*/
|
||||
private List<AdPlanExcel> getAdPlanExcelList(List<AdPlan> adPlans) {
|
||||
return adPlans.stream().map(adPlan -> {
|
||||
AdPlanExcel adPlanExcel = new AdPlanExcel();
|
||||
BeanUtil.copyProperties(adPlan, adPlanExcel);
|
||||
adPlanExcel.setPattern(dictDataService.getDictDataById(adPlan.getPattern()).getName());
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String datasourceId : adPlan.getDatasourceId().split(StrUtil.COMMA)) {
|
||||
sb.append(DataSourceEnum.getMsgByValue(datasourceId)).append(StrUtil.COMMA);
|
||||
}
|
||||
adPlanExcel.setDatasource(sb.toString().substring(0, sb.length() - 1));
|
||||
adPlanExcel.setScript(pqScriptService.getPqScriptById(adPlan.getScriptId()).getName());
|
||||
|
||||
sb.delete(0, sb.length());
|
||||
|
||||
for (String errorSysId : adPlan.getErrorSysId().split(StrUtil.COMMA)) {
|
||||
sb.append(pqErrSysService.getPqErrSysById(errorSysId).getName()).append(StrUtil.COMMA);
|
||||
}
|
||||
adPlanExcel.setErrorSys(sb.toString().substring(0, sb.length() - 1));
|
||||
|
||||
return adPlanExcel;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,4 +183,6 @@ public interface DevValidMessage {
|
||||
String MONITOR_CODE_FORMAT_ERROR = "监测点编码格式错误";
|
||||
|
||||
String MONITOR_NUM_NOT_NULL = "监测点序号不能为空";
|
||||
|
||||
String FACTOR_FLAG_FORMAT_ERROR = "是否支持系数校准格式错误";
|
||||
}
|
||||
|
||||
@@ -9,17 +9,19 @@ public enum DevResponseEnum {
|
||||
IMPORT_DATA_FAIL("A001002", "导入数据失败"),
|
||||
SERIES_AND_DEVKEY_NOT_BLANK("A001003", "加密设备的序列号和设备密钥不能为空"),
|
||||
PQ_SOURCE_GEN_NAME_ERROR("A001004", "检测源生成名称出错"),
|
||||
ERR_SOURCE_GEN_NAME_ERROR("A001005", "误差体系生成名称出错"),
|
||||
PQ_ERRSYS_GEN_NAME_ERROR("A001005", "误差体系生成名称出错"),
|
||||
PLAN_HAS_DEVICE_BIND("A001006", "检测计划下已绑定设备,请先解绑设备"),
|
||||
PQ_DEV_REPEAT("A001007", "重复的被检设备"),
|
||||
PQ_DEV_HAS_MONITOR("A001008", "该设备下关联有监测点,请先移除监测点"),;
|
||||
PQ_DEV_HAS_MONITOR("A001008", "该设备下关联有监测点,请先移除监测点"),
|
||||
HAS_NOT_UNCHECKED_DEVICE("A001009", "设备在检测中或已被检测过,请勿解除绑定"),;
|
||||
|
||||
private final String msg;
|
||||
private final String message;
|
||||
private final String code;
|
||||
|
||||
|
||||
DevResponseEnum(String code, String msg) {
|
||||
DevResponseEnum(String code, String message) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user