diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java index bdead15f..d0faa2ac 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/api/vo/ResultCommon.java @@ -198,5 +198,12 @@ public class ResultCommon { public static final String DATA_DOES_NOT_EXIST = "data.does.not.exist"; // 第{0}行 public static final String ROW_N_IMPORT = "row.n.import"; + // 分解单上传模板错误,请检查后重试 + public static final String SPLIT_IMPORT_TEMPLATE_ERROR = "split.import.template.error"; + // 车型文件上传模板错误,请检查后重试 + public static final String MODEL_IMPORT_TEMPLATE_ERROR = "model.import.template.error"; + public static final String MODEL_IMPORT_DATA_ERROR = "model.import.data.error"; + + public static final String FILE_EMPTY_IMPORT_ERROR = "file.empty.import.error"; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java index 2eb548ae..0ee9fd59 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/controller/ProcessStandardComplianceCheckController.java @@ -18,7 +18,6 @@ import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.Model import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.ProcessSccVO; import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.SplitExcelVO; import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService; -import com.jero.modules.oss.entity.OSSFile; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -197,21 +196,6 @@ public class ProcessStandardComplianceCheckController extends JeroController importExcelModel(@RequestParam("file") @ApiParam("文件") MultipartFile file) throws IOException { - Map resultMap = sccService.importExcelModel(file); - Object flag = resultMap.get("flag"); - if (flag == YesOrNoEnum.YES.getValue()) { - Result result = (Result)resultMap.get("result"); - return Result.OK(result); - } else { - List msg = (List) resultMap.get("msg"); - return Result.error(MessageUtils.getMessage(ResultCommon.IMPORT_ERROR), msg); - } - } - @AutoLog(value = "法规符合性排查流程-导入") @ApiOperation(value="法规符合性排查流程-导入", notes="法规符合性排查流程-导入") @PostMapping("/importExcelWithData") diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java index d3d3562a..b8591ddc 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/IProcessStandardComplianceCheckService.java @@ -37,5 +37,4 @@ public interface IProcessStandardComplianceCheckService extends IService importExcelWithData(MultipartFile file) throws IOException; - Map importExcelModel(MultipartFile file) throws IOException; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java index 8ca6f501..27ca1a01 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/standardComplianceCheck/service/impl/ProcessStandardComplianceCheckServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.CommonAPI; -import com.jero.common.api.vo.Result; import com.jero.common.api.vo.ResultCommon; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; @@ -671,70 +670,6 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl importExcelModel(MultipartFile file) { - List listDict = commonAPI.getDictItemAll(); - Map resultMap = new HashMap<>(); - List errorMsgs = new ArrayList<>(); - - // 获取Excel的header - List headers; - try { - headers = ExcelUtils.getHeaderFromExcel(file.getInputStream(), 0); - } catch (Exception e) { - errorMsgs.add("模板错误,请按照系统模板导入!"); - resultMap.put("msg", errorMsgs); - resultMap.put("flag", YesOrNoEnum.NO.getValue()); - log.error(e.getMessage(), e); - return resultMap; // 返回错误信息 - } - - // 使用静态方法验证header - boolean isMatched = headers.equals(ExcelUtils.getSortedHeadersFromClass(ModelExcelVO.class)); - if (!isMatched) { - errorMsgs.add("模板错误,请按照系统模板导入!"); - resultMap.put("msg", errorMsgs); - resultMap.put("flag", YesOrNoEnum.NO.getValue()); - return resultMap; // 返回错误信息 - } - - ImportParams params = new ImportParams(); - params.setTitleRows(0); - params.setHeadRows(1); - params.setNeedSave(true); - - try { - @Cleanup - InputStream inputStream = file.getInputStream(); - List list = ExcelImportUtil.importExcel(inputStream, ModelExcelVO.class, params); - list.remove(0); - list.remove(0); - if (list.isEmpty()) { - errorMsgs.add("文件暂无数据,请检查后重试。"); - resultMap.put("msg", errorMsgs); - resultMap.put("flag", YesOrNoEnum.NO.getValue()); - return resultMap; // 返回错误信息 - } - // 批量检查数据是否有效 - errorMsgs = this.validationModelList(list, listDict); - if (!errorMsgs.isEmpty()) { - resultMap.put("msg", errorMsgs); - resultMap.put("flag", YesOrNoEnum.NO.getValue()); - } else { - resultMap.put("flag", YesOrNoEnum.YES.getValue()); - // 保存文件数据 - Result result = ossFileService.commonUpload(file, "sccProcess"); - resultMap.put("result", result); - } - } catch (Exception e) { - errorMsgs.add("文件导入异常:" + e.getMessage()); - resultMap.put("msg", errorMsgs); - resultMap.put("flag", YesOrNoEnum.NO.getValue()); - log.error(e.getMessage(), e); - } - return resultMap; - } - private List validationModelList(List list, List listDict) { List errorMsgs = new ArrayList<>(); int i = 4; @@ -1070,6 +1005,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl getSplitData(ProcessStandardComplianceCheck scc, MultipartFile splitFile) { + // 校验拆分数据 + List result = new ArrayList<>(); // 是否上传分解单 if (splitFile == null) { @@ -1101,11 +1038,11 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl result = BeanCopyUtils.copyBeanList(splitExcelVOList, ProcessStandardComplianceCheckDetail.class); result.forEach(detail -> detail.setCheckId(sccId)); @@ -1126,17 +1063,19 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl getModelExcelData(MultipartFile file) { + List listDict = commonAPI.getDictItemAll(); + List errorMsgs; // 获取Excel的header List headers; try { headers = ExcelUtils.getHeaderFromExcel(file.getInputStream()); } catch (Exception e) { log.error(e.getMessage(), e); - throw new JeroBootException("上传模板错误,请检查后重试。"); + throw new JeroBootException(ResultCommon.MODEL_IMPORT_TEMPLATE_ERROR); } boolean isMatched = ModelExcelVO.validateExcelHeaders(headers); if (!isMatched) { - throw new JeroBootException("上传模板错误,请检查后重试。"); + throw new JeroBootException(ResultCommon.MODEL_IMPORT_TEMPLATE_ERROR); } ImportParams params = new ImportParams(); params.setHeadRows(0); @@ -1145,12 +1084,19 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl", errorMsgs); + throw new JeroBootException(ResultCommon.MODEL_IMPORT_DATA_ERROR, errorMsg); + } + return modelExcelVOList; } diff --git a/laws-single-startup/src/main/resources/i18n/messages.properties b/laws-single-startup/src/main/resources/i18n/messages.properties index 33c1c51f..a86ca0b5 100644 --- a/laws-single-startup/src/main/resources/i18n/messages.properties +++ b/laws-single-startup/src/main/resources/i18n/messages.properties @@ -80,3 +80,7 @@ message.no.exists.standard=\u6807\u51C6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CF scc.delete.standard.error=\u6CD5\u89C4\u7B26\u5408\u6027\u6392\u67E5\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 scc.delete.standard.error2=\u6807\u51C6\u6709\u88AB\u62C6\u5206\u7684\u6570\u636E\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 scc.delete.standard.error3=\u6807\u51C6\u89E3\u8BFB\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 +split.import.template.error=\u5206\u89E3\u5355\u4E0A\u4F20\u6A21\u677F\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 +model.import.template.error=\u8F66\u578B\u6587\u4EF6\u4E0A\u4F20\u6A21\u677F\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 +model.import.data.error=\u8F66\u578B\u6587\u4EF6\u4E0A\u4F20\u6570\u636E\u9519\u8BEF\u3002{0} +FILE_EMPTY_IMPORT_ERROR=\u6587\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 \ No newline at end of file diff --git a/laws-single-startup/src/main/resources/i18n/messages_en.properties b/laws-single-startup/src/main/resources/i18n/messages_en.properties index 5d8f2ce7..45d07240 100644 --- a/laws-single-startup/src/main/resources/i18n/messages_en.properties +++ b/laws-single-startup/src/main/resources/i18n/messages_en.properties @@ -96,3 +96,7 @@ row.n.import=Row {0} scc.delete.standard.error=The standard has been used by the Standard Compliance Check Process, can not delete scc.delete.standard.error2=Standards have split data, can not delete scc.delete.standard.error3=The standard interpretation process has ongoing processes, can not delete +split.import.template.error=Split import template error +model.import.template.error=Model import template error +model.import.data.error=Model import data error.{0} +FILE_EMPTY_IMPORT_ERROR=The file is empty, please upload again \ No newline at end of file diff --git a/laws-single-startup/src/main/resources/i18n/messages_zh.properties b/laws-single-startup/src/main/resources/i18n/messages_zh.properties index 72764dcb..6155f250 100644 --- a/laws-single-startup/src/main/resources/i18n/messages_zh.properties +++ b/laws-single-startup/src/main/resources/i18n/messages_zh.properties @@ -95,3 +95,7 @@ row.n.import=\u7B2C{0}\u884C scc.delete.standard.error=\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6CD5\u89C4\u7B26\u5408\u6027\u6392\u67E5\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 scc.delete.standard.error2=\u6807\u51C6\u6709\u88AB\u62C6\u5206\u7684\u6570\u636E\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 scc.delete.standard.error3=\u6807\u51C6\u89E3\u8BFB\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664 +split.import.template.error=\u5206\u89E3\u5355\u4E0A\u4F20\u6A21\u677F\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 +model.import.template.error=\u8F66\u578B\u6587\u4EF6\u4E0A\u4F20\u6A21\u677F\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 +model.import.data.error=\u8F66\u578B\u6587\u4EF6\u4E0A\u4F20\u6570\u636E\u9519\u8BEF\u3002{0} +FILE_EMPTY_IMPORT_ERROR=\u6587\u4EF6\u4E3A\u7A7A\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5 \ No newline at end of file