fix:87330

This commit is contained in:
梁琦涛
2024-07-23 18:08:41 +08:00
parent 3b8699cfd5
commit 4f048a8033
2 changed files with 33 additions and 14 deletions
@@ -5,12 +5,12 @@
<mapper namespace="com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMapper"> <mapper namespace="com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMapper">
<select id="getStandardData" <select id="getStandardData"
resultType="com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail"> resultType="com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail">
select id as standard_id,standard_number from select id as standard_id,standard_number,standard_name,standard_english_name,type from
(select id, standard_number (select id, standard_number,standard_name,standard_english_name,type
from laws_domestic_standard from laws_domestic_standard
where del_flag = 0 where del_flag = 0
union all union all
select id, standard_number select id, standard_number,standard_name,standard_english_name,'' as type
from laws_enterprise_standard from laws_enterprise_standard
where del_flag = 0) a where standard_number in where del_flag = 0) a where standard_number in
<foreach collection="listNum" item="item" separator="," open="(" close=")"> <foreach collection="listNum" item="item" separator="," open="(" close=")">
@@ -198,11 +198,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
List<String> listStandardNumber = listStandardNumberNotNull.stream() List<String> listStandardNumber = listStandardNumberNotNull.stream()
.map(LawsMarketStandardDetail::getStandardNumber).collect(Collectors.toList()); .map(LawsMarketStandardDetail::getStandardNumber).collect(Collectors.toList());
// 根据标准编号获取标准id // 根据标准编号获取标准id
List<LawsMarketStandardDetail> listIds = lawsMarketStandardDetailMapper.getStandardData(listStandardNumber); List<LawsMarketStandardDetail> listIdsStandard = lawsMarketStandardDetailMapper.getStandardData(listStandardNumber);
if(CollectionUtils.isEmpty(listIds)){ if(CollectionUtils.isEmpty(listIdsStandard)){
return Result.error("标准编号不存在"); return Result.error("标准编号不存在");
} }
StringBuilder m = getStringBuilder(manifestId, listLawsMarketStandardDetail, listIds); StringBuilder m = getStringBuilder(manifestId, listLawsMarketStandardDetail, listIdsStandard);
if(!StringUtils.isBlank(m.toString())){ if(!StringUtils.isBlank(m.toString())){
return Result.error(m.toString()); return Result.error(m.toString());
@@ -224,7 +224,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
} }
@NotNull @NotNull
private StringBuilder getStringBuilder(String manifestId, List<LawsMarketStandardDetail> listLawsMarketStandardDetail, List<LawsMarketStandardDetail> listIds) { private StringBuilder getStringBuilder(String manifestId, List<LawsMarketStandardDetail> listLawsMarketStandardDetail, List<LawsMarketStandardDetail> listIdsStandard) {
StringBuilder m = new StringBuilder(); StringBuilder m = new StringBuilder();
// 获取当前清单的标准 // 获取当前清单的标准
List<String> listStandardIds = getStandardIds(manifestId); List<String> listStandardIds = getStandardIds(manifestId);
@@ -245,9 +245,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
s.append(dict); s.append(dict);
} }
// 验证标准编号 // 验证标准编号
checkStandard(listIds, listStandardIds, listStandardIdRepeat, p, s); checkStandard(listIdsStandard, listStandardIds, listStandardIdRepeat, p, s);
if(!StringUtils.isBlank(s.toString())){ if(!StringUtils.isBlank(s.toString())){
m.append("第").append(i + 4).append("行,").append(s.toString().substring(0,s.toString().length() - 1)) m.append("第").append(i + 4).append("行,").append(s.toString(), 0, s.toString().length() - 1)
.append("<br>"); .append("<br>");
} }
} }
@@ -266,19 +266,38 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
return listLawsMarketStandardDetailExcel; return listLawsMarketStandardDetailExcel;
} }
private void checkStandard(List<LawsMarketStandardDetail> listIds, List<String> listStandardIds, List<String> listStandardIdRepeat, LawsMarketStandardDetail p, StringBuilder s) { private void checkStandard(List<LawsMarketStandardDetail> listIdsStandard, List<String> listStandardIds, List<String> listStandardIdRepeat, LawsMarketStandardDetail p, StringBuilder s) {
if(!StringUtils.isBlank(p.getStandardNumber())){ if(!StringUtils.isBlank(p.getStandardNumber())){
List<LawsMarketStandardDetail> listStandardNumberData = listIds.stream().filter(o-> List<LawsMarketStandardDetail> listStandardNumberData = listIdsStandard.stream().filter(o->
Objects.equals(o.getStandardNumber(),p.getStandardNumber())).collect(Collectors.toList()); Objects.equals(o.getStandardNumber(),p.getStandardNumber())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listStandardNumberData)){ if(CollectionUtils.isEmpty(listStandardNumberData)){
s.append("标准编号不存在;"); s.append("标准编号不存在,");
}else{ }else{
String id = listStandardNumberData.get(0).getStandardId(); String id = listStandardNumberData.get(0).getStandardId();
p.setStandardId(id); p.setStandardId(id);
if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){ if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){
s.append("标准编号已存在;"); s.append("标准编号已存在,");
}else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){ }else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){
s.append("标准编号重复;"); s.append("标准编号重复,");
}else{
// 验证标准名称
long l = listIdsStandard.stream().filter(o->Objects.equals(o.getStandardNumber(),p.getStandardNumber())
&& Objects.equals(o.getStandardName(),p.getStandardName())).count();
if(l == 0){
s.append("标准名称错误,");
}
// 验证标准英文名称
long l1 = listIdsStandard.stream().filter(o->Objects.equals(o.getStandardNumber(),p.getStandardNumber())
&& Objects.equals(o.getStandardEnglishName(),p.getStandardEnglishName())).count();
if(l1 == 0){
s.append("标准英文名称错误,");
}
// 验证类型
long l2 = listIdsStandard.stream().filter(o->Objects.equals(o.getStandardNumber(),p.getStandardNumber())
&& Objects.equals(o.getType(),p.getType())).count();
if(l2 == 0){
s.append("类型错误,");
}
} }
listStandardIdRepeat.add(listStandardNumberData.get(0).getId()); listStandardIdRepeat.add(listStandardNumberData.get(0).getId());
} }