/*
 *  Copyright 2019-2020 Zheng Jie
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.youchain.basicdata.service.dto;

import com.youchain.basicdata.domain.Area;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.StockType;
import com.youchain.modules.system.domain.Dept;
import com.youchain.modules.system.service.dto.DeptSmallDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import java.sql.Timestamp;
import java.io.Serializable;

/**
 * @website https://eladmin.vip
 * @description /
 * @author houjianlan
 * @date 2023-08-07
 **/
@Data
public class ItemDto implements Serializable {

    //id
    private Long id;

    //料号
    private String code;

    //物料描述
    private String name;

    //包装类型
    private String packageType;

    //规格数量
    private Double specQuantity=0D;

    //规格重量
    private Double specWeight=0D;

    //毛重
    private Double grossWeight=0D;

    //长
    private Double length=0D;

    //宽
    private Double width=0D;

    //高
    private Double height=0D;

    //体积
    private Double volume=0D;

    //单位
    private String unit;

    //推荐库区
    private Area recStorageArea;

    //类型
    private String type;

    //物料价值等级
    private String valueGrade;

    //保质期
    private Integer validPeriod=0;

    //预警天数
    private Integer alertDays=0;

    //是否批次
    private Boolean isBatch=false;

    //是否序列号
    private Boolean isSerial=false;

    //是否有效期
    private Boolean isValidPeriod=false;

    //是否危化品
    private Boolean isHazardous=false;

    //库存是否可用
    private Boolean isInvAvailable=false;

    //是否SAP料号
    private Boolean isSapMaterial=false;

    //热度值
    private Integer heatValue=0;

    //描述
    private String description;

    //是否失效
    private Boolean enabled=true;

    //库位
    private Point point;

    //仓库
    private Dept dept;

    //来源名称
    private String sourceName;

    //来源序号
    private Long sourceId;

}
