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 java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 成本报表列管理表
 * 
 * @author Wang.YS

 * @date 2023-11-01 10:41:08
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@TableName("com_cost_column")
public class CostColumn implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private Integer id;
	/**
	 * 医院id
	 */
	private Long hospId;
	/**
	 * 列代码
	 */
	private Long code;
	/**
	 * 列名称
	 */
	private String name;
	/**
	 * 列标题
	 */
	private String headerText;
	/**
	 * 报表列类型 取字典类型
	 */
	private String type;
	@TableField(exist = false)
	private String typeName;

	/**
	 * 0 未知 1 文本 3 数值 2百分比
	 */
	private Integer dataType;
	@TableField(exist = false)
	private String dataTypeName;

	/**
	 * 数据来源 1 计算公式 2自定义SQL
	 */
	private Integer dataSource;
	/**
	 * 计算公式
	 */
	private String formula;
	/**
	 * 自定义SQL
	 */
	@TableField("`sql`")
	private String sql;
	/**
	 * 小数位
	 */
	private Integer decimalPlace;
	/**
	 * 是否有千分号
	 */
	private String permil;
	/**
	 * 创建人
	 */
	@JsonIgnore
	private String createUser;
	/**
	 * 创建时间
	 */
	@JsonIgnore
	private Date createTime;
	/**
	 * 更新人
	 */
	@JsonIgnore
	private String updateUser;
	/**
	 * 更新时间
	 */
	@JsonIgnore
	private Date updateTime;
	/**
	 * 删除人
	 */
	@JsonIgnore
	private String deleteUser;
	/**
	 * 删除时间
	 */
	@JsonIgnore
	private Date deleteTime;
	/**
	 * 删除标志  0正常 1作废
	 */
	@JsonIgnore
	@TableLogic(value = "0",delval = "1")
	private Integer delFlag;
	@TableField(exist = false)
	private List<CostChildColumn> childColumnList;
}
