package com.sw.mes.production.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.*;

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "配方重量方案Dto")
public class FormulaWeightSchemeDto {

    private Long id;
    @ApiModelProperty(value = "方案名称", required = true)
    String name;
    @ApiModelProperty(value = "满锅重量", required = true)
    BigDecimal fullPotWeight;
    @ApiModelProperty(value = "复投满锅重量", required = true)
    BigDecimal rechargeFullPotWeight = BigDecimal.ZERO;
    @ApiModelProperty(value = "初装重量", required = true)
    BigDecimal initialWeight;
    @ApiModelProperty(value = "报料范围上限", required = true)
    BigDecimal scopeUpper;
    @ApiModelProperty(value = "报料范围下限", required = true)
    BigDecimal scopeLower;
    @ApiModelProperty(value = "桶规格", required = true)
    BigDecimal barrelSpecs;
    @ApiModelProperty(value = "重量方案", required = true)
    @Valid
    List<WeightScheme> weightScheme = new ArrayList<>();
    @ApiModelProperty(value = "创建人", required = true)
    String userCreate;
    @ApiModelProperty(value = "创建时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date gmtCreate;
    @ApiModelProperty(value = "修改人")
    String userUpdate;
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date gmtUpdate;
    @ApiModelProperty(value = "复投满锅重量")
    Map<String, BigDecimal> againFullPotWeight = new HashMap<>();
    @ApiModelProperty(value = "初装满锅重量")
    BigDecimal initFullPotWeight;
}