调整检测计划导入、导出功能

This commit is contained in:
caozehui
2025-03-25 16:10:17 +08:00
parent 6ff3d7e336
commit 22028fe7eb
39 changed files with 620 additions and 730 deletions

View File

@@ -53,21 +53,6 @@ public class PqDevController extends BaseController {
private final IPqDevService pqDevService;
private final IDevTypeService devTypeService;
@OperateInfo
@GetMapping("/aaa")
@ApiOperation("分页查询被检设备")
@ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
public HttpResult<List<PreDetection>> aaa() {
String methodDescribe = getMethodDescribe("list");
List<PreDetection> devInfo = pqDevService.getDevInfo(Arrays.asList("578c142b7e4e4978a35bd6225aa62a23", "393504f55f1f79bce255bfc195cfdb56"));
Map<String, List<PreDetection>> map = new HashMap();
map.put("deviceList", devInfo);
String jsonString = JSON.toJSONString(map);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, devInfo, methodDescribe);
}
@OperateInfo
@PostMapping("/list")
@ApiOperation("分页查询被检设备")
@@ -170,107 +155,6 @@ public class PqDevController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
// @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD)
// @PostMapping(value = "/importContrast")
// @ApiOperation("批量导入被检设备数据")
// @ApiImplicitParam(name = "file", value = "被检设备数据文件", required = true)
// public HttpResult<Object> importContrastData(@RequestParam("file") MultipartFile file, HttpServletResponse response) {
// String methodDescribe = getMethodDescribe("importContrastData");
// LogUtil.njcnDebug(log, "{},上传文件为:{}", methodDescribe, file.getOriginalFilename());
// ImportParams params = new ImportParams();
// params.setHeadRows(2);
// params.setNeedVerify(true);
// params.setStartSheetIndex(0);
// params.setSheetNum(1);
// try {
// ExcelImportResult<PqDevExcel.ContrastImportData> excelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), PqDevExcel.ContrastImportData.class, params);
// //如果存在非法数据,将不合格的数据导出
// if (excelImportResult.isVerifyFail()) {
// // 此处前端要做特殊处理,具体可以参考技术监督的数据导入
// Workbook failWorkbook = excelImportResult.getFailWorkbook();
// PoiUtil.exportFileByWorkbook(failWorkbook, "非法被检设备数据.xlsx", response);
// } else {
// //批量录入数据
// List<PqDevExcel.ContrastImportData> list = excelImportResult.getList();
// pqDevService.importContrastData(list);
// }
// } catch (Exception e) {
// throw new BusinessException(DevResponseEnum.IMPORT_DATA_FAIL);
// }
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
// }
/**
* 导出灿能二楼设备
*
* @param queryParam
*/
// @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DOWNLOAD)
// @PostMapping("/exportCNDev")
// @ApiOperation("导出被检设备数据")
// @ApiImplicitParam(name = "queryParam", value = "查询参数", required = true)
// public void exportCNDev(@RequestBody @Validated PqDevParam.QueryParam queryParam) {
// String methodDescribe = getMethodDescribe("exportCNDev");
// LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, queryParam);
//
// pqDevService.exportCNDev(queryParam);
// }
/**
* 下载灿能二楼设备导入文件模板
*/
// @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DOWNLOAD)
// @PostMapping("/downloadCNDevTemplate")
// @ApiOperation("下载被检设备导入文件模板")
// public void downloadCNDevTemplate() {
// pqDevService.downloadCNDevTemplate();
// }
/**
* 导入灿能二楼设备
*/
// @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD)
// @PostMapping(value = "/importCNDev")
// @ApiOperation("批量导入设备数据")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "file", value = "被检设备数据文件", required = true),
// @ApiImplicitParam(name = "patternId", value = "模式id", required = true)
// })
// public HttpResult<String> importCNDev(@RequestParam("file") MultipartFile file,@RequestParam("patternId") String patternId, HttpServletResponse response) {
// String methodDescribe = getMethodDescribe("importCNDev");
// LogUtil.njcnDebug(log, "{},上传文件为:{}", methodDescribe, file.getOriginalFilename());
//
// boolean fileType = FileUtil.judgeFileIsExcel(file.getOriginalFilename());
// if (!fileType) {
// throw new BusinessException(CommonResponseEnum.FILE_XLSX_ERROR);
// }
//
// ImportParams params = new ImportParams();
// params.setStartSheetIndex(0);
// params.setSheetNum(1);
// params.setHeadRows(1);
// params.setNeedVerify(true);
//
// List<CNDevExcel> cnDevExcelList;
// try {
// ExcelImportResult<CNDevExcel> excelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), CNDevExcel.class, params);
// if (excelImportResult.isVerifyFail()) {
// // 此处前端要做特殊处理,具体可以参考技术监督的数据导入
// Workbook failWorkbook = excelImportResult.getFailWorkbook();
// PoiUtil.exportFileByWorkbook(failWorkbook, "非法被检设备数据.xlsx", response);
//// throw new BusinessException(DevResponseEnum.IMPORT_DATA_FORMAT_FAIL);
// return null;
// } else {
// cnDevExcelList = excelImportResult.getList();
// }
// } catch (Exception e) {
// throw new BusinessException(DevResponseEnum.IMPORT_DATA_FAIL);
// }
// if (ObjectUtil.isNotEmpty(cnDevExcelList)) {
// pqDevService.importCNDev(cnDevExcelList, patternId, null);
// }
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
// }
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/listUnbound")
@ApiOperation("获取指定模式下所有未绑定的设备")

View File

@@ -36,18 +36,6 @@ public class ProvinceDevExcel implements Serializable {
@NotBlank(message = DevValidMessage.DEV_TYPE_NOT_BLANK)
private String devType;
// @Excel(name = "设备通道数", width = 20, orderNum = "4")
// @NotNull(message = DevValidMessage.DEV_CHNS_NOT_NULL)
// private Integer devChns;
//
// @Excel(name = "额定电压V", width = 15, orderNum = "5")
// @NotNull(message = DevValidMessage.DEV_VOLT_NOT_NULL)
// private Float devVolt;
//
// @Excel(name = "额定电流A", width = 15, orderNum = "6")
// @NotNull(message = DevValidMessage.DEV_CURR_NOT_NULL)
// private Float devCurr;
@Excel(name = "设备厂家*", width = 20, orderNum = "7")
@NotBlank(message = DevValidMessage.MANUFACTURER_NOT_BLANK)
private String manufacturer;
@@ -66,148 +54,26 @@ public class ProvinceDevExcel implements Serializable {
@NotBlank(message = DevValidMessage.PROTOCOL_NOT_BLANK)
private String protocol;
@Excel(name = "IP地址*", width = 20, orderNum = "12")
@Excel(name = "是否加密*", width = 20, replace = {"否_0", "是_1"}, orderNum = "12")
@NotNull(message = DevValidMessage.ENCRYPTION_NOT_NULL)
private Integer encryptionFlag;
@Excel(name = "识别码(当加密时必填)", width = 30, orderNum = "13")
private String series;
@Excel(name = "秘钥(当加密时必填)", width = 30, orderNum = "14")
private String devKey;
@Excel(name = "是否支持系数校准*", width = 25, replace = {"否_0", "是_1"}, orderNum = "15")
private Integer factorFlag;
@Excel(name = "IP地址*", width = 20, orderNum = "16")
@NotBlank(message = DevValidMessage.IP_NOT_BLANK)
@Pattern(regexp = PatternRegex.IP_REGEX, message = DevValidMessage.IP_FORMAT_ERROR)
private String ip;
@Excel(name = "端口号*", width = 15, orderNum = "13")
@Excel(name = "端口号*", width = 15, orderNum = "17")
@NotNull(message = DevValidMessage.PORT_NOT_NULL)
@Range(min = 1, max = 65535, message = DevValidMessage.PORT_RANGE_ERROR)
private Integer port;
@Excel(name = "是否加密*", width = 20, replace = {"否_0", "是_1"}, orderNum = "14")
@NotNull(message = DevValidMessage.ENCRYPTION_NOT_NULL)
private Integer encryptionFlag;
@Excel(name = "识别码(当加密时必填)", width = 30, orderNum = "15")
private String series;
@Excel(name = "秘钥(当加密时必填)", width = 30, orderNum = "16")
private String devKey;
@Excel(name = "是否支持系数校准*", width = 25, replace = {"否_0", "是_1"}, orderNum = "17")
private Integer factorFlag;
// @Excel(name = "所属地市名称", width = 20, orderNum = "19")
// private String cityName;
//
// @Excel(name = "所属供电公司名称", width = 20, orderNum = "20")
// private String gdName;
//
// @Excel(name = "所属电站名称", width = 20, orderNum = "21")
// private String subName;
//
// @Excel(name = "关键信息二维码", width = 20, orderNum = "30")
// private String qrCode;
//
// @Excel(name = "检测次数", width = 15, orderNum = "31")
// @NotNull(message = DevValidMessage.RECHECK_NUM_NOT_NULL)
// private Integer reCheckNum;
// @Data
// @EqualsAndHashCode(callSuper = true)
// public static class ExportData extends PqDevExcel {
//
// @Excel(name = "设备模式", width = 20, orderNum = "1")
// @NotBlank(message = DevValidMessage.PATTERN_NOT_BLANK)
// private String pattern;
//
// @Excel(name = "出厂日期yyyy-MM-dd", width = 25, format = "yyyy-MM-dd", orderNum = "7")
// @NotNull(message = DevValidMessage.CREATEDATETIME_NOT_NULL)
// private LocalDate createDate;
//
// @Excel(name = "是否支持系数校准(否\\是)", width = 15, replace = {"否_0", "是_1"}, orderNum = "22")
// private Integer factorFlag;
//
// @Excel(name = "守时检测结果(不合格\\合格\\/", replace = {"不合格_0", "合格_1", "/_2"}, width = 15, orderNum = "23")
// private Integer timeCheckResult;
//
// @Excel(name = "系数校准结果(不合格\\合格\\/", width = 15, replace = {"不合格_0", "合格_1", "/_2"}, orderNum = "24")
// private Integer factorCheckResult;
//
// @Excel(name = "检测状态(未检\\检测中\\检测完成\\归档)", width = 15, replace = {"未检_0", "检测中_1", "检测完成_2", "归档_3"}, orderNum = "25")
// private Integer checkState;
//
// @Excel(name = "检测结果(不符合\\符合\\未检)", width = 15, replace = {"不符合_0", "符合_1", "未检_2"}, orderNum = "26")
// private Integer checkResult;
//
// @Excel(name = "报告状态(未生成\\已生成\\未检)", width = 15, replace = {"未生成_0", "已生成_1", "未检_2"}, orderNum = "27")
// private Integer reportState;
//
//// @Excel(name = "归档状态(未归档\\归档)", width = 15, replace = {"未归档_0", "归档_1"}, orderNum = "28")
//// private Integer documentState;
//
// @Excel(name = "报告路径", width = 20, orderNum = "29")
// private String reportPath;
//
// }
//
// /**
// * 模拟式和比对式设备导出数据
// */
// @Data
// @EqualsAndHashCode(callSuper = true)
// public static class SimulateOrDigitalExportData extends ExportData {
// @Excel(name = "样品编号", width = 40, orderNum = "17")
// private String sampleId;
//
// @Excel(name = "送样日期yyyy-MM-dd", width = 25, format = "yyyy-MM-dd", orderNum = "18")
// private LocalDate arrivedDate;
// }
//
// /**
// * 比对式设备导出数据
// */
// @Data
// @EqualsAndHashCode(callSuper = true)
// public static class ContrastExportData extends ExportData {
// @ExcelCollection(name = "检测点台账", orderNum = "32")
// List<PqMonitorExcel.ExportData> monitorList;
// }
//
// /**
// * 被检设备导入数据
// */
// @Data
// @EqualsAndHashCode(callSuper = true)
// public static class ImportData extends PqDevExcel {
//
// @Excel(name = "出厂日期yyyy-MM-dd", width = 25, format = "yyyy-MM-dd", orderNum = "7")
// @NotNull(message = DevValidMessage.CREATEDATETIME_NOT_NULL)
// @DateTimeStrValid(message = DevValidMessage.CREATEDATETIME_FORMAT_ERROR)
// private String createDate;
//
//
// @Excel(name = "是否支持系数校准(否\\是)", width = 15, replace = {"否_0", "是_1"}, orderNum = "22")
// @NotBlank(message = DevValidMessage.FACTOR_FLAG_NOT_BLANK)
// private String factorFlag;
//
// }
//
// /**
// * 模拟式和比对式设备导入数据
// */
// @Data
// @EqualsAndHashCode(callSuper = true)
// public static class SimulateOrDigitalImportData extends ImportData {
// @Excel(name = "样品编号", width = 40, orderNum = "17")
// private String sampleId;
//
// @Excel(name = "送样日期yyyy-MM-dd", width = 25, format = "yyyy-MM-dd", orderNum = "18")
// @DateTimeStrValid(message = DevValidMessage.ARRIVE_DATE_FORMAT_ERROR)
// private String arrivedDate;
// }
//
// /**
// * 对比式设备导入数据
// */
// @Data
// @EqualsAndHashCode(callSuper = true)
// public static class ContrastImportData extends ImportData {
// @ExcelCollection(name = "检测点台账", orderNum = "32")
// List<PqMonitorExcel.ImportData> monitorList;
// }
}

View File

@@ -2,6 +2,7 @@ package com.njcn.gather.device.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.poi.PullDown;
import com.njcn.gather.device.pojo.enums.TimeCheckResultEnum;
import com.njcn.gather.device.pojo.param.PqDevParam;
import com.njcn.gather.device.pojo.po.PqDev;
@@ -255,4 +256,19 @@ public interface IPqDevService extends IService<PqDev> {
* @param patternId 模式Id
*/
void reverseVisualizeProvinceDev(List<PqDev> pqDevs, String patternId);
/**
* 获取省级平台设备导出、导出文件模板的下拉列表
*
* @return
*/
List<PullDown> getProvinceDevPullDownList(int startCol);
/**
* 获取灿能二楼设备导出、导出文件模板的下拉列表
*
* @param startCol 开始列
* @return
*/
List<PullDown> getCNDevPullDownList(int startCol);
}

View File

@@ -101,7 +101,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = {Exception.class})
@Transactional
public boolean addPqDev(PqDevParam pqDevParam) {
this.checkRepeat(pqDevParam, false);
@@ -115,7 +115,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
throw new BusinessException(DevResponseEnum.SERIES_AND_DEVKEY_NOT_BLANK);
}
}
if("1".equals(sysTestConfigService.getCurrrentScene())){
if ("1".equals(sysTestConfigService.getCurrrentScene())) {
pqDev.setManufacturer("8fa73802c9e1abab973adcbeb0d58567"); // 南京灿能字典项目对应的id
}
// 新增时默认设置
@@ -138,7 +138,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = {Exception.class})
@Transactional
public boolean updatePqDev(PqDevParam.UpdateParam updateParam) {
this.checkRepeat(updateParam, true);
@@ -162,7 +162,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = {Exception.class})
@Transactional
public boolean deletePqDev(PqDevParam.DeleteParam param) {
if (PatternEnum.CONTRAST.getValue().equals(dictDataService.getDictDataById(param.getPattern()).getCode())) {
for (String id : param.getIds()) {
@@ -207,7 +207,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = {Exception.class})
@Transactional
public boolean updatePqDevTimeCheckResult(List<String> ids, TimeCheckResultEnum result) {
return this.lambdaUpdate().set(PqDev::getTimeCheckResult, result.getValue()).in(PqDev::getId, ids).update();
}
@@ -244,7 +244,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
// }
//
// @Override
// @Transactional(rollbackFor = {Exception.class})
// @Transactional
// public void importContrastData(List<PqDevExcel.ContrastImportData> pqDevExcelList) {
// List<PqDev> devList = new ArrayList<>();
// List<PqMonitor> monitorList = new ArrayList<>();
@@ -283,7 +283,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
// }
//
// @Override
// @Transactional(rollbackFor = {Exception.class})
// @Transactional
// public void importSimulateAndDigitalData(List<PqDevExcel.SimulateOrDigitalImportData> pqDevExcelList) {
// List<PqDev> pqDevList = BeanUtil.copyToList(pqDevExcelList, PqDev.class);
// //逆向可视化
@@ -329,7 +329,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = {Exception.class})
@Transactional
public Integer bind(String planId, List<String> devIds) {
//先将这个绑定的计划全部剔除掉
this.lambdaUpdate().set(PqDev::getPlanId, null).eq(PqDev::getPlanId, planId).update();
@@ -454,7 +454,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = {Exception.class})
@Transactional
public boolean documented(List<String> ids) {
if (CollUtil.isNotEmpty(ids)) {
for (String id : ids) {
@@ -635,7 +635,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = Exception.class)
@Transactional
public void importCNDev(MultipartFile file, String patternId, String planId, HttpServletResponse response) {
ImportParams params = new ImportParams();
params.setStartSheetIndex(0);
@@ -660,11 +660,10 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = Exception.class)
@Transactional
public void importCNDev(List<CNDevExcel> cnDevExcelList, String patternId, String planId) {
if (CollUtil.isNotEmpty(cnDevExcelList)) {
List<PqDev> oldDevList = BeanUtil.copyToList(cnDevExcelList, PqDev.class);
//逆向可视化
this.reverseVisualizeCNDev(oldDevList, patternId);
@@ -773,22 +772,74 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
pqDevExcels = BeanUtil.copyToList(pqDevs, CNDevExcel.class);
}
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备导出数据.xlsx", 1, this.getCNDevPullDownList(), CNDevExcel.class, ObjectUtil.isEmpty(pqDevExcels) ? new ArrayList<>() : pqDevExcels);
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备导出数据.xlsx", 1, this.getCNDevPullDownList(0), CNDevExcel.class, ObjectUtil.isEmpty(pqDevExcels) ? new ArrayList<>() : pqDevExcels);
}
/**
* 下载灿能二楼设备模板文件
*/
private void downloadCNDevTemplate() {
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备模板.xlsx", 1, this.getCNDevPullDownList(), CNDevExcel.class, new ArrayList<>());
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备模板.xlsx", 1, this.getCNDevPullDownList(0), CNDevExcel.class, new ArrayList<>());
}
/**
* 获取灿能二楼设备导出、导出文件模板的下拉列表
*
* @return
*/
private List<PullDown> getCNDevPullDownList() {
@Override
public List<PullDown> getProvinceDevPullDownList(int startCol) {
List<PullDown> pullDowns = new ArrayList<>();
List<DictData> dictDataList = null;
PullDown pullDown = null;
// 设备类型
List<DevType> devTypeList = devTypeService.listAll();
pullDown = new PullDown();
pullDown.setFirstCol(startCol + 2);
pullDown.setLastCol(startCol + 2);
pullDown.setStrings(devTypeList.stream().map(DevType::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
// 设备厂家
DictType dictType = dictTypeService.getByCode("Dev_Manufacturers");
if (ObjectUtil.isNotNull(dictType)) {
dictDataList = dictDataService.getDictDataByTypeId(dictType.getId());
pullDown = new PullDown();
pullDown.setFirstCol(startCol + 3);
pullDown.setLastCol(startCol + 3);
pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
}
// 通讯协议
dictType = dictTypeService.getByCode("Protocol");
if (ObjectUtil.isNotNull(dictType)) {
dictDataList = dictDataService.getDictDataByTypeId(dictType.getId());
pullDown = new PullDown();
pullDown.setFirstCol(startCol + 7);
pullDown.setLastCol(startCol + 7);
pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
}
// 是否加密
pullDown = new PullDown();
pullDown.setFirstCol(startCol + 8);
pullDown.setLastCol(startCol + 8);
pullDown.setStrings(Arrays.asList("", ""));
pullDowns.add(pullDown);
// 是否支持系数校准
pullDown = new PullDown();
pullDown.setFirstCol(startCol + 11);
pullDown.setLastCol(startCol + 11);
pullDown.setStrings(Arrays.asList("", ""));
pullDowns.add(pullDown);
return pullDowns;
}
@Override
public List<PullDown> getCNDevPullDownList(int startCol) {
List<PullDown> pullDowns = new ArrayList<>();
// 预投计划
List<DictData> dictDataList = null;
@@ -799,8 +850,8 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
dictDataList = dictDataService.getDictDataByTypeId(dictType.getId());
pullDown = new PullDown();
pullDown.setFirstCol(0);
pullDown.setLastCol(0);
pullDown.setFirstCol(startCol);
pullDown.setLastCol(startCol);
pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
}
@@ -808,8 +859,8 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
// 设备类型
List<DevType> devTypeList = devTypeService.listAll();
pullDown = new PullDown();
pullDown.setFirstCol(2);
pullDown.setLastCol(2);
pullDown.setFirstCol(startCol + 2);
pullDown.setLastCol(startCol + 2);
pullDown.setStrings(devTypeList.stream().map(DevType::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
@@ -820,24 +871,24 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
dictDataList = dictDataService.getDictDataByTypeId(dictType.getId());
pullDown = new PullDown();
pullDown.setFirstCol(3);
pullDown.setLastCol(3);
pullDown.setFirstCol(startCol + 3);
pullDown.setLastCol(startCol + 3);
pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
}
// 是否加密
pullDown = new PullDown();
pullDown.setFirstCol(4);
pullDown.setLastCol(4);
pullDown.setFirstCol(startCol + 4);
pullDown.setLastCol(startCol + 4);
pullDown.setStrings(Arrays.asList("", ""));
pullDowns.add(pullDown);
// 是否支持系数校准
pullDown = new PullDown();
pullDown.setFirstCol(7);
pullDown.setLastCol(7);
pullDown.setFirstCol(startCol + 8);
pullDown.setLastCol(startCol + 8);
pullDown.setStrings(Arrays.asList("", ""));
pullDowns.add(pullDown);
@@ -894,77 +945,19 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
pqDevExcels = BeanUtil.copyToList(pqDevs, ProvinceDevExcel.class);
}
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备导出数据.xlsx", 1, this.getProvinceDevPullDownList(), ProvinceDevExcel.class, ObjectUtil.isEmpty(pqDevExcels) ? new ArrayList<>() : pqDevExcels);
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备导出数据.xlsx", 1, this.getProvinceDevPullDownList(0), ProvinceDevExcel.class, ObjectUtil.isEmpty(pqDevExcels) ? new ArrayList<>() : pqDevExcels);
}
/**
* 下载省级平台设备模板文件
*/
private void downloadProvinceDevTemplate() {
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备模板.xlsx", 1, this.getProvinceDevPullDownList(), ProvinceDevExcel.class, new ArrayList<>());
ExcelUtil.exportExcelPullDown(new ExportParams(), "被检设备模板.xlsx", 1, this.getProvinceDevPullDownList(0), ProvinceDevExcel.class, new ArrayList<>());
}
/**
* 获取省级平台设备导出、导出文件模板的下拉列表
*
* @return
*/
private List<PullDown> getProvinceDevPullDownList() {
List<PullDown> pullDowns = new ArrayList<>();
List<DictData> dictDataList = null;
PullDown pullDown = null;
// 设备类型
List<DevType> devTypeList = devTypeService.listAll();
pullDown = new PullDown();
pullDown.setFirstCol(2);
pullDown.setLastCol(2);
pullDown.setStrings(devTypeList.stream().map(DevType::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
// 设备厂家
DictType dictType = dictTypeService.getByCode("Dev_Manufacturers");
if (ObjectUtil.isNotNull(dictType)) {
dictDataList = dictDataService.getDictDataByTypeId(dictType.getId());
pullDown = new PullDown();
pullDown.setFirstCol(3);
pullDown.setLastCol(3);
pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
}
// 通讯协议
dictType = dictTypeService.getByCode("Protocol");
if (ObjectUtil.isNotNull(dictType)) {
dictDataList = dictDataService.getDictDataByTypeId(dictType.getId());
pullDown = new PullDown();
pullDown.setFirstCol(7);
pullDown.setLastCol(7);
pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList()));
pullDowns.add(pullDown);
}
// 是否加密
pullDown = new PullDown();
pullDown.setFirstCol(10);
pullDown.setLastCol(10);
pullDown.setStrings(Arrays.asList("", ""));
pullDowns.add(pullDown);
// 是否支持系数校准
pullDown = new PullDown();
pullDown.setFirstCol(13);
pullDown.setLastCol(13);
pullDown.setStrings(Arrays.asList("", ""));
pullDowns.add(pullDown);
return pullDowns;
}
@Override
@Transactional(rollbackFor = Exception.class)
@Transactional
public void importProvinceDev(MultipartFile file, String patternId, String planId, HttpServletResponse response) {
ImportParams params = new ImportParams();
params.setStartSheetIndex(0);
@@ -989,7 +982,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional(rollbackFor = Exception.class)
@Transactional
public void importProvinceDev(List<ProvinceDevExcel> proviceDevExcelList, String patternId, String planId) {
if (CollUtil.isNotEmpty(proviceDevExcelList)) {