package com.ruoyi.sales.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; /** * 产品信息对象 sales_ledger_product * * @author ruoyi * @date 2025-05-08 */ @TableName("sales_ledger_product") @Data public class SalesLedgerProduct implements Serializable { private static final long serialVersionUID = 1L; /** * 产品信息主键 */ @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 关联销售台账主表主键 */ @Excel(name = "关联销售台账主表主键") private Long salesLedgerId; /** * 预警数量 */ private BigDecimal warnNum; /** * 产品大类 */ @Excel(name = "产品大类") private String productCategory; /** * 规格型号 */ @Excel(name = "规格型号") private String specificationModel; /** * 单位 */ @Excel(name = "单位") private String unit; /** * 数量 */ @Excel(name = "数量") private BigDecimal quantity; @Excel(name = "最低库存数量") private BigDecimal minStock; /** * 税率 */ @Excel(name = "税率") private BigDecimal taxRate; /** * 含税单价 */ @Excel(name = "含税单价") private BigDecimal taxInclusiveUnitPrice; /** * 含税总价 */ @Excel(name = "含税总价") private BigDecimal taxInclusiveTotalPrice; /** * 不含税总价 */ @Excel(name = "不含税总价") private BigDecimal taxExclusiveTotalPrice; /** * 发票类型 */ @Excel(name = "发票类型") private String invoiceType; /** * 台账类型 1.销售 2,采购 */ private Integer type; /** * 产品id */ private Long productId; /** * 产品规格id */ private Long productModelId; @Schema(description = "登记人") private String register; @Schema(description = "登记日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "登记日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private LocalDateTime registerDate; /** * 发货车牌号 */ @Excel(name = "发货车牌号") @TableField(exist = false) private String shippingCarNumber; @Schema(description = "快递公司") @TableField(exist = false) private String expressCompany; @Schema(description = "快递单号") @TableField(exist = false) private String expressNumber; /** * 发货日期 */ @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd") @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date shippingDate; @TableField(exist = false) @Schema(description = "发货状态") private String shippingStatus = "待发货"; /** * 产品状态 */ // @TableField(exist = false) @Schema(description = "产品状态:1-充足") private Integer approveStatus; @Schema(description = "是否质检") //针对采购台账,是否质检 private Boolean isChecked; @TableField(exist = false) private Integer hasSufficientStock; // 退货数量 @TableField(exist = false) private BigDecimal returnQuality; // 可用数量 quantity - returnQuality @TableField(exist = false) private BigDecimal availableQuality; @Schema(description = "创建用户") @TableField(fill = FieldFill.INSERT) private Integer createUser; @TableField(fill = FieldFill.INSERT) private Long deptId; @Schema(description = "是否生产") //针对销售台账,是否生产 private Boolean isProduction; @TableField(exist = false) @Schema(description = "待发货数量") private BigDecimal noQuantity; }