From 25648562a9c396f9013a26b4a892155ee77becbb Mon Sep 17 00:00:00 2001
From: ali <ali9696@163.com>
Date: 星期五, 14 二月 2025 11:05:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop1.0' into develop_alioo

---
 zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 161 insertions(+), 0 deletions(-)

diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java
new file mode 100644
index 0000000..3f6a91b
--- /dev/null
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/comprehensivestatistics/YearComprehensiveController.java
@@ -0,0 +1,161 @@
+package com.zhitan.web.controller.comprehensivestatistics;
+
+import cn.hutool.core.date.DateUtil;
+import com.zhitan.common.annotation.Log;
+import com.zhitan.common.core.controller.BaseController;
+import com.zhitan.common.core.domain.AjaxResult;
+import com.zhitan.common.enums.BusinessType;
+import com.zhitan.common.utils.poi.ExcelUtil;
+import com.zhitan.comprehensivestatistics.domain.YearComperhensive;
+import com.zhitan.comprehensivestatistics.service.IyearComprehensive;
+import com.zhitan.model.domain.ModelNode;
+import com.zhitan.model.service.IModelNodeService;
+import com.zhitan.realtimedata.domain.DataItem;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.lang.reflect.Field;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * electricityPriceController
+ *
+ * @author sys
+ * @date 2020-02-18
+ */
+@RestController
+@RequestMapping("/comprehensive/yearComprehensive")
+@Api(value = "缁煎悎鎸囨爣鍒嗘瀽锛堝勾锛塩ontroller",tags = {"缁煎悎鎸囨爣鍒嗘瀽"})
+public class YearComprehensiveController extends BaseController {
+
+    @Autowired
+    private IModelNodeService modelNodeService;
+    @Autowired
+    private IyearComprehensive yearComprehensive;
+
+    /*鍏ㄥ巶鑳借�楃粺璁�*/
+    @GetMapping("/list")
+    @ApiOperation(value = "鑾峰彇缁煎悎鎸囨爣鍒嗘瀽锛堝勾锛夊垪琛�")
+    public AjaxResult list(DataItem dataItem) {
+        try {
+            ModelNode modelNode = modelNodeService.getModelNodeByModelCodeByIndexCode(dataItem.getIndexCode());
+            if (ObjectUtils.isEmpty(modelNode)) {
+                return AjaxResult.success("鏆傛棤鏁版嵁");
+            }
+            List<YearComperhensive> dataList = new ArrayList<>();
+
+            dataItem.setBeginTime(DateUtil.beginOfYear(dataItem.getDataTime()));
+            dataItem.setEndTime(DateUtil.endOfYear(dataItem.getDataTime()));
+
+            DateFormat df = new SimpleDateFormat("yyyy");
+            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String aa = df.format(dataItem.getDataTime());
+            String bb = "";
+            int i = 1;
+            while (i <= 12) {
+                if(i > 9){
+                    bb = aa + "-" + i + "-01 00:00:00";
+                }else{
+                    bb = aa + "-0" + i + "-01 00:00:00";
+                }
+                YearComperhensive report = new YearComperhensive();
+                report.setDataTime(sf.parse(bb));
+                report.setValue("value" + i);
+                dataList.add(report);
+                i++;
+            }
+            List<YearComperhensive> list = yearComprehensive.getYearComprehensiveList(modelNode.getNodeId(),
+                    dataList,dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType());
+            return AjaxResult.success(list);
+        } catch (Exception ex) {
+            logger.error("鑾峰彇鍑洪敊锛�", ex);
+            return AjaxResult.error("鑾峰彇鍑洪敊!");
+        }
+    }
+
+    /**
+     * 鍏ㄥ巶缁煎悎鑳借�楃粺璁″浘
+     */
+    @GetMapping("/listChart")
+    @ApiOperation(value = "鑾峰彇缁煎悎鎸囨爣鍒嗘瀽鍥捐〃锛堝勾锛夋暟鎹�")
+    public AjaxResult listChart(DataItem dataItem){
+
+        dataItem.setBeginTime(DateUtil.beginOfYear(dataItem.getDataTime()));
+        dataItem.setEndTime(DateUtil.endOfYear(dataItem.getDataTime()));
+
+        List<YearComperhensive> list = yearComprehensive.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType());
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 瀵煎嚭宸ュ簭鍗曡�楃粺璁℃寚鏍囪缃姛鑳藉垪琛�
+     */
+    @Log(title = "缁煎悎鎶ヨ〃", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    @ApiOperation(value = "缁煎悎骞存姤琛ㄥ鍑�")
+    public AjaxResult export(DataItem dataItem) {
+        try {
+            ModelNode modelNode = modelNodeService.getModelNodeByModelCodeByIndexCode(dataItem.getIndexCode());
+            if (ObjectUtils.isEmpty(modelNode)) {
+                return AjaxResult.success("鏆傛棤鏁版嵁");
+            }
+            List<YearComperhensive> dataList = new ArrayList<>();
+            DateFormat df = new SimpleDateFormat("yyyy");
+            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String aa = df.format(dataItem.getBeginTime());
+            String bb = "";
+            int i = 1;
+            while (i <= 12) {
+                if(i>9){
+                    bb=aa+"-"+i+"-01 00:00:00";
+                }else{
+                    bb=aa+"-0"+i+"-01 00:00:00";
+                }
+                YearComperhensive report=new YearComperhensive();
+                report.setDataTime(sf.parse(bb));
+                report.setValue("value"+i);
+                dataList.add(report);
+                i++;
+            }
+            List<YearComperhensive> list = yearComprehensive.getYearComprehensiveList(modelNode.getNodeId(),
+                    dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType());
+            if(CollectionUtils.isNotEmpty(list)){
+                list.forEach(this::valueRep);
+            }
+            ExcelUtil<YearComperhensive> util = new ExcelUtil<>(YearComperhensive.class);
+            return util.exportExcel(list, "缁煎悎鎸囨爣鍒嗘瀽骞�");
+        } catch (Exception ex) {
+            logger.error("鑾峰彇鍑洪敊锛�", ex);
+            return AjaxResult.error("鑾峰彇鍑洪敊!");
+        }
+    }
+
+    public void valueRep(Object dr){
+        Field[] fields = dr.getClass().getDeclaredFields();
+        for(Field field:fields){
+            field.setAccessible(true);
+            Object obj = field.getType();
+            if(field.getType().getName().equals("java.lang.Double")){
+                String name = field.getName();
+                try {
+                    if(ObjectUtils.isEmpty(field.get(dr)))
+                    {
+                        field.set(dr,0.00);
+                    }
+                } catch (IllegalAccessException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+}

--
Gitblit v1.9.3