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