package com.bonus.sgzb.material.domain;

import com.bonus.sgzb.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
* @description 综合查询--退料查询
* @author hay
* @date   2024/2/26 14:51
*/
@ApiModel(description = "退料查询")
@Data
public class ProjUsingRecord {

    private static final long serialVersionUID = 2227217051604273598L;

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

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

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

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

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

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

    /**
     * 类型名称
     */
    @ApiModelProperty(value = "类型名称")
    @Excel(name = "机具名称")
    private String typeName;

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

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

    /**
     * 退料单号
     */
    @ApiModelProperty(value = "退料单号")
    private String code;


    /**
     * 设备编码
     */
    @ApiModelProperty(value = "设备编码")
    private String maCode;

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

    /**
     * 租赁数量
     */
    @ApiModelProperty(value = "租赁数量")
    @Excel(name = "租赁数量",cellType = Excel.ColumnType.NUMERIC)
    private Integer outNum;

    /**
     * 归还数量
     */
    @ApiModelProperty(value = "归还数量")
    @Excel(name = "归还数量",cellType = Excel.ColumnType.NUMERIC)
    private Integer backNum;

    /**
     * 在用数量
     */
    @ApiModelProperty(value = "在用数量")
    @Excel(name = "在用数量",cellType = Excel.ColumnType.NUMERIC)
    private Integer usNum;

    /**
     * 在用总价值
     */
    @ApiModelProperty(value = "在用总价值")
    private BigDecimal usPrice;

    /**
     * 投入总价值
     */
    @ApiModelProperty(value = "投入总价值")
    private BigDecimal totalPrice;

    /**
     * 退料人
     */
    @ApiModelProperty(value = "退料人")
    private String backPerson;



    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    private String createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    @ApiModelProperty(value = "更新者")
    private String updateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间 ")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

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

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

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


    /**
     * 设备所属类型
     */
    @ApiModelProperty(value = "数据所属组织")
    private Integer companyId;

    /**
     * 装备管理方式(0编号 1计数)
     */
    @ApiModelProperty(value = "装备管理方式")
    private int manageType;

    /**
     * 装备管理方式(0编号 1计数)
     */
    @ApiModelProperty(value = "装备管理方式名称")
    private String manageTypeName;

    /**
     * 实时库存
     */
    @ApiModelProperty(value = "实时库存")
    private Integer num;

    /**
     * 在用标识
     */
    @ApiModelProperty(value = "在用标识")
    private Integer useFlag;

}