package com.bonus.material.basic.domain;

import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 综合查询-机具出库列表查询
 * @Author ma_sh
 * @create 2024/12/18 9:23
 */
@Data
public class OutRecordInfo {

    @ApiModelProperty(value = "主键id")
    private Integer id;

    @ApiModelProperty(value = "工程Id")
    private Integer proId;

    @ApiModelProperty(value = "工程名称")
    @Excel(name = "工程名称")
    private String proName;

    @ApiModelProperty(value = "往来单位Id")
    private Integer unitId;

    @ApiModelProperty(value = "往来单位")
    @Excel(name = "往来单位")
    private String unitName;

    @ApiModelProperty(value = "协议号")
    @Excel(name = "协议号")
    private String agreementCode;

    @ApiModelProperty(value = "实施单位")
    @Excel(name = "实施单位")
    private String impUnitName;

    @ApiModelProperty(value = "合同主体")
    @Excel(name = "合同主体")
    private String contractPart;

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

    @ApiModelProperty(value = "规格ID")
    private Integer typeId;

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

    @ApiModelProperty(value = "设备编码")
    @Excel(name = "设备编码")
    private String maCode;

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

    @ApiModelProperty(value = "出库数量")
    @Excel(name = "出库数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal outNum;

    @ApiModelProperty(value = "出库人员")
    @Excel(name = "出库人员")
    private String outUser;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date outTime;

    @ApiModelProperty(value = "领料单号")
    @Excel(name = "领料单号")
    private String leaseCode;

    @ApiModelProperty(value = "出库方式")
    @Excel(name = "出库方式")
    private String outStyle;

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

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

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

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

    @ApiModelProperty(value = "三级ID")
    private Integer thirdTypeId;

    @ApiModelProperty(value = "二级ID")
    private Integer secondTypeId;

    @ApiModelProperty(value = "一级ID集合")
    private List<Integer> firstTypeIdList;
}
