package com.openhis.web.inhospitalnursestation.dto;

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;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 科室耗材dto
 *
 * @author wuyan
 * @date 2025-11-06
 */
@Data
@Accessors(chain = true)
public class OrgDeviceDto {

    /** 单据号 */
    private String busNo;

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

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

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

    /** 项目id */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long itemId;

    /** 规格 */
    private String totalVolume;

    /** 批号 */
    private String lotNumber;

    /** 请求数 */
    private BigDecimal quantity;

    /** 拆零比 */
    private BigDecimal partPercent;

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

    /** 单价 */
    private BigDecimal unitPrice;

    /** 常规单位 */
    @Dict(dictCode = "unit_code")
    private String maxUnitCode;
    private String maxUnitCode_dictText;

    /** 最小单位 */
    @Dict(dictCode = "unit_code")
    private String minUnitCode;
    private String minUnitCode_dictText;

    /** 发放地点 */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long sourceLocationId;
    private String sourceLocationName;

    /** 申请科室 */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long orgId;
    private String orgName;

    /** 领药人 */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long requesterId;
    private String requesterName;

    /** 厂家 */
    private String manufacturer;

    /** 申请时间 */
    private Date applyTime;

    /** 状态 */
    private Integer statusEnum;
    private String statusEnum_enumText;

}
