CustomConsumeController.java 7.4 KB
package com.skua.modules.dataAnalysis.controller;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

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 com.skua.core.api.vo.Result;
import com.skua.core.api.vo.TreeData;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.modules.dataAnalysis.service.ICustomConsumeService;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;

/**
* 	自定义能耗分析
*/
@Slf4j
@Api(tags="自定义能耗分析")
@RestController
@RequestMapping("/v1/customAnalysis")
public class CustomConsumeController {
   @Autowired
   private ICustomConsumeService customConsumeService;
   
   /**
    * <pre>
    * 	自定义分析获取数据类型
    * </pre>
    * @param granularity	时间粒度
    * @return
    * @author Li Yuanyuan, 2021年1月29日 下午3:07:12
    */
   @ApiOperation(value="自定义分析获取数据类型", notes="自定义分析获取数据类型")
   @GetMapping(value = "/getDataType")
   public Result<List<TreeData>> getDataType(String granularity){
	   Result<List<TreeData>> result = new Result<List<TreeData>>();
	   List<TreeData> dataTypeList = new ArrayList<TreeData>();
	   dataTypeList = customConsumeService.getDataType(granularity);
	   result.setResult(dataTypeList);
	   result.setSuccess(true);
	   return result;
   }
   
   /**
    * 项目公司接口调用系统管理-公司信息管理的片区厂站树接口
    * /system/sysFactoryInfo/queryFactoryTreeList
    */
   
   
   /**
    * <pre>
    * 根据数据类型获取指标字典
    * 实时数据/水质数据
    * </pre>
    * @param dataType
    * @return
    * @author Li Yuanyuan, 2021年2月1日 下午2:12:50
    */
   @ApiOperation(value="自定义分析获取实时数据/水质水量指标字典", notes="自定义分析获取实时数据/水质水量指标字典数据")
   @GetMapping(value = "/getMetricDict")
   public Result<List<Map<String,Object>>> getMetricDict(String dataType){
	   Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
	   List<Map<String,Object>> dataTypeList = new ArrayList<Map<String,Object>>();
	   dataTypeList = customConsumeService.getMetricDict(dataType);
	   result.setResult(dataTypeList);
	   result.setSuccess(true);
	   return result;
   }
   /**
    * <pre>
    * 实时数据/其他,根据厂站id获取构筑物画面字典,跟工艺监控同步
    * </pre>
    * @param departId
    * @return
    * @author Li Yuanyuan, 2021年2月1日 下午4:17:03
    */
   @ApiOperation(value="自定义分析获取实时数据/其他数据厂站所有构筑物", notes="自定义分析获取实时数据/其他数据厂站所有构筑物数据")
   @GetMapping(value = "/getStructureDict")
   public Result<List<Map<String,Object>>> getStructureDict(String departId){
	   Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
	   List<Map<String,Object>> structureList = new ArrayList<Map<String,Object>>();
	   structureList = customConsumeService.getStructureDict(departId);
	   result.setResult(structureList);
	   result.setSuccess(true);
	   return result;
   }
   /**
    * <pre>
    * 实时数据/其他,根据厂站id、构筑物id,获取指标
    * </pre>
    * @param departId
    * @param structureId
    * @return
    * @author Li Yuanyuan, 2021年2月1日 下午5:06:03
    */
   @ApiOperation(value="自定义分析获取实时数据/其他数据厂站构筑物下的指标", notes="自定义分析获取实时数据/其他数据厂站构筑物下的指标数据")
   @GetMapping(value = "/getMonitorOtherIndex")
   public Result<List<Map<String,Object>>> getMonitorOtherIndex(String departId,String structureId){
	   Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
	   List<Map<String,Object>> structureList = new ArrayList<Map<String,Object>>();
	   structureList = customConsumeService.getMonitorOtherIndex(departId,structureId);
	   result.setResult(structureList);
	   result.setSuccess(true);
	   return result;
   }
   
   
   /**
    * <pre>
    * 	工艺数据、设备参数自定分析方法
    * </pre>
    * @param departId		厂ID
    * @param indexs			指标字符串
    * @param dataType		数据类型:sz水质、qt其他
    * @param granularity	粒度: 小时hour 天day
    * @param startTime		开始日期
    * @param endTime		结束日期
    * @param contrastType	对比类型:tb同比   hb环比
    * @return
    * @author Li Yuanyuan, 2020年2月18日 下午6:45:50
 * @throws ParseException 
    */
   @AutoLog(value = "实时指标自定义分析")
   @ApiOperation(value="实时指标自定义分析", notes="实时指标自定义分析")
   @GetMapping(value = "/monitor")
   public Result<List<Map<String,Object>>> queryMonitorList(String departId, String indexs,String dataType,String granularity,String startTime,String endTime,String contrastType) throws ParseException {
       Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
       List<Map<String, Object>> list = customConsumeService.queryMonitorList(departId, granularity,startTime, endTime, indexs, dataType,contrastType);
       result.setResult(list);
       result.setSuccess(true);
       return result;
   }
   
   @ApiOperation(value="填报指标获取", notes="填报指标获取")
   @GetMapping(value = "/queryDataFillIndex")
   public Result<List<Map<String,Object>>> queryDataFillIndex(String reportId,String granularity) {
       Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
       List<Map<String, Object>> list = customConsumeService.queryDataFillIndex(reportId,granularity);
       result.setResult(list);
       result.setSuccess(true);
       return result;
   }
   
   
   @AutoLog(value = "填报指标自定义分析")
   @ApiOperation(value="填报指标自定义分析", notes="填报指标自定义分析")
   @GetMapping(value = "/datafill")
   public Result<List<Map<String,Object>>> queryDatafillList(String reportId,String departId, String startTime,String endTime, String indexs,String contrastType,String granularity) throws ParseException {
       Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
       List<Map<String, Object>> list = customConsumeService.queryDatafillList(reportId,departId, startTime, endTime,indexs ,contrastType,granularity);
       result.setResult(list);
       result.setSuccess(true);
       return result;
   }
   /**
    * 	计算指标自定义分析
    * @param departId	厂ID
    * @param startTime
    * @param endTime
    * @param indexs
    * @return
    */
   @AutoLog(value = "计算指标自定义分析")
   @ApiOperation(value="计算指标自定义分析", notes="计算指标自定义分析")
   @GetMapping(value = "/calculation")
   public Result<List<Map<String,Object>>> queryCalculationList(String departId, String startTime,String endTime, String indexs) {
       Result<List<Map<String,Object>>> result = new Result<List<Map<String,Object>>>();
       List<Map<String, Object>> list = customConsumeService.queryCalculationList(departId, startTime, endTime, indexs);
       result.setResult(list);
       result.setSuccess(true);
       return result;
   }

}