package com.jwipc.inquiry.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @author shenyang.ou
 * @date 2024/3/27 11:17
 * @desc
 */
@Data
public class PurchaseApplyBillDetailApiDTO {


    /**
     * 项目编号
     */
    private String projectNo;

    /**
     * 采购申请的行编号
     */
    @NotBlank(message = "请传入采购申请的行编号")
    private String itemCode;

    /**
     * 采购组
     */
    @NotBlank(message = "请传入采购组")
    private String purchaseGroupCode;

    /**
     * 物料编码
     */
//    @NotBlank(message = "请传入物料编码")
    private String materialCode;

    /**
     * 物料描述（短描述）
     */
    @NotBlank(message = "请传入物料描述")
    private String materialName;

    /**
     * 规格
     */

    private String materialSpec;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 紧急程度
     */
    @NotBlank(message = "请传入紧急程度")
    private String urgency;

    /**
     * 工厂编码
     */
//    @NotBlank(message = "请传入工厂编码")
    private String factoryCode;

    /**
     * 库存地点
     */
    private String stockCode;

    /**
     * 收货地址
     */
    private String stockName;

    /**
     * 物料组
     */
    @NotBlank(message = "请传入物料组")
    private String materialGroupCode;

    /**
     * 物料组描述
     */
    @NotBlank(message = "请传入物料组描述")
    private String materialGroupName;

    /**
     * 审批通过数量
     */
    @NotNull(message = "请传入审批通过数量")
    private BigDecimal approvalNumber;

    /**
     * 基本单位
     */
    @NotBlank(message = "请传入基本单位")
    private String unitCodeBase;

    /**
     * 需求日期
     */
//    @NotBlank(message = "请传入需求日期")
    private String requireDate;

    /**
     * 科目分配类别
     */
//    @NotBlank(message = "请传入科目分配类别")
    private String subjectTypeCode;

    /**
     * 请购人姓名
     */
    @NotBlank(message = "请传入请购人姓名")
    private String requireName;

    /**
     * 请求人部门
     */
    @NotBlank(message = "请传入请求人部门")
    private String teamName;

    /**
     * 成本中心
     */
    private String costCenterCode;

    /**
     * 成本中心描述
     */
    private String costCenterName;
    @NotBlank(message = "请传入服务客户编码")
    private String customerCode;
    @NotBlank(message = "请传入服务客户名称")
    private String customerName;
    @NotBlank(message = "请传入驱动因素")
    private String factor;
    @NotNull(message = "请传入预估单价")
    private BigDecimal price;
//    @NotBlank(message = "请传入行备注")
    private String itemRemark;
    @NotNull(message = "请传入总金额")
    private BigDecimal totalPrice;
}
