CrmContractProductVo.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package org.dromara.crm.domain.vo;
  2. import cn.idev.excel.annotation.ExcelProperty;
  3. import io.github.linpeilie.annotations.AutoMapper;
  4. import lombok.Data;
  5. import org.dromara.common.excel.annotation.ExcelDictFormat;
  6. import org.dromara.common.excel.convert.ExcelDictConvert;
  7. import org.dromara.crm.domain.CrmContractProduct;
  8. import com.fasterxml.jackson.annotation.JsonFormat;
  9. import java.io.Serial;
  10. import java.io.Serializable;
  11. import java.math.BigDecimal;
  12. import java.time.LocalDate;
  13. import java.time.LocalDateTime;
  14. import java.util.Date;
  15. import java.util.List;
  16. /**
  17. * CRM合同产品明细视图对象 crm_contract_product
  18. *
  19. * @author AI Assistant
  20. * @date 2025-10-04
  21. */
  22. @Data
  23. @AutoMapper(target = CrmContractProduct.class)
  24. public class CrmContractProductVo implements Serializable {
  25. @Serial
  26. private static final long serialVersionUID = 1L;
  27. /**
  28. * 主键ID
  29. */
  30. @ExcelProperty(value = "ID")
  31. private Long id;
  32. /**
  33. * 合同ID
  34. */
  35. private Long contractId;
  36. /**
  37. * 产品ID
  38. */
  39. private Long productId;
  40. /**
  41. * 产品名称
  42. */
  43. @ExcelProperty(value = "产品名称")
  44. private String productName;
  45. /**
  46. * 产品编号
  47. */
  48. @ExcelProperty(value = "产品编号")
  49. private String productNo;
  50. /**
  51. * 产品分类ID
  52. */
  53. private Long categoryId;
  54. /**
  55. * 产品分类名称
  56. */
  57. @ExcelProperty(value = "产品分类")
  58. private String categoryName;
  59. /**
  60. * 规格型号
  61. */
  62. @ExcelProperty(value = "规格型号")
  63. private String model;
  64. /**
  65. * 单位
  66. */
  67. @ExcelProperty(value = "单位")
  68. private String unit;
  69. /**
  70. * 数量
  71. */
  72. @ExcelProperty(value = "数量")
  73. private BigDecimal quantity;
  74. /**
  75. * 单价
  76. */
  77. @ExcelProperty(value = "单价")
  78. private BigDecimal price;
  79. /**
  80. * 折扣
  81. */
  82. @ExcelProperty(value = "折扣(%)")
  83. private BigDecimal discount;
  84. /**
  85. * 税率
  86. */
  87. @ExcelProperty(value = "税率(%)")
  88. private BigDecimal taxRate;
  89. /**
  90. * 税费金额
  91. */
  92. @ExcelProperty(value = "税费金额")
  93. private BigDecimal taxAmount;
  94. /**
  95. * 小计金额
  96. */
  97. @ExcelProperty(value = "小计金额")
  98. private BigDecimal subtotal;
  99. /**
  100. * 交付日期
  101. */
  102. @ExcelProperty(value = "交付日期")
  103. private LocalDate deliveryDate;
  104. /**
  105. * 交付状态
  106. */
  107. @ExcelProperty(value = "交付状态", converter = ExcelDictConvert.class)
  108. @ExcelDictFormat(dictType = "crm_contract_delivery_status")
  109. private String deliveryStatus;
  110. /**
  111. * 已交付数量
  112. */
  113. @ExcelProperty(value = "已交付数量")
  114. private BigDecimal deliveredQuantity;
  115. /**
  116. * 产品描述
  117. */
  118. private String description;
  119. /**
  120. * 包装规格
  121. */
  122. @ExcelProperty(value = "包装规格")
  123. private String packageSpec;
  124. /**
  125. * 送货方式
  126. */
  127. @ExcelProperty(value = "送货方式")
  128. private String deliveryMethod;
  129. /**
  130. * 排序号
  131. */
  132. private Integer sort;
  133. /**
  134. * 创建时间
  135. */
  136. @ExcelProperty(value = "创建时间")
  137. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
  138. private Date createTime;
  139. /**
  140. * 备注
  141. */
  142. @ExcelProperty(value = "备注")
  143. private String remark;
  144. /**
  145. * 框架合同调价区间(查询时组装)
  146. */
  147. private List<CrmContractProductPriceTierVo> priceTiers;
  148. }