Commit 2d32c02b authored by 赵啸非's avatar 赵啸非

添加统计子站点

parent 4ec085b1
...@@ -7,8 +7,6 @@ import com.mortals.framework.model.OrderCol; ...@@ -7,8 +7,6 @@ import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result; import com.mortals.framework.model.Result;
import com.mortals.xhx.common.utils.BeanUtil; 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.PhQueueEntity;
import com.mortals.xhx.module.ph.model.PhQueueQuery; import com.mortals.xhx.module.ph.model.PhQueueQuery;
import com.mortals.xhx.module.ph.model.PhQueueStatQuery; import com.mortals.xhx.module.ph.model.PhQueueStatQuery;
...@@ -64,16 +62,26 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -64,16 +62,26 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
// log.info("更新站点排队统计数据,站点ID:{},站点名称:{},日期:{},排队数量:{}", entity.getSiteId(), entity.getSiteName(), currentDate, phQueueEntities.size()); // log.info("更新站点排队统计数据,站点ID:{},站点名称:{},日期:{},排队数量:{}", entity.getSiteId(), entity.getSiteName(), currentDate, phQueueEntities.size());
updateSitePhCount(entity, phQueueEntities); 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(); return Rest.ok();
} }
...@@ -92,7 +100,7 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -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())); Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getSectionName()));
...@@ -109,11 +117,13 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -109,11 +117,13 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).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())); Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getHallName()));
List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> { List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> {
...@@ -128,11 +138,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -128,11 +138,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
phQueueStatEntity.setHallName(hallName); phQueueStatEntity.setHallName(hallName);
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).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())); Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getBusiness()));
List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> { List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> {
String bussiness = item.getKey(); String bussiness = item.getKey();
...@@ -146,10 +157,11 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -146,10 +157,11 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
phQueueStatEntity.setBusiness(bussiness); phQueueStatEntity.setBusiness(bussiness);
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).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())); Map<String, List<PhQueueEntity>> collect = phQueueEntities.parallelStream().collect(Collectors.groupingBy(x -> x.getWindowFromnum()));
List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> { List<PhQueueStatEntity> saveAndUpdatelist = collect.entrySet().parallelStream().map(item -> {
...@@ -164,7 +176,8 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -164,7 +176,8 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
phQueueStatEntity.setWindowFromnum(window); phQueueStatEntity.setWindowFromnum(window);
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).filter(f -> f != null).collect(Collectors.toList());
saveUpdatePjStatList(saveAndUpdatelist); // saveUpdatePhStatList(saveAndUpdatelist);
return saveAndUpdatelist;
} }
...@@ -196,23 +209,33 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -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 //业务+部门 busniess+sectionName
updateBusinessAndSectionName(entity, phQueueEntities); List<PhQueueStatEntity> phQueueStatEntities1 = updateBusinessAndSectionName(entity, phQueueEntities);
//业务+窗口 busniess+WindowFromnum //业务+窗口 busniess+WindowFromnum
updateBusinessAndWindowFromnum(entity, phQueueEntities); List<PhQueueStatEntity> phQueueStatEntities2 = updateBusinessAndWindowFromnum(entity, phQueueEntities);
//部门+窗口 sectionName+WindowFromnum //部门+窗口 sectionName+WindowFromnum
updateSectionNameAndWindowFromnum(entity, phQueueEntities); List<PhQueueStatEntity> phQueueStatEntities3 = updateSectionNameAndWindowFromnum(entity, phQueueEntities);
//业务+部门+窗口 busniess+sectionName+WindowFromnum //业务+部门+窗口 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() Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream()
.collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getSectionName())); .collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getSectionName()));
List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> {
...@@ -230,11 +253,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -230,11 +253,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
phQueueStatEntity.setSectionName(split[1]); phQueueStatEntity.setSectionName(split[1]);
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).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() Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream()
.collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getWindowFromnum())); .collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getWindowFromnum()));
List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> {
...@@ -251,11 +275,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -251,11 +275,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
phQueueStatEntity.setWindowFromnum(split[1]); phQueueStatEntity.setWindowFromnum(split[1]);
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).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() Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream()
.collect(Collectors.groupingBy(x -> x.getSectionName() + "&" + x.getWindowFromnum())); .collect(Collectors.groupingBy(x -> x.getSectionName() + "&" + x.getWindowFromnum()));
List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> {
...@@ -272,10 +297,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -272,10 +297,12 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
phQueueStatEntity.setWindowFromnum(split[1]); phQueueStatEntity.setWindowFromnum(split[1]);
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).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() Map<String, List<PhQueueEntity>> businessAndSectionCollect = phQueueEntities.parallelStream()
.collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getSectionName() + "&" + x.getWindowFromnum())); .collect(Collectors.groupingBy(x -> x.getBusiness() + "&" + x.getSectionName() + "&" + x.getWindowFromnum()));
List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> { List<PhQueueStatEntity> saveAndUpdatelist = businessAndSectionCollect.entrySet().parallelStream().map(item -> {
...@@ -295,7 +322,9 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -295,7 +322,9 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD
phQueueStatEntity.setWindowFromnum(split[2]); phQueueStatEntity.setWindowFromnum(split[2]);
return phQueueStatEntity; return phQueueStatEntity;
}).filter(f -> f != null).collect(Collectors.toList()); }).filter(f -> f != null).collect(Collectors.toList());
saveUpdatePjStatList(saveAndUpdatelist); // saveUpdatePhStatList(saveAndUpdatelist);
return saveAndUpdatelist;
} }
private PhQueueStatQuery getPhQueueStatQuery(PhQueueStatEntity entity) { private PhQueueStatQuery getPhQueueStatQuery(PhQueueStatEntity entity) {
...@@ -335,7 +364,7 @@ public class PhQueueStatServiceImpl extends AbstractCRUDServiceImpl<PhQueueStatD ...@@ -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)) { if (!ObjectUtils.isEmpty(saveAndUpdatelist)) {
Map<Boolean, List<PhQueueStatEntity>> saveUpdateCollect = saveAndUpdatelist.parallelStream().collect(Collectors.partitioningBy(i -> i.newEntity())); Map<Boolean, List<PhQueueStatEntity>> saveUpdateCollect = saveAndUpdatelist.parallelStream().collect(Collectors.partitioningBy(i -> i.newEntity()));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment