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 {

    //入库编号（字典值）
    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 wareHouseTypeName;

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

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

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

    /**
     * 单位
     */
    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;

    private List<WorkAttachmentDto> files;

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

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

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

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


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