From 0a4ad59d26e01b8db6afae8c736c340af2d3cbe0 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Wed, 31 Jul 2024 18:18:24 +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=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsStandardMasterPlanServiceImpl.java | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) 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 d4f65025..161c7487 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 @@ -113,8 +113,11 @@ public class LawsStandardMasterPlanServiceImpl "lds.standard_number", lawsStandardMasterPlanVO.getStandardNumber()); queryWrapper.like(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getStandardName()), "lds.standard_name", lawsStandardMasterPlanVO.getStandardName()); - queryWrapper.eq(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getApplicableMarket()), - "lsmp.applicable_market", lawsStandardMasterPlanVO.getApplicableMarket()); + if (StringUtils.isNotBlank(lawsStandardMasterPlanVO.getApplicableMarket())){ + List list2 = Arrays.asList(lawsStandardMasterPlanVO.getApplicableMarket().split(",")); + queryWrapper.and(query -> list2.forEach(item -> + query.or(qw -> qw.gt("find_in_set('" + item + "', lsmp.applicable_market)", 0)))); + } queryWrapper.eq(StringUtils.isNotBlank(lawsStandardMasterPlanVO.getId()), "lsmp.id", lawsStandardMasterPlanVO.getId()); queryWrapper.eq("lsmp.del_flag", CommonConstant.DEL_FLAG_0); @@ -129,6 +132,7 @@ public class LawsStandardMasterPlanServiceImpl LawsStandardMasterPlan lawsStandardMasterPlan = new LawsStandardMasterPlan(); lawsStandardMasterPlan.setId(String.valueOf(SnowflakeUtils.snowflake())); lawsStandardMasterPlan.setStandardId(lawsStandardMasterPlanVO.getStandardId()); + lawsStandardMasterPlan.setApplicableMarket(lawsStandardMasterPlanVO.getApplicableMarket()); save(lawsStandardMasterPlan); // 保存 标准主计划_子表信息 @@ -183,6 +187,7 @@ public class LawsStandardMasterPlanServiceImpl lawsStandardMasterPlanDetailsVO.setLawsStandardMasterPlanVO(queryByList(lawsStandardMasterPlanVO).get(0)); LawsStandardMasterPlanVO lawsStandardMasterPlan = lawsStandardMasterPlanDetailsVO.getLawsStandardMasterPlanVO(); + String applicableMarket = lawsStandardMasterPlan.getApplicableMarket(); LawsDomesticStandard lawsDomesticStandard = lawsDomesticStandardService.getById(lawsStandardMasterPlan.getStandardId()); @@ -207,18 +212,18 @@ public class LawsStandardMasterPlanServiceImpl break; // 导入通知 case LawsStandardMasterPlanCommon.IMPORT_NOTIFICATION: - List list1 = processNewStandardImportService.list( - new LambdaQueryWrapper() - .eq(ProcessNewStandardImport::getStandardId, lawsStandardMasterPlan.getStandardId()) - .eq(ProcessNewStandardImport::getApplicableMarket, - lawsStandardMasterPlan.getApplicableMarket())); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_id", lawsDomesticStandard.getId()); + if (StringUtils.isNotBlank(lawsStandardMasterPlan.getApplicableMarket())){ + queryWrapper.gt("find_in_set('" + applicableMarket + "', applicable_market)", 0); + } + List list1 = processNewStandardImportService.list(queryWrapper); if (CollectionUtils.isNotEmpty(list1)){ List processInstanceIdList = list1.stream() .map(ProcessNewStandardImport::getProcessInstanceId).collect(Collectors.toList()); List processAllList = processAllService.list(new LambdaQueryWrapper() .in(ProcessAll::getProcessInstanceId, processInstanceIdList) - .orderByAsc(ProcessAll::getEndTime) - .last("limit 1")); + .orderByAsc(ProcessAll::getEndTime)); if (CollectionUtils.isNotEmpty(processAllList)){ ProcessAll processAll = processAllList.get(0); lawsStandardMasterPlanSublist.setActualCompletionDate(processAll.getEndTime()); @@ -448,7 +453,7 @@ public class LawsStandardMasterPlanServiceImpl MarketStandardConstants.MANIFEST_STATUS_PUBLISH); lawsMarketStandardQueryWrapper.orderByAsc("create_time").last("limit 1"); if (StringUtils.isNotBlank(applicableMarket)){ - lawsMarketStandardQueryWrapper.gt("find_in_set('" + applicableMarket + "', getCountry)", 0); + lawsMarketStandardQueryWrapper.gt("find_in_set('" + applicableMarket + "', country)", 0); } // 根据适用市场查询获取最早发布的市场法规清单 LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(lawsMarketStandardQueryWrapper); @@ -479,17 +484,18 @@ public class LawsStandardMasterPlanServiceImpl // 导入通知 LawsStandardMasterPlanSublist masterPlanSublist = new LawsStandardMasterPlanSublist(); masterPlanSublist.setType(LawsStandardMasterPlanCommon.IMPORT_NOTIFICATION); - List list1 = processNewStandardImportService.list( - new LambdaQueryWrapper() - .eq(ProcessNewStandardImport::getStandardId, standardId) - .eq(ProcessNewStandardImport::getApplicableMarket, applicableMarket)); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_id", standardId); + if (StringUtils.isNotBlank(applicableMarket)){ + queryWrapper.gt("find_in_set('" + applicableMarket + "', applicable_market)", 0); + } + List list1 = processNewStandardImportService.list(queryWrapper); if (CollectionUtils.isNotEmpty(list1)){ List processInstanceIdList = list1.stream() .map(ProcessNewStandardImport::getProcessInstanceId).collect(Collectors.toList()); List processAllList = processAllService.list(new LambdaQueryWrapper() .in(ProcessAll::getProcessInstanceId, processInstanceIdList) - .orderByAsc(ProcessAll::getEndTime) - .last("limit 1")); + .orderByAsc(ProcessAll::getEndTime)); if (CollectionUtils.isNotEmpty(processAllList)){ ProcessAll processAll = processAllList.get(0); masterPlanSublist.setActualCompletionDate(processAll.getEndTime()); @@ -536,7 +542,7 @@ public class LawsStandardMasterPlanServiceImpl 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)))); + query.or(qw -> qw.gt("find_in_set('" + item + "', country)", 0)))); } // 根据适用市场查询获取最早发布的市场法规清单 LawsMarketStandard lawsMarketStandard = lawsMarketStandardService.getOne(lawsMarketStandardQueryWrapper);