package com.hys.app.model.erp.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hys.app.model.erp.dos.OrderDO;
import com.hys.app.model.erp.dos.OrderItemDO;
import com.hys.app.model.erp.dos.WarehouseEntryBatchDO;
import com.hys.app.model.erp.enums.WarehouseOutTypeEnum;
import com.hys.app.model.system.dos.AdminUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

/**
 * 出库单新增/编辑DTO
 *
 * @author 张崧
 * @since 2023-12-07 16:50:20
 */
@Data
public class WarehouseOutDTO {

    @ApiModelProperty(hidden = true)
    private Long id;

    @ApiModelProperty(name = "out_time", value = "出库日期")
    @NotNull(message = "出库日期不能为空")
    private Long outTime;

    @ApiModelProperty(name = "warehouse_consignee_id", value = "仓库提货人id")
    private Long warehouseConsigneeId;

    @ApiModelProperty(name = "notes", value = "备注")
    private String notes;

    @ApiModelProperty(name = "type", value = "出库类型")
    private WarehouseOutTypeEnum type;

    @ApiModelProperty(value = "操作類型")
    @NotBlank(message = "操作类型不能为空,save保存submit入库")
    private String saveOrSubmit;

    @ApiModelProperty(name = "product_list", value = "商品明细列表")
    @NotEmpty(message = "商品明细列表不能为空")
    @Valid
    private List<WarehouseOutProductDTO> productList;

    @ApiModelProperty(name = "warehouse_id", value = "仓库id")
    @NotNull(message = "仓库不能为空")
    private Long warehouseId;


    @ApiModelProperty(value = "配送地址")
//    @NotBlank(message = "配送地址")
    private String address;

    @ApiModelProperty(name = "order_id_list", value = "发货单id")
    private Long orderIdList;


}

