package com.ruoyi.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 部门表 sys_dept
 *
 * @author ruoyi
 */
@Data
@TableName(value = "sys_dept")
@Accessors(chain = true)
public class SysDept extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @TableId
    private Long deptId;

    @Excel(name = "父部门id")
    private Long parentId;

    @Excel(name = "祖级列表")
    private String ancestors;

    @Excel(name = "部门名称")
    private String deptName;

    @Excel(name = "显示顺序")
    private Integer orderNum;

    @Excel(name = "科室简介")
    private String brief;

    @Excel(name = "负责人")
    private String leader;

    @Excel(name = "联系电话")
    private String phone;

    @Excel(name = "邮箱")
    private String email;

    @Excel(name = "部门状态:0=正常,1=停用")
    private String status;

    private String delFlag;

    @Excel(name = "医疗机构ID")
    private String orgCode;

    @Excel(name = "科室代码")
    private String deptCode;

    @Excel(name = "拼音码")
    private String py;

    @Excel(name = "五笔码")
    private String wb;

    @Excel(name = "助记码")
    private String inputCode;

    @Excel(name = "一级科室代码")
    private String deptCodeOne;

    @Excel(name = "一级科室名称")
    private String deptNameOne;

    @Excel(name = "二级科室代码")
    private String deptCodeTwo;

    @Excel(name = "二级科室名称")
    private String deptNameTwo;

    @Excel(name = "医保科室代码")
    private String medDeptCode;

    @Excel(name = "医保科室名称")
    private String medDeptName;

    @Excel(name = "核算科室代码")
    private String accountDeptCode;

    @Excel(name = "核算科室名称")
    private String accountDeptName;

    @Excel(name = "科室类别代码")
    private Long deptTypeCode;

    @Excel(name = "科室地址")
    private String deptAddr;

    @Excel(name = "押金警示线")
    private BigDecimal depositWarLine;

    @Excel(name = "门急诊标志：1:门诊,2:急诊,3:家床,4:住院")
    private String erSign;

    @Excel(name = "专科标志：0:否,1:是")
    private String specialtySign;

    @Excel(name = "儿科标志：0:否,1:是")
    private String childSign;

    @Excel(name = "供应室标志：0:否,1:是")
    private String rupplyRoomSign;

    @Excel(name = "中医科室标志：0:否,1:是")
    private String chineseMedSign;

    @Excel(name = "医技确费欠费控制标志：0:否,1:是")
    private String oweCtrlSign;

    @Excel(name = "科室标志：0:否,1:是")
    private String deptSign;

    @Excel(name = "限号数")
    private Integer limitNo;

    @Excel(name = "主任医师数")
    private Integer chiefDoctNo;

    @Excel(name = "住院医师数")
    private Integer resiDoctNo;

    @Excel(name = "主治医师数")
    private Integer atndDoctNo;

    @Excel(name = "护士数")
    private Integer nursNo;

    @Excel(name = "考核床位数")
    private Integer assessedBedsNo;

    @Excel(name = "押金停药线")
    private BigDecimal depositBndonLine;

    @Excel(name = "使作中医病历标志：0:不使用,1:使用")
    private String tcmEmrSign;

    @Excel(name = "科室中护士站的IP")
    private String nurseStationIp;

    @Excel(name = "核定床位数")
    private Integer authorizeBeds;

    @Excel(name = "核定家床数")
    private Integer authorizeHomeBeds;

    @Excel(name = "确认科室标志：0:不是确认科室,1:是确认科室")
    private String confirmDeptSign;

    @Excel(name = "提交科室代码")
    private String submitDeptCode;

    @Excel(name = "提交科室名称")
    private String submitDeptName;

    @Excel(name = "自助挂号标志：0:不可以自助挂号,1:可以自助挂号")
    private String selfRegisterSign;

    @Excel(name = "药房标志：0:不是药房,1:是药房")
    private String pharmSign;

    @Excel(name = "专病标志：0:非专病,1:专病")
    private String specDiseaseSign;

    @Excel(name = "医生登录的科室及诊间的IP地址")
    private String deptIp;

    @Excel(name = "对应科室代码")
    private String correspondingDeptCode;

    @Excel(name = "对应科室名称")
    private String correspondingDeptName;

    @Excel(name = "使用全科医生站标志：0:不使用,1:使用")
    private String generPracStationSign;

    @Excel(name = "分诊号序前缀")
    private String triagePrefix;

    @Excel(name = "科室使用阿里健康：0:不使用,1:使用")
    private String aljkSign;

    @Excel(name = "科室地理位置")
    private String deptLocation;

    @Excel(name = "科室地理位置2")
    private String deptLocation2;

    @Excel(name = "科室地理位置3")
    private String deptLocation3;

    @Excel(name = "科室地理位置4")
    private String deptLocation4;

    @Excel(name = "专病专家标志：0:否,1:是")
    private String specialistSign;

    @Excel(name = "预约标志：0:不预约,1:预约")
    private String apntSign;

    @Excel(name = "备注")
    private String memo;

    @Excel(name = "有效开始日期时间")
    private String validStartDTime;

    @Excel(name = "有效结束日期时间")
    private String validEndDTime;

    @Excel(name = "有效标志：0:无效,1:有效")
    private String activeSign;

    @Excel(name = "版本号")
    private String verNo;

    @Excel(name = "科室排序序号")
    private String orderno;

    @Excel(name = "押金停药线")
    private String yjbj;

    @Excel(name = "转诊描述")
    private String zzms;

    /**
     * 父部门名称
     */
    @TableField(exist = false)
    private String parentName;

    /**
     * 子部门
     */
    @TableField(exist = false)
    private List<SysDept> children = new ArrayList<SysDept>();

}
