package com.zt.plat.module.qms.office.supplier.controller.vo;

import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

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

import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 供应商属性 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SupplierPropertiesRespVO {

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

    @Schema(description = "供应商ID", example = "31214")
    @ExcelProperty("供应商ID")
    private Long supplierId;

    @Schema(description = "业务类型,【字典】【jy_supplier_bsn_type】供应商类型、资质、证照等", example = "1")
    @ExcelProperty("业务类型,【字典】【jy_supplier_bsn_type】供应商类型、资质、证照等")
    private String businessType;

    @Schema(description = "业务编码")
    @ExcelProperty("业务编码")
    private String businessCode;

    @Schema(description = "子业务编码")
    @ExcelProperty("子业务编码")
    @Dict(dicCode = "")
    private String subitemCode;

    @Schema(description = "名称", example = "王五")
    @ExcelProperty("名称")
    private String name;

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

    @Schema(description = "有效期开始")
    @ExcelProperty("有效期开始")
    private LocalDateTime startDate;

    @Schema(description = "有效期截止")
    @ExcelProperty("有效期截止")
    private LocalDateTime endDate;

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

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

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "附件对象")
    private CommonResult<List<BusinessFileWithUrlRespDTO>> businessFileRet;

}