fix(88021): 标准主计划-市场法规清单更新-只对使用市场进行了校验

This commit is contained in:
yjz
2024-08-06 14:27:36 +08:00
parent 54021fc850
commit d6a23e0f39
@@ -24,6 +24,8 @@ import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibra
import com.jero.modules.assessmentLibrary.service.ILawsEvaluationNotMetLibraryService;
import com.jero.modules.laws.marketStandard.constans.MarketStandardConstants;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
@@ -81,6 +83,7 @@ public class LawsStandardMasterPlanServiceImpl
private final ISysUserService sysUserService;
private final IOSSFileService ossFileService;
private final ILawsMarketStandardService lawsMarketStandardService;
private final ILawsMarketStandardDetailService lawsMarketStandardDetailService;
private final ILawsConformityAssessmentLibraryService lawsConformityAssessmentLibraryService;
private final ILawsEvaluationNotMetLibraryService lawsEvaluationNotMetLibraryService;
private final ProcessAllService processAllService;
@@ -459,18 +462,28 @@ public class LawsStandardMasterPlanServiceImpl
// 根据适用市场查询获取最早发布的市场法规清单
LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(lawsMarketStandardQueryWrapper);
if (!Objects.isNull(lawsMarketStandard) && lawsMarketStandard.getId().equals(id)){
// 更新标准主计划数据
List<LawsStandardMasterPlan> standardMasterPlanList = list(new LambdaUpdateWrapper<LawsStandardMasterPlan>()
.eq(LawsStandardMasterPlan::getApplicableMarket, applicableMarkets));
if (CollectionUtils.isNotEmpty(standardMasterPlanList)){
List<String> idList = standardMasterPlanList.stream()
.map(LawsStandardMasterPlan::getId).collect(Collectors.toList());
lawsStandardMasterPlanSublistService.update(new LambdaUpdateWrapper<LawsStandardMasterPlanSublist>()
.in(LawsStandardMasterPlanSublist::getMasterPlanId, idList)
.eq(LawsStandardMasterPlanSublist::getType,
LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE)
.isNull(LawsStandardMasterPlanSublist::getAssociationId)
.set(LawsStandardMasterPlanSublist::getAssociationId, lawsMarketStandard.getId()));
// 查询清单详情里的所有标准
List<LawsMarketStandardDetail> lawsMarketStandardDetailList = lawsMarketStandardDetailService.list(
new LambdaQueryWrapper<LawsMarketStandardDetail>()
.eq(LawsMarketStandardDetail::getManifestId, lawsMarketStandard.getId())
.orderByAsc(LawsMarketStandardDetail::getCreateTime));
for (LawsMarketStandardDetail lawsMarketStandardDetail : lawsMarketStandardDetailList) {
// 更新标准主计划数据
List<LawsStandardMasterPlan> standardMasterPlanList = list(
new LambdaUpdateWrapper<LawsStandardMasterPlan>()
.eq(LawsStandardMasterPlan::getApplicableMarket, applicableMarkets)
.eq(LawsStandardMasterPlan::getStandardId, lawsMarketStandardDetail.getStandardId()));
if (CollectionUtils.isNotEmpty(standardMasterPlanList)){
List<String> idList = standardMasterPlanList.stream()
.map(LawsStandardMasterPlan::getId).collect(Collectors.toList());
lawsStandardMasterPlanSublistService.update(
new LambdaUpdateWrapper<LawsStandardMasterPlanSublist>()
.in(LawsStandardMasterPlanSublist::getMasterPlanId, idList)
.eq(LawsStandardMasterPlanSublist::getType,
LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE)
.isNull(LawsStandardMasterPlanSublist::getAssociationId)
.set(LawsStandardMasterPlanSublist::getAssociationId, lawsMarketStandard.getId()));
}
}
}
}
@@ -549,10 +562,18 @@ public class LawsStandardMasterPlanServiceImpl
// 根据适用市场查询获取最早发布的市场法规清单
LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(lawsMarketStandardQueryWrapper);
if (!Objects.isNull(lawsMarketStandard)){
// 查询第一个发布版本
masterPlanSublist2.setAssociationId(lawsMarketStandard.getId());
masterPlanSublist2.setResponsiblePerson(lawsMarketStandard.getAuthor());
masterPlanSublist2.setActualCompletionDate(lawsMarketStandard.getReleaseDate());
// 查询清单详情里是否包含当前标准
int count = lawsMarketStandardDetailService.count(
new LambdaQueryWrapper<LawsMarketStandardDetail>()
.eq(LawsMarketStandardDetail::getManifestId, lawsMarketStandard.getId())
.eq(LawsMarketStandardDetail::getStandardId, standardId)
.orderByAsc(LawsMarketStandardDetail::getCreateTime)
.last("limit 1"));
if (count > 0){
masterPlanSublist2.setAssociationId(lawsMarketStandard.getId());
masterPlanSublist2.setResponsiblePerson(lawsMarketStandard.getAuthor());
masterPlanSublist2.setActualCompletionDate(lawsMarketStandard.getReleaseDate());
}
}
list.add(masterPlanSublist2);