From cf2ceec786652531974c39d573dfcb8d3f661e1e Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期五, 09 八月 2024 10:37:26 +0800 Subject: [PATCH] 指定时间内开物理卡农户 --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientOpenCardCount.java | 18 ++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 44 ++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java | 42 ++++++++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java | 16 +++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 2 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java | 22 +++++++ 7 files changed, 144 insertions(+), 2 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java index 20696bf..c12558c 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; import com.dy.pipIrrGlobal.voSe.*; +import com.dy.pipIrrGlobal.voSt.VoClient; +import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -154,4 +156,18 @@ * @return */ Long getRechargeCountIcCardsCount(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴寮�鐗╃悊鍗″啘鎴锋暟閲� + * @param params + * @return + */ + Long getOpenIcCardClientsCount(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴寮�鐗╃悊鍗″啘鎴� + * @param params + * @return + */ + List<VoClientOpenCardCount> getOpenIcCardClients(Map<String, Object> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java index d8a03ec..8af231c 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoLossDay.java @@ -33,7 +33,7 @@ @Schema(description = "缁熻鏃ユ湡(yyyy-mm-dd)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") - private java.sql.Date dt; + private java.util.Date dt; @Schema(description = "鎺у埗鍣ㄦ渶鍚庝笂鎶ユ暟鎹棩鏈熸椂闂�(yyyy-mm-dd hh:mm:ss)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientOpenCardCount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientOpenCardCount.java new file mode 100644 index 0000000..c6851b7 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientOpenCardCount.java @@ -0,0 +1,18 @@ +package com.dy.pipIrrGlobal.voSt; + +import lombok.Data; + +/** + * @author :WuZeYu + * @Date :2024/8/9 10:18 + * @LastEditTime :2024/8/9 10:18 + * @Description + */ +@Data +public class VoClientOpenCardCount extends VoClient{ + private static final long serialVersionUID = 202408091019001L; + /** + * 寮�鍗℃鏁� + */ + private Long openCardCount; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml index 682d4eb..6d2c24c 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml @@ -72,7 +72,7 @@ pipIrr: global: - dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse + dev: true #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О mw: webPort: 8070 diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml index deac89d..9a196ce 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml @@ -720,4 +720,48 @@ WHERE operate_dt BETWEEN #{timeStart} AND #{timeStop} AND operate_type = 2 </select> + <!--鎸囧畾鏃堕棿娈靛唴寮�鐗╃悊鍗″啘鎴锋暟閲�--> + <select id="getOpenIcCardClientsCount" resultType="java.lang.Long"> + select + count(*) + from + ( + SELECT + sco.client_id AS clientId, + sc.`name` AS clientName, + sc.clientNum AS clientNum, + sc.address AS address, + sc.phone AS phone, + sc.idCard AS idCard, + COUNT(sc.id) AS openCardCount + FROM + `se_card_operate` sco + INNER JOIN se_client sc ON sc.id = sco.client_id + WHERE + sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 1 AND sc.deleted = 0 AND sc.disabled = 0 + GROUP BY sc.id) c + </select> + <!--鎸囧畾鏃堕棿娈靛唴寮�鐗╃悊鍗″啘鎴�--> + <select id="getOpenIcCardClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount"> + SELECT + sco.client_id AS clientId, + sc.`name` AS clientName, + sc.clientNum AS clientNum, + sc.address AS address, + sc.phone AS phone, + sc.idCard AS idCard, + COUNT(sc.id) AS openCardCount + FROM + `se_card_operate` sco + INNER JOIN se_client sc ON sc.id = sco.client_id + WHERE + sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 1 AND sc.deleted = 0 AND sc.disabled = 0 + GROUP BY sc.id + ORDER BY sc.id DESC + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java index 84ec52e..29bc05f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java @@ -5,6 +5,9 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.voSt.VoClient; +import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount; +import com.dy.pipIrrGlobal.voSt.VoICCard; +import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO; import com.dy.pipIrrStatistics.client.qo.AmountSpentQO; import com.dy.pipIrrStatistics.client.qo.OpenCountQO; import com.dy.pipIrrStatistics.client.qo.WaterConsumptionQO; @@ -132,4 +135,23 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + + /** + * 鎸囧畾鏃堕棿娈靛唴寮�鐗╃悊鍗″啘鎴� + * + * @param qo + * @return + */ + @GetMapping(path = "/getOpenIcCardClients") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoClientOpenCardCount>>> getOpenIcCardClients(CommonQO qo) { + try { + QueryResultVo<List<VoClientOpenCardCount>> res = clientSv.getOpenIcCardClients(qo); + return BaseResponseUtils.buildSuccess(res); + }catch (Exception e){ + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java index f86b5db..8376e28 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java @@ -2,7 +2,11 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper; +import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; import com.dy.pipIrrGlobal.voSt.VoClient; +import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount; +import com.dy.pipIrrGlobal.voSt.VoICCard; +import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO; import com.dy.pipIrrStatistics.client.qo.AmountSpentQO; import com.dy.pipIrrStatistics.client.qo.OpenCountQO; import com.dy.pipIrrStatistics.client.qo.WaterConsumptionQO; @@ -13,6 +17,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.List; import java.util.Map; import java.util.Optional; @@ -29,6 +34,8 @@ public class ClientSv { @Autowired private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper; + @Autowired + private SeCardOperateMapper seCardOperateMapper; /** * 鑾峰彇鎸囧畾鏃堕棿娈靛唴寮�闃�娆℃暟瓒呰繃鎸囧畾鍊肩殑鍐滄埛 @@ -219,4 +226,39 @@ rsVo.obj = rmOpenCloseValveHistoryMapper.getLargeWaterDurationClients(params); return rsVo ; } + + /** + * 鎸囧畾鏃堕棿娈靛唴寮�鐗╃悊鍗″啘鎴� + * @param qo + * @return + */ + public QueryResultVo<List<VoClientOpenCardCount>> getOpenIcCardClients(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.getOpenIcCardClientsCount(params); + + QueryResultVo<List<VoClientOpenCardCount>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = seCardOperateMapper.getOpenIcCardClients(params); + return rsVo ; + } } -- Gitblit v1.8.0