From f0266c2993a9587cab4c9480089e3e83d8820198 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期三, 07 八月 2024 15:59:30 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java | 12 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java | 8 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml | 117 ++++++++++++++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A2_Down.java | 14 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A1_Down.java | 12 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java | 4 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java | 43 +++++ pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/CommandP206V1_0_0Ctrl.java | 10 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java | 6 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml | 8 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java | 14 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java | 96 ++++++++++-- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java | 120 ++++++++++++++ pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 2 15 files changed, 406 insertions(+), 64 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java index 115539b..8de6bb7 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java @@ -170,7 +170,7 @@ * 2:鍒峰崱鍏抽榾锛� * 3:涓績绔欏紑闃�锛� * 4:涓績绔欏叧闃�锛� - * 5:娆犺垂鍏抽榾锛� + * 5:浣欓涓嶈冻鍏抽榾锛� * 6:娴侀噺璁℃晠闅滃叧闃�锛� * 7:绱ф�ュ叧闂紱 * 8:鐢ㄦ埛杩滅▼寮�闃�锛� @@ -190,7 +190,7 @@ case 2 -> "鍒峰崱鍏抽榾"; case 3 -> "涓績绔欏紑闃�"; case 4 -> "涓績绔欏叧闃�"; - case 5 -> "娆犺垂鍏抽榾"; + case 5 -> "浣欓涓嶈冻鍏抽榾"; case 6 -> "娴侀噺璁℃晠闅滃叧闃�"; case 7 -> "绱ф�ュ叧闃�"; case 8 -> "鐢ㄦ埛杩滅▼寮�闃�"; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java index 3891c18..ee47dc6 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_99_Down.java @@ -84,14 +84,14 @@ if(cvo.icCardNo == null){ throw new Exception("铏氭嫙IC鍗$紪鍙蜂笉鑳戒负绌�") ; } - if(cvo.moneyRemain == null){ - throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖") ; + if(cvo.moneyRemain == null || cvo.moneyRemain == 0.0){ + throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.waterPrice == null){ - throw new Exception("姘翠环涓嶈兘涓虹┖") ; + if(cvo.waterPrice == null || cvo.waterPrice == 0.0){ + throw new Exception("姘翠环涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.minutes == null){ - throw new Exception("鐢ㄦ按鏃堕暱涓嶈兘涓虹┖") ; + if(cvo.minutes == null || cvo.minutes == 0.0){ + throw new Exception("鐢ㄦ按鏃堕暱涓嶈兘涓虹┖鎴栦负0") ; } if(cvo.minutes < 0 || cvo.minutes > 9999){ throw new Exception("鐢ㄦ按鏃堕暱鍙栧�艰寖鍥存槸0~9999鍒嗛挓") ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java index fd0e57f..26876b3 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A0_Down.java @@ -84,14 +84,14 @@ if(cvo.icCardNo == null){ throw new Exception("铏氭嫙IC鍗$紪鍙蜂笉鑳戒负绌�") ; } - if(cvo.moneyRemain == null){ - throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖") ; + if(cvo.moneyRemain == null || cvo.moneyRemain == 0.0){ + throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.waterPrice == null){ - throw new Exception("姘翠环涓嶈兘涓虹┖") ; + if(cvo.waterPrice == null || cvo.waterPrice == 0.0){ + throw new Exception("姘翠环涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.waterAmount == null){ - throw new Exception("棰勭敤姘撮噺涓嶈兘涓虹┖") ; + if(cvo.waterAmount == null || cvo.waterAmount == 0.0){ + throw new Exception("棰勭敤姘撮噺涓嶈兘涓虹┖鎴栦负0") ; } if(cvo.waterAmount < 0 || cvo.waterAmount > 9999){ throw new Exception("棰勭敤姘撮噺鍙栧�艰寖鍥存槸0~9999m3") ; @@ -102,7 +102,7 @@ // midRs.param = icCardNoGrp[0] ; //} //ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; - byte[] bs = new byte[16] ; + byte[] bs = new byte[8] ; index = 0 ; GlCreate.createIcCardNo(cvo.icCardNo, bs, 0); bytes = ByteUtil.bytesMerge(bsHead, bs) ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A1_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A1_Down.java index d6966ec..2b02b83 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A1_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A1_Down.java @@ -85,14 +85,14 @@ if(cvo.icCardNo == null){ throw new Exception("铏氭嫙IC鍗$紪鍙蜂笉鑳戒负绌�") ; } - if(cvo.moneyRemain == null){ - throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖") ; + if(cvo.moneyRemain == null || cvo.moneyRemain == 0.0){ + throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.waterPrice == null){ - throw new Exception("姘翠环涓嶈兘涓虹┖") ; + if(cvo.waterPrice == null || cvo.waterPrice == 0.0){ + throw new Exception("姘翠环涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.minutes == null){ - throw new Exception("鐢ㄦ按鏃堕暱涓嶈兘涓虹┖") ; + if(cvo.minutes == null || cvo.minutes == 0.0){ + throw new Exception("鐢ㄦ按鏃堕暱涓嶈兘涓虹┖鎴栦负0") ; } if(cvo.minutes < 0 || cvo.minutes > 9999){ throw new Exception("鐢ㄦ按鏃堕暱鍙栧�艰寖鍥存槸0~9999鍒嗛挓") ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A2_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A2_Down.java index 3a09630..d664159 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A2_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_A2_Down.java @@ -85,14 +85,14 @@ if(cvo.icCardNo == null){ throw new Exception("铏氭嫙IC鍗$紪鍙蜂笉鑳戒负绌�") ; } - if(cvo.moneyRemain == null){ - throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖") ; + if(cvo.moneyRemain == null || cvo.moneyRemain == 0.0){ + throw new Exception("鍓╀綑閲戦涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.waterPrice == null){ - throw new Exception("姘翠环涓嶈兘涓虹┖") ; + if(cvo.waterPrice == null || cvo.waterPrice == 0.0){ + throw new Exception("姘翠环涓嶈兘涓虹┖鎴栦负0") ; } - if(cvo.waterAmount == null){ - throw new Exception("棰勭敤姘撮噺涓嶈兘涓虹┖") ; + if(cvo.waterAmount == null || cvo.waterAmount == 0.0){ + throw new Exception("棰勭敤姘撮噺涓嶈兘涓虹┖鎴栦负0") ; } if(cvo.waterAmount < 0 || cvo.waterAmount > 9999){ throw new Exception("棰勭敤姘撮噺鍙栧�艰寖鍥存槸0~9999m3") ; @@ -136,7 +136,7 @@ // midRs.param = icCardNoGrp[0] ; //} //ByteUtil.string2BCD_LE(bs, icCardNoGrp[1], index) ; - byte[] bs = new byte[16] ; + byte[] bs = new byte[8] ; index = 0 ; GlCreate.createIcCardNo(cvo.icCardNo, bs, 0); bytes = ByteUtil.bytesMerge(bsHead, bs) ; diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java index 7b6797b..434000e 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOnHourReportHistoryMapper.java @@ -88,16 +88,16 @@ List<VoIntake> getNotOnlineIntakes(Map<?, ?> params); /** - * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙f暟閲� + * 鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲� * @param params * @return */ - Long getUseWaterGtValueIntakesCount(Map<String, Object> params); + Long getTotalFlowGtValueIntakesCount(Map<String, Object> params); /** - * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙� + * 鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� * @param params * @return */ - List<VoIntakeAccumulateAmount> getUseWaterGtValueIntakes(Map<String, Object> params); + List<VoIntakeAccumulateAmount> getTotalFlowGtValueIntakes(Map<String, Object> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java index ba17e56..8d71f88 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java @@ -5,6 +5,7 @@ import com.dy.pipIrrGlobal.voRm.VoOpenCloseValve; import com.dy.pipIrrGlobal.voSt.VoClient; import com.dy.pipIrrGlobal.voSt.VoIntake; +import com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount; import com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount; import org.apache.ibatis.annotations.Mapper; @@ -192,4 +193,46 @@ * @return */ List<VoClient> getLargeWaterDurationClients(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲� + * @param params + * @return + */ + Long getUseWaterGtValueIntakesCount(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param params + * @return + */ + List<VoIntakeAccumulateAmount> getUseWaterGtValueIntakes(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙g殑鏁伴噺 + * @param params + * @return + */ + Long getExpenseGtValueIntakesCount(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param params + * @return + */ + List<VoIntakeAccumulateAmount> getExpenseGtValueIntakes(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲� + * @param params + * @return + */ + Long getUseWaterDurationGtValueIntakesCount(Map<String, Object> params); + + /** + * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param params + * @return + */ + List<VoIntakeOpenCount> getUseWaterDurationGtValueIntakes(Map<String, Object> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java index cb89d48..839fe4c 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeAccumulateAmount.java @@ -6,7 +6,9 @@ * @author :WuZeYu * @Date :2024/8/5 10:45 * @LastEditTime :2024/8/5 10:45 - * @Description 鍙栨按鍙g疮绉祦閲� 澶т簬 鎸囧畾鍊� + * @Description 鍙栨按鍙� 绱Н娴侀噺 澶т簬 鎸囧畾鍊� 瑙嗗浘 + * 鐢ㄦ按閲� 澶т簬 鎸囧畾鍊� + * 娑堣垂閲戦 澶т簬 鎸囧畾鍊� */ @Data public class VoIntakeAccumulateAmount extends VoIntake{ diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java index 421b9b2..c813a62 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoIntakeOpenCount.java @@ -1,14 +1,14 @@ package com.dy.pipIrrGlobal.voSt; -import com.alibaba.fastjson2.annotation.JSONField; -import com.alibaba.fastjson2.writer.ObjectWriterImplToString; + import lombok.Data; /** * @author :WuZeYu * @Date :2024/8/5 10:45 * @LastEditTime :2024/8/5 10:45 - * @Description 鍙栨按鍙e紑闃� 鎸囧畾鍊� 娆℃暟 + * @Description 鍙栨按鍙e紑闃� > 鎸囧畾鍊� 锛堟鏁�) + * 鐢ㄦ按鏃堕暱 > 鎸囧畾鍊� (鍒嗛挓) */ @Data public class VoIntakeOpenCount extends VoIntake{ 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 6d2c24c..1c09121 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: true #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse + dev: flase #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О mw: webPort: 8070 diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml index c3afb26..74589f4 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOnHourReportHistoryMapper.xml @@ -283,8 +283,8 @@ </if> </trim> </select> - <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙f暟閲�--> - <select id="getUseWaterGtValueIntakesCount" resultType="java.lang.Long"> + <!--鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <select id="getTotalFlowGtValueIntakesCount" resultType="java.lang.Long"> select count(*) from @@ -316,8 +316,8 @@ WHERE IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) > #{value} AND inta.deleted = 0 ) c </select> - <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙�--> - <select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> + <!--鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> + <select id="getTotalFlowGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> SELECT inta.id AS intakeId, inta.NAME AS intakeNum, diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml index 65f6c2e..ff3f0cd 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml @@ -878,4 +878,121 @@ </if> </trim> </select> + <!--鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <select id="getUseWaterGtValueIntakesCount" resultType="java.lang.Long"> + select + count(*) + from + ( SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_amount),0) AS value + FROM + pr_intake inta + INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_amount),0) > #{value}) c + </select> + <!--鎸囧畾鏃堕棿娈电敤姘撮噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> + <select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> + SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_amount),0) AS value + FROM + pr_intake inta + INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_amount),0) > #{value} + ORDER BY inta.id + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!--鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙g殑鏁伴噺--> + <select id="getExpenseGtValueIntakesCount" resultType="java.lang.Long"> + select + count(*) + from + ( SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_money),0) AS value + FROM + pr_intake inta + INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_money),0) > #{value}) c + </select> + <!--鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> + <select id="getExpenseGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> + SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_money),0) AS value + FROM + pr_intake inta + INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_money),0) > #{value} + ORDER BY inta.id + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙f暟閲�--> + <select id="getUseWaterDurationGtValueIntakesCount" resultType="java.lang.Long"> + select + count(*) + from + ( SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount + FROM + pr_intake inta + INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_time),0) > #{value}) c + </select> + <!--鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙�--> + <select id="getUseWaterDurationGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount"> + SELECT + inta.id AS intakeId, + inta.NAME AS intakeNum, + blo.NAME AS blockName , + IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount + FROM + pr_intake inta + INNER JOIN ba_block blo ON blo.id = inta.blockId + LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id + WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0 + GROUP BY inta.id + HAVING IFNULL(SUM(rocvh.cl_this_time),0) > #{value} + ORDER BY inta.id + <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-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/CommandP206V1_0_0Ctrl.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/CommandP206V1_0_0Ctrl.java index 707fc58..f84e95a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/CommandP206V1_0_0Ctrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1_0_0/CommandP206V1_0_0Ctrl.java @@ -228,7 +228,7 @@ private BaseResponse cdA0(){ ComA0Vo comVo = new ComA0Vo() ; comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo; - comVo.moneyRemain = 234.56 ; + comVo.moneyRemain = 1.23 ; comVo.waterPrice = 1.2 ; comVo.waterAmount = 10 ; return this.sendCom2Mw(this.commandOuter(CodeV1_0_1.cd_A0, comVo, null)) ; @@ -239,10 +239,10 @@ private BaseResponse cdA1() throws Exception { ComA1Vo comVo = new ComA1Vo() ; comVo.icCardNo = CommandP206V1_0_0Ctrl.vsIcCardNo; - comVo.moneyRemain = 234.56 ; + comVo.moneyRemain = 1.23 ; comVo.waterPrice = 1.2 ; - comVo.minutes = 3 ; - String nextDtStr = DateTime.nextXMinute_yyyy_MM_dd_HH_mm_ss(DateTime.yyyy_MM_dd_HH_mm_ss(), comVo.minutes) ;//灏嗘潵X鍒嗛挓 + comVo.minutes = 30 ; + String nextDtStr = DateTime.nextXMinute_yyyy_MM_dd_HH_mm_ss(DateTime.yyyy_MM_dd_HH_mm_ss(), 3) ;//灏嗘潵X鍒嗛挓 int[] nextDt = DateTime.yyyy_MM_dd_HH_MM_SS_2_ymdhmsGroup(nextDtStr) ; comVo.year = nextDt[0] ; comVo.month = nextDt[1] ; @@ -259,7 +259,7 @@ comVo.moneyRemain = 234.56 ; comVo.waterPrice = 1.2 ; comVo.waterAmount = 10 ; - String nextDtStr = DateTime.nextXMinute_yyyy_MM_dd_HH_mm_ss(DateTime.yyyy_MM_dd_HH_mm_ss(), 5) ;//灏嗘潵5鍒嗛挓 + String nextDtStr = DateTime.nextXMinute_yyyy_MM_dd_HH_mm_ss(DateTime.yyyy_MM_dd_HH_mm_ss(), 3) ;//灏嗘潵X鍒嗛挓 int[] nextDt = DateTime.yyyy_MM_dd_HH_MM_SS_2_ymdhmsGroup(nextDtStr) ; comVo.year = nextDt[0] ; comVo.month = nextDt[1] ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java index 2d265fc..f2ea363 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntakeSv.java @@ -424,6 +424,46 @@ } /** + * 鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param qo + * @return + */ + public QueryResultVo<List<VoIntakeAccumulateAmount>> getTotalFlowGtValueIntakes(IntakeAmountValueQO qo) { + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null && timeStart != "") { + timeStart = timeStart + " 00:00:00"; + } else { + timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + } + qo.setTimeStart(timeStart); + + if(timeStop != null && timeStop != "") { + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDate.now() + " 23:59:59"; + } + qo.setTimeStop(timeStop); + + if (qo.getValue() == null){ + qo.setValue(0.0); + } + + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + Long itemTotal = rmOnHourReportHistoryMapper.getTotalFlowGtValueIntakesCount(params); + + QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmOnHourReportHistoryMapper.getTotalFlowGtValueIntakes(params); + return rsVo ; + } + + + /** * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按閲忚秴杩囨寚瀹氬�肩殑鍙栨按鍙� * @param qo * @return @@ -451,14 +491,90 @@ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); - Long itemTotal = rmOnHourReportHistoryMapper.getUseWaterGtValueIntakesCount(params); + Long itemTotal = rmOpenCloseValveHistoryMapper.getUseWaterGtValueIntakesCount(params); QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ; rsVo.pageSize = qo.pageSize ; rsVo.pageCurr = qo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); - rsVo.obj = rmOnHourReportHistoryMapper.getUseWaterGtValueIntakes(params); + rsVo.obj = rmOpenCloseValveHistoryMapper.getUseWaterGtValueIntakes(params); + return rsVo ; + } + + + + /** + * 鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param qo + * @return + */ + public QueryResultVo<List<VoIntakeAccumulateAmount>> getExpenseGtValueIntakes(IntakeAmountValueQO qo) { + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null && timeStart != "") { + timeStart = timeStart + " 00:00:00"; + } else { + timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + } + qo.setTimeStart(timeStart); + + if(timeStop != null && timeStop != "") { + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDate.now() + " 23:59:59"; + } + qo.setTimeStop(timeStop); + + if (qo.getValue() == null){ + qo.setValue(0.0); + } + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + Long itemTotal = rmOpenCloseValveHistoryMapper.getExpenseGtValueIntakesCount(params); + + QueryResultVo<List<VoIntakeAccumulateAmount>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmOpenCloseValveHistoryMapper.getExpenseGtValueIntakes(params); + return rsVo ; + } + + + /** + * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param qo + * @return + */ + public QueryResultVo<List<VoIntakeOpenCount>> getUseWaterDurationGtValueIntakes(IntakeCountValueQO qo) { + String timeStart = qo.getTimeStart(); + String timeStop = qo.getTimeStop(); + if(timeStart != null && timeStart != "") { + timeStart = timeStart + " 00:00:00"; + } else { + timeStart = LocalDateTime.of(2024, 1, 1, 0, 0, 0).toString(); + } + qo.setTimeStart(timeStart); + + if(timeStop != null && timeStop != "") { + timeStop = timeStop + " 23:59:59"; + }else { + timeStop = LocalDate.now() + " 23:59:59"; + } + qo.setTimeStop(timeStop); + + + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); + Long itemTotal = rmOpenCloseValveHistoryMapper.getUseWaterDurationGtValueIntakesCount(params); + + QueryResultVo<List<VoIntakeOpenCount>> rsVo = new QueryResultVo<>() ; + rsVo.pageSize = qo.pageSize ; + rsVo.pageCurr = qo.pageCurr ; + + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = rmOpenCloseValveHistoryMapper.getUseWaterDurationGtValueIntakes(params); return rsVo ; } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java index 16241f1..405e1cd 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/intake/IntkeCtrl.java @@ -183,12 +183,12 @@ */ @GetMapping(path = "/getNeverOpenValveIntakes") @SsoAop() - public BaseResponse<QueryResultVo<List<VoIntake>>> getNeverOpenValveIntakes(CommonQO qo) { + public BaseResponse<QueryResultVo<List<VoIntake>>> getNeverOpenValveIntakes(@Valid CommonQO qo, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } try { QueryResultVo<List<VoIntake>> res = intakeSv.getNeverOpenValveIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("鑾峰彇璁板綍寮傚父", e); @@ -204,12 +204,12 @@ */ @GetMapping(path = "/getOpenValveGtIntakes") @SsoAop() - public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveGtIntakes(IntakeCountValueQO qo) { + public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveGtIntakes(@Valid IntakeCountValueQO qo, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } try { QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveGtIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("鑾峰彇璁板綍寮傚父", e); @@ -225,12 +225,33 @@ */ @GetMapping(path = "/getOpenValveLtIntakes") @SsoAop() - public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveLtIntakes(IntakeCountValueQO qo) { + public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getOpenValveLtIntakes(@Valid IntakeCountValueQO qo, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } try { QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getOpenValveLtIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + + /** + * 鎸囧畾鏃堕棿娈靛唴绱Н娴侀噺(瀹氭椂鎶ラ噷鐨勭疮绉祦閲�)瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param + * @return + */ + @GetMapping(path = "/getTotalFlowGtValueIntakes") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoIntakeAccumulateAmount>>> getTotalFlowGtValueIntakes(@Valid IntakeAmountValueQO qo, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + try { + QueryResultVo<List<VoIntakeAccumulateAmount>> res = intakeSv.getTotalFlowGtValueIntakes(qo); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("鑾峰彇璁板綍寮傚父", e); @@ -246,12 +267,55 @@ */ @GetMapping(path = "/getUseWaterGtValueIntakes") @SsoAop() - public BaseResponse<QueryResultVo<List<VoIntakeAccumulateAmount>>> getUseWaterGtValueIntakes(IntakeAmountValueQO qo) { + public BaseResponse<QueryResultVo<List<VoIntakeAccumulateAmount>>> getUseWaterGtValueIntakes(@Valid IntakeAmountValueQO qo, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } try { QueryResultVo<List<VoIntakeAccumulateAmount>> res = intakeSv.getUseWaterGtValueIntakes(qo); - if(res.itemTotal == 0) { - return BaseResponseUtils.buildErrorMsg(StatisticlResultCode.NO_RECORDS.getMessage()); - } + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + + /** + * 鎸囧畾鏃堕棿娈靛唴娑堣垂閲戦瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param + * @return + */ + @GetMapping(path = "/getExpenseGtValueIntakes") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoIntakeAccumulateAmount>>> getExpenseGtValueIntakes(@Valid IntakeAmountValueQO qo, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + try { + QueryResultVo<List<VoIntakeAccumulateAmount>> res = intakeSv.getExpenseGtValueIntakes(qo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鑾峰彇璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + + + /** + * 鎸囧畾鏃堕棿娈靛唴鐢ㄦ按鏃堕暱瓒呰繃鎸囧畾鍊肩殑鍙栨按鍙� + * @param + * @return + */ + @GetMapping(path = "/getUseWaterDurationGtValueIntakes") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoIntakeOpenCount>>> getUseWaterDurationGtValueIntakes(@Valid IntakeCountValueQO qo, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + try { + QueryResultVo<List<VoIntakeOpenCount>> res = intakeSv.getUseWaterDurationGtValueIntakes(qo); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("鑾峰彇璁板綍寮傚父", e); -- Gitblit v1.8.0