From 09c46f148a3073629cb59ea15af5bdd69dca6454 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Tue, 30 Jul 2024 20:20:56 +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=E6=95=B0=E6=8D=AE=E5=9B=9E=E6=98=BE=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...onformityAssessmentLibraryServiceImpl.java | 7 ++- .../LawsStandardMasterPlanServiceImpl.java | 58 ++++++++++++------- 2 files changed, 41 insertions(+), 24 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 cf5a7f7f..ea293728 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 @@ -202,9 +202,10 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardNumber()), "d.standard_number", lawsConformityAssessmentLibrary.getStandardNumber()); - if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getApplicableMarket())) { - queryWrapper.in("d.applicable_market", Arrays.asList(lawsConformityAssessmentLibrary.getApplicableMarket().split(","))); - } + queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getApplicableMarket()) + ,"lms.country", lawsConformityAssessmentLibrary.getApplicableMarket()); + queryWrapper.orderByAsc("cs.valuation_time"); + queryWrapper.last("limit 1"); List result = lawsConformityAssessmentLibraryMapper.queryByPage(queryWrapper); if (CollectionUtils.isNotEmpty(result)){ return result.get(0); 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 bec712dd..e0bb9fea 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 @@ -217,7 +217,8 @@ public class LawsStandardMasterPlanServiceImpl .map(ProcessNewStandardImport::getProcessInstanceId).collect(Collectors.toList()); List processAllList = processAllService.list(new LambdaQueryWrapper() .in(ProcessAll::getProcessInstanceId, processInstanceIdList) - .orderByAsc(ProcessAll::getEndTime)); + .orderByAsc(ProcessAll::getEndTime) + .last("limit 1")); if (CollectionUtils.isNotEmpty(processAllList)){ ProcessAll processAll = processAllList.get(0); lawsStandardMasterPlanSublist.setActualCompletionDate(processAll.getEndTime()); @@ -267,10 +268,11 @@ public class LawsStandardMasterPlanServiceImpl break; // 车型整改 case LawsStandardMasterPlanCommon.VEHICLE_MODEL_RECTIFICATION: + // 根据 标准编号+整改状态为已关闭 最迟关闭(修改时间) 查询 不符合项库 List list = lawsEvaluationNotMetLibraryService.list( new LambdaQueryWrapper() - .eq(LawsEvaluationNotMetLibrary::getStandardId, - lawsStandardMasterPlan.getStandardId()) + .eq(LawsEvaluationNotMetLibrary::getStandardNumber, + lawsDomesticStandard.getStandardNumber()) .eq(LawsEvaluationNotMetLibrary::getRectifyStatus, "2") .orderByDesc(LawsEvaluationNotMetLibrary::getUpdateTime)); if (CollectionUtils.isNotEmpty(list)){ @@ -405,23 +407,35 @@ public class LawsStandardMasterPlanServiceImpl public void syncRegulatoryComplianceInvestigation(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary) { LawsStandardMasterPlanVO lawsStandardMasterPlanVO = new LawsStandardMasterPlanVO(); String standardNumber = lawsConformityAssessmentLibrary.getStandardNumber(); - String applicableMarket = lawsConformityAssessmentLibrary.getApplicableMarket(); - if (StringUtils.isBlank(standardNumber) || StringUtils.isBlank(applicableMarket)){ + String applicableMarkets = lawsConformityAssessmentLibrary.getApplicableMarket(); + if (StringUtils.isBlank(standardNumber) || StringUtils.isBlank(applicableMarkets)){ return; } - lawsStandardMasterPlanVO.setStandardNumber(standardNumber); - lawsStandardMasterPlanVO.setApplicableMarket(applicableMarket); - List lawsStandardMasterPlanVOList = queryByList(lawsStandardMasterPlanVO); - if (CollectionUtils.isNotEmpty(lawsStandardMasterPlanVOList)){ - // 更新标准主计划数据 - List idList = lawsStandardMasterPlanVOList.stream() - .map(LawsStandardMasterPlanVO::getId).collect(Collectors.toList()); - lawsStandardMasterPlanSublistService.update(new LambdaUpdateWrapper() - .in(LawsStandardMasterPlanSublist::getMasterPlanId, idList) - .eq(LawsStandardMasterPlanSublist::getType, - LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION) - .isNull(LawsStandardMasterPlanSublist::getAssociationId) - .set(LawsStandardMasterPlanSublist::getAssociationId, lawsConformityAssessmentLibrary.getId())); + // 适用市场可能会有多个 + for (String applicableMarket : applicableMarkets.split(",")) { + // 判断是不是最早的 + lawsConformityAssessmentLibrary.setStandardNumber(standardNumber); + lawsConformityAssessmentLibrary.setApplicableMarket(applicableMarket); + LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary1 = + lawsConformityAssessmentLibraryService.queryOne(lawsConformityAssessmentLibrary); + if (!Objects.isNull(lawsConformityAssessmentLibrary1) && + lawsConformityAssessmentLibrary1.getId().equals(lawsConformityAssessmentLibrary.getId())){ + // 查询标准主计划 + lawsStandardMasterPlanVO.setStandardNumber(standardNumber); + lawsStandardMasterPlanVO.setApplicableMarket(applicableMarket); + List lawsStandardMasterPlanVOList = queryByList(lawsStandardMasterPlanVO); + if (CollectionUtils.isNotEmpty(lawsStandardMasterPlanVOList)){ + // 更新标准主计划数据 + List idList = lawsStandardMasterPlanVOList.stream() + .map(LawsStandardMasterPlanVO::getId).collect(Collectors.toList()); + lawsStandardMasterPlanSublistService.update(new LambdaUpdateWrapper() + .in(LawsStandardMasterPlanSublist::getMasterPlanId, idList) + .eq(LawsStandardMasterPlanSublist::getType, + LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION) + .isNull(LawsStandardMasterPlanSublist::getAssociationId) + .set(LawsStandardMasterPlanSublist::getAssociationId, lawsConformityAssessmentLibrary.getId())); + } + } } } @@ -470,7 +484,8 @@ public class LawsStandardMasterPlanServiceImpl .map(ProcessNewStandardImport::getProcessInstanceId).collect(Collectors.toList()); List processAllList = processAllService.list(new LambdaQueryWrapper() .in(ProcessAll::getProcessInstanceId, processInstanceIdList) - .orderByAsc(ProcessAll::getEndTime)); + .orderByAsc(ProcessAll::getEndTime) + .last("limit 1")); if (CollectionUtils.isNotEmpty(processAllList)){ ProcessAll processAll = processAllList.get(0); masterPlanSublist.setActualCompletionDate(processAll.getEndTime()); @@ -527,7 +542,7 @@ public class LawsStandardMasterPlanServiceImpl // 法规符合性排查 LawsStandardMasterPlanSublist masterPlanSublist3 = new LawsStandardMasterPlanSublist(); masterPlanSublist3.setType(LawsStandardMasterPlanCommon.REGULATORY_COMPLIANCE_INVESTIGATION); - // 根据 标准名称+适用市场 查询 法规符合性排查 + // 根据 标准编号+适用市场 最早评估日期 查询 法规符合性排查 LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary = new LawsConformityAssessmentLibrary(); lawsConformityAssessmentLibrary.setStandardNumber(lawsDomesticStandard.getStandardNumber()); @@ -543,9 +558,10 @@ public class LawsStandardMasterPlanServiceImpl // 车型整改 LawsStandardMasterPlanSublist masterPlanSublist4 = new LawsStandardMasterPlanSublist(); masterPlanSublist4.setType(LawsStandardMasterPlanCommon.VEHICLE_MODEL_RECTIFICATION); + // 根据 标准编号+整改状态为已关闭 最迟关闭(修改时间) 查询 不符合项库 List lawsEvaluationNotMetLibraryList = lawsEvaluationNotMetLibraryService.list( new LambdaQueryWrapper() - .eq(LawsEvaluationNotMetLibrary::getStandardId, standardId) + .eq(LawsEvaluationNotMetLibrary::getStandardNumber, lawsDomesticStandard.getStandardNumber()) .eq(LawsEvaluationNotMetLibrary::getRectifyStatus, "2") .orderByDesc(LawsEvaluationNotMetLibrary::getUpdateTime)); if (CollectionUtils.isNotEmpty(lawsEvaluationNotMetLibraryList)){