diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java index cb84914d..d9a8f06e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java @@ -511,6 +511,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl directRelease(String ids) { List listIds = Arrays.asList(ids.split(",")); List lawsMarketStandardOldList = listByIds(listIds); @@ -519,14 +520,8 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl op = lawsMarketStandardOldList.stream().filter(o->Objects.equals(o.getId(),listId)).findFirst(); - if(!op.isPresent()){ - continue; - } - LawsMarketStandard lawsMarketStandard = op.get(); + for (LawsMarketStandard lawsMarketStandard : lawsMarketStandardOldList) { // 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除 - if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) && Arrays.stream(sysUser.getRoleIds().split(",")).noneMatch(otherAdmin::contains) && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) @@ -543,21 +538,52 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl updateLawsMarketStandard = new LambdaUpdateWrapper<>(); - updateLawsMarketStandard.in(LawsMarketStandard::getId,listIds); - updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername()); - updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,new Date()); - updateLawsMarketStandard.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_PUBLISH); - update(updateLawsMarketStandard); + for (LawsMarketStandard lawsMarketStandardOld : lawsMarketStandardOldList) { + LambdaQueryWrapper queryLawsMarketStandard = new LambdaQueryWrapper<>(); + queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandardOld.getVersionFlag()); + long l = count(queryLawsMarketStandard); + // 更新状态 + LambdaUpdateWrapper updateLawsMarketStandard = new LambdaUpdateWrapper<>(); + updateLawsMarketStandard.eq(LawsMarketStandard::getId, lawsMarketStandardOld.getId()); + updateLawsMarketStandard.set(LawsMarketStandard::getReleaseDate,new Date()); + updateLawsMarketStandard.set(LawsMarketStandard::getManifestVersion, "V" + l + ".0"); + updateLawsMarketStandard.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_PUBLISH); + updateLawsMarketStandard.set(LawsMarketStandard::getUpdateTime,new Date()); + updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername()); + update(updateLawsMarketStandard); + + // 更新标准的市场数据 + LambdaQueryWrapper queryLawsMarketStandardDetail = new LambdaQueryWrapper<>(); + queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,lawsMarketStandardOld.getId()); + List listLawsMarketStandardDetail = lawsMarketStandardDetailService + .list(queryLawsMarketStandardDetail); + if(CollectionUtils.isEmpty(listLawsMarketStandardDetail)){ + continue; + } + List listLawsDomesticStandard = new ArrayList<>(); + String country = lawsMarketStandardOld.getCountry(); + for (LawsMarketStandardDetail lawsMarketStandardDetail : listLawsMarketStandardDetail) { + String countryDetail = lawsMarketStandardDetail.getCountry(); + String dis = StringUtils.isEmpty(countryDetail) ? country : country + "," + countryDetail; + List data = Arrays.stream(dis.split(",")).distinct().collect(Collectors.toList()); + LawsDomesticStandard lawsDomesticStandard = new LawsDomesticStandard(); + lawsDomesticStandard.setId(lawsMarketStandardDetail.getStandardId()); + lawsDomesticStandard.setApplicableMarket(String.join(",",data)); + listLawsDomesticStandard.add(lawsDomesticStandard); + } + lawsDomesticStandardService.updateBatchById(listLawsDomesticStandard); + lawsStandardMasterPlanService.syncMarketRegulationListUpdate(lawsMarketStandardOld.getId(),lawsMarketStandardOld.getCountry()); + } return Result.OK(ResultCommon.OK); }