¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 = "ç»¼åææ åæï¼å¹´ï¼controller",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(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |