package com.jeeplus.test.materialManagement.wareHouse.service.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.test.materialManagement.purchase.domain.MaterialDetailed;
import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseDetailed;
import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author: 王强
 * @create: 2022-12-29 16:37
 **/
@Data
public class WareHouseDto {

    private String dateTest;

    private String dateTest2;

    /**
     * 当前库存
     */
    private String currentInventory;

    /**
     * 采购申请查看入库记录所需
     */
    private String[] statusTwo;

    //入库编号（字典值）
    public static final String BIZ_CODE = "28";

    private String procInsId;

    private String processDefinitionId;

    private String status;

    /**
     * 创建人
     */
    private String createBy;

    /**
     *创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;

    /**
     * 基础表主键值
     */
    private String id;

    /**
     * 入库基础表id
     */
    private String basicId;

    /**
     * 入库类型
     */
    private String wareHouseType;

    /**
     * 领用类型
     */
    private String collectType;

    /**
     * 入库类型名称
     */
    private String wareHouseTypeName;

    /**
     * 商品名称
     */
    private String tradeName;

    /**
     * 商品单价
     */
    private String tradePrice;

    /**
     * 商品数量
     */
    private String tradeNumber;

    /**
     * 领用数量
     */
    private String collectNumber;

    /**
     * 单位
     */
    private String company;

    /**
     * 入库商品总价
     */
    private String wareHouseTotalPrice;

    /**
     * 入库商品实际价格
     */
    private String wareHouseActualPrice;

    /**
     * 实际价格
     */
    private String actualPrice;

    /**
     * 入库编号
     */
    private String wareHouseNumber;

    /**
     * 入库名称
     */
    private String wareHouseName;

    /**
     * 入库时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date wareHouseDate;

    /**
     * 采购编号
     */
    private String purchaseNo;

    /**
     * 入库明细数据
     */
    @TableField(exist = false)
    List<WareHouseDetailed> wareHouse;

    //采购明细信息
    List<MaterialDetailed> detailInfos;

    /**
     * 经办人
     */
    private String handledBy;

    /**
     * 经办人id
     */
    private String handledById;

    /**
     * 经办人名称
     */
    private String handleByName;

    /**
     * 经办人部门
     */
    private String handledByOffice;

    /**
     * 经办人部门名称
     */
    private String handledByOfficeName;

    /**
     * 入库时间
     */
    @TableField(exist = false)
    private String[] wareHouseDates;

    /**
     * 领用时间
     */
    @TableField(exist = false)
    private String[] collectDates;

    private List<WorkAttachmentDto> files;

    /**
     * 入库人
     */
    private String wareHouseMan;

    /**
     * 入库人名称
     */
    private String wareHouseManName;

    /**
     * 入库人部门
     */
    private String wareHouseManOffice;

    /**
     * 入库人部门名称
     */
    private String wareHouseManOfficeName;

    /**
     * 采购申请id
     */
    private String purchaseId;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 总量
     */
    private String allNumber;

    /**
     * 领用量
     */
    private String borrowNumber;

    /**
     * 入库id
     */
    private String wareHouseId;

    /**
     * 入库经办人
     */
    private String wareHouseHandledBy;

    /**
     * 入库经办人部门
     */
    private String wareHouseHandledByOff;

    /**
     * 领用id
     */
    private String collectId;

    /**
     * 领用经办人
     */
    private String collectHandleBy;

    /**
     * 领用经办人部门
     */
    private String collectHandleByOff;

    /**
     * 领用物品名称
     */
    private String goodsName;

    /**
     * 领用编号
     */
    private String collectNo;

    /**
     * 领用时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date collectDate;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 入库 修改申请  taskId
     */
    private String taskId;

    /**
     * 数据审核人  入库 修改申请
     */
    private List<String> auditUserIds;

    /**
     * 当前所处节点执行的方法(送审、审核等..)
     */
    private String functionFlag;

    /**
     * 修改人
     */
    private String updateUser;

    /**
     * 修改原因
     */
    private String updateCause;

    /**
     * 警告数量
     */
    private String warnNum;

    /**
     * 警告标记  0不警告  1警告
     */
    private String warnFlag;

    /**
     * 供应商id
     */
    private String supplierId;

    /**
     * 入库详情id
     */
    private String detailId;

    /**
     * 旧 商品名称 （用于库存修改商品名称）
     */
    private String oldTradeName;
}
