
package com.tmerclub.cloud.product.dto;

import com.tmerclub.cloud.product.model.TakeStockSpu;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * DTO
 *
 * @author lhd
 * @date 2022-06-22 16:57:27
 */
public class TakeStockDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "盘点id")
    private Long takeStockId;

    @Schema(description = "盘点单号")
    private String takeStockNo;

    @Schema(description = "盘点状态 0已作废 1盘点中 2已完成")
    private Integer billStatus;

    @Schema(description = "制单人")
    private Long maker;

    @Schema(description = "盘点区域名称")
    private String stockRegionName;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "制单人手机号")
    private String makerMobile;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建盘点开始时间")
    private LocalDateTime createStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建盘点结束时间")
    private LocalDateTime createEndTime;

    @Schema(description = "商品名称")
    private String spuName;

    @Schema(description = "商品编码")
    private String partyCode;

    @Schema(description = "盘点商品列表")
    private List<TakeStockSpu> takeStockSpuList;

    @Hidden
    @Schema(description = "仓库id")
    private Long warehouseId;

    public Long getTakeStockId() {
        return takeStockId;
    }

    public void setTakeStockId(Long takeStockId) {
        this.takeStockId = takeStockId;
    }

    public String getTakeStockNo() {
        return takeStockNo;
    }

    public void setTakeStockNo(String takeStockNo) {
        this.takeStockNo = takeStockNo;
    }

    public Integer getBillStatus() {
        return billStatus;
    }

    public void setBillStatus(Integer billStatus) {
        this.billStatus = billStatus;
    }

    public Long getMaker() {
        return maker;
    }

    public void setMaker(Long maker) {
        this.maker = maker;
    }

    public String getStockRegionName() {
        return stockRegionName;
    }

    public void setStockRegionName(String stockRegionName) {
        this.stockRegionName = stockRegionName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getMakerMobile() {
        return makerMobile;
    }

    public void setMakerMobile(String makerMobile) {
        this.makerMobile = makerMobile;
    }

    public LocalDateTime getCreateStartTime() {
        return createStartTime;
    }

    public void setCreateStartTime(LocalDateTime createStartTime) {
        this.createStartTime = createStartTime;
    }

    public LocalDateTime getCreateEndTime() {
        return createEndTime;
    }

    public void setCreateEndTime(LocalDateTime createEndTime) {
        this.createEndTime = createEndTime;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getPartyCode() {
        return partyCode;
    }

    public void setPartyCode(String partyCode) {
        this.partyCode = partyCode;
    }

    public List<TakeStockSpu> getTakeStockSpuList() {
        return takeStockSpuList;
    }

    public void setTakeStockSpuList(List<TakeStockSpu> takeStockSpuList) {
        this.takeStockSpuList = takeStockSpuList;
    }

    public Long getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(Long warehouseId) {
        this.warehouseId = warehouseId;
    }

    @Override
    public String toString() {
        return "TakeStockDTO{" +
                "takeStockId=" + takeStockId +
                ", takeStockNo='" + takeStockNo + '\'' +
                ", billStatus=" + billStatus +
                ", maker=" + maker +
                ", stockRegionName='" + stockRegionName + '\'' +
                ", remark='" + remark + '\'' +
                ", shopId=" + shopId +
                ", makerMobile='" + makerMobile + '\'' +
                ", createStartTime=" + createStartTime +
                ", createEndTime=" + createEndTime +
                ", spuName='" + spuName + '\'' +
                ", partyCode='" + partyCode + '\'' +
                ", takeStockSpuList=" + takeStockSpuList +
                ", warehouseId=" + warehouseId +
                '}';
    }
}
