/*
 * Copyright ©2023 CJB-CNIT Team. All rights reserved
 */
package com.openhis.web.outpatientmanage.dto;

import java.math.BigDecimal;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.openhis.common.annotation.Dict;

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

/**
 * 处方信息
 *
 * @author yuxj
 * @date 2025-04-11
 */
@Data
@Accessors(chain = true)
public class OutpatientTreatmentInfoDto {

    /** 就诊ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long encounterId;

    /** 请求id */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long requestId;

    /** 请求状态 */
    private Integer serviceStatus;
    private String serviceStatus_enumText;

    /** 发放ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long dispenseId;

    /** 发放状态 */
    private Integer dispenseStatus;
    private String dispenseStatus_enumText;

    /** 执行次数 */
    private Integer executeNum;

    /** 数量 */
    private Integer quantity;

    /** 单位 */
    @Dict(dictCode = "unit_code")
    private String unitCode;
    private String unitCode_dictText;

    /** 编码 */
    private String busNo;

    /** 收费状态 */
    private Integer chargeStatus;
    private String chargeStatus_enumText;

    /** 单价 */
    private BigDecimal unitPrice;

    /** 总价 */
    private BigDecimal totalPrice;

    /** 请求所在表名 */
    private String requestTable;

    /** 诊疗类型 */
    @Dict(dictCode = "activity_category_code")
    private String serviceCategory;
    private String serviceCategory_dictText;

    /** 耗材类型 */
    @Dict(dictCode = "device_category_code")
    private String deviceCategory;
    private String deviceCategory_dictText;

    /** 药品类型 */
    @Dict(dictCode = "med_category_code")
    private String medCategory;
    private String medCategory_dictText;

    /** 五笔码 */
    private String wbStr;

    /** 拼音码 */
    private String pyStr;

    /** 项目名 */
    private String itemName;

    /** 规格 */
    private String size;

    /** 组号 */
    private Long groupId;

    /** 药品数量 */
    private Integer medQuantity;

    /** 排序号 */
    private Integer sortNumber;

    /** 执行次数 */
    private Integer performCount;

    /** 取消执行次数 */
    private Integer cancelCount;

    /** 用法 */
    @Dict(dictCode = "method_code")
    private String methodCode;
    private String methodCode_dictText;

    /** 用药天数 */
    private Integer dispensePerDuration;
}
