package com.zt.plat.module.qms.resource.material.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 物料实例新增/修改 Request VO")
@Data
public class MaterialInfomationSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13447")
    private Long id;

    @Schema(description = "物料大类id", example = "2691")
    private Long productId;

    @Schema(description = "批次id", example = "2703")
    private Long batchId;

    @Schema(description = "存放位置", example = "13603")
    private String locationId;

    @Schema(description = "编码")
    private String code;

    @Schema(description = "名称")
    private String name;

    @Schema(description = "技术参数")
    private String parameter;

    @Schema(description = "上架状态,0-未上架，1-已上架", example = "2")
    private Integer publishStatus;

    @Schema(description = "领用状态,0-未领用，1-已领用", example = "1")
    private Integer usageStatus;

    @Schema(description = "所属部门ID", example = "16158")
    private Integer managerDepartmentId;

    @Schema(description = "领用人部门", example = "王五")
    private String managerDepartmentName;

    @Schema(description = "负责人id", example = "7209")
    private Long managerUserId;

    @Schema(description = "负责人", example = "张三")
    private String managerUserName;

    @Schema(description = "开封状态,0-未开封，1-已开封", example = "2")
    private Integer openStatus;

    @Schema(description = "开封人id", example = "8280")
    private Long openUserId;

    @Schema(description = "开封人", example = "王五")
    private String openUserName;

    @Schema(description = "开封日期")
    private LocalDateTime openDate;

    @Schema(description = "到期日期")
    private LocalDate expirationDate;

    @Schema(description = "过期状态")
    private String expirationFlag;

    @Schema(description = "剩余量")
    private String remainingVolume;

    @Schema(description = "用完标记,0-未标记，1-已用完标记")
    private Integer useEndFlag;

    @Schema(description = "所属部门")
    private String systemDepartmentCode;

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

}