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">
<select id="getStandardData"
resultType="com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail">
select id as standard_id,standard_number from
(select id, standard_number
select id as standard_id,standard_number,standard_name,standard_english_name,type from
(select id, standard_number,standard_name,standard_english_name,type
from laws_domestic_standard
where del_flag = 0
union all
select id, standard_number
select id, standard_number,standard_name,standard_english_name,'' as type
from laws_enterprise_standard
where del_flag = 0) a where standard_number in
<foreach collection="listNum" item="item" separator="," open="(" close=")">
@@ -198,11 +198,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
List<String> listStandardNumber = listStandardNumberNotNull.stream()
.map(LawsMarketStandardDetail::getStandardNumber).collect(Collectors.toList());
// 根据标准编号获取标准id
List<LawsMarketStandardDetail> listIds = lawsMarketStandardDetailMapper.getStandardData(listStandardNumber);
if(CollectionUtils.isEmpty(listIds)){
List<LawsMarketStandardDetail> listIdsStandard = lawsMarketStandardDetailMapper.getStandardData(listStandardNumber);
if(CollectionUtils.isEmpty(listIdsStandard)){
return Result.error("标准编号不存在");
}
StringBuilder m = getStringBuilder(manifestId, listLawsMarketStandardDetail, listIds);
StringBuilder m = getStringBuilder(manifestId, listLawsMarketStandardDetail, listIdsStandard);
if(!StringUtils.isBlank(m.toString())){
return Result.error(m.toString());
@@ -224,7 +224,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
}
@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();
// 获取当前清单的标准
List<String> listStandardIds = getStandardIds(manifestId);
@@ -245,9 +245,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
s.append(dict);
}
// 验证标准编号
checkStandard(listIds, listStandardIds, listStandardIdRepeat, p, s);
checkStandard(listIdsStandard, listStandardIds, listStandardIdRepeat, p, s);
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>");
}
}
@@ -266,19 +266,38 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
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())){
List<LawsMarketStandardDetail> listStandardNumberData = listIds.stream().filter(o->
List<LawsMarketStandardDetail> listStandardNumberData = listIdsStandard.stream().filter(o->
Objects.equals(o.getStandardNumber(),p.getStandardNumber())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listStandardNumberData)){
s.append("标准编号不存在;");
s.append("标准编号不存在,");
}else{
String id = listStandardNumberData.get(0).getStandardId();
p.setStandardId(id);
if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){
s.append("标准编号已存在;");
s.append("标准编号已存在,");
}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());
}