package com.bonus.material.basic.domain.report;

import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 新购入库报表详情
 * @Author ma_sh
 * @create 2025/1/22 9:56
 */
@Data
public class PurChaseReportInfo {

    private Long id;

    @ApiModelProperty(value = "是否导出 0 是，1 否")
    private Integer isExport;

    private Long taskId;

    private Long typeId;

    @ApiModelProperty(value = "物资名称")
    @Excel(name = "物资名称")
    private String typeName;

    @ApiModelProperty(value = "规格型号")
    @Excel(name = "规格型号")
    private String typeModelName;

    @ApiModelProperty(value = "计量单位")
    @Excel(name = "计量单位")
    private String unitName;

    @ApiModelProperty(value = "采购数量")
    @Excel(name = "采购数量")
    private BigDecimal purchaseNum;

    @ApiModelProperty(value = "验收合格数量")
    @Excel(name = "验收合格数量")
    private BigDecimal passNum;

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

    @ApiModelProperty(value = "采购价格含税")
    @Excel(name = "采购价格（含税）")
    private BigDecimal purchasePrice;

    @ApiModelProperty(value = "采购价格不含税")
    @Excel(name = "采购价格（不含税）")
    private BigDecimal purchasePriceNoTax;

    @ApiModelProperty(value = "物资厂家")
    @Excel(name = "物资厂家")
    private String supplierName;

    @ApiModelProperty(value = "采购时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "采购时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date purchaseTime;

    @ApiModelProperty(value = "验收时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "验收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date passTime;

    @ApiModelProperty(value = "入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date inputTime;

    @ApiModelProperty(value = "入库人员")
    @Excel(name = "入库人员")
    private String inputUser;

    @ApiModelProperty(value = "待入库数量")
    @Excel(name = "待入库数量")
    private BigDecimal pendingInputNum;

    @ApiModelProperty(value = "入库单号")
    @Excel(name = "入库单号")
    private String inputCode;

    @ApiModelProperty(value = "管理方式")
    private String manageType;

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

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

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

    private Long userId;
}
