From cb1794d34ab60176dd6e62c451a47774c5d9552f Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期一, 13 一月 2025 13:43:12 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index cf32481..f7245ee 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1627,27 +1627,50 @@
                 energyDataVOList.add(data);
             }
         }else{
+            String lastYear = null;
+            int lastMonths = 0,curMonths =0;
+            String curYear =DateUtil.getFomartDate(new Date(),"yyyy");
             for (int i = 0; i < 12; i++) {
                 Date tempDate = DateUtil.increaseMonth(lastMonth,i);
+                String tt =DateUtil.getFomartDate(tempDate,"yyyy");
+                if(!StringUtils.equals(curYear,tt)){
+                   lastYear = tt;
+                   lastMonths = i+1;//鍘诲勾鐨勬湀浠芥暟
+                }
                 EnergyDataVO data = new EnergyDataVO();
                 data.setTimeData(DateUtil.getFomartDate(tempDate,"YYYY-MM"));
 //                data.setTimeData(DateUtil.getFomartDate(tempDate,(i+1)+"鏈�"));
                 data.setEnergy(new BigDecimal(0));
                 energyDataVOList.add(data);
             }
-            //濡傛灉鏄敤鐢垫暟鎹�
+            curMonths = 12 - lastMonths;//浠婂勾鐨勬湀浠芥暟
             EnergyTrendRequest param = new EnergyTrendRequest();
-            param.setDate(DateUtil.getFomartDate(new Date(),"yyyy"));//骞翠唤
             param.setMeterType(1);
             param.setNodeType(2);
             param.setNodeId("root000000");
             param.setPeriodType("year");
+            if(lastYear!=null){
+                //濡傛灉鏄敤鐢垫暟鎹�
+                param.setDate(lastYear);//鏌ヨ鍘诲勾骞翠唤
+                BaseResponse<EnergyTrendResponse> response = HKService.energyTrend(param);
+                if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null&& response.getData().getYvalues()!=null ){
+                    for (int i = 0; i < lastMonths; i++) { //0,11锛屽彇鍊�1-12
+                        if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>curMonths+i){
+                            //鍙栫浉搴旂殑鍙傛暟鍊�
+                            energyDataVOList.get(i).setEnergy(new BigDecimal(StringUtils.defaultString(response.getData().getYvalues().get(0).getValue()[curMonths+i],"0")));
+                        }
+                    }
+
+                }
+            }
+            //濡傛灉鏄敤鐢垫暟鎹�
+            param.setDate(curYear);//骞翠唤
             BaseResponse<EnergyTrendResponse> response = HKService.energyTrend(param);
             if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null&& response.getData().getYvalues()!=null ){
-                for (int i = 0; i < 12; i++) {
-                    if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>i){
+                for (int i = lastMonths; i < 12; i++) { //12 鍙栧�� 0
+                    if(response.getData().getYvalues().size()>0 &&response.getData().getYvalues().get(0).getValue().length>i-lastMonths){
                         //鍙栫浉搴旂殑鍙傛暟鍊�
-                        energyDataVOList.get(i).setEnergy(new BigDecimal(StringUtils.defaultString(response.getData().getYvalues().get(0).getValue()[i],"0")));
+                        energyDataVOList.get(i).setEnergy(new BigDecimal(StringUtils.defaultString(response.getData().getYvalues().get(0).getValue()[i-lastMonths],"0")));
                     }
                 }
 

--
Gitblit v1.9.3