feat: scc流程不分发导入
This commit is contained in:
+4
@@ -74,9 +74,13 @@ public class ProcessStandardComplianceCheckConstants {
|
|||||||
public static final String AUTO_TASK_2 = "autoTask_2";
|
public static final String AUTO_TASK_2 = "autoTask_2";
|
||||||
public static final String AUTO_TASK_3 = "autoTask_3";
|
public static final String AUTO_TASK_3 = "autoTask_3";
|
||||||
|
|
||||||
|
// 符合
|
||||||
public static final String CONFORM_TO = "1";
|
public static final String CONFORM_TO = "1";
|
||||||
|
// 不符合
|
||||||
public static final String DISCREPANCY = "2";
|
public static final String DISCREPANCY = "2";
|
||||||
|
// 不涉及
|
||||||
public static final String NOT_INVOLVE = "3";
|
public static final String NOT_INVOLVE = "3";
|
||||||
|
// 待验证
|
||||||
public static final String TO_BE_VERIFIED = "4";
|
public static final String TO_BE_VERIFIED = "4";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -35,6 +35,7 @@ import org.springframework.web.servlet.ModelAndView;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -198,7 +199,7 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
|||||||
@AutoLog(value = "法规符合性排查流程-导入")
|
@AutoLog(value = "法规符合性排查流程-导入")
|
||||||
@ApiOperation(value="法规符合性排查流程-导入", notes="法规符合性排查流程-导入")
|
@ApiOperation(value="法规符合性排查流程-导入", notes="法规符合性排查流程-导入")
|
||||||
@PostMapping("/importExcelWithData")
|
@PostMapping("/importExcelWithData")
|
||||||
public Result<?> importExcelWithData(@RequestParam("file") @ApiParam("文件") MultipartFile file) {
|
public Result<?> importExcelWithData(@RequestParam("file") @ApiParam("文件") MultipartFile file) throws IOException {
|
||||||
Map<String, Object> resultMap = sccService.importExcelWithData(file);
|
Map<String, Object> resultMap = sccService.importExcelWithData(file);
|
||||||
Object flag = resultMap.get("flag");
|
Object flag = resultMap.get("flag");
|
||||||
if (flag == YesOrNoEnum.YES.getValue()) {
|
if (flag == YesOrNoEnum.YES.getValue()) {
|
||||||
|
|||||||
+1
-2
@@ -159,8 +159,7 @@ public class ProcessStandardComplianceCheckDetail implements Serializable {
|
|||||||
* 整改周期
|
* 整改周期
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "整改周期")
|
@ApiModelProperty(value = "整改周期")
|
||||||
@Dict(dicCode = "correction_period")
|
@Excel(name = "整改周期", width = 15, orderNum = "11")
|
||||||
@Excel(name = "整改方案", width = 15, orderNum = "11", dicCode = "correction_period")
|
|
||||||
private String correctionPeriod;
|
private String correctionPeriod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+3
-2
@@ -77,8 +77,7 @@ public class WithoutDistributeExcelTemplate {
|
|||||||
* 整改周期
|
* 整改周期
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "整改周期")
|
@ApiModelProperty(value = "整改周期")
|
||||||
@Dict(dicCode = "correction_period")
|
@Excel(name = "整改方案", width = 15, orderNum = "9")
|
||||||
@Excel(name = "整改方案", width = 15, orderNum = "9", dicCode = "correction_period")
|
|
||||||
private String correctionPeriod;
|
private String correctionPeriod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -124,6 +123,8 @@ public class WithoutDistributeExcelTemplate {
|
|||||||
@Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name")
|
@Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
|
private String sort;
|
||||||
|
|
||||||
public List<String> obtainFileIds() {
|
public List<String> obtainFileIds() {
|
||||||
return material != null ? Arrays.asList(material.split(",")) : Collections.emptyList();
|
return material != null ? Arrays.asList(material.split(",")) : Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -9,6 +9,7 @@ import org.activiti.engine.delegate.DelegateTask;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -34,5 +35,5 @@ public interface IProcessStandardComplianceCheckService extends IService<Process
|
|||||||
void exportXls(String taskId, HttpServletResponse response);
|
void exportXls(String taskId, HttpServletResponse response);
|
||||||
void exportXlsWithoutDistribute(String taskId, HttpServletResponse response);
|
void exportXlsWithoutDistribute(String taskId, HttpServletResponse response);
|
||||||
|
|
||||||
Map<String, Object> importExcelWithData(MultipartFile file);
|
Map<String, Object> importExcelWithData(MultipartFile file) throws IOException;
|
||||||
}
|
}
|
||||||
|
|||||||
+179
-2
@@ -5,10 +5,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.common.api.CommonAPI;
|
||||||
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.common.system.vo.SysDictItemCore;
|
||||||
import com.jero.common.util.FileUtils;
|
import com.jero.common.util.FileUtils;
|
||||||
|
import com.jero.common.util.MessageUtils;
|
||||||
import com.jero.common.util.MinioUtil;
|
import com.jero.common.util.MinioUtil;
|
||||||
import com.jero.common.util.ZipUtil;
|
import com.jero.common.util.ZipUtil;
|
||||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||||
@@ -33,6 +37,7 @@ import com.jero.modules.activiti.process.standardComplianceCheck.service.IProces
|
|||||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||||
import com.jero.modules.activiti.util.ExcelUtils;
|
import com.jero.modules.activiti.util.ExcelUtils;
|
||||||
|
import com.jero.modules.laws.common.service.impl.LawsCommonServiceImpl;
|
||||||
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
||||||
import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper;
|
import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper;
|
||||||
import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
|
import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
|
||||||
@@ -40,11 +45,13 @@ import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
|||||||
import com.jero.modules.laws.utils.ExcelExportUtilPro;
|
import com.jero.modules.laws.utils.ExcelExportUtilPro;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
|
import com.jero.modules.split.common.FileUnZip;
|
||||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
import com.jero.modules.system.entity.SysDepart;
|
import com.jero.modules.system.entity.SysDepart;
|
||||||
import com.jero.modules.system.service.ISysDepartService;
|
import com.jero.modules.system.service.ISysDepartService;
|
||||||
|
import lombok.Cleanup;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
@@ -68,6 +75,8 @@ import java.io.File;
|
|||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -109,6 +118,10 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
private DocumentSplitMapper documentSplitMapper;
|
private DocumentSplitMapper documentSplitMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private ExcelExportUtilPro excelExportUtilPro;
|
private ExcelExportUtilPro excelExportUtilPro;
|
||||||
|
@Resource
|
||||||
|
private CommonAPI commonAPI;
|
||||||
|
@Resource
|
||||||
|
private ExcelUtils excelUtils;
|
||||||
|
|
||||||
@Value("${jero.path.exportExcelTempPath}")
|
@Value("${jero.path.exportExcelTempPath}")
|
||||||
private String exportExcelTempPath;
|
private String exportExcelTempPath;
|
||||||
@@ -474,7 +487,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
@Override
|
||||||
public void exportXlsWithoutDistribute(String taskId, HttpServletResponse response) {
|
public void exportXlsWithoutDistribute(String taskId, HttpServletResponse response) {
|
||||||
ProcessInfoVO<ProcessSccVO> handleData = this.getHandleData(taskId);
|
ProcessInfoVO<ProcessSccVO> handleData = this.getHandleData(taskId);
|
||||||
ProcessSccVO businessInfoDTO = handleData.getBusinessInfoDTO();
|
ProcessSccVO businessInfoDTO = handleData.getBusinessInfoDTO();
|
||||||
@@ -520,14 +533,178 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> importExcelWithData(MultipartFile file) {
|
public Map<String, Object> importExcelWithData(MultipartFile file) throws IOException {
|
||||||
|
List<SysDictItemCore> listDict = commonAPI.getDictItemAll();
|
||||||
Map<String, Object> resultMap = new HashMap<>();
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
List<String> errorMsgs = new ArrayList<>();
|
||||||
|
// 判断上传的是不是压缩包
|
||||||
|
if (!Objects.requireNonNull(file.getOriginalFilename()).toLowerCase().endsWith(".zip")) {
|
||||||
|
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.PLEASE_UPLOAD_ZIP));
|
||||||
|
}
|
||||||
|
|
||||||
|
Path path = Files.createTempDirectory("temp");
|
||||||
|
File saveDirectory = new File(path.toUri());
|
||||||
|
if (!saveDirectory.isDirectory()) {
|
||||||
|
boolean mkdir = saveDirectory.mkdir();
|
||||||
|
}
|
||||||
|
org.apache.commons.io.FileUtils.copyInputStreamToFile(file.getInputStream(),
|
||||||
|
new File(path + File.separator + file.getOriginalFilename()));
|
||||||
|
// 解压缩
|
||||||
|
FileUnZip.unZipFiles(path + File.separator + file.getOriginalFilename(), String.valueOf(path));
|
||||||
|
|
||||||
|
List<File> fileList = new ArrayList<>();
|
||||||
|
for (File file1 : Objects.requireNonNull(saveDirectory.listFiles())) {
|
||||||
|
if (file1.getName().contains(".xls") || file1.getName().contains(".xlsx")) {
|
||||||
|
fileList.add(file1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fileList.isEmpty()) {
|
||||||
|
FileUnZip.deleteDir(saveDirectory);
|
||||||
|
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR));
|
||||||
|
} else if (fileList.size() > 1) {
|
||||||
|
FileUnZip.deleteDir(saveDirectory);
|
||||||
|
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR));
|
||||||
|
}
|
||||||
|
List<File> excelfilelist = FileUnZip.readImpExcelFile(saveDirectory.getPath());
|
||||||
|
System.gc();
|
||||||
|
if (excelfilelist.size() != 1) {
|
||||||
|
FileUnZip.deleteDir(saveDirectory);
|
||||||
|
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.IMPORT_TEMPLATE_ERROR));
|
||||||
|
}
|
||||||
|
// 数据内容格式校验
|
||||||
|
Map<String, File> fileMap = new HashMap<>();
|
||||||
|
// 遍历saveDirectory下的所有文件
|
||||||
|
LawsCommonServiceImpl.populateFileMap(saveDirectory, saveDirectory, fileMap);
|
||||||
|
|
||||||
|
// 获取Excel的header
|
||||||
|
List<String> 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(WithoutDistributeExcelTemplate.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 = Files.newInputStream(excelfilelist.get(0).toPath());
|
||||||
|
List<WithoutDistributeExcelTemplate> list = ExcelImportUtil
|
||||||
|
.importExcel(inputStream, WithoutDistributeExcelTemplate.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.validationList(list, listDict, fileMap);
|
||||||
|
if (!errorMsgs.isEmpty()) {
|
||||||
|
resultMap.put("msg", errorMsgs);
|
||||||
|
resultMap.put("flag", YesOrNoEnum.NO.getValue());
|
||||||
|
} else {
|
||||||
|
resultMap.put("flag", YesOrNoEnum.YES.getValue());
|
||||||
|
// 转换为字典值
|
||||||
|
this.transToDictValue(list, listDict, fileMap);
|
||||||
|
// 清洗
|
||||||
|
this.cleanData(list);
|
||||||
|
resultMap.put("dataList", list);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
errorMsgs.add("文件导入异常:" + e.getMessage());
|
||||||
|
resultMap.put("msg", errorMsgs);
|
||||||
|
resultMap.put("flag", YesOrNoEnum.NO.getValue());
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void cleanData(List<WithoutDistributeExcelTemplate> list) {
|
||||||
|
list.forEach(item -> {
|
||||||
|
String result = item.getResult();
|
||||||
|
if (StrUtil.isBlank(result)) {
|
||||||
|
item.setUnsatisfiedRequire(null);
|
||||||
|
item.setCorrectionSolution(null);
|
||||||
|
item.setCorrectionCost(null);
|
||||||
|
item.setCommonality(null);
|
||||||
|
item.setCommonalityCost(null);
|
||||||
|
item.setRemark(null);
|
||||||
|
item.setMaterial(null);
|
||||||
|
}
|
||||||
|
switch (result) {
|
||||||
|
case CONFORM_TO:
|
||||||
|
case NOT_INVOLVE:
|
||||||
|
item.setUnsatisfiedRequire(null);
|
||||||
|
item.setCorrectionSolution(null);
|
||||||
|
item.setCorrectionCost(null);
|
||||||
|
item.setCommonality(null);
|
||||||
|
item.setCommonalityCost(null);
|
||||||
|
break;
|
||||||
|
case DISCREPANCY:
|
||||||
|
case TO_BE_VERIFIED:
|
||||||
|
item.setRemark(null);
|
||||||
|
item.setMaterial(null);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void transToDictValue(List<WithoutDistributeExcelTemplate> list, List<SysDictItemCore> listDict, Map<String, File> fileMap) {
|
||||||
|
list.forEach(item -> {
|
||||||
|
item.setResult(excelUtils.translateDictValue("evaluation_result", item.getResult(), listDict));
|
||||||
|
item.setMaterial(excelUtils.uploadFile(item.getMaterial(), fileMap));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> validationList(List<WithoutDistributeExcelTemplate> list, List<SysDictItemCore> listDict, Map<String, File> fileMap) {
|
||||||
|
List<String> errorMsgs = new ArrayList<>();
|
||||||
|
int i = 4;
|
||||||
|
Iterator<WithoutDistributeExcelTemplate> iterator = list.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
WithoutDistributeExcelTemplate data = iterator.next();
|
||||||
|
if (ExcelUtils.isEmptyRow(data)) {
|
||||||
|
iterator.remove();
|
||||||
|
if (list.isEmpty()) {
|
||||||
|
errorMsgs.add("文件暂无数据,请检查后重试。");
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String result = data.getResult();
|
||||||
|
String material = data.getMaterial();
|
||||||
|
|
||||||
|
StringBuilder errMsgHeader = new StringBuilder();
|
||||||
|
StringBuilder errMsg = new StringBuilder();
|
||||||
|
data.setSort(String.valueOf(i++));
|
||||||
|
errMsgHeader.append("第").append(data.getSort()).append("行");
|
||||||
|
|
||||||
|
// 检查所有数据字典校验的字段
|
||||||
|
errMsg.append(excelUtils.validResult(result, listDict));
|
||||||
|
errMsg.append(excelUtils.validMaterial(material, fileMap));
|
||||||
|
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
|
||||||
|
if (errMsg.length() > 0) {
|
||||||
|
errorMsgs.add(errMsgHeader.append(errMsg).toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return errorMsgs;
|
||||||
|
}
|
||||||
|
|
||||||
private List<ProcessStandardComplianceCheckDetail> getSplitDataByStandard(ProcessStandardComplianceCheck scc) {
|
private List<ProcessStandardComplianceCheckDetail> getSplitDataByStandard(ProcessStandardComplianceCheck scc) {
|
||||||
String standardId = scc.getStandardId();
|
String standardId = scc.getStandardId();
|
||||||
String fileType = scc.getSplitFileSource();
|
String fileType = scc.getSplitFileSource();
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import org.springframework.util.StringUtils;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.File;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -531,4 +532,28 @@ public class ExcelUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String validResult(String value, List<SysDictItemCore> listDict) {
|
||||||
|
if (StrUtil.isBlank(value)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
// 检查排查结果
|
||||||
|
if (!excelUtils.validDict("evaluation_result", value, null, null, true, listDict)) {
|
||||||
|
return "'评估结果'无效。";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String validMaterial(String value, Map<String, File> fileMap) {
|
||||||
|
if (StrUtil.isBlank(value)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if (!importUtil.fileValid(value, fileMap)) {
|
||||||
|
return "'佐证材料'无效。";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public String uploadFile(String material, Map<String, File> fileMap) {
|
||||||
|
return importUtil.convertFileIds(material, fileMap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1763,7 +1763,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
return lawsTreeNodeService.list(queryWrapper);
|
return lawsTreeNodeService.list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void populateFileMap(File rootDir, File currentDir, Map<String, File> fileMap) {
|
public static void populateFileMap(File rootDir, File currentDir, Map<String, File> fileMap) {
|
||||||
File[] files = currentDir.listFiles(); // 列出所有文件和子目录
|
File[] files = currentDir.listFiles(); // 列出所有文件和子目录
|
||||||
if (files != null) {
|
if (files != null) {
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
|
|||||||
@@ -668,7 +668,7 @@ public class ImportUtil {
|
|||||||
return cellValue.matches("^[0-9]{4}$");
|
return cellValue.matches("^[0-9]{4}$");
|
||||||
}
|
}
|
||||||
|
|
||||||
private String convertFileIds(String cellValue, Map<String, File> fileMap) {
|
public String convertFileIds(String cellValue, Map<String, File> fileMap) {
|
||||||
String[] pathList = cellValue.split(",");
|
String[] pathList = cellValue.split(",");
|
||||||
StringBuilder fileIds = new StringBuilder();
|
StringBuilder fileIds = new StringBuilder();
|
||||||
for (String path : pathList) {
|
for (String path : pathList) {
|
||||||
@@ -806,7 +806,7 @@ public class ImportUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 文件校验
|
// 文件校验
|
||||||
private boolean fileValid(String cellValue, Map<String, File> fileMap) {
|
public boolean fileValid(String cellValue, Map<String, File> fileMap) {
|
||||||
String[] pathList = cellValue.split(",");
|
String[] pathList = cellValue.split(",");
|
||||||
for (String path : pathList) {
|
for (String path : pathList) {
|
||||||
// 校验是否真的有这个文件
|
// 校验是否真的有这个文件
|
||||||
|
|||||||
Reference in New Issue
Block a user