package com.czg.print;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 入库打印单
 *
 * @author ww
 */
@Data
@Accessors(chain = true)
public class StockPrintDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;
    //IN OUT
    private String type;
    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 出入库时间
     */
    private LocalDateTime inStockTime;

    /**
     * 出入库耗材明细列表
     */
    private List<InStockItem> items;

    /**
     * 耗材总种类数
     */
    private Integer consCount;

    /**
     * 出入库总数量
     */
    private BigDecimal stockNumberCount;

    /**
     * 总金额
     */
    private BigDecimal amountCount;

    /**
     * 操作员
     */
    private String operator;

    /**
     * 打印时间
     */
    private LocalDateTime printTime;


    public InStockItem createInStockItem(String consName, String unit, BigDecimal stockNumber, BigDecimal amount) {
        InStockItem item = new InStockItem();
        item.setConsName(consName);
        item.setUnit(unit);
        item.setStockNumber(stockNumber);
        item.setAmount(amount);
        return item;
    }


    /**
     * 入库耗材明细
     *
     * @author ww
     */
    @Data
    @Accessors(chain = true)
    public static class InStockItem {
        /**
         * 耗材名称
         */
        private String consName;

        /**
         * 库存单位
         */
        private String unit;

        /**
         * 出入数量
         */
        private BigDecimal stockNumber;

        /**
         * 金额
         */
        private BigDecimal amount;
    }


}
