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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hys.app.model.erp.dos.StockDamageReport;
import com.hys.app.model.erp.dos.StockDamageReportProduct;
import com.hys.app.model.erp.dto.StockDamageReportProductDTO;
import com.hys.app.model.erp.enums.DamageinventoryEnum;
import com.hys.app.model.erp.enums.StockDamageReportTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 库存报损单实体VO
 *
 * @author dmy
 * 2023-12-05
 */
@ApiModel
@Data
public class StockDamageReportVO  implements Serializable {

    private static final long serialVersionUID = -5851214268014240143L;

    private Long id;

    /**
     * 报损时间
     */
    @ApiModelProperty(name = "report_time", value = "报损时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportTime;

    /**
     * 仓库ID
     */
    @ApiModelProperty(name = "warehouse_id", value = "仓库ID", required = true)
    private Long warehouseId;

    /**
     * 报损说明
     */
    @ApiModelProperty(name = "report_desc", value = "报损说明", required = true)
    private String reportDesc;
    /**
     * 库存报损单产品集合
     */
    @ApiModelProperty(name = "product_list", value = "库存报损单产品集合", required = true)
    private List<StockDamageReportProductDTO> productList;

    @ApiModelProperty(name = "status", value = "状态")
    private DamageinventoryEnum status = DamageinventoryEnum.NOT_HANDLE;



    @ApiModelProperty(name = "damage_type_value", value = "报损类型")
    private StockDamageReportTypeEnum damageTypeValue;

    @ApiModelProperty(name = "creator_id", value = "制单人ID")
    private Long creatorId;
}
