package com.mosty.qwzx.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mosty.base.model.dto.qwzx.TbQwMfjSearchDto;
import com.mosty.common.base.domain.ResponseResult;
import com.mosty.common.token.JwtSysUser;
import com.mosty.qwzx.service.QwzxStatisticsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@Api(tags = "勤务中心统计接口-源MAGIC接口")
@RestController
@AllArgsConstructor
@RequestMapping("/jlqk")
public class QwzxStatisticsController {

    private QwzxStatisticsService qwzxStatisticsService;

    @ApiOperation("警力情况-辅警-全部辅警数量")
    @GetMapping("/fj/qbfj")
    @JwtSysUser
    public ResponseResult<Integer> qbfj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qbfj(dto));
    }

    @ApiOperation("警力情况-辅警-全部辅警列表")
    @GetMapping("/fj/qbfjList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qbfjList(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qbfjList(dto));
    }

    @ApiOperation("警力情况-辅警-全部列表")
    @GetMapping("/fj/qblb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qblb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qblb(dto));
    }

    @ApiOperation("警力情况-辅警-全部列表-第三方")
    @GetMapping("other/fj/qblb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qblbOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qblbOther(dto));
    }

    @ApiOperation("警力情况-辅警-全部在岗统计")
    @GetMapping("/fj/qbzgtj")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qbzgtj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qbzgtj(dto));
    }

    @ApiOperation("警力情况-辅警-在岗辅警")
    @GetMapping("/fj/zgfj")
    @JwtSysUser
    public ResponseResult<Integer> zgfj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgfj(dto));
    }

    @ApiOperation("警力情况-辅警-在岗辅警列表")
    @GetMapping("/fj/zgfjList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> zgfjList(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgfjList(dto));
    }

    @ApiOperation("警力情况-辅警-在岗辅警列表-第三方")
    @GetMapping("other/fj/zgfjList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> zgfjListOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgfjListOther(dto));
    }

    @ApiOperation("警力情况-辅警-在岗列表")
    @GetMapping("/fj/zglb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> zglb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zglb(dto));
    }

    @ApiOperation("警力情况-街面警力-辅警列表")
    @GetMapping("/jmjl/fjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> fjlb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.fjlb(dto));
    }

    @ApiOperation("警力情况-街面警力-辅警列表-第三方")
    @GetMapping("other/jmjl/fjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> fjlbOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.fjlbOther(dto));
    }

    @ApiOperation("警力情况-街面警力-民警列表")
    @GetMapping("/jmjl/mjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> mjlb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjlb(dto));
    }

    @ApiOperation("警力情况-街面警力-民警列表-第三方")
    @GetMapping("other/jmjl/mjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> mjlbOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjlbOther(dto));
    }

    @ApiOperation("警力情况-街面警力-全部民警辅警")
    @GetMapping("/jmjl/qb")
    @JwtSysUser
    public ResponseResult<Integer> qb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qb(dto));
    }

    @ApiOperation("警力情况-街面警力-全部民警辅警列表")
    @GetMapping("/jmjl/qbList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qbList(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qbList(dto));
    }

    @ApiOperation("警力情况-街面警力-全部在岗民警辅警")
    @GetMapping("/jmjl/zg")
    @JwtSysUser
    public ResponseResult<Integer> zg(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zg(dto));
    }

    @ApiOperation("警力情况-街面警力-在岗民警辅警列表")
    @GetMapping("/jmjl/zgList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> zgList(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgList(dto));
    }

    @ApiOperation("警力情况-可抽调-可抽调辅警列表")
    @GetMapping("/kcd/fjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> kcdFjlb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.kcdFjlb(dto));
    }

    @ApiOperation("警力情况-可抽调-可抽调民警辅警数量")
    @GetMapping("/kcd/zbtj")
    @JwtSysUser
    public ResponseResult<List<Map<String,Object>>> zbtj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zbtj(dto));
    }

    @ApiOperation("警力情况-可抽调-可抽调民警列表")
    @GetMapping("/kcd/mjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> kcdMjlb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.kcdMjlb(dto));
    }

    @ApiOperation("警力情况-民警-民警辅警整合列表")
    @GetMapping("/mj/mjfjzh")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> mjfjzh(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjfjzh(dto));
    }

    @ApiOperation("警力情况-民警-全部列表")
    @GetMapping("/mj/qblb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> mjQblb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjQblb(dto));
    }

    //===============================================================================================
    @ApiOperation("警力情况-民警-全部列表-第三方")
    @GetMapping("other/mj/qblb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> mjQblbOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjQblbOther(dto));
    }

    @ApiOperation("警力情况-民警-全部民警")
    @GetMapping("/mj/qbmj")
    @JwtSysUser
    public ResponseResult<Integer> qbmj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qbmj(dto));
    }

    @ApiOperation("警力情况-民警-全部民警列表")
    @GetMapping("/mj/qbmjList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qbmjList(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qbmjList(dto));
    }

    @ApiOperation("警力情况-民警-全部在岗统计")
    @GetMapping("/mj/qbzgtj")
    @JwtSysUser
    public ResponseResult<Integer> mjQbzgtj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjQbzgtj(dto));
    }

    @ApiOperation("警力情况-民警-在岗列表")
    @GetMapping("/mj/zglb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> mjZglb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjZglb(dto));
    }

    @ApiOperation("警力情况-民警-在岗民警")
    @GetMapping("/mj/zgmj")
    @JwtSysUser
    public ResponseResult<Integer> zgmj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgmj(dto));
    }

    @ApiOperation("警力情况-民警-在岗民警辅警整合")
    @GetMapping("/mj/zgmjfjzh")
    @JwtSysUser
    public ResponseResult<List<Map<String, Object>>> zgmjfjzh(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgmjfjzh(dto));
    }

    @ApiOperation("警力情况-民警-在岗民警列表")
    @GetMapping("/mj/zgmjList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> zgmjList(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgmjList(dto));
    }

    @ApiOperation("警力情况-民警-在岗民警列表-第三方")
    @GetMapping("other/mj/zgmjList")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> zgmjListOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.zgmjListOther(dto));
    }

    @ApiOperation("警力情况-请休假-辅警列表")
    @GetMapping("/qxj/fjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qxFjlb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qxFjlb(dto));
    }

    @ApiOperation("警力情况-请休假-辅警列表-第三方")
    @GetMapping("other/qxj/fjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qxFjlbOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qxFjlbOther(dto));
    }

    @ApiOperation("警力情况-请休假-民警辅警统计")
    @GetMapping("/qxj/mjfjtj")
    @JwtSysUser
    public ResponseResult<List<Map<String,Object>>> mjfjtj(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.mjfjtj(dto));
    }

    @ApiOperation("警力情况-请休假-民警列表")
    @GetMapping("/qxj/mjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qxjMjlb(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qxjMjlb(dto));
    }

    @ApiOperation("警力情况-请休假-民警列表-第三方")
    @GetMapping("other/qxj/mjlb")
    @JwtSysUser
    public ResponseResult<IPage<Map<String, Object>>> qxjMjlbOther(TbQwMfjSearchDto dto) {
        return ResponseResult.success(this.qwzxStatisticsService.qxjMjlbOther(dto));
    }

}
