From 2d32c02bcbf998faebd7a073312b7d12346e9ab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com> Date: Tue, 30 Jul 2024 16:30:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=9F=E8=AE=A1=E5=AD=90?= =?UTF-8?q?=E7=AB=99=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PhQueueStatServiceImpl.java | 87 ++++++++++++------- 1 file changed, 58 insertions(+), 29 deletions(-) diff --git a/bill-manager/src/main/java/com/mortals/xhx/module/ph/service/impl/PhQueueStatServiceImpl.java b/bill-manager/src/main/java/com/mortals/xhx/module/ph/service/impl/PhQueueStatServiceImpl.java index 08c7dbe..c0d5781 100644 --- a/bill-manager/src/main/java/com/mortals/xhx/module/ph/service/impl/PhQueueStatServiceImpl.java +++ b/bill-manager/src/main/java/com/mortals/xhx/module/ph/service/impl/PhQueueStatServiceImpl.java @@ -7,8 +7,6 @@ import com.mortals.framework.model.OrderCol; import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; import com.mortals.xhx.common.utils.BeanUtil; -import com.mortals.xhx.module.access.service.AccessService; -import com.mortals.xhx.module.access.service.AccessStatLogService; import com.mortals.xhx.module.ph.model.PhQueueEntity; import com.mortals.xhx.module.ph.model.PhQueueQuery; import com.mortals.xhx.module.ph.model.PhQueueStatQuery; @@ -64,16 +62,26 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD // log.info("鏇存柊绔欑偣鎺掗槦缁熻鏁版嵁锛岀珯鐐笽D锛歿}锛岀珯鐐瑰悕绉帮細{}锛屾棩鏈燂細{}锛屾帓闃熸暟閲忥細{}", entity.getSiteId(), entity.getSiteName(), currentDate, phQueueEntities.size()); updateSitePhCount(entity, phQueueEntities); + List<PhQueueStatEntity> saveOrUpdateList=new ArrayList<>(); + //閮ㄩ棬 - updateSiteSectionNamePhCount(currentDate, entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities = updateSiteSectionNamePhCount(currentDate, entity, phQueueEntities); //澶у巺 - updateSiteHallPhCount(currentDate, entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities1 = updateSiteHallPhCount(currentDate, entity, phQueueEntities); //涓氬姟 - updateSiteBussinessPhCount(currentDate, entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities2 = updateSiteBussinessPhCount(currentDate, entity, phQueueEntities); //绐楀彛 - updateSiteWindowPhCount(currentDate, entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities3 = updateSiteWindowPhCount(currentDate, entity, phQueueEntities); //缁勫悎鏉′欢鏇存柊 - updateSiteConditionPhCount(entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities4 = updateSiteConditionPhCount(entity, phQueueEntities); + + saveOrUpdateList.addAll(phQueueStatEntities); + saveOrUpdateList.addAll(phQueueStatEntities1); + saveOrUpdateList.addAll(phQueueStatEntities2); + saveOrUpdateList.addAll(phQueueStatEntities3); + saveOrUpdateList.addAll(phQueueStatEntities4); + + saveUpdatePhStatList(saveOrUpdateList); return Rest.ok(); } @@ -92,7 +100,7 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD } } - private void updateSiteSectionNamePhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateSiteSectionNamePhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getSectionName())); @@ -109,11 +117,13 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + //saveUpdatePhStatList(saveAndUpdatelist); + + return saveAndUpdatelist; } - private void updateSiteHallPhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateSiteHallPhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getHallName())); List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> { @@ -128,11 +138,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD phQueueStatEntity.setHallName(hallName); return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + //saveUpdatePhStatList(saveAndUpdatelist); + return saveAndUpdatelist; } - private void updateSiteBussinessPhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateSiteBussinessPhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getBusiness())); List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> { String bussiness = item.getKey(); @@ -146,10 +157,11 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD phQueueStatEntity.setBusiness(bussiness); return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + //saveUpdatePhStatList(saveAndUpdatelist); + return saveAndUpdatelist; } - private void updateSiteWindowPhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateSiteWindowPhCount(String currentDate, PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getWindowFromnum())); List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> { @@ -164,7 +176,8 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD phQueueStatEntity.setWindowFromnum(window); return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + // saveUpdatePhStatList(saveAndUpdatelist); + return saveAndUpdatelist; } @@ -196,23 +209,33 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD } - private void updateSiteConditionPhCount(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateSiteConditionPhCount(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + + List<PhQueueStatEntity> phQueueStatEntities = new ArrayList<>(); //涓氬姟+閮ㄩ棬 busniess+sectionName - updateBusinessAndSectionName(entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities1 = updateBusinessAndSectionName(entity, phQueueEntities); //涓氬姟+绐楀彛 busniess+WindowFromnum - updateBusinessAndWindowFromnum(entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities2 = updateBusinessAndWindowFromnum(entity, phQueueEntities); //閮ㄩ棬+绐楀彛 sectionName+WindowFromnum - updateSectionNameAndWindowFromnum(entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities3 = updateSectionNameAndWindowFromnum(entity, phQueueEntities); //涓氬姟+閮ㄩ棬+绐楀彛 busniess+sectionName+WindowFromnum - updateBusinessAndSectionNameAndWindow(entity, phQueueEntities); + List<PhQueueStatEntity> phQueueStatEntities4 = updateBusinessAndSectionNameAndWindow(entity, phQueueEntities); + + phQueueStatEntities.addAll(phQueueStatEntities1); + phQueueStatEntities.addAll(phQueueStatEntities2); + phQueueStatEntities.addAll(phQueueStatEntities3); + phQueueStatEntities.addAll(phQueueStatEntities4); + + return phQueueStatEntities; + } - private void updateBusinessAndSectionName(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateBusinessAndSectionName(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream() .collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getSectionName())); List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { @@ -230,11 +253,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD phQueueStatEntity.setSectionName(split[1]); return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + //saveUpdatePhStatList(saveAndUpdatelist); + return saveAndUpdatelist; } - private void updateBusinessAndWindowFromnum(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateBusinessAndWindowFromnum(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream() .collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getWindowFromnum())); List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { @@ -251,11 +275,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD phQueueStatEntity.setWindowFromnum(split[1]); return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + // saveUpdatePhStatList(saveAndUpdatelist); + return saveAndUpdatelist; } - private void updateSectionNameAndWindowFromnum(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateSectionNameAndWindowFromnum(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream() .collect(Collectors.groupingBy(x -> x.getSectionName() + "&" + x.getWindowFromnum())); List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { @@ -272,10 +297,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD phQueueStatEntity.setWindowFromnum(split[1]); return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + //saveUpdatePhStatList(saveAndUpdatelist); + + return saveAndUpdatelist; } - private void updateBusinessAndSectionNameAndWindow(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { + private List<PhQueueStatEntity> updateBusinessAndSectionNameAndWindow(PhQueueStatEntity entity, List<PhQueueEntity> phQueueEntities) { Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream() .collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getSectionName() + "&" + x.getWindowFromnum())); List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { @@ -295,7 +322,9 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD phQueueStatEntity.setWindowFromnum(split[2]); return phQueueStatEntity; }).filter(f -> f != null).collect(Collectors.toList()); - saveUpdatePjStatList(saveAndUpdatelist); + // saveUpdatePhStatList(saveAndUpdatelist); + + return saveAndUpdatelist; } private PhQueueStatQuery getPhQueueStatQuery(PhQueueStatEntity entity) { @@ -335,7 +364,7 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD } - private void saveUpdatePjStatList(List<PhQueueStatEntity> saveAndUpdatelist) { + private void saveUpdatePhStatList(List<PhQueueStatEntity> saveAndUpdatelist) { if (!ObjectUtils.isEmpty(saveAndUpdatelist)) { Map<Boolean, List<PhQueueStatEntity>> saveUpdateCollect = saveAndUpdatelist.parallelStream().collect(Collectors.partitioningBy(i -> i.newEntity())); -- 2.24.3