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 com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 标准项目管理
 * 
 * @author Wang.YS

 * @date 2023-10-17 15:35:58
 */
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@TableName("com_stand_item")
public class StandItem implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private Integer id;
	/**
	 * 医院id
	 */
	private Long hospId;
	/**
	 * 标准项目代码
	 */
	private String code;
	/**
	 * 标准项目名称
	 */
	private String name;
	/**
	 * 国家编码
	 */
	private String nationalCode;
	/**
	 * 康程分类代码（小类）
	 */
	private String kcClassCode;
	/**
	 * 康程分类名称
	 */
	private String kcClassName;
	@TableField(exist = false)
	private String kcClassLevelName;
	/**
	 * 康程分类路径
	 */
	private String kcClassPath;
	/**
	 * 执行时间（m）
	 */
	private BigDecimal executeTime;
	/**
	 * 会计科目代码
	 */
	private String accounts;
	/**
	 * 会计科目名称
	 */
	@TableField(exist = false)
	private String accountName;
	/**
	 * 技术难度
	 */
	private BigDecimal technicalDifficulty;
	/**
	 * 风险程度
	 */
	private BigDecimal riskDegree;

	private String itemType;

	/**
	 * 父级项目代码
	 */
	private String parentCode;

	/**
	 * 顺序号
	 */
	private Integer sort;

	@TableField(exist = false)
	private String itemTypeName;

	/**
	 * 创建人
	 */
	@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<StandItemEmpMap> empMaps;
	/**
	 * 设备对照信息
	 */
	@TableField(exist = false)
	private List<StandItemEquipmentMap> equipmentMaps;
	/**
	 * 空间对照信息
	 */
	@TableField(exist = false)
	private List<StandItemSpaceMap> spaceMaps;
	@TableField(exist = false)
	private Double percent;

	@TableField(exist = false)
	private String percentDisplay;
	@TableField(exist = false)
	private Integer historyFlag;
	@TableField(exist = false)
	private String historyName;


}
