package com.miyzh.entity;

import lombok.Data;

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

/**
 * <p>
 * 医保详细账单
 * </p>
 *
 * @author liyc
 * @since 2018-01-02
 */
@Data
public class InsDSettlementDetails implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */

    private String id;
    /**
     * 患者id
     */

    private String patientId;
    /**
     * 诊所id
     */

    private String clinicId;
    /**
     * 药品id
     */

    private String medicineId;
    /**
     * 医保备案本地药品编码
     */
    private String medInsBackupId;
    /**
     * 处方id
     */

    private String prescriptionId;
    /**
     * 就诊编号 与发送的序号对应
     */

    private String visitCode;
    /**
     * 明细序列号
     */

    private String detailSeq;
    /**
     * 明细账单号
     */

    private String settleDetailId;
    /**
     * 总费用
     */

    private String totalCost;
    /**
     * 自理比例 保留2位小数，采用百分比的形式表示
     */

    private String selfProportion;
    /**
     * 自理费用 保留2位小数
     */

    private String selfCost;
    /**
     * 自费费用 保留2位小数
     */

    private String selfPaymentCost;
    /**
     * 自费原因
     */

    private String selfPaymentReson;
    /**
     * 自费原因
     * 转义
     */

    private String selfPaymentResonDesc;
    /**
     * 当前药品状态 1:已退药
     */

    private String status;
    /**
     * 明细类型 1:药品；2：诊疗项目
     */

    private String detailType;
    /**
     * 药品名称
     */

    private String medicineName;
    /**
     * 药品总量
     */

    private BigDecimal medicineTotal;
    /**
     * 给药途径(字典)
     */

    private String medicineRoute;
    /**
     * 用法（字典）
     */

    private String medicineUsage;
    /**
     * 药品总量单位（字典）
     */

    private String medicineTotalUnit;
    /**
     * 用药天数
     */

    private Integer medicineDays;
    /**
     * 单次用量
     */

    private BigDecimal medicineDcyl;
    /**
     * 单次用量单位（字典）
     */

    private String medicineDcylUnit;
    /**
     * 药品单价
     */

    private BigDecimal medicinePrice;
    /**
     * 药品最高限额
     */

    private BigDecimal maxCost;
    /**
     * 是否限额 1代表限额
     */

    private Integer isLimit;
    /**
     *
     */

    private String createId;
    /**
     *
     */

    private String createName;
    /**
     *
     */

    private Date createTime;
    /**
     *
     */

    private String updateId;
    /**
     *
     */

    private String updateName;
    /**
     *
     */

    private Date updateTime;
    /**
     *
     */

    private String deleteId;
    /**
     *
     */

    private String deleteName;
    /**
     *
     */

    private Date deleteTime;

    private BigDecimal  medicarePayment;
    /**
     * 单位
     */
    private String medicineUnit;
    /**
     * 规格
     */
    private String  specifications;

    /**
     * 简称
     * @param args
     */
    private String medicineShortName;

    /**
     * 剂型
     */
    private String formulation;

    public static void main(String[] args) {
        BigDecimal s = new BigDecimal(0.00);
        s= s.add(new BigDecimal(1.00));
        System.out.println(s.add(new BigDecimal(1.00)).doubleValue());
        System.out.println(s.doubleValue());
    }
    /**
     * 撤销结果   0：撤销失败（无此序号）；1：撤销成功；2：已撤销
     */
    private String cancelResult;

    private BigDecimal cost;

    public BigDecimal getTotalValue(){
        BigDecimal result = BigDecimal.ZERO;
        if(this.getTotalCost() != null){
            result = new BigDecimal(this.getTotalCost());
        }
        return result.setScale(2,BigDecimal.ROUND_HALF_UP);
    }
    public BigDecimal getSelfPaymentCostValue(){
        BigDecimal result = BigDecimal.ZERO;
        if(this.getSelfPaymentCost() != null){
            result = new BigDecimal(this.getSelfPaymentCost());
        }
        return result.setScale(2,BigDecimal.ROUND_HALF_UP);
    }
    public BigDecimal getSelfCostValue(){
        BigDecimal result = BigDecimal.ZERO;
        if(this.getSelfCost() != null){
            result = new BigDecimal(this.getSelfCost());
        }
        return result.setScale(2,BigDecimal.ROUND_HALF_UP);
    }


    //2019年3月扶贫改造添加
    //是否特惠医疗机构减免
    private int isSupplementaryFlag = 0;

    //2019年9月1日最高限价改造
    //最高限价计价单位下-单价
    private BigDecimal minMedicinePrice;
    //最高限价计价单位下-数量
    private BigDecimal minMedicineTotal;
}
