package com.zt.plat.module.qms.business.bus.controller.vo;

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

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 样品调拨新增/修改 Request VO")
@Data
public class BusinessSampleDispatchSaveReqVO {

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

    @Schema(description = "主管部门id", example = "14119")
    private Long mainDepartmentId;

    @Schema(description = "主管部门名称", example = "王五")
    private String mainDepartmentName;

    @Schema(description = "申请人")
    private String applyUser;

    @Schema(description = "申请人id", example = "20497")
    private Long applyUserId;

    @Schema(description = "申请部门")
    private String applyDepartment;

    @Schema(description = "申请部门id", example = "28216")
    private Long applyDepartmentId;

    @Schema(description = "申请时间")
    private LocalDateTime applyTime;

    @Schema(description = "申请原因")
    private String applyContent;

    @Schema(description = "库管员")
    private String warehouseUser;

    @Schema(description = "库管员ID", example = "15295")
    private Long warehouseUserId;

    @Schema(description = "提交状态，用于无申请调拨,0-未提交；1-已提交", example = "2")
    private String submitStatus;

    @Schema(description = "流程实例id", example = "25006")
    private String flowInstanceId;

    @Schema(description = "流程审批状态", example = "1")
    private String flowStatus;

    @Schema(description = "完成状态", example = "1")
    private String finishStatus;

    @Schema(description = "取消状态", example = "1")
    private String cancelStatus;

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

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

    @Schema(description = "仓库名称")
    private String warehouseName;

    @Schema(description = "仓库编码")
    private String warehouseCode;

    //=========================扩展字段=======================================
    @Schema(description = "新增子样id")
    List<Long> addSubSampleIds;

    @Schema(description = "移除明细id")
    List<Long> removeDetailIds;


}