From b181d08b9c8c4f3f4d8c475a60506ba4d93c8382 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 09 四月 2025 11:38:23 +0800
Subject: [PATCH] 灌溉计划详情页,包含计划信息、轮灌组信息、取水口命令发布员结果信息
---
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/stClient/StClientSv.java | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 178 insertions(+), 2 deletions(-)
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