package com.engine.organization.entity.postion.vo;

import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.organization.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @description:
 * @author:dxfeng
 * @createTime: 2022/05/13
 * @version: 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@OrganizationTable(pageId = "fa30e916-d285-11ec-bc87-00ffcbed7508",
        fields = " t.id," +
                " t.post_info_no," +
                " t.post_info_name," +
                " t.post_info_authority," +
                " t.post_info_duty," +
                " t.post_info_qualification," +
                " a.post_name," +
                " t.description," +
                "t.is_used," +
                " t.forbidden_tag",
        fromSql = " from jcl_org_post_info t inner join jcl_org_post a on t.post_id = a.id ",
        orderby = "post_info_no",
        sortway = "asc",
        primarykey = "id",
        operates = {
                @OrganizationTableOperate(index = "0", text = "编辑"),
                @OrganizationTableOperate(index = "1", text = "删除")
        }, tableType = WeaTableType.CHECKBOX,
        operatePopedom = @OperatePopedom(transmethod = "com.engine.organization.util.ConfigTrans.formatSourceOperates", otherpara = "column:is_used"),
        checkboxPopedom = @CheckboxPopedom(showmethod = "com.engine.organization.util.ConfigTrans.getCheckBoxPopedom", popedompara = "column:is_used")
)
public class PostInfoTableVO {
    /**
     * 主键
     */
    @OrganizationTableColumn(column = "id", display = false)
    private Long id;
    /**
     * 编号
     */
    @OrganizationTableColumn(text = "编号", width = "20%", column = "post_info_no", orderkey = "post_info_no")
    private String postInfoNo;
    /**
     * 名称
     */
    @OrganizationTableColumn(text = "名称", width = "20%", column = "post_info_name")
    private String postInfoName;
    /**
     * 权限
     */
    @OrganizationTableColumn(text = "权限", width = "20%", column = "post_info_authority")
    private String postInfoAuthority;
    /**
     * 责任
     */
    @OrganizationTableColumn(text = "责任", width = "20%", column = "post_info_duty")
    private String postInfoDuty;
    /**
     * 资格
     */
    @OrganizationTableColumn(text = "资格", width = "20%", column = "post_info_qualification")
    private String postInfoQualification;
    /**
     * 职务分类
     */
    @OrganizationTableColumn(text = "职务分类", width = "20%", column = "post_name")
    private Integer postName;
    /**
     * 说明
     */
    @OrganizationTableColumn(text = "说明", width = "30%", column = "description")
    private String description;

    /**
     * 禁用标记
     */
    @OrganizationTableColumn(text = "是否启用", width = "10%", column = "forbidden_tag")
    private Integer forbiddenTag;
}
