package com.qmth.sop.business.bean.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 数据权限对象
 * @Author: CaoZixuan
 * @Date: 2023-09-13
 */
public class DataPermissionDto {
    @ApiModelProperty("请求的用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long requestUserId;

    @ApiModelProperty("是系统管理员？")
    private Boolean hasAdmin;

    @ApiModelProperty("是总负责人？")
    private Boolean hasPmo;

    @ApiModelProperty("是业务线负责人（服务单元负责人）？")
    private Boolean hasBusiness;

    @ApiModelProperty("是大区经理？")
    private Boolean hasRegionManager;

    @ApiModelProperty("是区域协调人？")
    private Boolean hasRegionCoordinator;

    @ApiModelProperty("是实施工程师？")
    private Boolean hasEffectEngineer;

    @ApiModelProperty("是助理工程师？")
    private Boolean hasAssistantEngineer;

    @ApiModelProperty("是质量检测员？")
    private Boolean hasQA;

    @ApiModelProperty("是技术客服？")
    private Boolean hasCustom;

    @ApiModelProperty("是客户经理？")
    private Boolean hasAccountManager;

    @ApiModelProperty("是乙方总负责人？")
    private Boolean hasThirdPmo;

    @ApiModelProperty("是设备发货员？")
    private Boolean hasDeviceDelivery;

    @ApiModelProperty("所管理的供应商id（hasThirdPmo、hasDeviceDelivery为true时必有值）")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long supplierId;

    public Long getRequestUserId() {
        return requestUserId;
    }

    public void setRequestUserId(Long requestUserId) {
        this.requestUserId = requestUserId;
    }

    public Boolean getHasAdmin() {
        return hasAdmin;
    }

    public void setHasAdmin(Boolean hasAdmin) {
        this.hasAdmin = hasAdmin;
    }

    public Boolean getHasPmo() {
        return hasPmo;
    }

    public void setHasPmo(Boolean hasPmo) {
        this.hasPmo = hasPmo;
    }

    public Boolean getHasBusiness() {
        return hasBusiness;
    }

    public void setHasBusiness(Boolean hasBusiness) {
        this.hasBusiness = hasBusiness;
    }

    public Boolean getHasRegionManager() {
        return hasRegionManager;
    }

    public void setHasRegionManager(Boolean hasRegionManager) {
        this.hasRegionManager = hasRegionManager;
    }

    public Boolean getHasRegionCoordinator() {
        return hasRegionCoordinator;
    }

    public void setHasRegionCoordinator(Boolean hasRegionCoordinator) {
        this.hasRegionCoordinator = hasRegionCoordinator;
    }

    public Boolean getHasEffectEngineer() {
        return hasEffectEngineer;
    }

    public void setHasEffectEngineer(Boolean hasEffectEngineer) {
        this.hasEffectEngineer = hasEffectEngineer;
    }

    public Boolean getHasAssistantEngineer() {
        return hasAssistantEngineer;
    }

    public void setHasAssistantEngineer(Boolean hasAssistantEngineer) {
        this.hasAssistantEngineer = hasAssistantEngineer;
    }

    public Boolean getHasQA() {
        return hasQA;
    }

    public void setHasQA(Boolean hasQA) {
        this.hasQA = hasQA;
    }

    public Boolean getHasCustom() {
        return hasCustom;
    }

    public void setHasCustom(Boolean hasCustom) {
        this.hasCustom = hasCustom;
    }

    public Boolean getHasAccountManager() {
        return hasAccountManager;
    }

    public void setHasAccountManager(Boolean hasAccountManager) {
        this.hasAccountManager = hasAccountManager;
    }

    public Boolean getHasThirdPmo() {
        return hasThirdPmo;
    }

    public void setHasThirdPmo(Boolean hasThirdPmo) {
        this.hasThirdPmo = hasThirdPmo;
    }

    public Boolean getHasDeviceDelivery() {
        return hasDeviceDelivery;
    }

    public void setHasDeviceDelivery(Boolean hasDeviceDelivery) {
        this.hasDeviceDelivery = hasDeviceDelivery;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }
}