package com.bonus.material.basic.domain;

import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 往来单位管理对象 bm_unit
 * 
 * @author xsheng
 * @date 2024-09-26
 */


@Data
@ToString
public class BmUnit extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /**
     * 是否app 端(app采有非下拉树)
     */
    private Boolean isApp;

    /** 类型ID */
    private Long unitId;

    /** 单位类型名称 */
    @Excel(name = "单位名称")
    @ApiModelProperty(value = "单位类型名称")
    @NotBlank(message = "单位名称不能为空")
    @Size(max=30, message = "单位名称长度不能超过30")
    private String unitName;

    /** 帐号状态（0正常 1停用） */
    private String status;

    /** 单位类型 */
    @ApiModelProperty(value = "单位类型")
    @NotNull(message = "单位类型不能为空")
    private Long typeId;

    @Excel(name = "单位类型")
    @ApiModelProperty(value = "单位类型名称")
    private String typeName;

    /** 所属分公司 */
    @ApiModelProperty(value = "所属分公司")
    @NotNull(message = "所属分公司不能为空")
    private Long deptId;

    @Excel(name = "所属分公司")
    @ApiModelProperty(value = "所属分公司名称")
    private String deptName;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty(value = "联系人")
    @Size(max=64, message = "联系人长度不能超过64")
    private String linkMan;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty(value = "联系电话")
    @Size(max=64, message = "联系电话长度不能超过64")
    private String telphone;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /**
     * 是否绑定 1 是，0 否
     */
    private Integer isBind;

    @ApiModelProperty(value = "绑定人员id")
    private Long userId;

    @ApiModelProperty(value = "绑定人员名称")
    private String userName;

    @ApiModelProperty(value = "工程id")
    private Long projectId;

    /**
     * 是否过滤分公司（true 过滤，默认不过滤）
     */
    private Boolean enableFilter;

    @ApiModelProperty(value = "领用申请id")
    private Long leaseId;

    @ApiModelProperty(value = "授权人")
    private String leasePerson;

    @ApiModelProperty(value = "授权人身份证号")
    private String idCard;

    /** 班组ID */
    private Long teamId;

    /**
     * 是否过滤班组（true 过滤，默认不过滤）
     */
    private boolean enableFilterTeam;

}
