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

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

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

/**
 * 【3511】返回结果
 *
 * @author SunJQ
 * @date 2025-09-26
 */
@Data
public class MedicalInventory3511Output {
    /**
     * 有效期止
     * 类型：日期型，格式yyyy-MM-dd
     */
    @JSONField(name = "expyEnd", format = "yyyy-MM-dd")
    private Date expyEnd;

    /**
     * 药师证件类型
     * 类型：字符型，长度3，非空
     */
    @JSONField(name = "pharCertType")
    private String pharCertType;

    /**
     * 销售/退货经办人姓名
     * 类型：字符型，长度50
     */
    @JSONField(name = "selRetnOpterName")
    private String selRetnOpterName;

    /**
     * 医疗目录编码
     * 类型：字符型，长度50
     */
    @JSONField(name = "medListCodg")
    private String medListCodg;

    /**
     * 统筹区编号
     * 类型：字符型，长度6
     */
    @JSONField(name = "poolareaNo")
    private String poolareaNo;

    /**
     * 结算ID
     * 类型：字符型，长度30
     */
    @JSONField(name = "setlId")
    private String setlId;

    /**
     * 创建机构编号
     * 类型：字符型，长度20
     */
    @JSONField(name = "crteOptinsNo")
    private String crteOptinsNo;

    /**
     * 医药机构目录编码
     * 类型：字符型，长度150
     */
    @JSONField(name = "medinsListCodg")
    private String medinsListCodg;

    /**
     * 备注
     * 类型：字符型，长度500
     */
    @JSONField(name = "memo")
    private String memo;

    /**
     * 数据更新时间
     * 类型：日期时间型，格式yyyy-MM-dd HH:mm:ss
     */
    @JSONField(name = "updtTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date updtTime;

    /**
     * 医保费用结算类型
     * 类型：字符型，长度6，非空
     */
    @JSONField(name = "hiFeesetlType")
    private String hiFeesetlType;

    /**
     * 生产日期
     * 类型：日期型，格式yyyy-MM-dd
     */
    @JSONField(name = "manuDate", format = "yyyy-MM-dd")
    private Date manuDate;

    /**
     * 经办人姓名
     * 类型：字符型，长度50
     */
    @JSONField(name = "opterName")
    private String opterName;

    /**
     * 人员编号
     * 类型：字符型，长度30
     */
    @JSONField(name = "psnNo")
    private String psnNo;

    /**
     * 数据唯一记录号
     * 类型：字符型，长度40
     */
    @JSONField(name = "rid")
    private String rid;

    /**
     * 数据创建时间
     * 类型：日期时间型，格式yyyy-MM-dd HH:mm:ss
     */
    @JSONField(name = "crteTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date crteTime;

    /**
     * 药师证件号码
     * 类型：字符型，长度50
     */
    @JSONField(name = "pharCertno")
    private String pharCertno;

    /**
     * 有效标志
     * 类型：字符型，长度3，非空
     */
    @JSONField(name = "valiFlag")
    private String valiFlag;

    /**
     * 证件号码
     * 类型：字符型，长度600
     */
    @JSONField(name = "certno")
    private String certno;

    /**
     * 定点医药机构编号
     * 类型：字符型，长度30
     */
    @JSONField(name = "fixmedinsCode")
    private String fixmedinsCode;

    /**
     * 处方药标志
     * 类型：字符型，长度3，非空
     */
    @JSONField(name = "rxFlag")
    private String rxFlag;

    /**
     * 药师执业资格证号
     * 类型：字符型，长度50
     */
    @JSONField(name = "pharPracCertNo")
    private String pharPracCertNo;

    /**
     * 目录特项标志
     * 类型：字符型，长度3，非空
     */
    @JSONField(name = "listSpItemFlag")
    private String listSpItemFlag;

    /**
     * 定点医药机构批次流水号
     * 类型：字符型，长度30
     */
    @JSONField(name = "fixmedinsBchno")
    private String fixmedinsBchno;

    /**
     * 经办时间
     * 类型：日期时间型，格式yyyy-MM-dd HH:mm:ss
     */
    @JSONField(name = "optTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date optTime;

    /**
     * 人员姓名
     * 类型：字符型，长度50
     */
    @JSONField(name = "psnName")
    private String psnName;

    /**
     * 电子监管编码
     * 类型：字符型，长度20
     */
    @JSONField(name = "elecSupnCodg")
    private String elecSupnCodg;

    /**
     * 开单医师姓名
     * 类型：字符型，长度50
     */
    @JSONField(name = "bilgDrName")
    private String bilgDrName;

    /**
     * 经办人ID
     * 类型：字符型，长度20
     */
    @JSONField(name = "opterId")
    private String opterId;

    /**
     * 生产批号
     * 类型：字符型，长度30
     */
    @JSONField(name = "manuLotnum")
    private String manuLotnum;

    /**
     * 医药机构目录名称
     * 类型：字符型，长度100
     */
    @JSONField(name = "medinsListName")
    private String medinsListName;

    /**
     * 人员证件类型
     * 类型：字符型，长度6，非空
     */
    @JSONField(name = "psnCertType")
    private String psnCertType;

    /**
     * 销售/退货时间
     * 类型：日期时间型，格式yyyy-MM-dd HH:mm:ss
     */
    @JSONField(name = "selRetnTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date selRetnTime;

    /**
     * 销售/退货数量
     * 类型：数值型，长度16,2（16位数字，其中2位小数）
     */
    @JSONField(name = "selRetnCnt")
    private BigDecimal selRetnCnt;

    /**
     * 创建人姓名
     * 类型：字符型，长度50
     */
    @JSONField(name = "crterName")
    private String crterName;

    /**
     * 药师姓名
     * 类型：字符型，长度50
     */
    @JSONField(name = "pharName")
    private String pharName;

    /**
     * 开单医师证件类型
     * 类型：字符型，长度3，非空
     */
    @JSONField(name = "prscDrCertType")
    private String prscDrCertType;

    /**
     * 创建人ID
     * 类型：字符型，长度20
     */
    @JSONField(name = "crterId")
    private String crterId;

    /**
     * 开单医师证件号码
     * 类型：字符型，长度50
     */
    @JSONField(name = "prscDrCertno")
    private String prscDrCertno;

    /**
     * 经办机构编号
     * 类型：字符型，长度20
     */
    @JSONField(name = "optinsNo")
    private String optinsNo;

    /**
     * 拆零标志
     * 类型：字符型，长度3，非空
     */
    @JSONField(name = "trdnFlag")
    private String trdnFlag;

    /**
     * 最终成交单价
     * 类型：数值型，长度16,6（16位数字，其中6位小数）
     */
    @JSONField(name = "finlTrnsPric")
    private BigDecimal finlTrnsPric;

    /**
     * 定点医药机构商品销售流水号
     * 类型：字符型，长度30
     */
    @JSONField(name = "medinsProdSelNo")
    private String medinsProdSelNo;
}
