package com.bonus.material.clz.domain.lease;

import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
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 LeaseApplyDetailsInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /** ID */
    private Long id;

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

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

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

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

    /** 规格型号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 = "机具编码")
    private String maCode;

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

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

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

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

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

    /** 预领料数 */
    @Excel(name = "领料数量")
    @ApiModelProperty(value = "预领料数")
    private BigDecimal preNum;

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

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

    /**
     * 此数量是剩余需要出库的数量（preNum - alNum）
     */
    @ApiModelProperty(value = "剩余最大出库数量")
    @Excel(name = "待出库数量")
    private BigDecimal outNum;

    @ApiModelProperty(value = "领料日期")
    @Excel(name = "领料日期")
    private String leaseDate;

    @ApiModelProperty(value = "出库日期")
    @Excel(name = "出库日期")
    private String outDate;

    @ApiModelProperty(value = "班组名称")
    @Excel(name = "领料班组")
    private String teamName;

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

    /** 备注 */
    @ApiModelProperty(value = "领料人")
    @Excel(name = "领料人")
    private String leasePerson;

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

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

    /**
     * 装备管理方式(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 String startTime;

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

    @ApiModelProperty(value = "身份证号码")
    private String idCard;

    @ApiModelProperty(value = "i8工程id")
    private String externalId;

    @ApiModelProperty(value = "实施单位id")
    private String impUnit;

    /**
     * i8工程id集合
     */
    private List<String> projectIdList;
}
