package com.bonus.common.biz.domain.purchase;

import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

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

/**
 * @Author ma_sh
 * @create 2024/10/21 13:58
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class PurchaseDto {

    private Long id;

    @ApiModelProperty(value = "id")
    private String taskId;

    @ApiModelProperty(value = "类型id")
    private Integer typeId;

    @ApiModelProperty(value="供应商id")
    private Integer supplierId;

    @ApiModelProperty(value="入库数量")
    private BigDecimal inputNum;

    @ApiModelProperty(value = "开始时间")
    private String startTime;

    @ApiModelProperty(value = "结束时间")
    private String endTime;

    @ApiModelProperty(value = "关键字")
    private String keyWord;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "出厂日期")
    private String productDate;

    @ApiModelProperty(value = "二级明细id")
    private String purchaseId;

    @ApiModelProperty(value = "二级明细id列表")
    private List<String> purchaseIdList;

    @ApiModelProperty(value = "id列表")
    private List<Long> taskIds;

    @ApiModelProperty(value = "机具编号")
    private String maCode;

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

    @ApiModelProperty(value = "二维码")
    private String qrCode;

    @ApiModelProperty(value = "二维码路径")
    private String qrUrl;

    @ApiModelProperty(value = "是否下载二维码 （0 否，1 是）")
    private String isDownload;

    @ApiModelProperty(value = "提交绑定数据集合")
    private List<PurchaseDto> dtoList;

    @ApiModelProperty(value = "提交入库数据集合")
    private List<PurchaseDto> inPutList;

    /** 是否是固定资产编号(0 否，1 是) */
    @ApiModelProperty(value = "是否是固定资产编号(0 否，1 是)")
    private String fixCode;

    /** 编号类型 */
    @ApiModelProperty(value = "编号类型")
    private String codeType;

    /** 数据所属组织 */
    @Excel(name = "数据所属组织")
    @ApiModelProperty(value = "数据所属组织")
    private Long companyId;

    /** 验收结论 */
    //@Excel(name = "验收结论")
    @ApiModelProperty(value = "验收结论")
    private String checkResult;

    @ApiModelProperty(value = "出库类型 0编码出库  1数量出库 2成套出库")
    private String manageType;

    private String createBy;

    private Date createTime;

    private String updateBy;

    private Date updateTime;

    /** 操作前库存 */
    private BigDecimal preStoreNum;

    /** 操作后库存 */
    private BigDecimal postStoreNum;

    /** 类型名称 */
    private String typeName;

    /** 规格型号 */
    private String typeModelName;

    @ApiModelProperty(value = "物资厂家名称")
    private String supplier;
}
