|
@@ -273,25 +273,43 @@ public class DrugConfigFacade {
|
|
|
|
|
|
//1、数据完整性校验
|
|
|
//2、去除前后空格
|
|
|
+ Boolean isEmpty = true;
|
|
|
+ List<String> emptyNumList = Lists.newLinkedList();
|
|
|
for (int i = 0; i < drugConfigList.size(); i++) {
|
|
|
if (StringUtil.isBlank(drugConfigList.get(i).getHisName())
|
|
|
- &&StringUtil.isBlank(drugConfigList.get(i).getForm())
|
|
|
+ && StringUtil.isBlank(drugConfigList.get(i).getForm())
|
|
|
&& StringUtil.isBlank(drugConfigList.get(i).getUniqueName())
|
|
|
&& StringUtil.isBlank(drugConfigList.get(i).getUniqueCode())) {
|
|
|
continue;
|
|
|
}
|
|
|
+ isEmpty = false;
|
|
|
if (StringUtil.isBlank(drugConfigList.get(i).getHisName())
|
|
|
|| StringUtil.isBlank(drugConfigList.get(i).getUniqueName())) {
|
|
|
- throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "第" + (i + 2) + "行存在不完整数据,导入失败,请修改后再试");
|
|
|
+ emptyNumList.add(String.valueOf(i + 2));
|
|
|
+ }
|
|
|
+ if (StringUtil.isNotBlank(drugConfigList.get(i).getHisName())) {
|
|
|
+ drugConfigList.get(i).setHisName(drugConfigList.get(i).getHisName().trim());
|
|
|
+ }
|
|
|
+ if (StringUtil.isNotBlank(drugConfigList.get(i).getUniqueName())) {
|
|
|
+ drugConfigList.get(i).setUniqueName(drugConfigList.get(i).getUniqueName().trim());
|
|
|
+ }
|
|
|
+ if (StringUtil.isNotBlank(drugConfigList.get(i).getForm())) {
|
|
|
+ drugConfigList.get(i).setUniqueName(drugConfigList.get(i).getForm().trim());
|
|
|
}
|
|
|
- drugConfigList.get(i).setHisName(drugConfigList.get(i).getHisName().trim());
|
|
|
- drugConfigList.get(i).setUniqueName(drugConfigList.get(i).getUniqueName().trim());
|
|
|
if (StringUtil.isNotBlank(drugConfigList.get(i).getUniqueCode())) {
|
|
|
drugConfigList.get(i).setUniqueCode(drugConfigList.get(i).getUniqueCode().trim());
|
|
|
} else {
|
|
|
drugConfigList.get(i).setUniqueCode(null);
|
|
|
}
|
|
|
}
|
|
|
+ if (isEmpty == true) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "校验失败,导入数据不能为空");
|
|
|
+ }
|
|
|
+ if (ListUtil.isNotEmpty(emptyNumList)) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "以下行数存在不完整数据:"
|
|
|
+ + emptyNumList.stream().collect(Collectors.joining("、"))
|
|
|
+ + "。导入取消,请修改后再试。\n");
|
|
|
+ }
|
|
|
|
|
|
List<String> hisNames = drugConfigList
|
|
|
.stream()
|
|
@@ -327,6 +345,7 @@ public class DrugConfigFacade {
|
|
|
});
|
|
|
|
|
|
//标准术语校验
|
|
|
+ List<String> errorNumList = Lists.newLinkedList();
|
|
|
ConceptVO conceptVO = new ConceptVO();
|
|
|
conceptVO.setNames(uniqueNames);
|
|
|
conceptVO.setType(ConceptTypeEnum.Drug.getKey());
|
|
@@ -334,11 +353,22 @@ public class DrugConfigFacade {
|
|
|
RespDTOUtil.respNGDealCover(respDTO, "标准术语校验失败");
|
|
|
List<String> names = respDTO.data;
|
|
|
for (int i = 0; i < drugConfigList.size(); i++) {
|
|
|
+ if (StringUtil.isBlank(drugConfigList.get(i).getHisName())
|
|
|
+ && StringUtil.isBlank(drugConfigList.get(i).getForm())
|
|
|
+ && StringUtil.isBlank(drugConfigList.get(i).getUniqueName())
|
|
|
+ && StringUtil.isBlank(drugConfigList.get(i).getUniqueCode())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if (!names.contains(drugConfigList.get(i).getUniqueName())) {
|
|
|
- throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
|
|
|
- "【" + drugConfigList.get(i).getUniqueName() + "】不是标准术语,导入失败,请修改后再试");
|
|
|
+ errorNumList.add(String.valueOf(i + 2));
|
|
|
}
|
|
|
}
|
|
|
+ if (ListUtil.isNotEmpty(errorNumList)) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
|
|
|
+ "以下行数标准术语与数据库术语不匹配:"
|
|
|
+ + errorNumList.stream().collect(Collectors.joining("、"))
|
|
|
+ + "。导入取消,请修改后再试。");
|
|
|
+ }
|
|
|
|
|
|
//重复数据过滤
|
|
|
drugConfigList = drugConfigList
|