57251、57319、57314

法规技术评估-发起流程-带入拆解单 导入增加校验。
This commit is contained in:
wangzhijiang
2022-08-16 14:03:27 +08:00
parent 159ab2843d
commit 6f4cdc8cb0
3 changed files with 113 additions and 5 deletions
@@ -208,8 +208,7 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
@ApiOperation(value = "条款导入")
@PostMapping(value = "/importItemExcel")
public Result<?> importItemExcel(MultipartFile file, @RequestParam(name = "cut") String cut, HttpServletRequest request) throws Exception {
List<Map<String,Object>> result = this.lawsTechnologyEvaluationEOService.importItemExcel(file,cut,request);
return Result.OK(result);
return this.lawsTechnologyEvaluationEOService.importItemExcel(file,cut,request);
}
@ApiOperation(value="根据id查询明细数据", notes="根据id查询明细数据")
@@ -85,7 +85,7 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
void exportItemTemplate(String cut, HttpServletResponse response, HttpServletRequest request);
List<Map<String,Object>> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception;
Result<?> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception;
List<Map<String, Object>> queryPageDummyById(Map<String, Object> parameter);
}
@@ -356,7 +356,7 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
}
@Override
public List<Map<String,Object>> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception {
public Result<?> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception {
//校验文件格式
int pos = file.getOriginalFilename().lastIndexOf(".");
String fileSuffixStr = file.getOriginalFilename().substring(pos+1).toLowerCase();
@@ -406,6 +406,7 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
}
int rowNos = sheet.getPhysicalNumberOfRows();// 得到excel的总记录条数
for (int i = 0; i < rowNos ; i++) {
Row row = sheet.getRow(i + 1);
if(row != null){
@@ -421,9 +422,17 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
result.add(itemInfoMap);
}
}
Map map = validateImportDatas(result,cut);
boolean isOk = (boolean) map.get("result");
if (!isOk) {
//验证没有通过
String message = (String) map.get("message");
return Result.error(message);
}
}
}
return result;
return Result.OK(result);
}
@Override
@@ -511,4 +520,104 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
}
return technologyTerritoryName;
}
public Map validateImportDatas(List<Map<String, Object>> dataList,String cut){
//存放数据验证结果信息
List<String> stringMessage = new ArrayList<>();
int i = 0;
for (Map<String, Object> map : dataList) {
i++;
int countError = 0; //记录失败数据数量
String errorMsg = "";
if(CutEnum.CN.getValue().equals(cut)){
errorMsg = "" + i + "行:";
}else{
errorMsg = i + " line";
}
String itemNum = (String) map.get("itemNum");
String itemName = (String) map.get("itemName");
String itemContent = (String) map.get("itemContent");
if(StringUtils.isEmpty(itemNum)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款号不能为空;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item num cannot be empty;";
}
countError++;
}else if(itemNum.length() > 100){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款号长度不能超过100;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item num length of the cannot exceed 100;";
}
countError++;
}
if(StringUtils.isEmpty(itemName)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款名称不能为空;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item name cannot be empty;";
}
countError++;
}else if(itemName.length() > 100){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款名称长度不能超过100;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item name length of the cannot exceed 100;";
}
countError++;
}
if(StringUtils.isEmpty(itemContent)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款内容不能为空;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item Contents cannot be empty;";
}
countError++;
}else if(itemContent.length() > 400){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款内容长度不能超过400;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item Contents length of the cannot exceed 400;";
}
countError++;
}
if (countError > 0) {
stringMessage.add(errorMsg);
}
}
Map result = new HashMap();
if(CollectionUtils.isEmpty(dataList)){
result.put("result", false);
String message = "";
if (StringUtils.equals(cut, CutEnum.CN.getValue())) {
message = "不能导入空的模板,请检查!";
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
message = "Cannot import empty template, please check!";
}
result.put("message", message);
}else if (stringMessage.isEmpty()) {
result.put("result", true);
result.put("resultList", dataList);
result.put("message", "");
} else {
result.put("result", false);
String html = "";
for (String message : stringMessage) {
html += message + "</br>";
}
result.put("message", html);
}
return result;
}
}