fix: 89026 法规符合性排查流程(法规工程师发起) --车型项目上传数据错误,提示语不明确
This commit is contained in:
+31
@@ -789,8 +789,11 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
|
||||
private List<String> validationModelList(List<ModelExcelVO> list, List<SysDictItemCore> listDict) {
|
||||
List<String> errorMsgs = new ArrayList<>();
|
||||
Set<String> modelSet = new HashSet<>();
|
||||
Map<String, List<Integer>> duplicateModels = new HashMap<>();
|
||||
int i = 2;
|
||||
Iterator<ModelExcelVO> iterator = list.iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
ModelExcelVO data = iterator.next();
|
||||
if (ExcelUtils.isEmptyRow(data)) {
|
||||
@@ -800,6 +803,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
}
|
||||
continue;
|
||||
}
|
||||
String model = data.getModel();
|
||||
String modelState = data.getModelState();
|
||||
|
||||
StringBuilder errMsgHeader = new StringBuilder();
|
||||
@@ -807,13 +811,40 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
data.setSort(String.valueOf(i++));
|
||||
errMsgHeader.append("第").append(data.getSort()).append("行");
|
||||
|
||||
// 检查重复的model
|
||||
if (!modelSet.add(model)) {
|
||||
duplicateModels.putIfAbsent(model, new ArrayList<>());
|
||||
duplicateModels.get(model).add(Integer.parseInt(data.getSort()));
|
||||
} else {
|
||||
duplicateModels.putIfAbsent(model, new ArrayList<>());
|
||||
duplicateModels.get(model).add(Integer.parseInt(data.getSort()));
|
||||
}
|
||||
|
||||
// 检查所有数据字典校验的字段
|
||||
errMsg.append(excelUtils.validModel(model));
|
||||
errMsg.append(excelUtils.validModelState(modelState, listDict));
|
||||
|
||||
// 如果数据有问题,则将提示信息添加到 errorMsgs 中
|
||||
if (errMsg.length() > 0) {
|
||||
errorMsgs.add(errMsgHeader.append(errMsg).toString());
|
||||
}
|
||||
}
|
||||
|
||||
// 添加重复model的错误信息
|
||||
for (Map.Entry<String, List<Integer>> entry : duplicateModels.entrySet()) {
|
||||
if (entry.getValue().size() > 1) {
|
||||
StringBuilder duplicateErrMsg = new StringBuilder("车型 '")
|
||||
.append(entry.getKey())
|
||||
.append("' 在以下行中重复: ");
|
||||
for (int index : entry.getValue()) {
|
||||
duplicateErrMsg.append(index).append("行, ");
|
||||
}
|
||||
// 移除最后一个多余的逗号和空格
|
||||
duplicateErrMsg.setLength(duplicateErrMsg.length() - 2);
|
||||
errorMsgs.add(duplicateErrMsg.toString());
|
||||
}
|
||||
}
|
||||
|
||||
return errorMsgs;
|
||||
}
|
||||
|
||||
|
||||
@@ -615,7 +615,7 @@ public class ExcelUtils {
|
||||
|
||||
public String validModelState(String value, List<SysDictItemCore> listDict) {
|
||||
if (StrUtil.isBlank(value)) {
|
||||
return "";
|
||||
return "'车型状态'为空。";
|
||||
}
|
||||
// 检查排查结果
|
||||
if (!excelUtils.validDict("model_status", value, null, null, true, listDict)) {
|
||||
@@ -623,4 +623,15 @@ public class ExcelUtils {
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public String validModel(String value) {
|
||||
if (StrUtil.isBlank(value)) {
|
||||
return "'车型'为空。";
|
||||
}
|
||||
// 判断是否超长
|
||||
if (value.length() > 50) {
|
||||
return "'车型'超过50字";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user