package com.zt.plat.module.base.controller.admin.departmentmaterial.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
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 DepartmentMaterialPageReqVO extends PageParam {

    @Schema(description = "物料信息ID", example = "3923")
    private Long infomationId;

    @Schema(description = "物料信息ID集合(内部使用)")
    private List<Long> infomationIds;

    @Schema(description = "物料分类ID", example = "30114")
    private Long classesId;

    @Schema(description = "部门ID", example = "1001")
    private Long deptId;

    @Schema(description = "字典数据值-物料类型")
    private String dictionaryDataValue;

    @Schema(description = "状态编码", example = "1")
    // 对应系统字典 base_material_status，用于前端筛选
    private String status;

    @Schema(description = "物料编码")
    private String materialNumber;

    @Schema(description = "物料名称")
    private String materialName;

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

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

    @Schema(description = "是否是公司")
    private Boolean isCompany;

    @Schema(description = "部门ID集合(内部使用)")
    private List<Long> deptIds;
}