package com.dsk.search.controller;

import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.search.service.MarketAnalysisService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;


/**
 * 央企市场分析-统计
 * @author Administrator
 *
 */
@RequestMapping("/marketAnalysis")
@RestController
public class MarketAnalysisController extends BaseController {


    @Resource
    private MarketAnalysisService marketAnalysisService;

    /*
     * 各省份备案企业数量
     */
    @RequestMapping("/areaGroupByProvince")
    public AjaxResult areaGroupByProvince() {

        return marketAnalysisService.areaGroupByProvince();
    }

    /*
     * 资质等级按照行业、等级类型分组
     */
    @RequestMapping("/certGroupByMajorAndLevel")
    public AjaxResult certGroupByMajorAndLevel() {

        return marketAnalysisService.certGroupByMajorAndLevel();
    }


    /*
     * 资质等级按照大类、省份、等级类型分组
     */
    @RequestMapping("/certGroupByMajorProvinceLevel")
    public AjaxResult certGroupByMajorProvinceLevel() {
        return marketAnalysisService.certGroupByMajorProvinceLevel();
    }

    /*
     * 产业结构-按年份选择  各个项目类型项目总数
     */
    @RequestMapping("/bidGroupCountByProjectType")
    public AjaxResult bidGroupCountByProjectType(@RequestBody JSONObject object) {
        return marketAnalysisService.bidGroupCountByProjectType(object);
    }
    /*
     * 产业结构-近两年各个项目类型项目总数及金额占比
     */
    @RequestMapping("/bidMoneyGroupByProjectType")
    public AjaxResult bidMoneyGroupByProjectType(@RequestBody JSONObject object) {
        return marketAnalysisService.bidMoneyGroupByProjectType(object);
    }

    //-----------------------------------中标----------------------------------

    //全攻中标项目统计
    @RequestMapping("/countBidByType")
    public AjaxResult countBidByType(@RequestBody JSONObject object) {
        return marketAnalysisService.countBidByType( object);
    }

    /*
     * 全国各地区中标统计TOP10
     */
    @RequestMapping("/countBidGroupByProvince")
    public AjaxResult countBidGroupByProvince(@RequestBody JSONObject object) {
        return marketAnalysisService.countBidGroupByProvince(object);
    }

    //全国中标金额分析
    @RequestMapping("/rangeBidMoney")
    public AjaxResult rangeBidMoney(@RequestBody JSONObject object) {
        return marketAnalysisService.rangeBidMoney( object);
    }

    //全国中标趋势分析
    @RequestMapping("/rangeBidFiveYears")
    public AjaxResult rangeBidFiveYears() {
        return marketAnalysisService.rangeBidFiveYears();
    }

    //全国中标下浮率分析
    @RequestMapping("/lowerRateByYear")
    public AjaxResult lowerRateByYear(@RequestBody JSONObject object) {
        return marketAnalysisService.lowerRateByYear( object);
    }

    //全国中标业绩项目类型下浮率
    @RequestMapping("/lowerRangeTenderType")
    public AjaxResult lowerRangeTenderType(@RequestBody JSONObject object) {
        return marketAnalysisService.lowerRangeTenderType( object);
    }


    //-----------------------------------土地----------------------------------
    //央企数字化经营系统     土地交易
    @RequestMapping("/countLandMarketByType")
    public AjaxResult countLandMarketByType(@RequestBody JSONObject object){
        return marketAnalysisService.countLandMarketByType(object);
    }

    //央企数字化经营系统     全国土地交易项目地区
    @RequestMapping("/countLandMarketByProvince")
    public AjaxResult countLandMarketByProvince(@RequestBody JSONObject object){
        return marketAnalysisService.countLandMarketByProvince(object);
    }

    //央企数字化经营系统     全国土地交易项目地区
    @RequestMapping("/countLandMarketByYear")
    public AjaxResult countLandMarketByYear(){
        return marketAnalysisService.countLandMarketByYear();
    }




    //-----------------------------------招标----------------------------------
    //央企数字化经营系统     全国公招项目统计
    @RequestMapping("/countNewsBidByYear")
    public AjaxResult countNewsBidByYear(){
        return marketAnalysisService.countNewsBidByYear();
    }

    //央企数字化经营系统     招标公告  全国各地区项目统计TOP10
    @RequestMapping("/countNewsBidByProvince")
    public AjaxResult countNewsBidByProvince(@RequestBody JSONObject object){
        return marketAnalysisService.countNewsBidByProvince(object);
    }

    //央企数字化经营系统     招标公告  月度统计
    @RequestMapping("/countNewsBidByMonth")
    public AjaxResult countNewsBidByMonth(@RequestBody JSONObject object){
        return marketAnalysisService.countNewsBidByMonth(object);
    }

    /*
     * 招标数量按省份分组
     */
    @RequestMapping("/countGroupByProvince")
    public AjaxResult countGroupByProvince(@RequestBody JSONObject object) {
        return marketAnalysisService.countGroupByProvince(object);
    }

    /*
     * 中标数量按月份分组
     */
    @RequestMapping("/countGroupByMonth")
    public AjaxResult countGroupByMonth(@RequestBody JSONObject object) {
        return marketAnalysisService.countGroupByMonth(object);
    }


    //-----------------------------------集团概览----------------------------------
    //集团概览   集团施工项目最新招标
    @RequestMapping("/combine/recentlyBid")
    public AjaxResult combineRecentlyBid(@RequestBody JSONObject object){
        return marketAnalysisService.combineRecentlyBid(object);
    }

    //集团概览   集团施工项目年度招标
    @RequestMapping("/combine/bidByYear")
    public AjaxResult combineBidByYear(@RequestBody JSONObject object){
        return marketAnalysisService.combineBidByYear(object);
    }

    //集团概览   集团施工项目发包金额统计
    @RequestMapping("/combine/groupByMoney")
    public AjaxResult combineGroupByMoney(@RequestBody JSONObject object){
        return marketAnalysisService.combineGroupByMoney(object);
    }

    //集团概览   集团施工项目发包类型统计
    @RequestMapping("/combine/groupByType")
    public AjaxResult combineGroupByType(@RequestBody JSONObject object){
        return marketAnalysisService.combineGroupByType(object);
    }

    //集团概览   施工项目下浮率统计
    @RequestMapping("/combine/groupByLowerRate")
    public AjaxResult combineGroupByLowerRate(@RequestBody JSONObject object){
        return marketAnalysisService.combineGroupByLowerRate(object);
    }

    //集团概览   历史发包项目金额Top10
    @RequestMapping("/combine/peojectTop")
    public AjaxResult combinePeojectTop(@RequestBody JSONObject object){
        return marketAnalysisService.combinePeojectTop(object);
    }
}
