From 3b81a3f86b464cc8a37d3ca88c24d17157ba21c4 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Wed, 31 Jul 2024 14:48:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=A0=87=E5=87=86=E4=B8=BB=E8=AE=A1?= =?UTF-8?q?=E5=88=92):=20=E5=90=8C=E6=AD=A5=20=E5=B8=82=E5=9C=BA=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E6=B8=85=E5=8D=95=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...onformityAssessmentLibraryServiceImpl.java | 11 ++++--- .../LawsStandardMasterPlanServiceImpl.java | 33 ++++++++++++------- 2 files changed, 29 insertions(+), 15 deletions(-) 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);