57251、57319、57314
法规技术评估-发起流程-带入拆解单 导入增加校验。
This commit is contained in:
+1
-2
@@ -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查询明细数据")
|
||||
|
||||
+1
-1
@@ -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);
|
||||
}
|
||||
|
||||
+111
-2
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user