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 c7cfdb6e..1f0d9c5f 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 @@ -93,13 +93,17 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl queryPage(LawsMarketStandard marketStandard, Integer pageNo, Integer pageSize) { Page page = new Page<>(pageNo, pageSize); QueryWrapper queryWrapper = getLawsMarketStandardQueryWrapper(marketStandard); - return marketStandardMapper.queryByPage(page, queryWrapper); + IPage res = marketStandardMapper.queryByPage(page, queryWrapper); + List list = res.getRecords(); + setManifestVersion(list); + return res; } @Override public IPage queryPageListByOther(LawsMarketStandard marketStandard, Integer pageNo, Integer pageSize) { Page page = new Page<>(pageNo, pageSize); QueryWrapper queryWrapper = getLawsMarketStandardQueryWrapper(marketStandard); + IPage res; if(StringUtils.isBlank(marketStandard.getProcessFlag())){ if(!StringUtils.isBlank(marketStandard.getHomeFlag())){ LocalDate currentDate = LocalDate.now(); @@ -109,11 +113,32 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl list = res.getRecords(); + setManifestVersion(list); + return res; + } + + private void setManifestVersion(List list) { + if(!CollectionUtils.isEmpty(list)){ + List listVersionFlag = list.stream().map(LawsMarketStandard::getVersionFlag).collect(Collectors.toList()); + QueryWrapper queryLawsMarketStandard = new QueryWrapper<>(); + queryLawsMarketStandard.select("version_flag,max(manifest_version) as manifest_version"); + queryLawsMarketStandard.in("version_flag",listVersionFlag); + queryLawsMarketStandard.groupBy("version_flag"); + List listLawsMarketStandard = list(queryLawsMarketStandard); + if(!CollectionUtils.isEmpty(listLawsMarketStandard)){ + for (LawsMarketStandard lawsMarketStandard : list) { + Optional op = listLawsMarketStandard.stream().filter(o-> Objects.equals(lawsMarketStandard.getVersionFlag(), + o.getVersionFlag())).findFirst(); + op.ifPresent(standard -> lawsMarketStandard.setManifestVersion(standard.getManifestVersion())); + } + } } }