From efa933befa09b05560538bb8cab46d11b36f8e1e Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期一, 06 一月 2025 13:48:48 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-operation/src/main/java/com/dy/pipIrrOperation/PipIrrOperationApplication.java | 7 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecords.java | 201 +++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountMonth.java | 243 +++++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYear.java | 20 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientSv.java | 180 ++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountMonthMapper.xml | 58 ++ pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientCtrl.java | 48 ++ pipIrr-platform/pipIrr-global/src/main/resources/application-global(166web文件花生壳).yml | 413 ++++++++++++++++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecord.java | 49 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountYearMapper.java | 21 pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountYearMapper.xml | 42 + pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountMonthMapper.java | 18 pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountDayMapper.xml | 16 13 files changed, 1,306 insertions(+), 10 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountMonthMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountMonthMapper.java index c9f99bc..58fdb3f 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountMonthMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountMonthMapper.java @@ -2,10 +2,12 @@ import com.dy.pipIrrGlobal.pojoSt.StClientAmountMonth; import com.dy.pipIrrGlobal.voSt.VoClientAmountStatistics; +import com.dy.pipIrrGlobal.voSt.VoStClientAmountMonth; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * @Author: liurunyu @@ -63,6 +65,22 @@ int updateByPrimaryKey(StClientAmountMonth record); + + ////////////////////////////////////// + //鏌ヨ缁熻缁撴灉 + /** + * 鏌ヨ鎬绘暟閲� + * @param params + * @return + */ + Long selectCountMonthStatistics(Map<?, ?> params) ; + /** + * 鏌ヨ鍒嗛〉鏁版嵁 + * @param params + * @return + */ + List<VoStClientAmountMonth> selectMonthStatistics(Map<?, ?> params) ; + ////////////////////////////////////// //缁熻鐩稿叧 /** diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountYearMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountYearMapper.java index 7bac86b..1af5eda 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountYearMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSt/StClientAmountYearMapper.java @@ -1,10 +1,12 @@ package com.dy.pipIrrGlobal.daoSt; import com.dy.pipIrrGlobal.pojoSt.StClientAmountYear; +import com.dy.pipIrrGlobal.voSt.VoStClientAmountYearRecord; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * @Author: liurunyu @@ -61,6 +63,25 @@ */ int updateByPrimaryKey(StClientAmountYear record); + + + ////////////////////////////////////// + //鏌ヨ缁熻缁撴灉 + /** + * 鏌ヨ鎬绘暟閲� + * @param params + * @return + */ + Long selectCountYearStatistics(Map<?, ?> params) ; + /** + * 鏌ヨ鍒嗛〉鏁版嵁 + * @param params + * @return + */ + List<VoStClientAmountYearRecord> selectYearStatistics(Map<?, ?> params) ; + + ////////////////////////////////////// + //缁熻鐩稿叧 /** * 鏌ヨ鏌愬勾 鏌愰噺鍊� * diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountMonth.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountMonth.java new file mode 100644 index 0000000..d78374b --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountMonth.java @@ -0,0 +1,243 @@ +package com.dy.pipIrrGlobal.voSt; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.Data; + +/** + * @Author: liurunyu + * @Date: 2025/1/4 10:15 + * @Description + */ +@Data +@JsonPropertyOrder({ "id", "clientId", "clientNum", "clientName", "clientAddress" , "year" + ,"amount1" , "money1" , "times1" + ,"amount2" , "money2" , "times2" + ,"amount3" , "money3" , "times3" + ,"amount4" , "money4" , "times4" + ,"amount5" , "money5" , "times5" + ,"amount6" , "money6" , "times6" + ,"amount7" , "money7" , "times7" + ,"amount8" , "money8" , "times8" + ,"amount9" , "money9" , "times9" + ,"amount10" , "money10" , "times10" + ,"amount11" , "money11" , "times11" + ,"amount12" , "money12" , "times12" +}) +public class VoStClientAmountMonth { + + public static final long serialVersionUID = 202501041014001L; + /** + * 涓婚敭 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long id; + + /** + * 澶栭敭锛屾寚鍚戝啘鎴� + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long clientId; + + /** + * 鍐滄埛缂栨湀 + */ + public String clientNum ; + + /** + * 鍐滄埛鍚嶇О + */ + public String clientName ; + + /** + * 鍐滄埛鍦板潃 + */ + public String clientAddress ; + + /** + * 骞村害 + */ + public Integer year; + + /** + * 1鏈堢敤姘撮噺缁熻 + */ + public Double amount1; + + /** + * 1鏈堣姳璐归噾棰� + */ + public Double money1; + + /** + * 1鏈堢敤姘存鏁� + */ + public Integer times1; + + /** + * 2鏈堢敤姘撮噺缁熻 + */ + public Double amount2; + + /** + * 2鏈堣姳璐归噾棰� + */ + public Double money2; + + /** + * 2鏈堢敤姘存鏁� + */ + public Integer times2; + + /** + * 3鏈堢敤姘撮噺缁熻 + */ + public Double amount3; + + /** + * 3鏈堣姳璐归噾棰� + */ + public Double money3; + + /** + * 3鏈堢敤姘存鏁� + */ + public Integer times3; + + /** + * 4鏈堢敤姘撮噺缁熻 + */ + public Double amount4; + + /** + * 4鏈堣姳璐归噾棰� + */ + public Double money4; + + /** + * 4鏈堢敤姘存鏁� + */ + public Integer times4; + + /** + * 5鏈堢敤姘撮噺缁熻 + */ + public Double amount5; + + /** + * 5鏈堣姳璐归噾棰� + */ + public Double money5; + + /** + * 5鏈堢敤姘存鏁� + */ + public Integer times5; + + /** + * 6鏈堢敤姘撮噺缁熻 + */ + public Double amount6; + + /** + * 6鏈堣姳璐归噾棰� + */ + public Double money6; + + /** + * 6鏈堢敤姘存鏁� + */ + public Integer times6; + + /** + * 7鏈堢敤姘撮噺缁熻 + */ + public Double amount7; + + /** + * 7鏈堣姳璐归噾棰� + */ + public Double money7; + + /** + * 7鏈堢敤姘存鏁� + */ + public Integer times7; + + /** + * 8鏈堢敤姘撮噺缁熻 + */ + public Double amount8; + + /** + * 8鏈堣姳璐归噾棰� + */ + public Double money8; + + /** + * 8鏈堢敤姘存鏁� + */ + public Integer times8; + + /** + * 9鏈堢敤姘撮噺缁熻 + */ + public Double amount9; + + /** + * 9鏈堣姳璐归噾棰� + */ + public Double money9; + + /** + * 9鏈堢敤姘存鏁� + */ + public Integer times9; + + /** + * 10鏈堢敤姘撮噺缁熻 + */ + public Double amount10; + + /** + * 10鏈堣姳璐归噾棰� + */ + public Double money10; + + /** + * 10鏈堢敤姘存鏁� + */ + public Integer times10; + + /** + * 11鏈堢敤姘撮噺缁熻 + */ + public Double amount11; + + /** + * 11鏈堣姳璐归噾棰� + */ + public Double money11; + + /** + * 11鏈堢敤姘存鏁� + */ + public Integer times11; + + /** + * 12鏈堢敤姘撮噺缁熻 + */ + public Double amount12; + + /** + * 12鏈堣姳璐归噾棰� + */ + public Double money12; + + /** + * 12鏈堢敤姘存鏁� + */ + public Integer times12; + +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYear.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYear.java new file mode 100644 index 0000000..9372175 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYear.java @@ -0,0 +1,20 @@ +package com.dy.pipIrrGlobal.voSt; + +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.Data; + +import java.util.List; + +/** + * @Author: liurunyu + * @Date: 2025/1/4 11:13 + * @Description + */ +@Data +@JsonPropertyOrder({ "yearGrp", "records" }) +public class VoStClientAmountYear { + + public List<Integer> yearGrp; + + public List<VoStClientAmountYearRecords> records; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecord.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecord.java new file mode 100644 index 0000000..3822500 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecord.java @@ -0,0 +1,49 @@ +package com.dy.pipIrrGlobal.voSt; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import lombok.Data; + +/** + * @Author: liurunyu + * @Date: 2025/1/6 9:38 + * @Description + */ +@Data +public class VoStClientAmountYearRecord { + /** + * 澶栭敭锛屾寚鍚戝啘鎴� + */ + public Long clientId; + + /** + * 鍐滄埛缂栧勾 + */ + public String clientNum ; + + /** + * 鍐滄埛鍚嶇О + */ + public String clientName ; + + /** + * 鍐滄埛鍦板潃 + */ + public String clientAddress ; + + /** + * 1骞寸敤姘撮噺缁熻 + */ + public Double amount; + + /** + * 1骞磋姳璐归噾棰� + */ + public Double money; + + /** + * 1骞寸敤姘存鏁� + */ + public Integer times; + +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecords.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecords.java new file mode 100644 index 0000000..53a48da --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoStClientAmountYearRecords.java @@ -0,0 +1,201 @@ +package com.dy.pipIrrGlobal.voSt; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import lombok.Data; + +/** + * @Author: liurunyu + * @Date: 2025/1/4 10:15 + * @Description + */ +@Data +@JsonPropertyOrder({ "id", "clientId", "clientNum", "clientName", "clientAddress" + ,"amount1" , "money1" , "times1" + ,"amount2" , "money2" , "times2" + ,"amount3" , "money3" , "times3" + ,"amount4" , "money4" , "times4" + ,"amount5" , "money5" , "times5" + ,"amount6" , "money6" , "times6" + ,"amount7" , "money7" , "times7" + ,"amount8" , "money8" , "times8" + ,"amount9" , "money9" , "times9" + ,"amount10" , "money10" , "times10" +}) +public class VoStClientAmountYearRecords { + + public static final long serialVersionUID = 202501041106001L; + + /** + * 澶栭敭锛屾寚鍚戝啘鎴� + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long clientId; + + /** + * 鍐滄埛缂栧勾 + */ + public String clientNum ; + + /** + * 鍐滄埛鍚嶇О + */ + public String clientName ; + + /** + * 鍐滄埛鍦板潃 + */ + public String clientAddress ; + + /** + * 1骞寸敤姘撮噺缁熻 + */ + public Double amount1; + + /** + * 1骞磋姳璐归噾棰� + */ + public Double money1; + + /** + * 1骞寸敤姘存鏁� + */ + public Integer times1; + + /** + * 2骞寸敤姘撮噺缁熻 + */ + public Double amount2; + + /** + * 2骞磋姳璐归噾棰� + */ + public Double money2; + + /** + * 2骞寸敤姘存鏁� + */ + public Integer times2; + + /** + * 3骞寸敤姘撮噺缁熻 + */ + public Double amount3; + + /** + * 3骞磋姳璐归噾棰� + */ + public Double money3; + + /** + * 3骞寸敤姘存鏁� + */ + public Integer times3; + + /** + * 4骞寸敤姘撮噺缁熻 + */ + public Double amount4; + + /** + * 4骞磋姳璐归噾棰� + */ + public Double money4; + + /** + * 4骞寸敤姘存鏁� + */ + public Integer times4; + + /** + * 5骞寸敤姘撮噺缁熻 + */ + public Double amount5; + + /** + * 5骞磋姳璐归噾棰� + */ + public Double money5; + + /** + * 5骞寸敤姘存鏁� + */ + public Integer times5; + + /** + * 6骞寸敤姘撮噺缁熻 + */ + public Double amount6; + + /** + * 6骞磋姳璐归噾棰� + */ + public Double money6; + + /** + * 6骞寸敤姘存鏁� + */ + public Integer times6; + + /** + * 7骞寸敤姘撮噺缁熻 + */ + public Double amount7; + + /** + * 7骞磋姳璐归噾棰� + */ + public Double money7; + + /** + * 7骞寸敤姘存鏁� + */ + public Integer times7; + + /** + * 8骞寸敤姘撮噺缁熻 + */ + public Double amount8; + + /** + * 8骞磋姳璐归噾棰� + */ + public Double money8; + + /** + * 8骞寸敤姘存鏁� + */ + public Integer times8; + + /** + * 9骞寸敤姘撮噺缁熻 + */ + public Double amount9; + + /** + * 9骞磋姳璐归噾棰� + */ + public Double money9; + + /** + * 9骞寸敤姘存鏁� + */ + public Integer times9; + + /** + * 10骞寸敤姘撮噺缁熻 + */ + public Double amount10; + + /** + * 10骞磋姳璐归噾棰� + */ + public Double money10; + + /** + * 10骞寸敤姘存鏁� + */ + public Integer times10; + +} diff --git "a/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050166web\346\226\207\344\273\266\350\212\261\347\224\237\345\243\263\051.yml" "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050166web\346\226\207\344\273\266\350\212\261\347\224\237\345\243\263\051.yml" new file mode 100644 index 0000000..b0e9a6f --- /dev/null +++ "b/pipIrr-platform/pipIrr-global/src/main/resources/application-global\050166web\346\226\207\344\273\266\350\212\261\347\224\237\345\243\263\051.yml" @@ -0,0 +1,413 @@ +spring: + servlet: + multipart: + # 鍓嶇涓婁紶鏂囦欢锛岄檺鍒跺崟涓枃浠剁殑澶у皬鍜岄檺鍒舵墍鏈夋枃浠剁殑澶у皬 + max-file-size: 500MB + max-request-size: 5000MB +logging: + charset: + console: UTF-8 + config: + classpath: log4j2.yml +#绂佺敤鐧芥爣閿欒椤甸潰 +server: + error: + whitelabel: + enabled: false + #servlet閰嶇疆 + servlet: + encoding: + #鍙栨秷榛樿鐨勫瓧绗﹂泦缂栫爜 + enabled: true + #璁剧疆寮哄埗浣跨敤鎸囧畾瀛楃缂栫爜闆� + force: true + #浣跨敤鐨勫瓧绗︾紪鐮� + charset: utf-8 +# actuator閰嶇疆锛屽厛include浜嗗叏閮紝鐒跺悗鍐峞xclude鎸囧畾鐨別ndpoint +management: + endpoints: + web: + exposure: + include: '*' + #exclude: beans + .shutdown: + enabled: true #鏄惁寮�鍚�/actuator/shutdown + +# SpringDoc-OpenApi 閰嶇疆 +springdoc: + swagger-ui: + #搴旂敤actuator鏃讹紝璁块棶: http://[IP]:[port]/actuator/swagger-ui/index.html 渚嬪http://127.0.0.1:9080/actuator/swagger-ui/index.html + #鏈敤actuator鏃讹紝璁块棶: http://[IP]:[port]/[context]/swagger-ui/index.html 渚嬪http://127.0.0.1:8080/[瀛愮郴缁熶笂涓嬫枃锛坆ase锛塢/swagger-ui/index.html + path: /swagger-ui + operationsSorter: method # HTTP 鏂规硶鎺掑簭 + tagsSorter: alpha # API 鎺掑簭 + api-docs: + path: /v3/apiDocs + groups: + enabled: true + show-actuator: true #鍦╝ctuator閰嶇疆鐨勭鍙e強涓婁笅鏂囦腑璁块棶 SpringDoc-OpenApi + use-management-port: true #搴旂敤actuator閰嶇疆鐨勭鍙o紝浣嗕笂闈㈢殑swagger-ui:path鍙細閲囩敤榛樿鍊約wagger-ui + packages-to-scan: com.dy + #paths-to-match: /sys/**, /demo/**, /** + paths-to-match: /** + web: + title: 澶х鑺傛按绠$亴鐩戞帶绯荤粺API + description: 澶х鑺傛按绠$亴鐩戞帶绯荤粺鏈嶅姟绔� Restfull API + version: v1.0.0 + license-name: 澶х鑺傛按鐮旂┒闄� + +#MybatisPlus 閰嶇疆鏃ュ織鏄剧ず鎵цSQL +mybatis-plus: + #鍖归厤sql璇彞鐨勬槧灏勬枃浠剁殑浣嶇疆锛宑lasspath浠h〃鍦╮esources涓� + mapper-locations: classpath:mapper/*.xml + #浠ヤ笅涓や釜閰嶇疆鍙互鐪佺暐锛屽湪mapper鏄犲皠鏂囦欢涓厤缃�淍Mapper鈥濅篃鏄彲浠ョ殑銆� + #浣跨敤type-aliases-package涓寚瀹歟ntity鎵弿鍖呰矾寰勶紝璁﹎ybatis鑷姩鎵弿鑷畾涔夌殑entity + #type-aliases-package: com.dy.pipIrrGlobal.daoBa + configuration: + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #鏃惰�岃緭鍑烘棩蹇楋紝鏃惰�屼笉杈撳嚭鏃ュ織 + #log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl 涓嶅啀搴旂敤锛屾敼涓篜rintSqlInterceptor鎷︽埅鍣ㄨ緭鍑簊ql鏃ュ織锛屼笅闈rint-sql椤归厤缃� + print-sql: false # 杈撳嚭sql鏃ュ織寮�鍏筹紝鎺у埗PrintSqlInterceptor鎷︽埅鍣ㄦ槸鍚﹀姞杞� + #寮�鍚┘宄皍Name鑷姩鏄犲皠鍒皍_name + #2023-10-24缁忓疄楠岋紝涓嬮潰閰嶇疆true鎴杅alse锛岄兘鑳戒粠u_name鏄犲皠鍒皍Name + #map-underscore-to-camel-case: true + lazyLoadingEnabled: true # 寮�鍚欢鏃跺姞杞藉紑鍏� + aggressiveLazyLoading: false # 灏嗙Н鏋佸姞杞芥敼涓烘秷鏋佸姞杞斤紙鍗虫寜闇�鍔犺浇锛夛紝榛樿鍊兼槸false + lazy-load-trigger-methods: "" # 闃绘尅涓嶇浉骞茬殑鎿嶄綔瑙﹀彂锛屽疄鐜版噿鍔犺浇 + cache-enabled: true #鎵撳紑鍏ㄥ眬缂撳瓨寮�鍏筹紙浜岀骇鐜锛夛紝榛樿鍊兼槸true + default-enum-type-handler: com.dy.common.mybatis.envm.EnumCodeTypeHandler + +pipIrr: + global: + dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse + dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О + nginx: + webPort: 19913 + mw: + webPort: 8070 #閫氫俊涓棿浠朵腑搴旂敤锛屼笉鑳藉湪web妯″潡绯荤粺涓簲鐢� + actutorPort: 9070 #閫氫俊涓棿浠朵腑搴旂敤锛屼笉鑳藉湪web妯″潡绯荤粺涓簲鐢� + idSuffix: 0 + sso: + cacheMaximumSize: 10000 #鐧诲綍鐢ㄦ埛缂撳瓨鍙紦瀛樼敤鎴风殑鏈�澶у�� + cacheDuration: 720 #缂撳瓨鐧诲綍鐢ㄦ埛鍙戝憜鏈�澶ф椂闀匡紙鍒嗛挓锛� + checkUrl: http://127.0.0.1:8079/sso/sso/ssoCheck + webPort: 8079 + actutorPort: 9079 + idSuffix: 1 + base: + webPort: 8080 + actutorPort: 9080 + idSuffix: 2 + remote: + webPort: 8081 + actutorPort: 9081 + idSuffix: 3 + statistics: + webPort: 8082 + actutorPort: 9082 + idSuffix: 4 + gis: + webPort: 8083 + actutorPort: 9083 + idSuffix: 5 + demo: + webPort: 8000 + actutorPort: 9000 + idSuffix: 99 + sell: + webPort: 8084 + actutorPort: 9084 + idSuffix: 6 + project: + webPort: 8085 + actutorPort: 9085 + idSuffix: 7 + irrigate: + webPort: 8086 + actutorPort: 9086 + idSuffix: 8 + wechat: + webPort: 8087 + actutorPort: 9087 + idSuffix: 9 + app: + webPort: 8088 + actutorPort: 9088 + idSuffix: 10 + operation: + webPort: 8089 + actutorPort: 9089 + idSuffix: 11 + # 2023-10-24鏂板锛岀敤浜庢墽琛屼复鏃朵换鍔★紝渚嬪鍒犻櫎鏁版嵁搴撲腑涓婁簺鍑洪敊鐨勬暟鎹� + temp: + webPort: 8099 + actutorPort: 9099 + idSuffix: 98 + + # 鍒嗗竷寮弚eb鏂囦欢绯荤粺 + file: + idSuffix: 99 + file1: + webPort: 8180 + actutorPort: 9180 + file2: + webPort: 8180 + actutorPort: 9180 + file3: + webPort: 8180 + actutorPort: 9180 + file4: + webPort: 8180 + actutorPort: 9180 + file5: + webPort: 8180 + actutorPort: 9180 + file6: + webPort: 8180 + actutorPort: 9180 + file7: + webPort: 8180 + actutorPort: 9180 + file8: + webPort: 8180 + actutorPort: 9180 + file9: + webPort: 8180 + actutorPort: 9180 + file10: + webPort: 8180 + actutorPort: 9180 + file11: + webPort: 8180 + actutorPort: 9180 + file12: + webPort: 8180 + actutorPort: 9180 + + +#web鍒嗗竷寮忔枃浠剁郴缁� +dy: + photoZipWidth: 400 #缂╃暐鍥惧昂瀵� + webFile: + fmUrl: http://127.0.0.1:${pipIrr.file1.webPort}/file # fm鐨剋eb涓婁笅鏂� URL + supportedFileTypes: docx,xlsx,doc,xls,pdf #鏀寔鐨勬枃妗o紙闈炲獟浣撴枃浠讹紝濡傜収鐗囥�佸綍闊炽�佸綍鍍忥級鏂囦欢绫诲瀷 + sv1: + id: dyFile1 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile1 + hashStart: 0 + hashEnd: 5461 + restUrl: http://127.0.0.1:${pipIrr.file1.webPort}/file #file鏄笂涓嬫枃,ip涓哄眬鍩熺綉ip鎴栨湰鍦癐P + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ #nginx鏈嶅姟璺緞,瀹夎閮ㄧ讲鏃禝P鏀规垚澶栫綉IP鎴栧煙鍚� + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file1.webPort}/file/download/down?id= #瀹夎閮ㄧ讲鏃禝P鏀规垚澶栫綉IP鎴栧煙鍚� + sv2: + id: dyFile2 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile2 + hashStart: 5462 + hashEnd: 10923 + restUrl: http://127.0.0.1:${pipIrr.file2.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file2.webPort}/file/download/down?id= + sv3: + id: dyFile3 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile3 + hashStart: 10924 + hashEnd: 16385 + restUrl: http://127.0.0.1:${pipIrr.file3.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file3.webPort}/file/download/down?id= + sv4: + id: dyFile4 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile4 + hashStart: 16386 + hashEnd: 21847 + restUrl: http://127.0.0.1:${pipIrr.file4.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file4.webPort}/file/download/down?id= + sv5: + id: dyFile5 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile5 + hashStart: 21848 + hashEnd: 27309 + restUrl: http://127.0.0.1:${pipIrr.file5.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file5.webPort}/file/download/down?id= + sv6: + id: dyFile6 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile6 + hashStart: 27310 + hashEnd: 32767 + restUrl: http://127.0.0.1:${pipIrr.file6.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file6.webPort}/file/download/down?id= + sv7: + id: dyFile7 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile7 + hashStart: 32768 + hashEnd: 38229 + restUrl: http://127.0.0.1:${pipIrr.file7.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file7.webPort}/file/download/down?id= + sv8: + id: dyFile8 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile8 + hashStart: 38230 + hashEnd: 43691 + restUrl: http://127.0.0.1:${pipIrr.file8.webPort}/file + webUrl: http://no253541tf71.vicp.fun${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file8.webPort}/file/download/down?id= + sv9: + id: dyFile9 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile9 + hashStart: 43692 + hashEnd: 49153 + restUrl: http://127.0.0.1:${pipIrr.file9.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file9.webPort}/file/download/down?id= + sv10: + id: dyFile10 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile10 + hashStart: 49154 + hashEnd: 54615 + restUrl: http://127.0.0.1:${pipIrr.file10.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file10.webPort}/file/download/down?id= + sv11: + id: dyFile11 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile11 + hashStart: 54616 + hashEnd: 60077 + restUrl: http://127.0.0.1:${pipIrr.file11.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file11.webPort}/file/download/down?id= + sv12: + id: dyFile12 + absolutePath: E:/apps/pipIrr/nginx-1.27.0/html/webfiles/ + relativePath: webFile12 + hashStart: 60078 + hashEnd: 65535 + restUrl: http://127.0.0.1:${pipIrr.file12.webPort}/file + webUrl: http://no253541tf71.vicp.fun:${pipIrr.nginx.webPort}/webfiles/ + webDownloadPath: http://no253541tf71.vicp.fun:${pipIrr.file12.webPort}/file/download/down?id= + +#椤圭洰缂栧彿 +#projectCode: +# ym: 100 +# sp: 101 + +#椤圭洰閰嶇疆 +project: + #椤圭洰缂栫爜 + projectNo: 10 + #鎺у埗鍣ㄧ被鍨� + controllerType: 57 + #榛樿琛屾斂鍖哄垝缂栫爜锛堝ぉ娲�-澶╂触甯�-姝︽竻鍖�-浜花宸ヤ笟鍥�-澶х鑺傛按锛� + divisionCode: 120114403100 + + +#閫氳涓棿浠剁浉鍏抽厤缃� +#protocol: DYJS_2023,DYJS_2024 +mw: + #鍛戒护鍙戦�侀�氫俊涓棿浠跺湴鍧� + ym: + url: "http://127.0.0.1:8070" + comSendUrl: "http://127.0.0.1:8070/rtuMw/com/send" + mj: + url: "http://127.0.0.1:8071" + comSendUrl: "http://127.0.0.1:8071/rtuMw/com/send" + mq: + url: "http://127.0.0.1:8100" + comSendUrl: "http://127.0.0.1:8100/rtuMw/com/send" + sp: + url: "http://127.0.0.1:8073" + comSendUrl: "http://127.0.0.1:8073/rtuMw/com/send" + test: + url: "http://127.0.0.1:8072" + comSendUrl: "http://127.0.0.1:8072/rtuMw/com/send" + #鐩戞祴鎺у埗妯″潡鍥炶皟鍦板潃 + rtuCallbackUrl_rm: "http://127.0.0.1:8081/remote/comRes/receive" + #rtu杩滅▼鍗囩骇妯″潡鍥炶皟鍦板潃 + ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive" + #寰俊灏忕▼搴忓洖璋冨湴鍧� + rtuCallbackUrl_wx: "http://127.0.0.1:8087/wx/comRes/receive" + +#涓嶈繘琛寀serToken杩囨护鐨刄RL锛孈ConfigurationProperties瑕佹眰tokennofilter涓墍鏈夊瓧姣嶉兘灏忓啓 +tokennofilter: + urls: + - /sso/sso + - /remote/comRes/receive + - /remote/rtuUpgradeStateReceiver/receive + - /wx/comRes/receive + - /app/captcha/get + - /file/file #web鍒嗗竷寮忔枃浠剁郴缁� + - /file/fm #web鍒嗗竷寮忔枃浠剁郴缁� + +#鑷姩缁熻閰嶇疆锛岃嚜鍔ㄧ粺璁″畾鏃朵换鍔′細姣忓ぉ瀹氭椂杩涜 +auto-statistics: + startHour: 0 #寮�濮嬪皬鏃讹紝蹇呴』鏄�0鐐规垨涔嬪悗锛屽彇鍊艰寖鍥存槸0~5锛屽惁StatisticsListener涓嚜鍔ㄨ缃垚0 + startMinute: 5 #寮�濮嬪垎閽� 5 + +#閽夐拤娑堟伅鎺ㄩ�� +dingtalk: + ym: + enable: true #鏄惁鍚敤 + robot: + url: https://oapi.dingtalk.com/robot/send + access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f + secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 + at-all: true + mobile: 18602657034 + mj: + enable: true #鏄惁鍚敤 + robot: + url: https://oapi.dingtalk.com/robot/send + access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f + secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 + at-all: true + mobile: 18602657034 + mq: + enable: true #鏄惁鍚敤 + robot: + url: https://oapi.dingtalk.com/robot/send + access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f + secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 + at-all: true + mobile: 18602657034 + sp: + enable: true #鏄惁鍚敤 + robot: + url: https://oapi.dingtalk.com/robot/send + access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f + secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 + at-all: true + mobile: 18602657034 + test: + enable: true #鏄惁鍚敤 + robot: + url: https://oapi.dingtalk.com/robot/send + access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f + secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7 + at-all: true + mobile: 18602657034 + +#闃�鎺у櫒鍙傛暟 +rtu: + batteryVolt: 17 + signalIntensity: + weak: 10 + ordinary: 20 +# strong: 20 + +#铏氭嫙鍗¢厤缃弬鏁� +vc: + #铏氭嫙鍗℃渶浣庝綑棰濇姤璀﹀�� + alarmValue: 10 \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountDayMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountDayMapper.xml index 4bd6635..456ce0b 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountDayMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountDayMapper.xml @@ -117,7 +117,6 @@ times30, amount31, money31, times31 </sql> <sql id="Base_Column_List_with_alias"> - <!--@mbg.generated--> ${alias}.id, ${alias}.client_id, ${alias}.`year`, ${alias}.`month`, ${alias}.amount1, ${alias}.money1, ${alias}.times1, ${alias}.amount2, ${alias}.money2, ${alias}.times2, ${alias}.amount3, ${alias}.money3, ${alias}.times3, ${alias}.amount4, ${alias}.money4, ${alias}.times4, ${alias}.amount5, ${alias}.money5, ${alias}.times5, ${alias}.amount6, ${alias}.money6, ${alias}.times6, ${alias}.amount7, ${alias}.money7, ${alias}.times7, ${alias}.amount8, ${alias}.money8, ${alias}.times8, ${alias}.amount9, ${alias}.money9, @@ -1207,24 +1206,27 @@ select count(*) from se_client mtb - <where> + where mtb.deleted != 1 + <trim prefix="and" suffixOverrides="and"> <if test="name != null and name != ''"> mtb.name like concat('%', #{name}, '%') </if> - </where> + </trim> </select> <select id="selectDayStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountDay"> select + mtb.id as clientId, mtb.clientNum as clientNum, - mtb.phone as clientPhone, + mtb.name as clientName, mtb.address as clientAddress, <include refid="Base_Column_List_with_alias" > <property name="alias" value="stTb"/> </include> from se_client mtb LEFT JOIN st_client_amount_day stTb on stTb.client_id = mtb.id - <where> + where mtb.deleted != 1 + <trim prefix="and" suffixOverrides="and"> <if test = "year != null"> stTb.year = #{year, jdbcType=INTEGER} </if> @@ -1234,8 +1236,8 @@ <if test="name != null and name != ''"> AND mtb.name like concat('%', #{name}, '%') </if> - </where> - order by mtb.id ASC + </trim> + order by mtb.id DESC <trim prefix="limit " > <if test="start != null and count != null"> #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountMonthMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountMonthMapper.xml index 559fde2..1b0a222 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountMonthMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountMonthMapper.xml @@ -51,6 +51,18 @@ times6, amount7, money7, times7, amount8, money8, times8, amount9, money9, times9, amount10, money10, times10, amount11, money11, times11, amount12, money12, times12 </sql> + <sql id="Base_Column_List_with_alias"> + <!--@mbg.generated--> + ${alias}.id, ${alias}.client_id, ${alias}.`year`, + ${alias}.amount1, ${alias}.money1, ${alias}.times1, ${alias}.amount2, ${alias}.money2, ${alias}.times2, + ${alias}.amount3, ${alias}.money3, ${alias}.times3, ${alias}.amount4, ${alias}.money4, ${alias}.times4, + ${alias}.amount5, ${alias}.money5, ${alias}.times5, ${alias}.amount6, ${alias}.money6, ${alias}.times6, + ${alias}.amount7, ${alias}.money7, ${alias}.times7, ${alias}.amount8, ${alias}.money8, ${alias}.times8, + ${alias}.amount9, ${alias}.money9, ${alias}.times9, ${alias}.amount10, ${alias}.money10, ${alias}.times10, + ${alias}.amount11, ${alias}.money11, ${alias}.times11, ${alias}.amount12, ${alias}.money12, ${alias}.times12 + </sql> + + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <!--@mbg.generated--> select @@ -501,6 +513,52 @@ where id = #{id,jdbcType=BIGINT} </update> + <!-- ////////////////////////////////// --> + <!-- 鏌ヨ缁熻缁撴灉 --> + <!-- ////////////////////////////////// --> + <select id="selectCountMonthStatistics" resultType="java.lang.Long"> + select + count(*) + from se_client mtb + where mtb.deleted != 1 + <trim prefix="and" suffixOverrides="and"> + <if test="name != null and name != ''"> + mtb.name like concat('%', #{name}, '%') + </if> + </trim> + </select> + + <select id="selectMonthStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountMonth"> + select + mtb.clientNum as clientNum, + mtb.phone as clientPhone, + mtb.address as clientAddress, + <include refid="Base_Column_List_with_alias" > + <property name="alias" value="stTb"/> + </include> + from se_client mtb + LEFT JOIN st_client_amount_month stTb on stTb.client_id = mtb.id + where mtb.deleted != 1 + <trim prefix="and" suffixOverrides="and"> + <if test = "year != null"> + stTb.year = #{year, jdbcType=INTEGER} + </if> + <if test="name != null and name != ''"> + AND mtb.name like concat('%', #{name}, '%') + </if> + </trim> + order by mtb.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="selectByYear" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountYearMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountYearMapper.xml index 2027ccd..3a2f404 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountYearMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/StClientAmountYearMapper.xml @@ -111,6 +111,48 @@ where id = #{id,jdbcType=BIGINT} </update> + <!-- ////////////////////////////////// --> + <!-- 鏌ヨ缁熻缁撴灉 --> + <!-- ////////////////////////////////// --> + <select id="selectCountYearStatistics" resultType="java.lang.Long"> + select + count(*) + from se_client mtb + where mtb.deleted != 1 + <trim prefix="and" suffixOverrides="and"> + <if test="name != null and name != ''"> + mtb.name like concat('%', #{name}, '%') + </if> + </trim> + </select> + + <select id="selectYearStatistics" resultType="com.dy.pipIrrGlobal.voSt.VoStClientAmountYearRecord"> + select + ctb.id as clientId, + ctb.clientNum as clientNum, + ctb.name as clientName, + ctb.address as clientAddress, + cayTb.amount as amount, + cayTb.money as money, + cayTb.times as times + from se_client ctb + LEFT JOIN st_client_amount_year cayTb on cayTb.client_id = ctb.id + where ctb.deleted != 1 + <trim prefix="and" suffixOverrides="and"> + <if test="year != null"> + cayTb.`year` = #{year,jdbcType=INTEGER} + </if> + <if test="name != null and name != ''"> + and ctb.name like concat('%', #{name}, '%') + </if> + </trim> + order by ctb.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> <!-- ////////////////////////////////// --> <!-- 缁熻鐩稿叧 --> diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-operation/src/main/java/com/dy/pipIrrOperation/PipIrrOperationApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-web-operation/src/main/java/com/dy/pipIrrOperation/PipIrrOperationApplication.java index 276dfb9..cf692fa 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-operation/src/main/java/com/dy/pipIrrOperation/PipIrrOperationApplication.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-operation/src/main/java/com/dy/pipIrrOperation/PipIrrOperationApplication.java @@ -18,7 +18,12 @@ }) } ) -@MapperScan(basePackages={"com.dy.pipIrrGlobal.daoRm", "com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoSe", "com.dy.pipIrrGlobal.daoBa","com.dy.pipIrrGlobal.daoOp"}) +@MapperScan(basePackages={"com.dy.pipIrrGlobal.daoRm", + "com.dy.pipIrrGlobal.daoPr", + "com.dy.pipIrrGlobal.daoSe", + "com.dy.pipIrrGlobal.daoBa", + "com.dy.pipIrrGlobal.daoOp", + "com.dy.pipIrrGlobal.daoFi"}) public class PipIrrOperationApplication { public static void main(String[] args) { diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientCtrl.java index e1fab95..e33506e 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientCtrl.java @@ -6,6 +6,8 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.voSt.VoStClientAmountDay; +import com.dy.pipIrrGlobal.voSt.VoStClientAmountMonth; +import com.dy.pipIrrGlobal.voSt.VoStClientAmountYear; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.List; /** @@ -25,6 +28,8 @@ @RequestMapping(path="stClient") @RequiredArgsConstructor public class StClientCtrl { + + private static final int startYear4YearStatistics = 2024 ; private StClientSv sv ; @@ -50,4 +55,47 @@ qo.month = ymd[1] ; return BaseResponseUtils.buildSuccess(this.sv.selectStClientAmountDay(qo)); } + + + /** + * 鏌ヨ鎸囧畾骞村啘鎴峰悇鏈堢敤姘撮噺 + * @param qo + * @return + */ + @GetMapping(path = "/amountOfMonth") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoStClientAmountMonth>>> amountOfMonth(StClientQo qo) throws Exception { + if(qo.year == null) { + return BaseResponseUtils.buildErrorMsg("鏌ヨ鏉′欢骞村害涓嶈兘涓虹┖"); + } + return BaseResponseUtils.buildSuccess(this.sv.selectStClientAmountMonth(qo)); + } + + + + /** + * 鏌ヨ鎸囧畾骞村啘鎴峰悇骞寸敤姘撮噺 + * @param qo + * @return + */ + @GetMapping(path = "/amountOfYear") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoStClientAmountYear>>> amountOfYear(StClientQo qo) throws Exception { + List<Integer> yearGrp = new ArrayList<Integer>(); + int nowYear = Integer.parseInt(DateTime.yyyy()) ; + if(qo.year == null) { + for(int i = startYear4YearStatistics; i <= nowYear; i++) { + yearGrp.add(i) ; + } + }else{ + if(qo.year > nowYear){ + qo.year = nowYear; + } + if(qo.year < startYear4YearStatistics){ + qo.year = startYear4YearStatistics; + } + yearGrp.add(qo.year) ; + } + return BaseResponseUtils.buildSuccess(this.sv.selectStClientAmountYear(qo, yearGrp)); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientSv.java index 7cd7cfe..19f7bb3 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientSv.java @@ -4,13 +4,14 @@ import com.dy.pipIrrGlobal.daoSt.StClientAmountDayMapper ; import com.dy.pipIrrGlobal.daoSt.StClientAmountMonthMapper ; import com.dy.pipIrrGlobal.daoSt.StClientAmountYearMapper ; -import com.dy.pipIrrGlobal.voSt.VoStClientAmountDay; +import com.dy.pipIrrGlobal.voSt.*; 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.util.ArrayList; import java.util.List; import java.util.Map; @@ -41,7 +42,12 @@ } - public QueryResultVo<List<VoStClientAmountDay>> selectStClientAmountDay(StClientQo qo) throws ParseException { + /** + * 鏌ヨ鍐滄埛鐢ㄦ按鏃ョ粺璁� + * @param qo + * @return + */ + public QueryResultVo<List<VoStClientAmountDay>> selectStClientAmountDay(StClientQo qo) { QueryResultVo<List<VoStClientAmountDay>> rsVo = new QueryResultVo<>() ; // 鐢熸垚鏌ヨ鍙傛暟 Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; @@ -57,4 +63,174 @@ } return rsVo ; } + + + /** + * 鏌ヨ鍐滄埛鐢ㄦ按鏈堢粺璁� + * @param qo + * @return + */ + public QueryResultVo<List<VoStClientAmountMonth>> selectStClientAmountMonth(StClientQo qo) { + QueryResultVo<List<VoStClientAmountMonth>> rsVo = new QueryResultVo<>() ; + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = stClientAmountMonthDao.selectCountMonthStatistics(params) ; + + if(itemTotal != null && itemTotal > 0) { + rsVo.pageSize = qo.pageSize; + rsVo.pageCurr = qo.pageCurr; + rsVo.calculateAndSet(itemTotal, params); + + rsVo.obj = stClientAmountMonthDao.selectMonthStatistics(params); + } + return rsVo ; + } + + + /** + * 鏌ヨ鍐滄埛鐢ㄦ按骞寸粺璁� + * @param qo + * @return + */ + public QueryResultVo<VoStClientAmountYear> selectStClientAmountYear(StClientQo qo, List<Integer> yearGrp) throws ParseException { + QueryResultVo<VoStClientAmountYear> rsQrVo = new QueryResultVo<>() ; + + VoStClientAmountYear rsVo = new VoStClientAmountYear(); + rsVo.yearGrp = yearGrp ; + rsQrVo.obj = rsVo ; + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ; + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = stClientAmountYearDao.selectCountYearStatistics(params) ; + + if(itemTotal != null && itemTotal > 0) { + rsQrVo.pageSize = qo.pageSize; + rsQrVo.pageCurr = qo.pageCurr; + rsQrVo.calculateAndSet(itemTotal, params); + + List<VoStClientAmountYearRecords> group = new ArrayList<>(); + int count = 1 ; + for(int year: yearGrp){ + params.put("year", year); + List<VoStClientAmountYearRecord> list = stClientAmountYearDao.selectYearStatistics(params); + if(group.isEmpty()){ + this.completion(group, list); + } + this.merge(count, group, list) ; + count += 1 ; + } + rsVo.records = group ; + } + + return rsQrVo ; + } + + /** + * 琛ュ叏锛� 闆嗗悎涓病鏈夊氨鐢熸垚涓�涓� + * @param group + * @param list + */ + private void completion(List<VoStClientAmountYearRecords> group, List<VoStClientAmountYearRecord> list){ + boolean found ; + for (VoStClientAmountYearRecord voInList : list) { + found = false ; + for(VoStClientAmountYearRecords voInGrp : group) { + if(voInList.clientId.longValue() == voInGrp.clientId.longValue()) { + found = true ; + } + } + if(!found) { + VoStClientAmountYearRecords vo4s = new VoStClientAmountYearRecords(); + vo4s.clientId = voInList.clientId; + vo4s.clientNum = voInList.clientNum; + vo4s.clientName = voInList.clientName; + vo4s.clientAddress = voInList.clientAddress; + group.add(vo4s) ; + } + } + } + + /** + * 鍚堝苟锛� 闆嗗悎涓湁灏卞悎骞� + * @param count + * @param group + * @param list + */ + private void merge(int count, List<VoStClientAmountYearRecords> group, List<VoStClientAmountYearRecord> list){ + for (VoStClientAmountYearRecord voInList : list) { + VoStClientAmountYearRecords voInGrp_ = null ; + for(VoStClientAmountYearRecords voInGrp : group) { + if(voInList.clientId.longValue() == voInGrp.clientId.longValue()) { + voInGrp_ = voInGrp ; + break ; + } + } + if(voInGrp_ != null){ + this.merge(count, voInGrp_, voInList); + } + } + } + + /** + * 鍚堝苟鍊� + * @param count + * @param vo4s + * @param vo + */ + private void merge(int count, VoStClientAmountYearRecords vo4s, VoStClientAmountYearRecord vo){ + switch (count){ + case 1: + vo4s.amount1 = vo.amount; + vo4s.money1 = vo.money; + vo4s.times1 = vo.times; + break; + case 2: + vo4s.amount2 = vo.amount; + vo4s.money2 = vo.money; + vo4s.times2 = vo.times; + break; + case 3: + vo4s.amount3 = vo.amount; + vo4s.money3 = vo.money; + vo4s.times3 = vo.times; + break; + case 4: + vo4s.amount4 = vo.amount; + vo4s.money4 = vo.money; + vo4s.times4 = vo.times; + break; + case 5: + vo4s.amount5 = vo.amount; + vo4s.money5 = vo.money; + vo4s.times5 = vo.times; + break; + case 6: + vo4s.amount6 = vo.amount; + vo4s.money6 = vo.money; + vo4s.times6 = vo.times; + break; + case 7: + vo4s.amount7 = vo.amount; + vo4s.money7 = vo.money; + vo4s.times7 = vo.times; + break; + case 8: + vo4s.amount8 = vo.amount; + vo4s.money8 = vo.money; + vo4s.times8 = vo.times; + break; + case 9: + vo4s.amount9 = vo.amount; + vo4s.money9 = vo.money; + vo4s.times9 = vo.times; + break; + case 10: + vo4s.amount10 = vo.amount; + vo4s.money10 = vo.money; + vo4s.times10 = vo.times; + break; + } + } } -- Gitblit v1.8.0