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

import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 使用记录分页 Request VO")
@Data
public class MaterialUseRecordPageReqVO extends PageParam {

    @Schema(description = "物料实例id", example = "16550")
    private Long infomationId;

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

    @Schema(description = "是否配置危险品")
    private String hazardousMakeFlag;

    @Schema(description = "本次数量")
    private String operationQuantity;

    @Schema(description = "之前量")
    private String beforeQuantity;

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

    @Schema(description = "使用日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] useDate;

    @Schema(description = "使用人id", example = "22146")
    private Long userId;

    @Schema(description = "使用人", example = "ZT")
    private String userName;

    @Schema(description = "说明")
    private String reason;

    @Schema(description = "监督人id", example = "13958")
    private Long supervisorId;

    @Schema(description = "监督人姓名", example = "李四")
    private String supervisorName;

    @Schema(description = "审核确认状态,0-未确认，1-已确认")
    private String reviewStatus;

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

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

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}