package com.zfire.mall.manager.bean.engin.deposit;

import com.zfire.mall.manager.plus.entity.DepositManage;
import com.zfire.mall.manager.plus.entity.DepositManageCheckRecord;
import com.zfire.mall.manager.plus.entity.DepositManageData;
import com.zfire.mall.manager.plus.entity.DepositManageItemCollect;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel
public class DepositManageBean extends DepositManage {

    @ApiModelProperty(value = "审批结果 0=驳回 1=通过")
    private boolean examineResult = false;

    @ApiModelProperty(value = "汇总明细")
    List<DepositMangeItemBean> items;

    @ApiModelProperty(value = "押金明细")
    List<DepositManageItemCollect> collectList;

    @ApiModelProperty(value = "工程资料")
    List<DepositManageData> dataList;

    @ApiModelProperty(value = "验收记录")
    List<DepositManageCheckRecord> checkRecordItems;

    private String id;

    @ApiModelProperty(value = "押金管理id")
    private String parentId;

    @ApiModelProperty(value = "特价项目编号")
    private String specialItemNo;

    @ApiModelProperty(value = "厂编号")
    private String factoryNo;

    @ApiModelProperty(value = "特价编号")
    private String specialNo;

    @ApiModelProperty(value = "交单编号")
    private String billNo;

    @ApiModelProperty(value = "金蝶物料id")
    private String materialId;

    @ApiModelProperty(value = "金蝶物料名称")
    private String materialName;

    @ApiModelProperty(value = "金蝶物料编码")
    private String materialNumber;

    @ApiModelProperty(value = "金蝶物料旧编码")
    private String materialOldNumber;

    @ApiModelProperty(value = "规格型号")
    private String specification;

    @ApiModelProperty(value = "实装金蝶物料id")
    private String realMaterialId;

    @ApiModelProperty(value = "实装金蝶物料名称")
    private String realMaterialName;

    @ApiModelProperty(value = "实装金蝶物料编码")
    private String realMaterialNumber;

    @ApiModelProperty(value = "实装金蝶物料旧编码")
    private String realMaterialOldNumber;

    @ApiModelProperty(value = "实装规格型号")
    private String realSpecification;

    @ApiModelProperty(value = "基本单位编码")
    private String unit;

    @ApiModelProperty(value = "单价")
    private BigDecimal itemPrice;

    @ApiModelProperty(value = "数量")
    private Integer itemQty;

    @ApiModelProperty(value = "税率例如: 0.13")
    private BigDecimal tax;

    @ApiModelProperty(value = "备注")
    private String itemRemark;

    @ApiModelProperty(value = "押金金额")
    private BigDecimal itemDepositAmount;

    @ApiModelProperty(value = "资料数量")
    private Integer itemDataQty;

    @ApiModelProperty(value = "收差金额")
    private BigDecimal itemDiffAmount;

    @ApiModelProperty(value = "押金数量")
    private Integer hasSendQty;

    @ApiModelProperty(value = "发货数量")
    private Integer orderHasSendQty = 0;

    @ApiModelProperty(value = "合同价格")
    private Integer ItemContractQty;

    @ApiModelProperty(value = "合同价格")
    private BigDecimal ItemContractPrice;

    @ApiModelProperty(value = "合同价格")
    private BigDecimal ItemContractAmount;

    @ApiModelProperty(value = "寄厂日期")
    private Date mailFactoryDate;

    @ApiModelProperty(value = "寄厂年度")
    private String mailFactoryYear;

    @ApiModelProperty(value = "确认日期")
    private Date confirmDate;

    @ApiModelProperty(value = "结算编号")
    private Long settlementNo;

    @ApiModelProperty(value = "结算日期")
    private Date settlementDate;

    @ApiModelProperty(value = "入厂日期")
    private Date inFactoryDate;

    @ApiModelProperty(value = "入厂类型")
    private String inFactoryType;

    @ApiModelProperty(value = "经销商现金钱包id")
    private String customerWalletId;

}
