package com.zcloud.controller.mapApi;

import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.service.map.MapEightService;
import com.zcloud.util.Jurisdiction;
import com.zcloud.util.ReturnMap;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 说明：实时地图八项工作内容
 * 官网：www.zcloudchina.com
 */
@Controller
@RequestMapping("/map/Eight")
public class MapEightController extends BaseController {

    @Autowired
    private MapEightService mapEightService;


    /**
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/getEcharts")
    @ResponseBody
    public Object getEcharts() throws Exception {
        PageData pd = new PageData();
        pd = this.getPageData();
        return mapEightService.getEchartsOrder(pd);
    }

    /**
     * 可视化首页统计数据
     *
     * @param
     * @throws Exception
     */
    @RequestMapping(value = "/findFormCount")
    @ResponseBody
    public Object findFormCount() throws Exception {
        Map<String, Object> map = new HashMap<String, Object>();
        String errInfo = "success";
        PageData pd = this.getPageData();
        pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
        PageData data = mapEightService.statisticsHighRiskWorkByStateOrder(pd);
        map.put("pd", data);
        map.put("result", errInfo);
        return map;
    }

    /**
     * 作业实时情况展示（最新18条）
     *
     * @param
     * @throws Exception
     */
    @RequestMapping(value = "/listHighRiskWork")
    @ResponseBody
    public Object listHighRiskWork(Page page) throws Exception {
        Map<String, Object> map = new HashMap<String, Object>();
        String errInfo = "success";
        PageData pd = new PageData();
        pd = this.getPageData();
        List<PageData> varList = new ArrayList<>();
        //根据条件增加参数或减少参数   都没有 直接返回空
        page.setPd(pd);
        varList = mapEightService.listHighRiskWorkOrder(page);
        map.put("varList", varList);
        map.put("result", errInfo);
        return map;
    }

    /**
     * 获取所有高危作业的位置坐标（有坐标数据）
     *
     * @param
     * @throws Exception
     */
    @RequestMapping(value = "/listAllHighRiskWorkLocation")
    @ResponseBody
    public Object listAllHighRiskWorkLocation(@RequestParam(value = "CORPINFO_ID") String CORPINFO_ID, @RequestParam("TYPE") String type, @RequestParam("GANGKOU") String GANGKOU, @RequestParam("AREA") String AREA) throws Exception {
        Map<String, Object> map = new HashMap<String, Object>();
        String errInfo = "success";
        PageData pd = new PageData();
        pd = this.getPageData();
        //pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); // 企业
        List<PageData> varList = new ArrayList<>();
        //根据条件增加参数或减少参数   都没有 直接返回空
        varList = mapEightService.listAllHighRiskWorkLocationOrder(pd);
        map.put("varList", varList);
        map.put("result", errInfo);
        return map;
    }



}
