| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- package org.dromara.crm.domain.bo;
- import io.github.linpeilie.annotations.AutoMapper;
- import jakarta.validation.constraints.*;
- import lombok.Data;
- import lombok.EqualsAndHashCode;
- import org.dromara.common.core.validate.AddGroup;
- import org.dromara.common.core.validate.EditGroup;
- import org.dromara.common.mybatis.core.domain.BaseEntity;
- import org.dromara.crm.domain.CrmQuoteProduct;
- import java.math.BigDecimal;
- /**
- * 报价单产品业务对象 crm_quote_product
- *
- * @author 系统管理员
- * @date 2025-01-03
- */
- @Data
- @EqualsAndHashCode(callSuper = true)
- @AutoMapper(target = CrmQuoteProduct.class, reverseConvertGenerate = false)
- public class CrmQuoteProductBo extends BaseEntity {
- /**
- * 主键ID
- */
- @NotNull(message = "主键不能为空", groups = { EditGroup.class })
- private Long id;
- /**
- * 报价单ID
- */
- private Long quoteId;
- /**
- * 产品ID(保存报价单时可为空,后端会按产品属性自动匹配或新增后回填)
- */
- private Long productId;
- /**
- * 产品名称
- */
- private String productName;
- /**
- * 产品编号
- */
- private String productNo;
- /**
- * 产品分类ID
- */
- private Long categoryId;
- /**
- * 产品分类名称
- */
- private String categoryName;
- /**
- * 规格型号
- */
- private String model;
- /**
- * 单位
- */
- private String unit;
- /**
- * 数量
- */
- @NotNull(message = "数量不能为空", groups = { AddGroup.class, EditGroup.class })
- @DecimalMin(value = "0.01", message = "数量必须大于0")
- private BigDecimal quantity;
- /**
- * 含税单价/元
- */
- @NotNull(message = "含税单价不能为空", groups = { AddGroup.class, EditGroup.class })
- @DecimalMin(value = "0.00", message = "含税单价不能为负数")
- private BigDecimal price;
- /**
- * 折扣(百分比)
- */
- @DecimalMin(value = "0.00", message = "折扣不能为负数")
- @DecimalMax(value = "100.00", message = "折扣不能超过100")
- private BigDecimal discount;
- /**
- * 含税总价/元
- */
- private BigDecimal subtotal;
- /**
- * 税费/元
- */
- @DecimalMin(value = "0.00", message = "税费不能为负数")
- private BigDecimal taxAmount;
- /**
- * 税率(%)
- */
- @DecimalMin(value = "0.00", message = "税率不能为负数")
- @DecimalMax(value = "100.00", message = "税率不能超过100")
- private BigDecimal taxRate;
- /**
- * 包装规格
- */
- private String packageSpec;
- /**
- * 送货方式
- */
- private String deliveryMethod;
- /**
- * 产品描述
- */
- private String description;
- /**
- * 排序号
- */
- private Integer sort;
- /**
- * 备注
- */
- private String remark;
- }
|