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