package com.openhis.web.datadictionary.dto;

import java.math.BigDecimal;

import com.core.common.annotation.Excel;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 诊疗目录导入Dto
 *
 * @author Thanking
 * @date 2025-09-29
 */
@Data
@Accessors(chain = true)
public class DiagnosisTreatmentImportDto {

    /** 行号 */
    private Integer lineNumber;

    // ---------------------- 诊疗定义 wor_activity_definition -------------------------------------

    /** 诊疗名称 */
    @Excel(name = "诊疗名称", prompt = "必填")
    private String name;

    /** 目录类别 */
    @Excel(name = "目录类别", prompt = "必填", dictType = "activity_category_code", comboReadDict = true)
    private String categoryCode;

    /** 使用单位 */
    @Excel(name = "使用单位", prompt = "必填", dictType = "unit_code", comboReadDict = true)
    private String permittedUnitCode;

    /** 医保标记 */
    @Excel(name = "医保标记", prompt = "必填", readConverterExp = "0=否,1=是", combo = "否,是")
    private String ybFlag;

    /** 医保对码标记 */
    @Excel(name = "医保对码标记", prompt = "必填", readConverterExp = "0=否,1=是", combo = "否,是")
    private String ybMatchFlag;

    /** 医保编码 */
    @Excel(name = "医保编码", prompt = "医保对码时必填")
    private String ybNo;

    /** 医保等级 */
    @Excel(name = "医保等级", prompt = "必填", dictType = "chrgitm_lv", comboReadDict = true)
    private String chrgitmLv;

    // ---------------------- 费用定价 adm_charge_item_definition ----------------------------------------------

    /** 财务类别 */
    @Excel(name = "财务类别", prompt = "必填", dictType = "fin_type_code", comboReadDict = true)
    private String typeCode;

    /** 医保费用类别 */
    @Excel(name = "医保费用类别", prompt = "必填", dictType = "med_chrgitm_type", comboReadDict = true)
    private String ybType;

    // ---------------------- 费用定价子表 adm_charge_item_def_detail ----------------------------------------------

    /** 零售价 */
    @Excel(name = "零售价", prompt = "必填，数值类型")
    private String retailPriceStr;
    private BigDecimal retailPrice;

    /** 最高零售价 */
    @Excel(name = "最高零售价", prompt = "必填，数值类型")
    private String maximumRetailPriceStr;
    private BigDecimal maximumRetailPrice;

}
