From 70d7a48cef4ebe004eb2ca411de4667e3d30f1ac Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 09 八月 2024 15:38:49 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java | 4 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 134 ++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java | 119 +++++++++++++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java | 3 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java | 40 ++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java | 4 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java | 45 +++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java | 36 +-- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java | 64 +++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientOpenCardCount.java | 18 ++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml | 7 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java | 18 ++ 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/qo/RechargeTotalGtValueQo.java | 21 ++ 16 files changed, 489 insertions(+), 30 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java index 97fec82..8ef331f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java @@ -3,7 +3,7 @@ import lombok.Data; /** - * 閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹� + * 閬ユ祴绔欒嚜鎶�(鏁寸偣)瀹炴椂鏁版嵁 */ @Data public class DataCdC0Vo { diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java index 096404e..4a733f3 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataStateVo.java @@ -4,6 +4,9 @@ @Data public class DataStateVo { + public static final byte ValveOpenState = 0 ; + public static final byte ValveCloseState = 1 ; + public Byte icCard;// IC鍗″姛鑳� public Byte valveState;//闃�闂ㄧ姸鎬� public Byte powerType ;//鐢垫簮鐘舵�侊紙0锛�220V渚涚數锛�1锛氱暅鐢垫睜渚涚數锛� 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..0bbc69e 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,9 @@ 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 com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -154,4 +157,46 @@ * @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); + + /** + * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁� 鍐滄埛鏁伴噺 + * @param params + * @return + */ + Long getRechargeTotalClientsCount(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁� + * @param params + * @return + */ + List<VoClientRechargeTotal> getRechargeTotalClients(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴鐗╃悊鍗″厖鍊奸噾棰濊秴杩囨寚瀹氬�肩殑鍐滄埛鏁伴噺 + * @param params + * @return + */ + Long getRechargeTotalGtValueClientsCount(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴鐗╃悊鍗″厖鍊奸噾棰濊秴杩囨寚瀹氬�肩殑鍐滄埛 + * @param params + * @return + */ + List<VoClientRechargeTotal> getRechargeTotalGtValueClients(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/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java new file mode 100644 index 0000000..60bea2d --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java @@ -0,0 +1,18 @@ +package com.dy.pipIrrGlobal.voSt; + +import lombok.Data; + +/** + * @author :WuZeYu + * @Date :2024/8/9 10:58 + * @LastEditTime :2024/8/9 10:58 + * @Description + */ +@Data +public class VoClientRechargeTotal extends VoClient{ + + /** + *鍏呭�兼�婚噺 + */ + private Double rechargeTotal; +} 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..401848d 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,138 @@ 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> + <!--鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁� 鍐滄埛鏁伴噺--> + <select id="getRechargeTotalClientsCount" 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, + IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal + 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 = 2 AND sc.deleted = 0 AND sc.disabled = 0 + GROUP BY sc.id) c + </select> + <!--鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁�--> + <select id="getRechargeTotalClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal"> + 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, + IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal + 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 = 2 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> + <!--鎸囧畾鏃堕棿娈靛唴鐗╃悊鍗″厖鍊奸噾棰濊秴杩囨寚瀹氬�肩殑鍐滄埛鏁伴噺--> + <select id="getRechargeTotalGtValueClientsCount" 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, + IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal + 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 = 2 AND sc.deleted = 0 AND sc.disabled = 0 + GROUP BY sc.id + HAVING IFNULL(SUM(sco.trade_amount),0) > #{value}) c + </select> + <!--鎸囧畾鏃堕棿娈靛唴鐗╃悊鍗″厖鍊奸噾棰濊秴杩囨寚瀹氬�肩殑鍐滄埛--> + <select id="getRechargeTotalGtValueClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal"> + 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, + IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal + 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 = 2 AND sc.deleted = 0 AND sc.disabled = 0 + GROUP BY sc.id + HAVING IFNULL(SUM(sco.trade_amount),0) > #{value} + 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-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java index ccb127c..b782f60 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java @@ -50,7 +50,11 @@ PrController controller = (PrController) objs[1]; this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1_0_1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo); this.saveHistory(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1_0_1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo); - this.updateVirCardNoUseState(sv, controller, dataCd81Vo.stateVo) ; + if(dataCd81Vo.stateVo != null && dataCd81Vo.stateVo.valveState != null && dataCd81Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ; + } + } } } else if (cdObj instanceof DataCd84Vo) { DataCd84Vo dataCd84Vo = (DataCd84Vo)cdObj ; @@ -60,7 +64,12 @@ PrController controller = (PrController) objs[1]; this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1_0_1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo); this.saveHistory(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1_0_1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo); - this.updateVirCardNoUseState(sv, controller, dataCd84Vo.stateVo) ; + /** 闃�寮�宸ヤ綔鎶ワ紝闃�闂ㄧ姸鎬佷竴瀹氭槸鎵撳紑鐘舵�侊紝鎵�浠ヤ笉璁剧疆涓嬮潰鏁版嵁浠ュ鍚庣画浠诲姟璁剧疆铏氭嫙鍗$姸鎬� + if(dataCd84Vo.stateVo != null && dataCd84Vo.stateVo.valveState != null && dataCd84Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ; + } + }*/ } } else if (cdObj instanceof DataCdC0Vo) { DataCdC0Vo dataCdC0Vo = (DataCdC0Vo)cdObj ; @@ -70,7 +79,11 @@ PrController controller = (PrController) objs[1]; this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1_0_1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo); this.saveHistory(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1_0_1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo); - this.updateVirCardNoUseState(sv, controller, dataCdC0Vo.stateVo) ; + if(dataCdC0Vo.stateVo != null && dataCdC0Vo.stateVo.valveState != null && dataCdC0Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ; + } + } } } } catch (Exception e) { @@ -151,23 +164,6 @@ } - /** - * 铏氭嫙鍗″湪鍙栨按鍙d笂鐨勫崰鐢ㄧ姸鎬佹敼涓洪潪搴旂敤鐘舵�� - */ - private void updateVirCardNoUseState(DbSv sv, - PrController controller, - DataStateVo stateVo){ - if(stateVo != null){ - if(stateVo.valveState != null && stateVo.valveState.byteValue() == 0){ - //闃�闂ㄥ叧闂姸鎬� - if(controller != null && controller.getIntakeId() != null){ - //铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵�� - sv.updateVirCardNoUseState(controller.getIntakeId()); - } - } - } - - } /** * 鍚戦拤閽夊彂閫佹秷鎭� diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java index cfe155c..42471f3 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java @@ -168,8 +168,10 @@ } } + /** + * 澶勭悊琛ユ姤锛屾殏鏃舵棤閫昏緫 + */ private void dealSupplyReport(){ - } /** diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java index bf4f33d..1baf103 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java @@ -123,8 +123,10 @@ } } + /** + * 澶勭悊琛ユ姤锛屾殏鏃舵棤閫昏緫 + */ private void dealSupplyReport(){ - } /** diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java new file mode 100644 index 0000000..d3bc73c --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealVirCardState.java @@ -0,0 +1,40 @@ +package com.dy.rtuMw.server.rtuData.p206V1_0_0; + +import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataStateVo; +import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author: liurunyu + * @Date: 2024/8/9 9:49 + * @Description + */ +public class TkDealVirCardState extends TaskSurpport { + + private static final Logger log = LogManager.getLogger(TkDealVirCardState.class.getName()) ; + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealVirCardState" ; + + /** + * 鎵ц鑺傜偣浠诲姟锛氳櫄鎷熷崱鍦ㄥ彇姘村彛涓婄殑鍗犵敤鐘舵�佹敼涓洪潪鍗犵敤鐘舵�� + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + Object[] objs = this.getTaskResults(TkDealAlarmStatus.taskId); + if(objs != null && objs.length >= 2){ + Long intakeId = (Long)objs[0] ; + Byte valveState = (Byte)objs[1] ; + if(intakeId != null && valveState.byteValue() == DataStateVo.ValveCloseState){ + objs = this.getTaskResults(TkPreGenObjs.taskId); + DbSv sv = (DbSv) objs[0]; + //铏氭嫙鍗″湪鍙栨按鍙d笂鐨勫崰鐢ㄧ姸鎬佹敼涓洪潪鍗犵敤鐘舵�� + sv.updateVirCardNoUseState(intakeId); + } + } + } + +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml index c46cc46..5068328 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml @@ -15,7 +15,9 @@ <task id="TkDealControllerNoTramp" name="闈炴祦娴�匯TU" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealControllerNoTramp"> <!-- 璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹� --> <task id="TkFindReport" name="璇嗗埆闈炲懡浠ゅ簲绛斾笂琛屾暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindReport"> - <task id="TkDealAlarmStatus" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佹暟鎹�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus" /> + <task id="TkDealAlarmStatus" name="鎺у埗鍣ㄦ姤璀︿笌鐘舵�佸強鍚戦拤閽夊彂閫佹姤璀︿俊鎭�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealAlarmStatus"> + <task id="TkDealVirCardState" name="铏氭嫙鍗″崰鐢ㄧ姸鎬佹仮澶�" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealVirCardState" /> + </task> <task id="TkDealOnHourReport" name="鎺у埗鍣ㄨ嚜鎶ユ暟鎹紙鏁寸偣鎶ワ級(鍔熻兘鐮丆0)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOnHourReport" /> <task id="TkDealWorkReport" name="鎺у埗鍣ㄩ榾寮�宸ヤ綔涓婃姤(鍔熻兘鐮�84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealWorkReport" /> <task id="TkDealOpenValveReport" name="鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkDealOpenValveReport" /> @@ -27,8 +29,7 @@ </task> <!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 --> <task id="TkFindComResponse" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkFindComResponse"> - <task id="TkRtuDealCommandResponse" name="RTU鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkRtuDealCommandResponse" > - </task> + <task id="TkRtuDealCommandResponse" name="RTU鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V1_0_0.TkRtuDealCommandResponse" /> </task> </task> </task> 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 b0dd80b..8884740 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,11 @@ 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.VoClientRechargeTotal; +import com.dy.pipIrrGlobal.voSt.VoICCard; +import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO; +import com.dy.pipIrrStatistics.client.qo.*; import com.dy.pipIrrGlobal.voSt.VoDayClient; import com.dy.pipIrrGlobal.voSt.VoMonthClient; import com.dy.pipIrrStatistics.client.qo.AmountSpentQO; @@ -175,4 +180,63 @@ 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()); + } + } + + + + /** + * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁★紙鐗╃悊鍗★級 + * + * @param qo + * @return + */ + @GetMapping(path = "/getRechargeTotalClients") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoClientRechargeTotal>>> getRechargeTotalClients(CommonQO qo) { + try { + QueryResultVo<List<VoClientRechargeTotal>> res = clientSv.getRechargeTotalClients(qo); + return BaseResponseUtils.buildSuccess(res); + }catch (Exception e){ + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()); + } + } + + + /** + * 鎸囧畾鏃堕棿娈靛唴鐗╃悊鍗″厖鍊奸噾棰濊秴杩囨寚瀹氬�肩殑鍐滄埛 + * + * @param qo + * @return + */ + @GetMapping(path = "/getRechargeTotalGtValueClients") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoClientRechargeTotal>>> getRechargeTotalGtValueClients(RechargeTotalGtValueQo qo) { + try { + QueryResultVo<List<VoClientRechargeTotal>> res = clientSv.getRechargeTotalGtValueClients(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 3314c6b..04cdb21 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 @@ -3,6 +3,7 @@ import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoRm.RmClientAmountDayLastMapper; import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper; +import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; import com.dy.pipIrrGlobal.voSt.VoClient; import com.dy.pipIrrGlobal.voSt.VoDayClient; import com.dy.pipIrrGlobal.voSt.VoMonthClient; @@ -11,14 +12,17 @@ import com.dy.pipIrrStatistics.client.qo.WaterConsumptionQO; import com.dy.pipIrrStatistics.client.qo.WaterDurationQO; import com.dy.pipIrrStatistics.intake.qo.ClientAmountQO; +import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount; +import com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal; +import com.dy.pipIrrGlobal.voSt.VoICCard; +import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO; +import com.dy.pipIrrStatistics.client.qo.*; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.text.ParseException; import java.time.LocalDate; -import java.util.Calendar; import java.util.List; import java.util.Map; import java.util.Optional; @@ -35,6 +39,8 @@ public class ClientSv { @Autowired private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper; + @Autowired + private SeCardOperateMapper seCardOperateMapper; @Autowired private RmClientAmountDayLastMapper rmClientAmountDayLastMapper; @@ -230,6 +236,115 @@ } /** + * 鎸囧畾鏃堕棿娈靛唴寮�鐗╃悊鍗″啘鎴� + * @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 ; + } + + /** + * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁★紙鐗╃悊鍗★級 + * @param qo + * @return + */ + public QueryResultVo<List<VoClientRechargeTotal>> getRechargeTotalClients(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.getRechargeTotalClientsCount(params); + + QueryResultVo<List<VoClientRechargeTotal>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = seCardOperateMapper.getRechargeTotalClients(params); + return rsVo ; + } + + /** + * 鎸囧畾鏃堕棿娈靛唴鐗╃悊鍗″厖鍊奸噾棰濊秴杩囨寚瀹氬�肩殑鍐滄埛 + * @param qo + * @return + */ + public QueryResultVo<List<VoClientRechargeTotal>> getRechargeTotalGtValueClients(RechargeTotalGtValueQo 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); + + if (qo.getValue() == null || qo.getValue() < 0){ + qo.setValue(0.0); + } + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + Long itemTotal = seCardOperateMapper.getRechargeTotalGtValueClientsCount(params); + + QueryResultVo<List<VoClientRechargeTotal>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = seCardOperateMapper.getRechargeTotalGtValueClients(params); + return rsVo ; + } + + /** * 缁熻鎸囧畾鏈堜唤鍚勫啘鎴峰悇澶╃敤姘撮噺鍙婃秷璐归噾棰� * @param qo * @return diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/RechargeTotalGtValueQo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/RechargeTotalGtValueQo.java new file mode 100644 index 0000000..f0a0745 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/qo/RechargeTotalGtValueQo.java @@ -0,0 +1,21 @@ +package com.dy.pipIrrStatistics.client.qo; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO; +import lombok.Data; + +/** + * @author :WuZeYu + * @Date :2024/8/9 11:36 + * @LastEditTime :2024/8/9 11:36 + * @Description + */ +@Data +public class RechargeTotalGtValueQo extends CommonQO { + /** + * 閲戦鍊� + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + private Double value; +} -- Gitblit v1.8.0