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