From 27bd4b5c03bbc8b665ffecb87d6c2cae3262e503 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 27 十二月 2024 11:30:06 +0800 Subject: [PATCH] 自动统计实现:用水量、充值、消费等 --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 161 insertions(+), 2 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java index 410a9cb..f798af0 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java @@ -1,10 +1,12 @@ package com.dy.pipIrrStatistics.card; import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; +import com.dy.pipIrrGlobal.voSt.VoCardUsage; import com.dy.pipIrrGlobal.voSt.VoICCard; -import com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount; import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO; +import com.dy.pipIrrStatistics.card.qo.CardUsageQO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -12,8 +14,10 @@ import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; /** * @author ZhuBaoMin @@ -26,6 +30,8 @@ @Service public class IcCardSv { + @Autowired + private SeCardOperateMapper seCardOperateMapper; @Autowired private SeClientCardMapper seClientCardMapper; @@ -54,7 +60,7 @@ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); - Long itemTotal = seClientCardMapper.getOpenCountIcCardsCount(params); + Long itemTotal = seCardOperateMapper.getOpenCountIcCardsCount(params); QueryResultVo<List<VoICCard>> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; @@ -64,4 +70,157 @@ return rsVo ; } + + /** + * 鎸囧畾鏃堕棿娈靛唴鎸傚け鎬绘暟閲忥紙鐗╃悊鍗★級 + * @param qo + * @return + */ + public QueryResultVo<List<VoICCard>> getLossCountIcCards(CommonQO qo) { + + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + + if (timeStart != null && timeStart != ""){ + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + if (timeStop != null && timeStop != ""){ + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDateTime.now().toString(); + } + qo.setTimeStart(timeStart); + qo.setTimeStop(timeStop); + + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + Long itemTotal = seCardOperateMapper.getLossCountIcCardsCount(params); + + QueryResultVo<List<VoICCard>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + + return rsVo ; + } + + /** + * 鎸囧畾鏃堕棿娈靛唴鍏呭�兼�绘暟閲忥紙鐗╃悊鍗★級 + * @param qo + * @return + */ + public QueryResultVo<List<VoICCard>> getRechargeCountIcCards(CommonQO qo) { + + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + + if (timeStart != null && timeStart != ""){ + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + if (timeStop != null && timeStop != ""){ + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDateTime.now().toString(); + } + qo.setTimeStart(timeStart); + qo.setTimeStop(timeStop); + + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + Long itemTotal = seCardOperateMapper.getRechargeCountIcCardsCount(params); + + QueryResultVo<List<VoICCard>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + + return rsVo ; + } + + /** + * 褰撳墠浣欓鎬婚噺锛堢墿鐞嗗崱锛� + * @param + * @return + */ + public Double getTotalMoneyIcCards() { + + Double totalMoney = seClientCardMapper.getTotalMoneyIcCards(); + return totalMoney ; + } + + /** + * 鑾峰彇鎸囧畾鏃堕棿娈垫按鍗′娇鐢ㄦ儏鍐碉細鍏呭�煎悎璁°�佹秷璐瑰悎璁°�佷綑棰� + * @param qo + * @return + */ + public QueryResultVo<List<VoCardUsage>> getCardUsages(CardUsageQO qo) { + + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + + if (timeStart != null && timeStart != ""){ + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDateTime.now().minusYears(1).toString(); + } + if (timeStop != null && timeStop != ""){ + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDateTime.now().toString(); + } + qo.setTimeStart(timeStart); + qo.setTimeStop(timeStop); + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + + //Long itemTotal = seCardOperateMapper.getOpenCountIcCardsCount(params); + Integer itemTotal = 0; + List<VoCardUsage> all = seClientCardMapper.getCardUsagesCount(params); + if(all != null && all.size() > 0) { + itemTotal = all.size(); + } + + QueryResultVo<List<VoCardUsage>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(Long.parseLong(itemTotal.toString()), params); + rsVo.obj = seClientCardMapper.getCardUsages(params); + return rsVo ; + } + + /** + * 鑾峰彇鍞按鎬昏淇℃伅锛氬厖鍊奸噾棰濇�昏銆佹按琛ㄦ秷璐归噾棰濇�昏 + * @param qo + * @return + */ + public Map getTotalWaterUse(CardUsageQO qo) { + + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + + if (timeStart != null && timeStart != ""){ + timeStart = timeStart + " 00:00:00"; + }else { + timeStart = LocalDate.now() + " 00:00:00"; + } + if (timeStop != null && timeStop != ""){ + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDateTime.now().toString(); + } + + Float totalRecharge = Optional.ofNullable(seClientCardMapper.getTotalRecharge(timeStart, timeStop)).orElse(0f); + Float totalConsumption = Optional.ofNullable(seClientCardMapper.getTotalConsumption(timeStart, timeStop)).orElse(0f); + Map mat_total = new HashMap(); + mat_total.put("totalRecharge", totalRecharge); + mat_total.put("totalConsumption", totalConsumption); + return mat_total; + } } -- Gitblit v1.8.0