package com.bonus.material.lease.domain;

import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
import com.bonus.material.back.domain.vo.MaCodeVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

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

/**
 * 领料任务详细对象 lease_apply_details
 *
 * @author xsheng
 * @date 2024-10-16
 */
@Data
@ToString
public class LeasePublishDetails extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 任务ID */
    @ApiModelProperty(value = "任务ID")
    private Long parentId;

    @ApiModelProperty(value = "机具ID")
    private Long maId;

    /** 物资类型 */
    @ApiModelProperty(value = "物资类型名称")
    @Excel(name = "类型名称")
    private String maTypeName;

    /** 规格型号id */
    @ApiModelProperty(value = "规格型号id")
    private Long typeId;

    @ApiModelProperty(value = "规格型号id")
    private Long newTypeId;

    @ApiModelProperty(value = "三级id")
    private Long thirdTypeId;

    @ApiModelProperty(value = "规格型号id")
    private Long taskId;

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

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

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

    /** 计量单位数值 */
    @ApiModelProperty(value = "计量单位数值")
    private String unitValue;

    @Excel(name = "需求数量")
    @ApiModelProperty(value = "需求数量")
    private BigDecimal preNum;

    /** 库存数量 */
    @ApiModelProperty(value = "库存数量")
    @Excel(name = "当前库存")
    private BigDecimal storageNum;

    @ApiModelProperty(value = "已发布数量")
    @Excel(name = "已发布数量")
    private BigDecimal publishNum;

    @ApiModelProperty(value = "剩余最大出库数量")
    @Excel(name = "已供应数量")
    private BigDecimal outNum;

    @ApiModelProperty(value = "待发布数量")
    @Excel(name = "待发布数量")
    private BigDecimal pendingNum;

    @ApiModelProperty(value = "本次发布数量")
    private BigDecimal num;

    /** 审批数量 */
    @ApiModelProperty(value = "审批数量")
    private BigDecimal auditNum;

    /** 已领数量 */
    @ApiModelProperty(value = "已领数量")
    private BigDecimal alNum;

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

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

    /** 状态（0待审批，1进行中，2已出库） */
    private String status;

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

    private String keyword;

    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @ApiModelProperty(value = "编码类型集合")
    private List<MaCodeVo> maCodeVoList;

    @ApiModelProperty(value = "往来单位id")
    private Long unitId;

    @ApiModelProperty(value = "工程id")
    private Long projectId;

    @ApiModelProperty(value = "领料人")
    private String leasePerson;

    @ApiModelProperty(value = "联系方式")
    private String phone;

    @ApiModelProperty(value = "任务当月序号 例如:1 插入及查询时请携带任务类型")
    private Integer monthOrder;

    @ApiModelProperty(value = "发布批次")
    private String publishTask;

    @ApiModelProperty(value = "单号")
    private String code;

}
