package com.bonus.material.basic.domain;

import com.bonus.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.apache.poi.ss.usermodel.HorizontalAlignment;
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 = "主键id")
    private Integer id;

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

    @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 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 = "设备编码")
    private String maCode;

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

    @ApiModelProperty(value = "领用数量")
    @Excel(name = "领用数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal leaseNum;

    @ApiModelProperty(value = "归还数量")
    @Excel(name = "归还数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal backNum;

    @ApiModelProperty(value = "在用数量")
    @Excel(name = "在用数量", align = HorizontalAlignment.RIGHT)
    private BigDecimal usNum;

    @ApiModelProperty(value = "在用总价值（元）")
    @Excel(name = "在用总价值(元)", align = HorizontalAlignment.RIGHT)
    private BigDecimal usPrice;

    @ApiModelProperty(value = "投入总价值（元）")
    @Excel(name = "投入总价值(元)", align = HorizontalAlignment.RIGHT)
    private BigDecimal totalPrice;

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

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

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

    @ApiModelProperty(value = "数据所属组织")
    private Integer companyId;

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

    @ApiModelProperty(value = "是否结算 0否 1是")
    private String isSlt;

    @ApiModelProperty(value = "是否结算 0否 1是")
    @Excel(name = "协议状态")
    private String isSltName;

    private String externalIds;
    @ApiModelProperty(value = "关联外部(第三方)的工程ID")
    private String externalId;

    private Long userId;

    @ApiModelProperty(value = "需求数量")
    private String needNum;

    @ApiModelProperty(value = "已供数量")
    private String supplyNum;

    @ApiModelProperty(value = "差值")
    private String diffNum;

    @ApiModelProperty(value = "在库数量")
    private BigDecimal storeNum;

    @ApiModelProperty(value = "在修数量")
    private BigDecimal repairNum;

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

    @ApiModelProperty(value = "总保有量")
    private BigDecimal allNum;

    @ApiModelProperty(value = "总在用数量")
    private BigDecimal allUsNum;

}
