package com.kcim.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.util.List;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("责任中心列表视图对象")
public class CostResponsibilityVO {

    @ApiModelProperty(name = "id", value = "主键")
    private Long id;

    @ApiModelProperty(name = "responsibilityName", value = "名称")
    private String responsibilityName;

    @ApiModelProperty(name = "responsibilityCode", value = "责任中心代码")
    private String responsibilityCode;

    @ApiModelProperty(name = "responsibilityLevel", value = "责任级别（第一级为1，以此类推）")
    private Integer responsibilityLevel;

    @ApiModelProperty(name = "isGatherCenter", value = "是否汇总中心1.是，2.不是")
    private Integer isGatherCenter;

    @ApiModelProperty(name = "responsibilityType", value = "责任类型 1. 收费中心，2.成本(费用)中心")
    private Integer responsibilityType;

    @ApiModelProperty(name = "shareId", value = "分摊层级Id")
    /**
     * 分摊级别的Id
     */
    private Long shareId;

    @ApiModelProperty(name = "shareLevel", value = "分摊级别 如果是顶层默认为0")
    private Integer shareLevel;

    @ApiModelProperty(name = "shareName", value = "分摊级别名称")
    private String shareName;

    @ApiModelProperty(name = "deptStatus", value = "责任中心状态，0.门诊，1.住院")
    private Integer isDefault;

    private Long parentId;

    /**
     * 子责任中心
     */
    @JsonInclude(value = JsonInclude.Include.NON_EMPTY)
    private List<CostResponsibilityVO> child;

    private Boolean isChild;

    /**
     * 标准分摊层级
     */
    private String standardShareLevel;
    @TableField(exist = false)
    private String standardShareLevelName;

    /**
     * 责任中心类型
     */
    private String type;
    @TableField(exist = false)
    private String typeName;

    /**
     * 排序
     */
    private Integer sort;
    /**
     * 启用标志 0未启用 1启用
     */
    private Integer status;

}
