package com.aegis.resource.material.dto;

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

/**
 * 库存调整参数封装
 * 
 * @author aegis
 */
@Data
public class InventoryAdjustment {

    /** 物资ID */
    @NotNull(message = "物资ID不能为空")
    private Long materialId;

    /** 仓库ID */
    @NotNull(message = "仓库ID不能为空")
    private Long warehouseId;

    /** 调整数量（正数=增加，负数=减少） */
    @NotNull(message = "调整数量不能为空")
    private BigDecimal adjustmentQty;

    /** 调整原因（必填）：physical_count-盘点, loss-损失, damage-损坏, 
     *               theft-盗窃, found-发现, expired-过期, obsolete-淘汰, correction-更正 */
    @NotBlank(message = "调整原因不能为空")
    private String reason;

    /** 备注说明 */
    private String remark;
}