package com.nantian.cloud.dbcapp.controller;


import com.nantian.cloud.dbcapp.service.BigScreenService;
import com.nantian.sc.cloud.common.log.annotation.SysLog;
import io.swagger.annotations.Api;
import com.nantian.sc.cloud.common.core.util.R;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.text.ParseException;


/**
* @Description: 大屏controller  结合四方软件 不支持我们系统接口 无法使用存储过程 所以将数据穷举到t_big_screen中
 * 1.当年的数据每个月跑一次 定时器跑 每个月1号 凌晨跑
 * 2.近六个月个月跑一次 定时器跑 每个月1号 凌晨跑
 * 3.跑之前都删除对应的数据
* @Param:
* @return:
* @Author: zfw
* @Date: 2021/02/22
* @Date: 15:30
*/
@CrossOrigin
@RestController
@AllArgsConstructor
@RequestMapping("/bigScreen")
@Api(value = "bigScreen", tags = "大屏")

public class BigScreenController {

    private final BigScreenService bigScreenService;

    /**
     * @Description: 综合能耗
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllTce")
    @SysLog("综合能耗（大屏）")
    @ApiOperation(value = "综合能耗", notes = "综合能耗")
    public R getAllTce() {
        return R.ok(bigScreenService.getAllTce(),"查询成功");
    }

    /**
     * @Description: 重点用能单位 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllEnergyNameYear")
    @SysLog("重点用能单位 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "重点用能单位", notes = "重点用能单位")
    public R getAllEnergyNameYear() {
        return R.ok(bigScreenService.getAllEnergyNameYear(),"查询成功");
    }

    /**
     * @Description: 在线监测企业（家） 为大屏数据提供数据 (没有用到)
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllEnergyZxjcYear")
    @SysLog("在线监测企业（家） 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "在线监测用能单位", notes = "在线监测用能单位")
    public R getAllEnergyZxjcYear() {
        return R.ok(bigScreenService.getAllEnergyZxjcYear(),"查询成功");
    }

    /**
     * @Description: 电力关口企业(家) 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllEnergyDlgkYear")
    @SysLog("电力关口企业(家) 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "电力关口企业", notes = "电力关口企业")
    public R getAllEnergyDlgkYear() {
        return R.ok(bigScreenService.getAllEnergyDlgkYear(),"查询成功");
    }

    /**
     * @Description: 对接国家平台(家) 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllEnergyDjgjYear")
    @SysLog("对接国家平台(家) 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "对接国家平台", notes = "对接国家平台")
    public R getAllEnergyDjgjYear() {
        return R.ok(bigScreenService.getAllEnergyDjgjYear(),"查询成功");
    }

    /**
     * @Description: 查询所有的地区能耗存进数据库中 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllAreaByYear")
    @SysLog("查询所有的地区能耗存进数据库中 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "查询所有的地区能耗存进数据库中", notes = "查询所有的地区能耗存进数据库中")
    public R getAllAreaByYear() {
        return R.ok(bigScreenService.getAllAreaByYear(),"查询成功");
    }

    /**
     * @Description: 查询所有的地区能耗存进数据库中 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllHyByYear")
    @SysLog("查询所有的地区能耗存进数据库中 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "查询所有的行业能耗存进数据库中", notes = "查询所有的行业能耗存进数据库中")
    public R getAllHyByYear() {
        return R.ok(bigScreenService.getAllHyByYear(),"查询成功");
    }

    /**
     * @Description: 煤消耗 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllMeiYear")
    @SysLog("煤消耗 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "煤消耗", notes = "煤消耗")
    public R getAllMeiYear() throws ParseException {
        return R.ok(bigScreenService.getAllMeiYear(),"查询成功");
    }

    /**
     * @Description: 水消耗 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllWaterYear")
    @SysLog("水消耗 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "水消耗", notes = "水消耗")
    public R getAllWaterYear() {
        return R.ok(bigScreenService.getAllWaterYear(),"查询成功");
    }

 /**
     * @Description: 电(在线采集) 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllElectricityYear")
    @SysLog("电(在线采集) 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "电(在线采集)", notes = "电(在线采集)")
    public R getAllElectricityYear() throws ParseException {
        return R.ok(bigScreenService.getAllElectricityYear(),"查询成功");
    }


    /**
     * @Description: 消费结构 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllXfjgYear")
    @SysLog("消费结构 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "消费结构", notes = "消费结构")
    public R getAllXfjgYear() throws ParseException {
        return R.ok(bigScreenService.getAllXfjgYear(),"查询成功");
    }


    //===================================近6个月(加定时器)=============================================================================
    /**
     * @Description: 综合能耗(近6个月)
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllTce6")
    @SysLog("综合能耗(近6个月)（大屏）")
    @ApiOperation(value = "综合能耗", notes = "综合能耗")
    public R getAllTce6() {
        return R.ok(bigScreenService.getAllTce6(),"查询成功");
    }


    /**
     * @Description: 查询所有的地区能耗存进数据库中 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @GetMapping("/getAllAreaByYear6")
    @SysLog("查询所有的地区能耗存进数据库中 为大屏数据提供数据（大屏）")
    @ApiOperation(value = "查询所有的地区能耗存进数据库中", notes = "查询所有的地区能耗存进数据库中")
    public R getAllAreaByYear6() {
        return R.ok(bigScreenService.getAllAreaByYear6(),"查询成功");
    }

    /**
     * @Description: 查询所有的地区能耗存进数据库中 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @SysLog("查询所有的地区能耗存进数据库中 为大屏数据提供数据（大屏）")
    @GetMapping("/getAllHyByYear6")
    @ApiOperation(value = "查询所有的行业能耗存进数据库中", notes = "查询所有的行业能耗存进数据库中")
    public R getAllHyByYear6() {
        return R.ok(bigScreenService.getAllHyByYear6(),"查询成功");
    }

    /**
     * @Description: 煤消耗 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @SysLog("煤消耗 为大屏数据提供数据（大屏）")
    @GetMapping("/getAllMeiYear6")
    @ApiOperation(value = "煤消耗", notes = "煤消耗")
    public R getAllMeiYear6() throws ParseException {
        return R.ok(bigScreenService.getAllMeiYear6(),"查询成功");
    }

    /**
     * @Description: 水消耗 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @SysLog("水消耗 为大屏数据提供数据（大屏）")
    @GetMapping("/getAllWaterYear6")
    @ApiOperation(value = "水消耗", notes = "水消耗")
    public R getAllWaterYear6() {
        return R.ok(bigScreenService.getAllWaterYear6(),"查询成功");
    }

    /**
     * @Description: 电(在线采集) 为大屏数据提供数据
     * ）
     * @Param: [area,industry,time]
     * @return: com.nantian.sc.cloud.common.core.util.R
     * @Author: zfw
     * @Date: 2021/1/4
     * @Date: 13:45
     */
    @SysLog("电(在线采集) 为大屏数据提供数据（大屏）")
    @GetMapping("/getAllElectricityYear6")
    @ApiOperation(value = "电(在线采集)", notes = "电(在线采集)")
    public R getAllElectricityYear6() throws ParseException {
        return R.ok(bigScreenService.getAllElectricityYear6(),"查询成功");
    }



}


