package com.bonus.material.common.controller;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.back.domain.BackApplyInfo;
import com.bonus.material.basic.domain.BmProject;
import com.bonus.material.basic.domain.BmUnit;
import com.bonus.material.common.domain.dto.SelectDto;
import com.bonus.material.common.service.SelectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * @author 10488
 * 统一下拉选
 */
@Api(tags = "统一下拉选接口")
@RestController
@RequestMapping("/select/")
public class SelectController {

    @Resource(name = "SelectService")
    private SelectService service;

    @ApiOperation(value = "往来单位下拉选")
    @PostMapping("getUnitList")
    public AjaxResult getUnitList(@RequestBody BmUnit bmUnit) {
        return service.getUnitList(bmUnit);
    }

    @ApiOperation(value = "工程下拉选")
    @PostMapping("getProjectList")
    public AjaxResult getProjectList(@RequestBody BmProject bmProject) {
        return service.getProjectList(bmProject);
    }

    @ApiOperation(value = "机具类型下拉选")
    @PostMapping("getMaTypeData")
    public AjaxResult getMaTypeData(@RequestBody SelectDto dto){
        return service.getMaTypeData(dto);
    }

//    @ApiOperation(value = "数据字典下拉选")
//    @PostMapping("getDictByPidCbx")
//    public AjaxResult getDictByPidCbx(@RequestBody SelectDto dto){
//        return service.getDictByPidCbx(dto);
//    }
//
//    @ApiOperation(value = "单位树/归属部门/所属上级")
//    @PostMapping("getDeptTree")
//    public AjaxResult getDeptTree(@RequestBody SelectDto dto){
//        return service.getDeptTree(dto);
//    }
//
//    @ApiOperation(value = "岗位下拉选")
//    @PostMapping("getPostCbx")
//    public AjaxResult getPostCbx(@RequestBody SelectDto dto){
//        return service.getPostCbx(dto);
//    }
//
//    @ApiOperation(value = "角色下拉选")
//    @PostMapping("getRoleCbx")
//    public AjaxResult getRoleCbx(@RequestBody SelectDto dto){
//        return service.getRoleCbx(dto);
//    }
//
//    @ApiOperation(value = "单位类型下拉选")
//    @PostMapping("getUnitTypeCbx")
//    public AjaxResult getUnitTypeCbx(@RequestBody SelectDto dto){
//        return service.getUnitTypeCbx(dto);
//    }

    @ApiOperation(value = "设备类型树")
    @PostMapping("getDeviceTypeTree")
    public AjaxResult getDeviceTypeTree(@RequestBody SelectDto dto){
        return service.getDeviceTypeTree(dto);
    }

    @ApiOperation(value = "资产属性")
    @PostMapping("getAssetAttributesCbx")
    public AjaxResult getAssetAttributesCbx(@RequestBody SelectDto dto){
        return service.getAssetAttributesCbx(dto);
    }

    @ApiOperation(value = "机具厂家")
    @PostMapping("getDeviceFactoryCbx")
    public AjaxResult getDeviceFactoryCbx(@RequestBody SelectDto dto){
        return service.getDeviceFactoryCbx(dto);
    }

//    @ApiOperation(value = "工程项目")
//    @PostMapping("getProCbx")
//    public AjaxResult getProCbx(@RequestBody SelectDto dto){
//        return service.getProCbx(dto);
//    }

    @ApiOperation(value = "配件所属上级树")
    @PostMapping("getAccessoryTree")
    public AjaxResult getAccessoryTree(){
        return service.getAccessoryTree();
    }

    @ApiOperation(value = "配件所属上级树")
    @PostMapping("getPartTree")
    public AjaxResult getPartTree(@RequestBody SelectDto dto){
        return service.getPartTree(dto);
    }

    @ApiOperation(value = "货架")
    @PostMapping("getGoodsShelvesCbx")
    public AjaxResult getGoodsShelvesCbx(@RequestBody SelectDto dto){
        return service.getGoodsShelvesCbx(dto);
    }

//    @ApiOperation(value = "用户/维修员/库管员/采购员")
//    @PostMapping("getUserByRoleIdCbx")
//    public AjaxResult getUserByRoleIdCbx(@RequestBody SelectDto dto){
//        return service.getUserByRoleIdCbx(dto);
//    }

    @ApiOperation(value = "往来单位id和标段工程id获取协议信息")
    @PostMapping("getAgreementInfoById")
    public AjaxResult getAgreementInfoById(@RequestBody SelectDto dto){
        return service.getAgreementInfoById(dto);
    }

    @ApiOperation(value = "在用设备类型树")
    @PostMapping("/getUseTypeTree")
    public AjaxResult getUseTypeTree(@RequestBody BackApplyInfo bean) {
        return service.getUseTypeTree(bean);
    }
}
