/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package com.unis.finishedGrainSupervision.modular.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.unis.finishedGrainSupervision.modular.entity.vo.StatisticsOurOrInVO;
import com.unis.finishedGrainSupervision.modular.param.DateCrkywCplcrkCountPageParam;
import com.unis.finishedGrainSupervision.modular.param.DateCrkywCplcrkPageParam;
import com.unis.finishedGrainSupervision.modular.service.DataKcglKcswDefaultCountService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.unis.common.pojo.CommonResult;

import javax.annotation.Resource;
import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * 成品粮监管
 *
 * @author ZeroLiYi
 * @date  2024/06/04 11:37
 */
@Api(tags = "成品粮监管")
@ApiSupport(author = "UNIS_TEAM", order = 1)
@RestController
@Validated
public class DataKcglKcswDefaultCountController {

    @Resource
    private DataKcglKcswDefaultCountService dataKcglKcswDefaultCountService;

    /**
     * 在库数量管理-在库数量管理分页
     *
     * @author ZeroLiYi
     * @date  2024/06/04 11:37
     */
    @ApiOperationSupport(order = 1)
    @ApiOperation("在库数量管理-在库数量管理分页")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsCountPage")
    public CommonResult<IPage<Map<String,Object>>> page(DateCrkywCplcrkCountPageParam dateCrkywCplcrkPageParam) throws ParseException {
        return CommonResult.data(dataKcglKcswDefaultCountService.page(dateCrkywCplcrkPageParam));
    }

    /**
     * 在库数量管理-粮食等级分类统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 2)
    @ApiOperation("在库数量管理-粮食等级分类统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsGrainGrade")
    public CommonResult<List<Map<String,Object>>> statisticsGrainGrade() {
        List<Map<String,Object>> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsGrainGrade();
        return CommonResult.data(esNetworkEntryList);
    }

    /**
     * 在库数量管理-分地区库存统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 3)
    @ApiOperation("在库数量管理-分地区库存统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsArea")
    public CommonResult<List<Map<String,Object>>> statisticsArea() {
        List<Map<String,Object>> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsArea();
        return CommonResult.data(esNetworkEntryList);
    }

    /**
     * 在库数量管理-分品种库存统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 4)
    @ApiOperation("在库数量管理-分品种库存统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsGrainVarietyName")
    public CommonResult<List<Map<String,Object>>> statisticsGrainVarietyName() {
        List<Map<String,Object>> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsGrainVarietyName();
        return CommonResult.data(esNetworkEntryList);
    }
    /**
     * 在库数量管理-出入库统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 5)
    @ApiOperation("在库数量管理-出入库统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsOurOrIn")
    public CommonResult<List<StatisticsOurOrInVO>> statisticsOurOrIn(Integer tjnf) {
        List<StatisticsOurOrInVO> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsOurOrIn(tjnf);
        return CommonResult.data(esNetworkEntryList);
    }

    /**
     * 数量统计分析-计划执行情况统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 6)
    @ApiOperation("在库数量管理-计划执行情况统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsPlan")
    public CommonResult<List<Map<String,Object>>> statisticsPlan() {
        List<Map<String,Object>> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsPlan();
        return CommonResult.data(esNetworkEntryList);
    }

    /**
     * 数量统计分析-地方储备粮性质统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 7)
    @ApiOperation("数量统计分析-地方储备粮性质统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsGrainNature")
    public CommonResult<List<Map<String,Object>>> statisticsGrainNature() {
        List<Map<String,Object>> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsGrainNature();
        return CommonResult.data(esNetworkEntryList);
    }

    /**
     * 数量统计分析-质量统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 8)
    @ApiOperation("数量统计分析-质量统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsQualitye")
    public CommonResult<List<Map<String,Object>>> statisticsQualitye() {
        List<Map<String,Object>> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsQualitye();
        return CommonResult.data(esNetworkEntryList);
    }


    /**
     * 数量统计分析-交易结算情况统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 7)
    @ApiOperation("在库数量管理-交易结算情况统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsTransaction")
    public CommonResult<List<Map<String,Object>>> statisticsTransaction() {
        List<Map<String,Object>> esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsTransaction();
        return CommonResult.data(esNetworkEntryList);
    }

    /**
     * 数量统计分析-成品粮库存数据
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 8)
    @ApiOperation("在库数量管理-成品粮库存数据")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsIn")
    public CommonResult<List<Map<String,Object>>> statisticsIn() {
        List<Map<String,Object>>esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsIn();
        return CommonResult.data(esNetworkEntryList);
    }

    /**
     * 数量统计分析-仓储设施统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 9)
    @ApiOperation("数量统计分析-仓储设施统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsStorageFacilities")
    public CommonResult<List<Map<String,Object>>> statisticsStorageFacilities() {
        List<Map<String,Object>>esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsStorageFacilities();
        return CommonResult.data(esNetworkEntryList);
    }


    /**
     * 数量统计分析-仓储设施统计
     *
     * @author ZeroLiYi
     * @date  2024/05/28 09:21
     */
    @ApiOperationSupport(order = 9)
    @ApiOperation("数量统计分析-智能化设备统计")
    @GetMapping("/finishedGrainSupervision/kcsw/statisticsIntelligentEquipment")
    public CommonResult<List<Map<String,Object>>> statisticsIntelligentEquipment() {
        List<Map<String,Object>>esNetworkEntryList=dataKcglKcswDefaultCountService.statisticsIntelligentEquipment();
        return CommonResult.data(esNetworkEntryList);
    }
}
