package com.ruoyi.procurementrecord.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; /** * @author :yys * @date : 2025/11/10 11:51 */ @TableName("custom_storage") @Data public class CustomStorage { @TableField(exist = false) private Boolean flag; private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; // 入库时间 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd") @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd") private Date inboundDate; /** * 编号 */ @Excel(name = "编号") private String code; @TableField(exist = false) private String timeStr; // ===== 库存预警相关展示字段(来自 custom_storage_warning_record,非本表字段)===== /** 当前库存(页面列 currentStock,SQL 里由 availableStock 别名而来) */ @TableField(exist = false) private BigDecimal currentStock; /** 预警级别 */ @TableField(exist = false) private String warningLevel; /** 预警状态 */ @TableField(exist = false) private String warningStatus; /** 预警时间 */ @TableField(exist = false) private LocalDateTime warningTime; /** 预计缺货时间 */ @TableField(exist = false) private LocalDateTime expectedShortageTime; /** 建议类型 */ @TableField(exist = false) private String suggestionType; /** 建议内容 */ @TableField(exist = false) private String suggestionContent; /** * 待出库数量 */ @Excel(name = "待出库数量") @TableField(exist = false) private BigDecimal inboundNum0; /** * 出库数量 */ @Excel(name = "出库数量") @TableField(exist = false) private BigDecimal totalInboundNum = BigDecimal.ZERO; // 物品类型 @Excel(name = "物品类型") private String itemType; // 入库批次 @Excel(name = "入库批次") private String inboundBatches; // 入库数量 @Excel(name = "入库数量") private BigDecimal inboundNum; // 供应商名称 @Excel(name = "供应商名称") private String supplierName; // 产品大类 @Excel(name = "产品大类") private String productCategory; // 规格型号 @Excel(name = "规格型号") private String specificationModel; // 单位 @Excel(name = "单位") private String unit; // 含税单价 @Excel(name = "含税单价") private BigDecimal taxInclusiveUnitPrice; // 含税总价 @Excel(name = "含税总价") private BigDecimal taxInclusiveTotalPrice; // 税率(%) @Excel(name = "税率(%)") private BigDecimal taxRate; // 不含税总价 @Excel(name = "不含税总价") private BigDecimal taxExclusiveTotalPrice; /** * 入库用户 */ @Excel(name = "入库用户") private String createBy; /** * 入库用户id */ @TableField(fill = FieldFill.INSERT) private Integer createUser; /** * 入库时间 */ @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDateTime createTime; /** * 修改者 */ @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; /** * 租户ID */ @TableField(fill = FieldFill.INSERT) private Long tenantId; @ApiModelProperty(value = "登记人") private String registrant; /** * 预警数量 */ @ApiModelProperty("预警数量") private BigDecimal warnNum; }