diff --git a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/impl/LawsConformityAssessmentLibraryServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/impl/LawsConformityAssessmentLibraryServiceImpl.java index 2b0a251d..d03fb047 100644 --- a/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/impl/LawsConformityAssessmentLibraryServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/assessmentLibrary/service/impl/LawsConformityAssessmentLibraryServiceImpl.java @@ -201,10 +201,13 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardNumber()), - "d.standard_number", lawsConformityAssessmentLibrary.getStandardNumber()); - queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getApplicableMarket()) - ,"lms.country", lawsConformityAssessmentLibrary.getApplicableMarket()); - queryWrapper.orderByAsc("cs.valuation_time"); + "standard_number", lawsConformityAssessmentLibrary.getStandardNumber()); + if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getApplicableMarket())){ + List list = Arrays.asList(lawsConformityAssessmentLibrary.getApplicableMarket().split(",")); + queryWrapper.and(query -> list.forEach(item -> + query.or(qw -> qw.gt("find_in_set('" + item + "', applicableMarket)", 0)))); + } + queryWrapper.orderByAsc("valuation_time"); queryWrapper.last("limit 1"); List result = lawsConformityAssessmentLibraryMapper.queryByPage(queryWrapper); if (CollectionUtils.isNotEmpty(result)){ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanServiceImpl.java index e0bb9fea..14d6ef33 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardmasterplan/servicce/impl/LawsStandardMasterPlanServiceImpl.java @@ -443,11 +443,17 @@ public class LawsStandardMasterPlanServiceImpl public void syncMarketRegulationListUpdate(String id, String applicableMarkets) { // 适用市场可能有多个,每个适用市场判断是否最早发布的 for (String applicableMarket : applicableMarkets.split(",")) { - LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne( - new LambdaQueryWrapper() - .eq(LawsMarketStandard::getCountry, applicableMarket) - .eq(LawsMarketStandard::getManifestStatus, MarketStandardConstants.MANIFEST_STATUS_PUBLISH) - .orderByAsc(LawsMarketStandard::getCreateTime).last("limit 1")); + QueryWrapper lawsMarketStandardQueryWrapper = new QueryWrapper<>(); + lawsMarketStandardQueryWrapper.eq("manifest_status", + MarketStandardConstants.MANIFEST_STATUS_PUBLISH); + lawsMarketStandardQueryWrapper.orderByAsc("create_time").last("limit 1"); + if (StringUtils.isNotBlank(applicableMarket)){ + List list2 = Arrays.asList(applicableMarket.split(",")); + lawsMarketStandardQueryWrapper.and(query -> list2.forEach(item -> + query.or(qw -> qw.gt("find_in_set('" + item + "', getCountry)", 0)))); + } + // 根据适用市场查询获取最早发布的市场法规清单 + LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(lawsMarketStandardQueryWrapper); if (!Objects.isNull(lawsMarketStandard) && lawsMarketStandard.getId().equals(id)){ // 更新标准主计划数据 List standardMasterPlanList = list(new LambdaUpdateWrapper() @@ -525,12 +531,17 @@ public class LawsStandardMasterPlanServiceImpl // 市场法规清单更新 LawsStandardMasterPlanSublist masterPlanSublist2 = new LawsStandardMasterPlanSublist(); masterPlanSublist2.setType(LawsStandardMasterPlanCommon.MARKET_REGULATION_LIST_UPDATE); + QueryWrapper lawsMarketStandardQueryWrapper = new QueryWrapper<>(); + lawsMarketStandardQueryWrapper.eq("manifest_status", + MarketStandardConstants.MANIFEST_STATUS_PUBLISH); + lawsMarketStandardQueryWrapper.orderByAsc("create_time").last("limit 1"); + if (StringUtils.isNotBlank(applicableMarket)){ + List list2 = Arrays.asList(applicableMarket.split(",")); + lawsMarketStandardQueryWrapper.and(query -> list2.forEach(item -> + query.or(qw -> qw.gt("find_in_set('" + item + "', getCountry)", 0)))); + } // 根据适用市场查询获取最早发布的市场法规清单 - LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne( - new LambdaQueryWrapper() - .like(LawsMarketStandard::getCountry, applicableMarket) - .eq(LawsMarketStandard::getManifestStatus, MarketStandardConstants.MANIFEST_STATUS_PUBLISH) - .orderByAsc(LawsMarketStandard::getCreateTime).last("limit 1")); + LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(lawsMarketStandardQueryWrapper); if (!Objects.isNull(lawsMarketStandard)){ // 查询第一个发布版本 masterPlanSublist2.setAssociationId(lawsMarketStandard.getId()); @@ -551,7 +562,7 @@ public class LawsStandardMasterPlanServiceImpl lawsConformityAssessmentLibraryService.queryOne(lawsConformityAssessmentLibrary); if (!Objects.isNull(lawsConformityAssessmentLibrary1)){ masterPlanSublist3.setAssociationId(lawsConformityAssessmentLibrary1.getId()); - masterPlanSublist3.setActualCompletionDate(lawsConformityAssessmentLibrary.getValuationTime()); + masterPlanSublist3.setActualCompletionDate(lawsConformityAssessmentLibrary1.getValuationTime()); } list.add(masterPlanSublist3);