From 22028fe7ebaf95490a583ed8d3cbd1de086ca5ec Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Tue, 25 Mar 2025 16:10:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=A3=80=E6=B5=8B=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=AF=BC=E5=85=A5=E3=80=81=E5=AF=BC=E5=87=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/controller/PqDevController.java | 116 ----- .../device/pojo/vo/ProvinceDevExcel.java | 164 +------ .../gather/device/service/IPqDevService.java | 16 + .../device/service/impl/PqDevServiceImpl.java | 177 ++++--- .../service/impl/PqErrSysDtlsServiceImpl.java | 6 +- .../err/service/impl/PqErrSysServiceImpl.java | 6 +- .../service/impl/PqIcdPathServiceImpl.java | 6 +- .../service/impl/PqMonitorServiceImpl.java | 6 +- .../plan/controller/AdPlanController.java | 115 +---- .../plan/pojo/enums/DataSourceEnum.java | 2 +- .../gather/plan/pojo/param/AdPlanParam.java | 1 - .../njcn/gather/plan/pojo/vo/AdPlanExcel.java | 5 +- .../njcn/gather/plan/pojo/vo/CNPlanExcel.java | 19 + .../plan/pojo/vo/ProvincePlanExcel.java | 18 + .../gather/plan/service/IAdPlanService.java | 43 +- .../plan/service/impl/AdPlanServiceImpl.java | 463 ++++++++++++------ .../service/impl/AdPlanSourceServiceImpl.java | 6 +- .../service/impl/PqReportServiceImpl.java | 2 +- .../service/impl/ResultServiceImpl.java | 2 +- .../service/impl/PqScriptDtlsServiceImpl.java | 10 +- .../service/impl/PqScriptServiceImpl.java | 8 +- .../service/impl/PqSourceServiceImpl.java | 6 +- .../type/service/impl/DevTypeServiceImpl.java | 6 +- .../impl/DetectionDataServiceImpl.java | 8 +- .../system/cfg/pojo/enums/SceneEnum.java | 42 ++ .../impl/SysTestConfigServiceImpl.java | 4 +- .../service/impl/DictDataServiceImpl.java | 10 +- .../service/impl/DictPqServiceImpl.java | 6 +- .../service/impl/DictTreeServiceImpl.java | 6 +- .../service/impl/DictTypeServiceImpl.java | 6 +- .../service/impl/SysRegResServiceImpl.java | 4 +- .../user/controller/SysUserController.java | 6 - .../user/pojo/param/SysFunctionParam.java | 7 - .../user/user/pojo/param/SysUserParam.java | 12 - .../service/impl/SysFunctionServiceImpl.java | 6 +- .../impl/SysRoleFunctionServiceImpl.java | 8 +- .../user/service/impl/SysRoleServiceImpl.java | 6 +- .../service/impl/SysUserRoleServiceImpl.java | 8 +- .../user/service/impl/SysUserServiceImpl.java | 8 +- 39 files changed, 620 insertions(+), 730 deletions(-) create mode 100644 detection/src/main/java/com/njcn/gather/plan/pojo/vo/CNPlanExcel.java create mode 100644 detection/src/main/java/com/njcn/gather/plan/pojo/vo/ProvincePlanExcel.java create mode 100644 system/src/main/java/com/njcn/gather/system/cfg/pojo/enums/SceneEnum.java diff --git a/detection/src/main/java/com/njcn/gather/device/controller/PqDevController.java b/detection/src/main/java/com/njcn/gather/device/controller/PqDevController.java index 597ceec8..c96b2950 100644 --- a/detection/src/main/java/com/njcn/gather/device/controller/PqDevController.java +++ b/detection/src/main/java/com/njcn/gather/device/controller/PqDevController.java @@ -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> aaa() { - String methodDescribe = getMethodDescribe("list"); - List devInfo = pqDevService.getDevInfo(Arrays.asList("578c142b7e4e4978a35bd6225aa62a23", "393504f55f1f79bce255bfc195cfdb56")); - Map> 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 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 excelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), PqDevExcel.ContrastImportData.class, params); -// //如果存在非法数据,将不合格的数据导出 -// if (excelImportResult.isVerifyFail()) { -// // 此处前端要做特殊处理,具体可以参考技术监督的数据导入 -// Workbook failWorkbook = excelImportResult.getFailWorkbook(); -// PoiUtil.exportFileByWorkbook(failWorkbook, "非法被检设备数据.xlsx", response); -// } else { -// //批量录入数据 -// List 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 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 cnDevExcelList; -// try { -// ExcelImportResult 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("获取指定模式下所有未绑定的设备") diff --git a/detection/src/main/java/com/njcn/gather/device/pojo/vo/ProvinceDevExcel.java b/detection/src/main/java/com/njcn/gather/device/pojo/vo/ProvinceDevExcel.java index 80a9b52d..664f72ca 100644 --- a/detection/src/main/java/com/njcn/gather/device/pojo/vo/ProvinceDevExcel.java +++ b/detection/src/main/java/com/njcn/gather/device/pojo/vo/ProvinceDevExcel.java @@ -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 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 monitorList; -// } - } diff --git a/detection/src/main/java/com/njcn/gather/device/service/IPqDevService.java b/detection/src/main/java/com/njcn/gather/device/service/IPqDevService.java index 6e0b0968..aae756ad 100644 --- a/detection/src/main/java/com/njcn/gather/device/service/IPqDevService.java +++ b/detection/src/main/java/com/njcn/gather/device/service/IPqDevService.java @@ -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 { * @param patternId 模式Id */ void reverseVisualizeProvinceDev(List pqDevs, String patternId); + + /** + * 获取省级平台设备导出、导出文件模板的下拉列表 + * + * @return + */ + List getProvinceDevPullDownList(int startCol); + + /** + * 获取灿能二楼设备导出、导出文件模板的下拉列表 + * + * @param startCol 开始列 + * @return + */ + List getCNDevPullDownList(int startCol); } diff --git a/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java b/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java index fabf7600..1ff50e1b 100644 --- a/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java @@ -101,7 +101,7 @@ public class PqDevServiceImpl extends ServiceImpl 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 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 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 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 implements } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updatePqDevTimeCheckResult(List 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 implements // } // // @Override -// @Transactional(rollbackFor = {Exception.class}) +// @Transactional // public void importContrastData(List pqDevExcelList) { // List devList = new ArrayList<>(); // List monitorList = new ArrayList<>(); @@ -283,7 +283,7 @@ public class PqDevServiceImpl extends ServiceImpl implements // } // // @Override -// @Transactional(rollbackFor = {Exception.class}) +// @Transactional // public void importSimulateAndDigitalData(List pqDevExcelList) { // List pqDevList = BeanUtil.copyToList(pqDevExcelList, PqDev.class); // //逆向可视化 @@ -329,7 +329,7 @@ public class PqDevServiceImpl extends ServiceImpl implements } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public Integer bind(String planId, List devIds) { //先将这个绑定的计划全部剔除掉 this.lambdaUpdate().set(PqDev::getPlanId, null).eq(PqDev::getPlanId, planId).update(); @@ -454,7 +454,7 @@ public class PqDevServiceImpl extends ServiceImpl implements } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean documented(List ids) { if (CollUtil.isNotEmpty(ids)) { for (String id : ids) { @@ -635,7 +635,7 @@ public class PqDevServiceImpl extends ServiceImpl 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 implements } @Override - @Transactional(rollbackFor = Exception.class) + @Transactional public void importCNDev(List cnDevExcelList, String patternId, String planId) { if (CollUtil.isNotEmpty(cnDevExcelList)) { - List oldDevList = BeanUtil.copyToList(cnDevExcelList, PqDev.class); //逆向可视化 this.reverseVisualizeCNDev(oldDevList, patternId); @@ -773,22 +772,74 @@ public class PqDevServiceImpl extends ServiceImpl 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 getCNDevPullDownList() { + + @Override + public List getProvinceDevPullDownList(int startCol) { + List pullDowns = new ArrayList<>(); + List dictDataList = null; + PullDown pullDown = null; + + // 设备类型 + List 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 getCNDevPullDownList(int startCol) { List pullDowns = new ArrayList<>(); // 预投计划 List dictDataList = null; @@ -799,8 +850,8 @@ public class PqDevServiceImpl extends ServiceImpl 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 implements // 设备类型 List 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 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 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 getProvinceDevPullDownList() { - List pullDowns = new ArrayList<>(); - List dictDataList = null; - PullDown pullDown = null; - - // 设备类型 - List 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 implements } @Override - @Transactional(rollbackFor = Exception.class) + @Transactional public void importProvinceDev(List proviceDevExcelList, String patternId, String planId) { if (CollUtil.isNotEmpty(proviceDevExcelList)) { diff --git a/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysDtlsServiceImpl.java b/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysDtlsServiceImpl.java index 3ced339f..5e4230e8 100644 --- a/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysDtlsServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysDtlsServiceImpl.java @@ -44,7 +44,7 @@ public class PqErrSysDtlsServiceImpl extends ServiceImpl list) { List data = new ArrayList<>(); for (PqErrSysDtlsParam param : list) { @@ -57,7 +57,7 @@ public class PqErrSysDtlsServiceImpl extends ServiceImpl list) { //先按照pqErrSysId全部删除 this.deletePqErrSysDtlsByPqErrSysId(Collections.singletonList(pqErrSysId)); @@ -67,7 +67,7 @@ public class PqErrSysDtlsServiceImpl extends ServiceImpl pqErrSysIds) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("pq_err_sys_dtls.Error_Sys_Id", pqErrSysIds); diff --git a/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysServiceImpl.java b/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysServiceImpl.java index f859c017..197134c8 100644 --- a/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/err/service/impl/PqErrSysServiceImpl.java @@ -67,7 +67,7 @@ public class PqErrSysServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addPqErrSys(PqErrSysParam param) { PqErrSys pqErrSys = new PqErrSys(); BeanUtils.copyProperties(param, pqErrSys); @@ -82,7 +82,7 @@ public class PqErrSysServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updatePqErrSys(PqErrSysParam.UpdateParam param) { PqErrSys pqErrSys = new PqErrSys(); BeanUtils.copyProperties(param, pqErrSys); @@ -94,7 +94,7 @@ public class PqErrSysServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deletePqErrSys(List ids) { Integer count = this.baseMapper.getCountBoundByIds(ids); if (count > 0) { diff --git a/detection/src/main/java/com/njcn/gather/icd/service/impl/PqIcdPathServiceImpl.java b/detection/src/main/java/com/njcn/gather/icd/service/impl/PqIcdPathServiceImpl.java index 10a253e9..3c719381 100644 --- a/detection/src/main/java/com/njcn/gather/icd/service/impl/PqIcdPathServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/icd/service/impl/PqIcdPathServiceImpl.java @@ -46,7 +46,7 @@ public class PqIcdPathServiceImpl extends ServiceImpl ids) { return this.lambdaUpdate().in(PqIcdPath::getId, ids).set(PqIcdPath::getState, DataStateEnum.DELETED.getCode()).update(); } diff --git a/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java b/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java index 0ce19c1a..e6d01bf1 100644 --- a/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java @@ -33,7 +33,7 @@ public class PqMonitorServiceImpl extends ServiceImpl pqMonitorParamList) { List pqMonitorList = BeanUtil.copyToList(pqMonitorParamList, PqMonitor.class); pqMonitorList.forEach(pqMonitor -> pqMonitor.setDevId(devId)); @@ -41,7 +41,7 @@ public class PqMonitorServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq("pq_monitor.Dev_Id", devId); @@ -49,7 +49,7 @@ public class PqMonitorServiceImpl extends ServiceImpl paramList) { // 先删除原有数据 this.deletePqMonitorByDevId(devId); diff --git a/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java b/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java index 9660d6d6..ca344811 100644 --- a/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java +++ b/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java @@ -14,13 +14,11 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.LogUtil; import com.njcn.gather.device.pojo.enums.DevResponseEnum; -import com.njcn.gather.device.pojo.vo.CNDevExcel; import com.njcn.gather.plan.pojo.param.AdPlanParam; import com.njcn.gather.plan.pojo.vo.AdPlanExcel; import com.njcn.gather.plan.pojo.vo.AdPlanVO; import com.njcn.gather.plan.service.IAdPlanService; import com.njcn.web.controller.BaseController; -import com.njcn.web.utils.ExcelUtil; import com.njcn.web.utils.FileUtil; import com.njcn.web.utils.HttpResultUtil; import com.njcn.web.utils.PoiUtil; @@ -121,43 +119,32 @@ public class AdPlanController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } - /** - * 二楼检测计划导出 - * - * @param queryParam - */ @OperateInfo(operateType = OperateType.DOWNLOAD) - @PostMapping("/exportCNPlan") - @ApiOperation("二楼导出检测计划") + @PostMapping("/export") + @ApiOperation("导出检测计划") @ApiImplicitParam(name = "queryParam", value = "查询参数", required = true) - public void exportCNPlan(@RequestBody @Validated AdPlanParam.QueryParam queryParam) { - String methodDescribe = getMethodDescribe("export"); + public void exportPlan(@RequestBody @Validated AdPlanParam.QueryParam queryParam) { + String methodDescribe = getMethodDescribe("exportPlan"); LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, queryParam); - adPlanService.exportCNPlan(queryParam); + adPlanService.exportPlan(queryParam); } - /** - * 二楼检测计划导出模板 - */ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DOWNLOAD) - @PostMapping("/downloadCNPlanTemplate") + @PostMapping("/downloadTemplate") @ApiOperation("下载二楼检测计划导出模板") - public void downloadCNPlanTemplate() { - adPlanService.downloadCNPlanTemplate(); + public void downloadTemplate() { + adPlanService.downloadTemplate(); } - /** - * 二楼检测计划导入 - */ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD) - @PostMapping(value = "/importCNPlan") - @ApiOperation("二楼导入检测计划数据") + @PostMapping(value = "/import") + @ApiOperation("导入检测计划数据") @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "检测计划数据文件", required = true), @ApiImplicitParam(name = "pattern", value = "模式Id", required = true) }) - public HttpResult importCNPlan(@RequestParam("file") MultipartFile file, @RequestParam("patternId") String patternId, HttpServletResponse response) { + public HttpResult importPlan(@RequestParam("file") MultipartFile file, @RequestParam("patternId") String patternId, HttpServletResponse response) { String methodDescribe = getMethodDescribe("importCNPlan"); LogUtil.njcnDebug(log, "{},上传文件为:{}", methodDescribe, file.getOriginalFilename()); @@ -165,86 +152,10 @@ public class AdPlanController extends BaseController { if (!fileType) { throw new BusinessException(CommonResponseEnum.FILE_XLSX_ERROR); } - - ImportParams params = new ImportParams(); - params.setStartSheetIndex(0); - params.setSheetNum(1); - params.setHeadRows(2); - params.setNeedVerify(true); - - List planExcelList; - try { - ExcelImportResult excelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), AdPlanExcel.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 { - planExcelList = excelImportResult.getList(); - } - } catch (Exception e) { - throw new BusinessException(DevResponseEnum.IMPORT_DATA_FAIL); - } - if (ObjectUtil.isNotEmpty(planExcelList)) { - adPlanService.importCNPlan(planExcelList, patternId); - } + adPlanService.importPlan(file, patternId, response); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } -// -// @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD) -// @PostMapping(value = "/import") -// @ApiOperation("批量导入检测计划数据") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "file", value = "检测计划数据文件", required = true), -// @ApiImplicitParam(name = "pattern", value = "模式Id", required = true) -// }) -// public HttpResult importData(@RequestParam("file") MultipartFile file, @RequestParam("patternId") String patternId, HttpServletResponse response) { -// String methodDescribe = getMethodDescribe("importData"); -// LogUtil.njcnDebug(log, "{},上传文件为:{}, 模式Id为:{}", methodDescribe, file.getOriginalFilename(), patternId); -// -// boolean fileType = FileUtil.judgeFileIsExcel(file.getOriginalFilename()); -// if (!fileType) { -// throw new BusinessException(CommonResponseEnum.FILE_XLSX_ERROR); -// } -// ImportParams params = new ImportParams(); -// params.setHeadRows(2); -// params.setNeedVerify(true); -// params.setStartSheetIndex(0); -// params.setSheetNum(1); -// -// List adPlanExcelList = null; -// try { -// ExcelImportResult adPlanExcelResult = ExcelImportUtil.importExcelMore(file.getInputStream(), AdPlanExcel.ImportData.class, params); -// if (adPlanExcelResult.isVerifyFail()) { -// // 此处前端要做特殊处理,具体可以参考技术监督的数据导入 -// PoiUtil.exportFileByWorkbook(adPlanExcelResult.getFailWorkbook(), "非法检测计划数据.xlsx", response); -// return null; -// } else { -// adPlanExcelList = adPlanExcelResult.getList(); -// } -// } catch (Exception e) { -// throw new BusinessException(DevResponseEnum.IMPORT_DATA_FAIL, e.getMessage()); -// } -// if (ObjectUtil.isNotEmpty(adPlanExcelList)) { -// adPlanService.importData(patternId, adPlanExcelList); -// } -// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); -// } - -// @OperateInfo -// @GetMapping("/getPieData") -// @ApiOperation("获取饼状图数据") -// @ApiImplicitParam(name = "id", value = "检测计划id", required = true) -// public HttpResult>>> getPieData(@RequestParam("planId") String planId) { -// String methodDescribe = getMethodDescribe("getPieData"); -// LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, planId); -// List>> result = pqDevService.getPieData(planId); -// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); -// } - @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getBigTestItem") @ApiOperation("获取检测大项数据") @@ -252,7 +163,7 @@ public class AdPlanController extends BaseController { public HttpResult>> getBigTestItem(@RequestBody AdPlanParam.CheckParam checkParam) { String methodDescribe = getMethodDescribe("getBigTestItem"); LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, checkParam); - List> result = adPlanService.getBigTestItem(checkParam.getReCheckType(),checkParam.getPlanId(),checkParam.getDevId()); + List> result = adPlanService.getBigTestItem(checkParam.getReCheckType(), checkParam.getPlanId(), checkParam.getDevId()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } diff --git a/detection/src/main/java/com/njcn/gather/plan/pojo/enums/DataSourceEnum.java b/detection/src/main/java/com/njcn/gather/plan/pojo/enums/DataSourceEnum.java index 529b019f..8e96a418 100644 --- a/detection/src/main/java/com/njcn/gather/plan/pojo/enums/DataSourceEnum.java +++ b/detection/src/main/java/com/njcn/gather/plan/pojo/enums/DataSourceEnum.java @@ -8,7 +8,7 @@ import lombok.Getter; */ @Getter public enum DataSourceEnum { - THREE_SENSE_ACTUAL_TIME_DATA("0", "3秒实时数据"), + THREE_SENSE_ACTUAL_TIME_DATA("0", "3s实时数据"), MINUTE_STATISTICS_MAX("1", "分钟统计数据-最大"), MINUTE_STATISTICS_MIN("2", "分钟统计数据-最小"), diff --git a/detection/src/main/java/com/njcn/gather/plan/pojo/param/AdPlanParam.java b/detection/src/main/java/com/njcn/gather/plan/pojo/param/AdPlanParam.java index 1c0ff1e9..73ec5163 100644 --- a/detection/src/main/java/com/njcn/gather/plan/pojo/param/AdPlanParam.java +++ b/detection/src/main/java/com/njcn/gather/plan/pojo/param/AdPlanParam.java @@ -62,7 +62,6 @@ public class AdPlanParam { private List devIds; @ApiModelProperty(value = "是否关联报告") - @NotNull(message = DevValidMessage.ASSOCIATE_REPORT_NOT_NULL) private Integer associateReport; @ApiModelProperty(value = "报告模板名称") diff --git a/detection/src/main/java/com/njcn/gather/plan/pojo/vo/AdPlanExcel.java b/detection/src/main/java/com/njcn/gather/plan/pojo/vo/AdPlanExcel.java index 45c29a69..b50dd3c0 100644 --- a/detection/src/main/java/com/njcn/gather/plan/pojo/vo/AdPlanExcel.java +++ b/detection/src/main/java/com/njcn/gather/plan/pojo/vo/AdPlanExcel.java @@ -34,7 +34,7 @@ public class AdPlanExcel { @NotBlank(message = DevValidMessage.DATASOURCE_NOT_BLANK) private String datasourceId; - @Excel(name = "脚本*", width = 50, needMerge = true, orderNum = "3") + @Excel(name = "脚本*", width = 100, needMerge = true, orderNum = "3") @NotBlank(message = DevValidMessage.SCRIPT_NOT_BLANK) private String scriptId; @@ -57,7 +57,4 @@ public class AdPlanExcel { @Excel(name = "检测结果*", width = 10, replace = {"不符合_0", "符合_1", "未检_2"}, needMerge = true, orderNum = "8") @NotNull(message = DevValidMessage.CHECK_RESULT_STATE_NOT_NULL) private Integer result; - - @ExcelCollection(name = "绑定的设备", orderNum = "9") - private List devices; } diff --git a/detection/src/main/java/com/njcn/gather/plan/pojo/vo/CNPlanExcel.java b/detection/src/main/java/com/njcn/gather/plan/pojo/vo/CNPlanExcel.java new file mode 100644 index 00000000..02674991 --- /dev/null +++ b/detection/src/main/java/com/njcn/gather/plan/pojo/vo/CNPlanExcel.java @@ -0,0 +1,19 @@ +package com.njcn.gather.plan.pojo.vo; + +import cn.afterturn.easypoi.excel.annotation.ExcelCollection; +import com.njcn.gather.device.pojo.vo.CNDevExcel; +import lombok.Data; + +import java.util.List; + +/** + * @author caozehui + * @data 2025-03-25 + */ +@Data +public class CNPlanExcel extends AdPlanExcel { + + + @ExcelCollection(name = "绑定的设备", orderNum = "9") + private List devices; +} diff --git a/detection/src/main/java/com/njcn/gather/plan/pojo/vo/ProvincePlanExcel.java b/detection/src/main/java/com/njcn/gather/plan/pojo/vo/ProvincePlanExcel.java new file mode 100644 index 00000000..a0904245 --- /dev/null +++ b/detection/src/main/java/com/njcn/gather/plan/pojo/vo/ProvincePlanExcel.java @@ -0,0 +1,18 @@ +package com.njcn.gather.plan.pojo.vo; + +import cn.afterturn.easypoi.excel.annotation.ExcelCollection; +import com.njcn.gather.device.pojo.vo.ProvinceDevExcel; +import lombok.Data; + +import java.util.List; + +/** + * @author caozehui + * @data 2025-03-25 + */ +@Data +public class ProvincePlanExcel extends AdPlanExcel { + + @ExcelCollection(name = "绑定的设备", orderNum = "9") + private List devices; +} diff --git a/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java b/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java index e2d5d4d9..612f58ba 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java @@ -6,7 +6,9 @@ import com.njcn.gather.plan.pojo.param.AdPlanParam; import com.njcn.gather.plan.pojo.po.AdPlan; import com.njcn.gather.plan.pojo.vo.AdPlanExcel; import com.njcn.gather.plan.pojo.vo.AdPlanVO; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -56,26 +58,6 @@ public interface IAdPlanService extends IService { */ List> listByPattern(String pattern); - /** - * 二楼下载检测计划模板 - */ - void downloadCNPlanTemplate(); - - /** - * 二楼导出检测计划数据 - * - * @param queryParam 查询参数 - */ - void exportCNPlan(AdPlanParam.QueryParam queryParam); - - /** - * 二楼导入检测计划 - * - * @param planExcelList - * @param patternId - */ - void importCNPlan(List planExcelList, String patternId); - /** * 可视化 * @@ -119,4 +101,25 @@ public interface IAdPlanService extends IService { * @param ids */ void analyse(List ids); + + /** + * 导出检测计划数据 + * + * @param queryParam + */ + void exportPlan(AdPlanParam.QueryParam queryParam); + + /** + * 下载检测计划模板 + */ + void downloadTemplate(); + + /** + * 导入检测计划数据 + * + * @param file + * @param patternId + * @param response + */ + void importPlan(MultipartFile file, String patternId, HttpServletResponse response); } diff --git a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java index cbf2473e..d34592f2 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java @@ -1,6 +1,9 @@ package com.njcn.gather.plan.service.impl; +import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.CharsetUtil; @@ -19,6 +22,7 @@ import com.njcn.gather.device.pojo.enums.*; import com.njcn.gather.device.pojo.param.PqDevParam; import com.njcn.gather.device.pojo.po.PqDev; import com.njcn.gather.device.pojo.vo.CNDevExcel; +import com.njcn.gather.device.pojo.vo.ProvinceDevExcel; import com.njcn.gather.device.service.IPqDevService; import com.njcn.gather.err.pojo.po.PqErrSys; import com.njcn.gather.err.service.IPqErrSysService; @@ -28,8 +32,9 @@ import com.njcn.gather.plan.pojo.enums.PlanReportStateEnum; import com.njcn.gather.plan.pojo.enums.PlanResponseEnum; import com.njcn.gather.plan.pojo.param.AdPlanParam; import com.njcn.gather.plan.pojo.po.AdPlan; -import com.njcn.gather.plan.pojo.vo.AdPlanExcel; import com.njcn.gather.plan.pojo.vo.AdPlanVO; +import com.njcn.gather.plan.pojo.vo.CNPlanExcel; +import com.njcn.gather.plan.pojo.vo.ProvincePlanExcel; import com.njcn.gather.plan.service.IAdPlanService; import com.njcn.gather.plan.service.IAdPlanSourceService; import com.njcn.gather.report.pojo.po.PqReport; @@ -41,6 +46,7 @@ import com.njcn.gather.source.service.IPqSourceService; import com.njcn.gather.storage.pojo.param.StorageParam; import com.njcn.gather.storage.service.AdHarmonicService; import com.njcn.gather.storage.service.TableGenService; +import com.njcn.gather.system.cfg.pojo.enums.SceneEnum; import com.njcn.gather.system.cfg.pojo.po.SysTestConfig; import com.njcn.gather.system.cfg.service.ISysTestConfigService; import com.njcn.gather.system.dictionary.pojo.po.DictData; @@ -54,6 +60,7 @@ import com.njcn.gather.type.service.IDevTypeService; import com.njcn.web.factory.PageFactory; import com.njcn.web.utils.ExcelUtil; import com.njcn.web.utils.HttpServletUtil; +import com.njcn.web.utils.PoiUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -65,6 +72,7 @@ import org.openxmlformats.schemas.drawingml.x2006.chart.CTBarSer; import org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; @@ -107,7 +115,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme adPlanVO.setDatasourceIds(Arrays.asList(adPlan.getDatasourceId().split(StrUtil.COMMA))); if (StrUtil.isNotBlank(adPlan.getReportTemplateId())) { PqReport report = this.baseMapper.getPqReportById(adPlan.getReportTemplateId()); - adPlanVO.setReportTemplateName(report.getName()+"_" + report.getVersion()); + adPlanVO.setReportTemplateName(report.getName() + "_" + report.getVersion()); } return adPlanVO; }).collect(Collectors.toList()); @@ -129,7 +137,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addAdPlan(AdPlanParam param) { this.checkRepeat(param, false); AdPlan adPlan = new AdPlan(); @@ -147,7 +155,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme adPlan.setResult(CheckResultEnum.UNCHECKED.getValue()); adPlan.setCode(this.generateCode()); - if (param.getAssociateReport() == 1) { + if (param.getAssociateReport() != null && param.getAssociateReport() == 1) { String reportTemplateName = param.getReportTemplateName(); String[] split = reportTemplateName.split("_"); String reportId = this.baseMapper.getReportIdByNameAndVersion(split[0], split[1]); @@ -174,13 +182,13 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateAdPlan(AdPlanParam.UpdateParam param) { this.checkRepeat(param, true); AdPlan plan1 = this.getById(param.getId()); AdPlan plan2 = new AdPlan(); - if (param.getAssociateReport() == 1) { + if (param.getAssociateReport() != null && param.getAssociateReport() == 1) { String reportTemplateName = param.getReportTemplateName(); String[] split = reportTemplateName.split("_"); String reportId = this.baseMapper.getReportIdByNameAndVersion(split[0], split[1]); @@ -201,7 +209,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme if (!plan1.getErrorSysId().equals(param.getErrorSysId())) { throw new BusinessException(PlanResponseEnum.CANNOT_CHANGE_ERROR_SYS_WHEN_CHECKING); } - if (param.getAssociateReport() != plan1.getAssociateReport()) { + if (param.getAssociateReport() != null && param.getAssociateReport() != plan1.getAssociateReport()) { throw new BusinessException(PlanResponseEnum.CANNOT_CHANGE_REPORT_WHEN_CHECKING); } } @@ -216,7 +224,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteAdPlan(List ids) { for (String id : ids) { PqDevParam.QueryParam queryParam = new PqDevParam.QueryParam(); @@ -270,96 +278,6 @@ public class AdPlanServiceImpl extends ServiceImpl impleme return result; } - @Override - public void downloadCNPlanTemplate() { - ExcelUtil.exportExcelPullDown(new ExportParams(), "检测计划模板.xlsx", 2, this.getPullDownList(), AdPlanExcel.class, Collections.emptyList()); - } - - @Override - public void exportCNPlan(AdPlanParam.QueryParam queryParam) { - List planList = this.list(this.getQueryWrapper(queryParam)); - this.visualize(planList); - List planExcelList = BeanUtil.copyToList(planList, AdPlanExcel.class); - for (int i = 0; i < planList.size(); i++) { - List pqSources = adPlanSourceService.listPqSourceByPlanId(planList.get(i).getId()); - planExcelList.get(i).setSource(pqSources.stream().map(PqSource::getName).collect(Collectors.joining(StrUtil.COMMA))); - - PqDevParam.QueryParam queryParam1 = new PqDevParam.QueryParam(); - queryParam1.setPlanId(planList.get(i).getId()); - List pqDevs = pqDevService.listByPlanId(queryParam1); - pqDevService.visualizeCNDev(pqDevs); - List deviceExportData = BeanUtil.copyToList(pqDevs, CNDevExcel.class); - planExcelList.get(i).setDevices(deviceExportData); - } - ExcelUtil.exportExcelPullDown(new ExportParams(), "检测计划导出数据.xlsx", 2, this.getPullDownList(), AdPlanExcel.class, planExcelList); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void importCNPlan(List planExcelList, String patternId) { - List adPlans = BeanUtil.copyToList(planExcelList, AdPlan.class); - - String patternCode = dictDataService.getDictDataById(patternId).getCode(); - for (int i = 0; i < adPlans.size(); i++) { - AdPlanExcel adPlanExcel = planExcelList.get(i); - AdPlanParam adPlanParam = new AdPlanParam(); - adPlanParam.setName(adPlanExcel.getName()); - adPlanParam.setPattern(patternId); - checkRepeat(adPlanParam, false); - - String planId = UUID.randomUUID().toString().replaceAll("-", ""); - adPlans.get(i).setId(planId); - adPlans.get(i).setPattern(patternId); - Integer code = this.generateCode(); - adPlans.get(i).setCode(code); - - tableGenService.deleteTable(Arrays.asList(code.toString())); - tableGenService.genAdNonHarmonicTable(code.toString()); - - String source = adPlanExcel.getSource(); - String[] sourceNames = source.split(StrUtil.COMMA); - // 若非比对模式,检测源、数据源有2个以上时,不导入 - if (!PatternEnum.CONTRAST.getValue().equals(patternCode) && sourceNames.length > 1) { - throw new BusinessException(DevResponseEnum.IMPORT_SOURCE_ERROR); - } - - String datasource = adPlanExcel.getDatasourceId(); - String[] datasourceIds = datasource.split(StrUtil.COMMA); - // 若非比对模式,数据源有2个以上时,不导入 - if (!PatternEnum.CONTRAST.getValue().equals(patternCode) && datasourceIds.length > 1) { - throw new BusinessException(DevResponseEnum.IMPORT_DATASOURCE_ERROR); - } - - List sourceIds = pqSourceService.listPqSourceIdByName(sourceNames); - adPlanSourceService.addAdPlanSource(planId, sourceIds); - - List cnDevExcelList = adPlanExcel.getDevices(); - pqDevService.importCNDev(cnDevExcelList, patternId, planId); - } - // 逆向可视化 - this.reverseVisualize(adPlans); - this.saveBatch(adPlans); - } - - /** - * 获取查询条件wrapper - * - * @param queryParam 查询条件 - * @return - */ - private Wrapper getQueryWrapper(AdPlanParam.QueryParam queryParam) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - if (ObjectUtil.isNotNull(queryParam)) { - queryWrapper.eq(StrUtil.isNotBlank(queryParam.getPattern()), "ad_plan.pattern", queryParam.getPattern()) - .like(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()).orderByDesc("Create_Time"); - return queryWrapper; - } - @Override public void visualize(List planList) { planList.forEach(adPlan -> { @@ -539,6 +457,279 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } } + @Override + public void exportPlan(AdPlanParam.QueryParam queryParam) { + String currrentScene = sysTestConfigService.getCurrrentScene(); + SceneEnum sceneEnum = SceneEnum.getSceneEnum(currrentScene); + switch (sceneEnum) { + case PROVINCE_PLATFORM: + this.exportProvincePlan(queryParam); + break; + case LEAVE_FACTORY_TEST: + this.exportCNPlan(queryParam); + break; + case SELF_TEST: + break; + default: + break; + } + } + + @Override + public void downloadTemplate() { + String currrentScene = sysTestConfigService.getCurrrentScene(); + SceneEnum sceneEnum = SceneEnum.getSceneEnum(currrentScene); + switch (sceneEnum) { + case PROVINCE_PLATFORM: + ExcelUtil.exportExcelPullDown(new ExportParams(), "检测计划模板.xlsx", 2, this.getPullDownList(SceneEnum.PROVINCE_PLATFORM), ProvincePlanExcel.class, Collections.emptyList()); + break; + case LEAVE_FACTORY_TEST: + ExcelUtil.exportExcelPullDown(new ExportParams(), "检测计划模板.xlsx", 2, this.getPullDownList(SceneEnum.LEAVE_FACTORY_TEST), CNPlanExcel.class, Collections.emptyList()); + break; + case SELF_TEST: + break; + default: + break; + } + } + + @Override + public void importPlan(MultipartFile file, String patternId, HttpServletResponse response) { + String currrentScene = sysTestConfigService.getCurrrentScene(); + SceneEnum sceneEnum = SceneEnum.getSceneEnum(currrentScene); + switch (sceneEnum) { + case PROVINCE_PLATFORM: + this.importProvincePlan(file, patternId, response); + break; + case LEAVE_FACTORY_TEST: + this.importCNPlan(file, patternId, response); + break; + case SELF_TEST: + break; + default: + break; + } + } + + /** + * 省级平台导出检测计划数据 + * + * @param queryParam + */ + private void exportProvincePlan(AdPlanParam.QueryParam queryParam) { + List planList = this.list(this.getQueryWrapper(queryParam)); + this.visualize(planList); + List planExcelList = BeanUtil.copyToList(planList, ProvincePlanExcel.class); + for (int i = 0; i < planList.size(); i++) { + List pqSources = adPlanSourceService.listPqSourceByPlanId(planList.get(i).getId()); + planExcelList.get(i).setSource(pqSources.stream().map(PqSource::getName).collect(Collectors.joining(StrUtil.COMMA))); + + PqDevParam.QueryParam queryParam1 = new PqDevParam.QueryParam(); + queryParam1.setPlanId(planList.get(i).getId()); + List pqDevs = pqDevService.listByPlanId(queryParam1); + pqDevService.visualizeProvinceDev(pqDevs); + List deviceExportData = BeanUtil.copyToList(pqDevs, ProvinceDevExcel.class); + planExcelList.get(i).setDevices(deviceExportData); + } + ExcelUtil.exportExcelPullDown(new ExportParams(), "检测计划导出数据.xlsx", 2, this.getPullDownList(SceneEnum.PROVINCE_PLATFORM), ProvincePlanExcel.class, planExcelList); + } + + /** + * 二楼导出检测计划数据 + * + * @param queryParam 查询参数 + */ + private void exportCNPlan(AdPlanParam.QueryParam queryParam) { + List planList = this.list(this.getQueryWrapper(queryParam)); + this.visualize(planList); + List planExcelList = BeanUtil.copyToList(planList, CNPlanExcel.class); + for (int i = 0; i < planList.size(); i++) { + List pqSources = adPlanSourceService.listPqSourceByPlanId(planList.get(i).getId()); + planExcelList.get(i).setSource(pqSources.stream().map(PqSource::getName).collect(Collectors.joining(StrUtil.COMMA))); + + PqDevParam.QueryParam queryParam1 = new PqDevParam.QueryParam(); + queryParam1.setPlanId(planList.get(i).getId()); + List pqDevs = pqDevService.listByPlanId(queryParam1); + pqDevService.visualizeCNDev(pqDevs); + List deviceExportData = BeanUtil.copyToList(pqDevs, CNDevExcel.class); + planExcelList.get(i).setDevices(deviceExportData); + } + ExcelUtil.exportExcelPullDown(new ExportParams(), "检测计划导出数据.xlsx", 2, this.getPullDownList(SceneEnum.LEAVE_FACTORY_TEST), CNPlanExcel.class, planExcelList); + } + + @Transactional + public void importCNPlan(MultipartFile file, String patternId, HttpServletResponse response) { + ImportParams params = new ImportParams(); + params.setStartSheetIndex(0); + params.setSheetNum(1); + params.setHeadRows(2); + params.setNeedVerify(true); + + List planExcelList = null; + try { + ExcelImportResult excelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), CNPlanExcel.class, params); + if (excelImportResult.isVerifyFail()) { + // 此处前端要做特殊处理,具体可以参考技术监督的数据导入 + Workbook failWorkbook = excelImportResult.getFailWorkbook(); + PoiUtil.exportFileByWorkbook(failWorkbook, "非法检测计划数据.xlsx", response); + } else { + planExcelList = excelImportResult.getList(); + } + } catch (Exception e) { + throw new BusinessException(DevResponseEnum.IMPORT_DATA_FAIL); + } + if (ObjectUtil.isNotEmpty(planExcelList)) { + this.importCNPlan(planExcelList, patternId); + } + } + + /** + * 二楼导入检测计划 + * + * @param planExcelList + * @param patternId + */ + @Transactional + public void importCNPlan(List planExcelList, String patternId) { + List adPlans = BeanUtil.copyToList(planExcelList, AdPlan.class); + + String patternCode = dictDataService.getDictDataById(patternId).getCode(); + for (int i = 0; i < adPlans.size(); i++) { + CNPlanExcel planExcel = planExcelList.get(i); + AdPlanParam adPlanParam = new AdPlanParam(); + adPlanParam.setName(planExcel.getName()); + adPlanParam.setPattern(patternId); + checkRepeat(adPlanParam, false); + + String planId = UUID.randomUUID().toString().replaceAll("-", ""); + adPlans.get(i).setId(planId); + adPlans.get(i).setPattern(patternId); + Integer code = this.generateCode(); + adPlans.get(i).setCode(code); + + tableGenService.deleteTable(Arrays.asList(code.toString())); + tableGenService.genAdNonHarmonicTable(code.toString()); + + String source = planExcel.getSource(); + String[] sourceNames = source.split(StrUtil.COMMA); + // 若非比对模式,检测源、数据源有2个以上时,不导入 + if (!PatternEnum.CONTRAST.getValue().equals(patternCode) && sourceNames.length > 1) { + throw new BusinessException(DevResponseEnum.IMPORT_SOURCE_ERROR); + } + + String datasource = planExcel.getDatasourceId(); + String[] datasourceIds = datasource.split(StrUtil.COMMA); + // 若非比对模式,数据源有2个以上时,不导入 + if (!PatternEnum.CONTRAST.getValue().equals(patternCode) && datasourceIds.length > 1) { + throw new BusinessException(DevResponseEnum.IMPORT_DATASOURCE_ERROR); + } + + List sourceIds = pqSourceService.listPqSourceIdByName(sourceNames); + adPlanSourceService.addAdPlanSource(planId, sourceIds); + + List cnDevExcelList = planExcel.getDevices(); + pqDevService.importCNDev(cnDevExcelList, patternId, planId); + } + // 逆向可视化 + this.reverseVisualize(adPlans); + this.saveBatch(adPlans); + } + + @Transactional + public void importProvincePlan(MultipartFile file, String patternId, HttpServletResponse response) { + ImportParams params = new ImportParams(); + params.setStartSheetIndex(0); + params.setSheetNum(1); + params.setHeadRows(2); + params.setNeedVerify(true); + + List planExcelList = null; + try { + ExcelImportResult excelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), ProvincePlanExcel.class, params); + if (excelImportResult.isVerifyFail()) { + // 此处前端要做特殊处理,具体可以参考技术监督的数据导入 + Workbook failWorkbook = excelImportResult.getFailWorkbook(); + PoiUtil.exportFileByWorkbook(failWorkbook, "非法检测计划数据.xlsx", response); + } else { + planExcelList = excelImportResult.getList(); + } + } catch (Exception e) { + throw new BusinessException(DevResponseEnum.IMPORT_DATA_FAIL); + } + if (ObjectUtil.isNotEmpty(planExcelList)) { + this.importProvincePlan(planExcelList, patternId); + } + } + + /** + * 省级平台导入检测计划 + * + * @param planExcelList + * @param patternId + */ + public void importProvincePlan(List planExcelList, String patternId) { + List adPlans = BeanUtil.copyToList(planExcelList, AdPlan.class); + + String patternCode = dictDataService.getDictDataById(patternId).getCode(); + for (int i = 0; i < adPlans.size(); i++) { + ProvincePlanExcel planExcel = planExcelList.get(i); + AdPlanParam adPlanParam = new AdPlanParam(); + adPlanParam.setName(planExcel.getName()); + adPlanParam.setPattern(patternId); + checkRepeat(adPlanParam, false); + + String planId = UUID.randomUUID().toString().replaceAll("-", ""); + adPlans.get(i).setId(planId); + adPlans.get(i).setPattern(patternId); + Integer code = this.generateCode(); + adPlans.get(i).setCode(code); + + tableGenService.deleteTable(Arrays.asList(code.toString())); + tableGenService.genAdNonHarmonicTable(code.toString()); + + String source = planExcel.getSource(); + String[] sourceNames = source.split(StrUtil.COMMA); + // 若非比对模式,检测源、数据源有2个以上时,不导入 + if (!PatternEnum.CONTRAST.getValue().equals(patternCode) && sourceNames.length > 1) { + throw new BusinessException(DevResponseEnum.IMPORT_SOURCE_ERROR); + } + + String datasource = planExcel.getDatasourceId(); + String[] datasourceIds = datasource.split(StrUtil.COMMA); + // 若非比对模式,数据源有2个以上时,不导入 + if (!PatternEnum.CONTRAST.getValue().equals(patternCode) && datasourceIds.length > 1) { + throw new BusinessException(DevResponseEnum.IMPORT_DATASOURCE_ERROR); + } + + List sourceIds = pqSourceService.listPqSourceIdByName(sourceNames); + adPlanSourceService.addAdPlanSource(planId, sourceIds); + + List cnDevExcelList = planExcel.getDevices(); + pqDevService.importProvinceDev(cnDevExcelList, patternId, planId); + } + // 逆向可视化 + this.reverseVisualize(adPlans); + this.saveBatch(adPlans); + } + + /** + * 获取查询条件wrapper + * + * @param queryParam 查询条件 + * @return + */ + private Wrapper getQueryWrapper(AdPlanParam.QueryParam queryParam) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (ObjectUtil.isNotNull(queryParam)) { + queryWrapper.eq(StrUtil.isNotBlank(queryParam.getPattern()), "ad_plan.pattern", queryParam.getPattern()) + .like(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()).orderByDesc("Create_Time"); + return queryWrapper; + } /** * 获取备注信息 @@ -828,10 +1019,22 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } } - private List getPullDownList() { + private List getPullDownList(SceneEnum scene) { List pullDowns = new ArrayList<>(); PullDown pullDown = null; + // 数据源 + DictType dictType = dictTypeService.getByCode("Datasource"); + if (ObjectUtil.isNotNull(dictType)) { + List dictDataList = dictDataService.getDictDataByTypeId(dictType.getId()); + + pullDown = new PullDown(); + pullDown.setFirstCol(2); + pullDown.setLastCol(2); + pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + } + // 检测脚本 List> maps1 = pqScriptService.listAllPqScript(null); List scriptNameList = maps1.stream().map(m -> (String) m.get("name")).collect(Collectors.toList()); @@ -877,56 +1080,20 @@ public class AdPlanServiceImpl extends ServiceImpl impleme pullDown.setStrings(Arrays.asList(CheckResultEnum.UNCHECKED.getMsg(), CheckResultEnum.ACCORD.getMsg(), CheckResultEnum.UNCHECKED.getMsg())); pullDowns.add(pullDown); - // 预投计划 - List dictDataList = null; - pullDown = new PullDown(); - - DictType dictType = dictTypeService.getByCode("Preinvestment_Plan"); - if (ObjectUtil.isNotNull(dictType)) { - dictDataList = dictDataService.getDictDataByTypeId(dictType.getId()); - - pullDown = new PullDown(); - pullDown.setFirstCol(9); - pullDown.setLastCol(9); - pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList())); - pullDowns.add(pullDown); + switch (scene) { + case PROVINCE_PLATFORM: + List provinceDevPullDownList = pqDevService.getProvinceDevPullDownList(9); + pullDowns.addAll(provinceDevPullDownList); + break; + case LEAVE_FACTORY_TEST: + List cnDevPullDownList = pqDevService.getCNDevPullDownList(9); + pullDowns.addAll(cnDevPullDownList); + break; + case SELF_TEST: + break; + default: + break; } - - // 设备类型 - pullDown = new PullDown(); - pullDown.setFirstCol(11); - pullDown.setLastCol(11); - pullDown.setStrings(devTypeService.listAll().stream().map(DevType::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(12); - pullDown.setLastCol(12); - pullDown.setStrings(dictDataList.stream().map(DictData::getName).collect(Collectors.toList())); - pullDowns.add(pullDown); - } - - // 是否为加密版本 - pullDown = new PullDown(); - pullDown.setFirstCol(13); - pullDown.setLastCol(13); - pullDown.setStrings(Arrays.asList("是", "否")); - pullDowns.add(pullDown); - - - // 是否支持系数校准 - pullDown = new PullDown(); - pullDown.setFirstCol(16); - pullDown.setLastCol(16); - pullDown.setStrings(Arrays.asList("是", "否")); - pullDowns.add(pullDown); - - return pullDowns; } } diff --git a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanSourceServiceImpl.java b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanSourceServiceImpl.java index 74443c60..4c60df7e 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanSourceServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanSourceServiceImpl.java @@ -32,7 +32,7 @@ public class AdPlanSourceServiceImpl extends ServiceImpl sourceIds) { List adPlanSourceList = new ArrayList<>(); for (String sourceId : sourceIds) { @@ -42,7 +42,7 @@ public class AdPlanSourceServiceImpl extends ServiceImpl planIds) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("ad_plan_source.Plan_Id", planIds); @@ -50,7 +50,7 @@ public class AdPlanSourceServiceImpl extends ServiceImpl sourceIds) { this.deleteAdPlanSourceByPlanIds(Collections.singletonList(planId)); this.addAdPlanSource(planId, sourceIds); diff --git a/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java b/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java index 19a23685..c0341712 100644 --- a/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/report/service/impl/PqReportServiceImpl.java @@ -173,7 +173,7 @@ public class PqReportServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = Exception.class) + @Transactional public boolean add(ReportParam reportParam) { this.checkRepeat(reportParam, false); PqReport pqReport = new PqReport(); diff --git a/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java b/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java index fdc1ac2e..71ba5d95 100644 --- a/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java @@ -893,7 +893,7 @@ public class ResultServiceImpl implements IResultService { } @Override - @Transactional(rollbackFor = Exception.class) + @Transactional public void changeErrorSystem(ResultParam.ChangeErrorSystemParam param) { this.createTempResultTable(param.getCode() + "_temp"); this.calculateResult(param.getPlanId(), param.getScriptId(), param.getCode() + "_temp", param.getErrorSysId(), param.getDeviceId()); diff --git a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java index cbfdb2a0..d08e7aee 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptDtlsServiceImpl.java @@ -85,13 +85,13 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl ids) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(PqScriptDtls::getId, ids); @@ -99,7 +99,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl scriptIds) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(PqScriptDtls::getScriptId, scriptIds); @@ -107,7 +107,7 @@ public class PqScriptDtlsServiceImpl extends ServiceImpl info = new ArrayList<>(); List checkList = new ArrayList<>(); diff --git a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java index c91dbee1..3140de71 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptServiceImpl.java @@ -59,7 +59,7 @@ public class PqScriptServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public String addPqScript(PqScriptParam param) { PqScript pqScript = new PqScript(); BeanUtils.copyProperties(param, pqScript); @@ -70,7 +70,7 @@ public class PqScriptServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updatePqScript(PqScriptParam.UpdateParam param) { PqScript pqScript = new PqScript(); BeanUtils.copyProperties(param, pqScript); @@ -80,7 +80,7 @@ public class PqScriptServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deletePqScript(List ids) { Integer count = this.baseMapper.getBoundCountByScriptIds(ids); if (count > 0) { @@ -95,7 +95,7 @@ public class PqScriptServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean upgradeToTemplate(String id) { PqScript pqScript = this.lambdaQuery().eq(PqScript::getId, id).one(); if (pqScript != null) { diff --git a/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java b/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java index c30724c7..33e1ed44 100644 --- a/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java @@ -64,7 +64,7 @@ public class PqSourceServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addPqSource(PqSourceParam param) { PqSource pqSource = new PqSource(); BeanUtil.copyProperties(param, pqSource); @@ -75,7 +75,7 @@ public class PqSourceServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updatePqSource(PqSourceParam.UpdateParam param) { PqSource pqSource = new PqSource(); BeanUtil.copyProperties(param, pqSource); @@ -84,7 +84,7 @@ public class PqSourceServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deletePqSource(List ids) { Integer count = this.baseMapper.getCountBoundByIds(ids); if(count > 0){ diff --git a/detection/src/main/java/com/njcn/gather/type/service/impl/DevTypeServiceImpl.java b/detection/src/main/java/com/njcn/gather/type/service/impl/DevTypeServiceImpl.java index e4a235e0..b511dafc 100644 --- a/detection/src/main/java/com/njcn/gather/type/service/impl/DevTypeServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/type/service/impl/DevTypeServiceImpl.java @@ -71,7 +71,7 @@ public class DevTypeServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addDevType(DevTypeParam addParam) { this.checkRepeat(addParam, false); DevType devType = new DevType(); @@ -81,7 +81,7 @@ public class DevTypeServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateDevType(DevTypeParam.UpdateParam updateParam) { this.checkRepeat(updateParam, true); DevType devType = new DevType(); @@ -90,7 +90,7 @@ public class DevTypeServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteDevType(List ids) { return this.lambdaUpdate().in(DevType::getId, ids).set(DevType::getState, DataStateEnum.DELETED.getCode()).update(); } diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java index f1bbb120..085b8fc6 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java @@ -30,7 +30,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl adNonHarmonicResultList, String code) { String adNonTable = "ad_non_harmonic_"; DynamicTableNameHandler.setTableName(adNonTable + code); @@ -46,7 +46,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl adHarmonicResultList, String code) { String adTable = "ad_harmonic_"; DynamicTableNameHandler.setTableName(adTable + code); @@ -63,7 +63,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl adNonHarmonicResultList, String code) { String adNonTableResult = "ad_non_harmonic_result_"; DynamicTableNameHandler.setTableName(adNonTableResult + code); @@ -79,7 +79,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl adHarmonicResultList, String code) { String adTableResult = "ad_harmonic_result_"; DynamicTableNameHandler.setTableName(adTableResult + code); diff --git a/system/src/main/java/com/njcn/gather/system/cfg/pojo/enums/SceneEnum.java b/system/src/main/java/com/njcn/gather/system/cfg/pojo/enums/SceneEnum.java new file mode 100644 index 00000000..02c2ebc0 --- /dev/null +++ b/system/src/main/java/com/njcn/gather/system/cfg/pojo/enums/SceneEnum.java @@ -0,0 +1,42 @@ +package com.njcn.gather.system.cfg.pojo.enums; + +import lombok.Getter; + +/** + * @author caozehui + * @data 2025-03-25 + */ +@Getter +public enum SceneEnum { + /** + * 省级平台 + */ + PROVINCE_PLATFORM("0", "province_platform"), + + /** + * 设备出场 + */ + LEAVE_FACTORY_TEST("1", "leave_factory_test"), + + /** + * 研发自测 + */ + SELF_TEST("2", "self_test"); + + private String value; + private String msg; + + SceneEnum(String value, String msg) { + this.value = value; + this.msg = msg; + } + + public static SceneEnum getSceneEnum(String value) { + for (SceneEnum sceneEnum : SceneEnum.values()) { + if (sceneEnum.getValue().equals(value)) { + return sceneEnum; + } + } + return null; + } +} diff --git a/system/src/main/java/com/njcn/gather/system/cfg/service/impl/SysTestConfigServiceImpl.java b/system/src/main/java/com/njcn/gather/system/cfg/service/impl/SysTestConfigServiceImpl.java index 2d2d0706..30a11449 100644 --- a/system/src/main/java/com/njcn/gather/system/cfg/service/impl/SysTestConfigServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/cfg/service/impl/SysTestConfigServiceImpl.java @@ -34,7 +34,7 @@ public class SysTestConfigServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addDictData(DictDataParam dictDataParam) { checkDicDataName(dictDataParam, false); DictData dictData = new DictData(); @@ -82,7 +82,7 @@ public class DictDataServiceImpl extends ServiceImpl i @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateDictData(DictDataParam.UpdateParam updateParam) { checkDicDataName(updateParam, true); DictData dictData = new DictData(); @@ -91,7 +91,7 @@ public class DictDataServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteDictData(List ids) { return this.lambdaUpdate() .set(DictData::getState, DataStateEnum.DELETED.getCode()) @@ -154,7 +154,7 @@ public class DictDataServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public void exportDictData(DictDataParam.QueryParam queryParam) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (ObjectUtil.isNotNull(queryParam)) { @@ -176,7 +176,7 @@ public class DictDataServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteDictDataByDictTypeId(List ids) { return this.lambdaUpdate().in(DictData::getTypeId, ids).set(DictData::getState, DataStateEnum.DELETED.getCode()).update(); } diff --git a/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictPqServiceImpl.java b/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictPqServiceImpl.java index a442246c..9b3e4649 100644 --- a/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictPqServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictPqServiceImpl.java @@ -56,7 +56,7 @@ public class DictPqServiceImpl extends ServiceImpl impleme } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addDictPq(DictPqParam dictPqParam) { checkDicPqName(dictPqParam, false); DictPq dictPq = new DictPq(); @@ -67,7 +67,7 @@ public class DictPqServiceImpl extends ServiceImpl impleme } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateDictPq(DictPqParam.UpdateParam updateParam) { checkDicPqName(updateParam, true); DictPq dictPq = new DictPq(); @@ -76,7 +76,7 @@ public class DictPqServiceImpl extends ServiceImpl impleme } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteDictPq(List ids) { dictDataService.deleteDictDataByDictTypeId(ids); return this.lambdaUpdate() diff --git a/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTreeServiceImpl.java b/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTreeServiceImpl.java index 7beec68e..18f427ed 100644 --- a/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTreeServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTreeServiceImpl.java @@ -67,7 +67,7 @@ public class DictTreeServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addDictTree(DictTreeParam dictTreeParam) { checkRepeat(dictTreeParam, false); boolean result; @@ -90,7 +90,7 @@ public class DictTreeServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateDictTree(DictTreeParam.UpdateParam param) { DictTree dictTree = this.getById(param.getId()); if("975f63baeb6f653c54fca226a9ae36ca".equals(param.getId()) || dictTree.getPids().contains("975f63baeb6f653c54fca226a9ae36ca")){ @@ -106,7 +106,7 @@ public class DictTreeServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteDictTree(String id) { boolean result = false; DictTree dictTree = this.getById(id); diff --git a/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTypeServiceImpl.java b/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTypeServiceImpl.java index 6f5290a0..d11d01fb 100644 --- a/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTypeServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/dictionary/service/impl/DictTypeServiceImpl.java @@ -55,7 +55,7 @@ public class DictTypeServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addDictType(DictTypeParam dictTypeParam) { checkDicTypeName(dictTypeParam, false); DictType dictType = new DictType(); @@ -66,7 +66,7 @@ public class DictTypeServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateDictType(DictTypeParam.UpdateParam updateParam) { checkDicTypeName(updateParam, true); DictType dictType = new DictType(); @@ -75,7 +75,7 @@ public class DictTypeServiceImpl extends ServiceImpl i } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteDictType(List ids) { dictDataService.deleteDictDataByDictTypeId(ids); return this.lambdaUpdate() diff --git a/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java b/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java index 2b4079cf..064e8ff9 100644 --- a/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java +++ b/system/src/main/java/com/njcn/gather/system/reg/service/impl/SysRegResServiceImpl.java @@ -93,7 +93,7 @@ public class SysRegResServiceImpl extends ServiceImpl regResList = new ArrayList<>(); @@ -155,7 +155,7 @@ public class SysRegResServiceImpl extends ServiceImpl roleIds; - // @ApiModelProperty("最后一次登录时间") - // @DateTimeStrValid(format = "yyyy-MM-dd HH:mm:ss") - // private String loginTime; - -// @ApiModelProperty("密码错误次数") -// @NotNull(message = UserValidMessage.LOGIN_ERROR_TIMES_NOT_NULL) -// private Integer loginErrorTimes; - -// @ApiModelProperty("密码错误锁定时间") -// @DateTimeStrValid(format = "yyyy-MM-dd HH:mm:ss") -// private String lockTime; - @Data @EqualsAndHashCode(callSuper = true) public static class SysUserAddParam extends SysUserParam { diff --git a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java index 28653633..06ee883b 100644 --- a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java +++ b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java @@ -46,7 +46,7 @@ public class SysFunctionServiceImpl extends ServiceImpl functionIds) { List roleFunctions = new ArrayList<>(); if (!CollectionUtil.isEmpty(functionIds)) { @@ -46,7 +46,7 @@ public class SysRoleFunctionServiceImpl extends ServiceImpl functionIds) { //删除原有关系 this.deleteRoleFunctionByRoleIds(Collections.singletonList(roleId)); @@ -62,7 +62,7 @@ public class SysRoleFunctionServiceImpl extends ServiceImpl roleIds) { LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery.in(SysRoleFunction::getRoleId, roleIds); @@ -70,7 +70,7 @@ public class SysRoleFunctionServiceImpl extends ServiceImpl functionIds) { LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery.in(SysRoleFunction::getFunctionId, functionIds); diff --git a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysRoleServiceImpl.java b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysRoleServiceImpl.java index 43bb6b09..67d1b148 100644 --- a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysRoleServiceImpl.java +++ b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysRoleServiceImpl.java @@ -53,7 +53,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addRole(SysRoleParam sysRoleParam) { checkRepeat(sysRoleParam, false); SysRole role = new SysRole(); @@ -64,7 +64,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateRole(SysRoleParam.UpdateParam updateParam) { checkRepeat(updateParam, true); //不能修改超级管理员角色 @@ -80,7 +80,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteRole(List ids) { //不能删除超级管理员角色 Integer count = this.lambdaQuery() diff --git a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserRoleServiceImpl.java b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserRoleServiceImpl.java index 5788df26..0c99393a 100644 --- a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserRoleServiceImpl.java +++ b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserRoleServiceImpl.java @@ -31,7 +31,7 @@ public class SysUserRoleServiceImpl extends ServiceImpl roleIds) { List userRoles = new ArrayList<>(); if (!CollectionUtil.isEmpty(roleIds)) { @@ -46,7 +46,7 @@ public class SysUserRoleServiceImpl extends ServiceImpl roleIds) { //删除原有关系 this.deleteUserRoleByUserIds(Collections.singletonList(userId)); @@ -62,7 +62,7 @@ public class SysUserRoleServiceImpl extends ServiceImpl userIds) { LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery.in(SysUserRole::getUserId, userIds); @@ -70,7 +70,7 @@ public class SysUserRoleServiceImpl extends ServiceImpl roleIds) { LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); lambdaQuery.in(SysUserRole::getRoleId, roleIds); diff --git a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java index ed978005..ea7e26d4 100644 --- a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java +++ b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java @@ -112,7 +112,7 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean addUser(SysUserParam.SysUserAddParam addUserParam) { if (UserConst.SUPER_ADMIN.equals(addUserParam.getLoginName())) { throw new BusinessException(UserResponseEnum.SUPER_ADMIN_REPEAT); @@ -135,7 +135,7 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updateUser(SysUserParam.SysUserUpdateParam updateUserParam) { checkRepeat(updateUserParam, true, updateUserParam.getId()); SysUser sysUser = new SysUser(); @@ -158,7 +158,7 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean updatePassword(String userId, String newPassword) { SysUser user = lambdaQuery().ne(SysUser::getState, UserConst.STATE_DELETE).eq(SysUser::getId, userId).one(); if (ObjectUtil.isNotNull(user)) { @@ -171,7 +171,7 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - @Transactional(rollbackFor = {Exception.class}) + @Transactional public boolean deleteUser(List ids) { for (String id : ids) { List sysRoles = sysUserRoleService.listRoleByUserId(id);