package com.unis.module.coding.controller.admin.hwk.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

import static com.unis.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.unis.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;

@Schema(description = "管理后台 - 货位卡信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class HwkRespVO {

    @Schema(description = "雪花id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25325")
    @ExcelProperty("雪花id")
    private Long id;

    @Schema(description = "货位名称")
    @ExcelProperty("货位名称")
    private String hwmc;

    @Schema(description = "保管员姓名")
    @ExcelProperty("保管员姓名")
    private String bgyxm;

    @Schema(description = "粮食品种名称")
    @ExcelProperty("粮食品种名称")
    private String lspzmc;

    @Schema(description = "粮食等级编码(SYSTEM_DICT_DATA.LABEL)")
    @ExcelProperty("粮食等级编码(SYSTEM_DICT_DATA.LABEL)")
    private String lsdjbm;

    @Schema(description = "收获年度")
    @ExcelProperty("收获年度")
    private Integer shnd;

    @Schema(description = "产地编码(system_area_level.area_code)")
    @ExcelProperty("产地编码(system_area_level.area_code)")
    private String cdbm;

    @Schema(description = "实际数量(吨)")
    @ExcelProperty("实际数量(吨)")
    private BigDecimal sjsl;

    @Schema(description = "计价数量(吨)")
    @ExcelProperty("计价数量(吨)")
    private BigDecimal jjsl;

    @Schema(description = "入库时间")
    @ExcelProperty("入库时间")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime rksj;

    @Schema(description = "保管方式")
    @ExcelProperty("保管方式")
    private String bgfs;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime createTime;

    @Schema(description = "仓房id(DELIVERY_CAXX.ID)", example = "26067")
    @ExcelProperty("仓房id(DELIVERY_CAXX.ID)")
    private Long cfId;

    @Schema(description = "库区id(DELIVERY_KQXX.ID)", example = "14953")
    @ExcelProperty("库区id(DELIVERY_KQXX.ID)")
    private Long kqid;

    @Schema(description = "粮食品种编码", example = "14953")
    @ExcelProperty("粮食品种编码")
    private String lspzbm;


}