package com.kcim.dao.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * 会计科目管理表
 * 
 * @author huangrui
 * @date 2021-07-28 13:52:24
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@TableName("cost_accounting")
public class Accounting implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private Long id;
	/**
	 * 会计科目名称
	 */
	private String accountingName;
	/**
	 * 会计科目代码
	 */
	private String accountingCode;
	/**
	 * 会计科目类型1.收入，2.支出
	 */
	private Integer accountingType;
	/**
	 * 是否固定成本 0.不是，1.是
	 */
	private Integer isBaseCost;
	/**
	 * 医院Id
	 */
	private Long hospId;
	/**
	 * 会计科目父级id
	 */
	private Long parentId;

	private String allParentIds;
	/**
	 * 创建时间13位时间戳
	 */
	private Long createTime;
	/**
	 * 删除时间，如果存在表示已删除13位时间戳
	 */
	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
	private Long deleteTime;
	@TableField(exist = false)
	private List<Accounting> children;

	/**
	 * 成本类别 1 医疗成本 2 医疗全成本  3 医院全成本
	 */
	private Integer costType;
	/**
	 * 会计科目类别字典代码
	 */
	private String type;
	/**
	 * 会计科目类别名称
	 */

	private String typeName;
	/**
	 * 可控类型 1 不可控  2 可控
	 */
	private Integer controlType;
	/**
	 * 就诊类别 0 全院 1 门诊 3住院
	 */
	private Integer medicalType;

}
