package com.jeeplus.pubmodules.purchase.service.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.pubmodules.oss.domain.WorkAttachment;
import com.jeeplus.pubmodules.oss.service.dto.WorkAttachmentDto;
import com.jeeplus.pubmodules.purchase.domain.MaterialDetailed;
import lombok.Data;

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

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

    private String createBy;

    //采购编号（字典值）
    public static final String BIZ_CODE = "16";

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

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

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

    /**
     * 采购简述
     */
    private String purchaseSketch;

    /**
     *采购类型
     */
    private String procurementType;

    /**
     *采购方式
     */
    private String purchaseMode;

    /**
     *采购方式（判断是否展示入库记录及入库）
     */
    private String purchaseModeType;

    /**
     *采购金额（元）
     */
    private String tradeTotalPrice;

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

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

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

    @TableField(exist = false)
    private String[] contractAmounts;

    @TableField(exist = false)
    private String[] contractDates;

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

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

    /**
     * 状态
     */
    private String status;

    /**
     *采购时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date purchaseDate;

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

    //新增信息
    List<MaterialDetailed> detailInfos;

    //附件信息
    List<WorkAttachment> fileInfoLost;

    /**
     * 流程id
     */
    private String procInsId;

    /**
     *
     */
    private String processInstanceId;

    private String processDefinitionId;

    private List<WorkAttachmentDto> files;

    /**
     * 采购申请  taskId
     */
    private String taskId;

    /**
     * 数据审核人  采购申请
     */
    private List<String> auditUserIds;

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

    /**
     * 供应商名称
     */
    private String supplierName;
}
