WmsSupplierOrder.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package com.jeesite.modules.wms.entity;
  2. import javax.validation.constraints.Size;
  3. import java.util.Date;
  4. import com.jeesite.common.mybatis.annotation.JoinTable;
  5. import com.jeesite.common.mybatis.annotation.JoinTable.Type;
  6. import com.fasterxml.jackson.annotation.JsonFormat;
  7. import javax.validation.constraints.NotBlank;
  8. import com.jeesite.common.entity.DataEntity;
  9. import com.jeesite.common.mybatis.annotation.Column;
  10. import com.jeesite.common.mybatis.annotation.Table;
  11. import com.jeesite.common.mybatis.mapper.query.QueryType;
  12. import com.jeesite.common.utils.excel.annotation.ExcelField;
  13. import com.jeesite.common.utils.excel.annotation.ExcelField.Align;
  14. import com.jeesite.common.utils.excel.annotation.ExcelFields;
  15. /**
  16. * 采购订单Entity
  17. * @author hzd
  18. * @version 2026-03-14
  19. */
  20. @Table(name="wms_supplier_order", alias="a", label="采购订单信息", columns={
  21. @Column(name="id", attrName="id", label="id", isPK=true),
  22. @Column(name="sn", attrName="sn", label="采购单号"),
  23. @Column(name="supplier_id", attrName="supplierId", label="供应商"),
  24. @Column(name="material_id", attrName="materialId", label="物料"),
  25. @Column(name="demand", attrName="demand", label="需求数"),
  26. @Column(name="arrival_date", attrName="arrivalDate", label="到货时间", isUpdateForce=true),
  27. @Column(name="nums", attrName="nums", label="每车次数量"),
  28. @Column(name="requirements", attrName="requirements", label="要求说明"),
  29. @Column(name="remark", attrName="remark", label="备注"),
  30. @Column(name="state", attrName="state", label="状态"),
  31. @Column(name="order_plan_id", attrName="orderPlanId", label="需求计划"),
  32. @Column(name="create_by", attrName="createBy", label="创建者", isUpdate=false, isQuery=false),
  33. @Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false),
  34. @Column(name="update_by", attrName="updateBy", label="更新者", isQuery=false),
  35. @Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false),
  36. @Column(name="status", attrName="status", label="状态", isUpdate=false),
  37. },joinTable={
  38. @JoinTable(type= JoinTable.Type.LEFT_JOIN, entity= WmsSupplier.class, attrName="this", alias="b",
  39. on="b.id = a.supplier_id",
  40. columns={
  41. @Column(name="title", attrName="supplierTitle", label="供应商名称", queryType=QueryType.LIKE),
  42. }),
  43. @JoinTable(type= JoinTable.Type.LEFT_JOIN, entity= WmsMaterial.class, attrName="this", alias="c",
  44. on="c.id = a.material_id",
  45. columns={
  46. @Column(name="title", attrName="materialTitle", label="物料名称", queryType=QueryType.LIKE),
  47. }),
  48. }, orderBy="a.update_date DESC"
  49. )
  50. public class WmsSupplierOrder extends DataEntity<WmsSupplierOrder> {
  51. private static final long serialVersionUID = 1L;
  52. private String sn; // 采购单号
  53. private String supplierId; // 供应商
  54. private String materialId; // 物料
  55. private String demand; // 需求数
  56. private Date arrivalDate; // 到货时间
  57. private String nums; // 每车次数量
  58. private String requirements; // 要求说明
  59. private String remark; // 备注
  60. private String state; // 状态
  61. private String orderPlanId; // 需求计划
  62. private String supplierTitle; // 供应商
  63. private String materialTitle; // 物料
  64. @ExcelFields({
  65. @ExcelField(title="采购单号", attrName="sn", align=Align.CENTER, sort=20),
  66. @ExcelField(title="供应商", attrName="supplierId", align=Align.CENTER, sort=30),
  67. @ExcelField(title="物料", attrName="materialId", align=Align.CENTER, sort=40),
  68. @ExcelField(title="需求数", attrName="demand", align=Align.CENTER, sort=50),
  69. @ExcelField(title="到货时间", attrName="arrivalDate", align=Align.CENTER, sort=60, dataFormat="yyyy-MM-dd hh:mm"),
  70. @ExcelField(title="每车次数量", attrName="nums", align=Align.CENTER, sort=70),
  71. @ExcelField(title="要求说明", attrName="requirements", align=Align.CENTER, sort=80),
  72. @ExcelField(title="备注", attrName="remark", align=Align.CENTER, sort=90),
  73. @ExcelField(title="状态", attrName="state", dictType="wms_order_state", align=Align.CENTER, sort=100),
  74. @ExcelField(title="需求计划", attrName="orderPlanId", align=Align.CENTER, sort=110),
  75. @ExcelField(title="创建者", attrName="createBy", align=Align.CENTER, sort=120),
  76. @ExcelField(title="创建时间", attrName="createDate", align=Align.CENTER, sort=130),
  77. @ExcelField(title="更新者", attrName="updateBy", align=Align.CENTER, sort=140),
  78. @ExcelField(title="更新时间", attrName="updateDate", align=Align.CENTER, sort=150),
  79. })
  80. public WmsSupplierOrder() {
  81. this(null);
  82. }
  83. public WmsSupplierOrder(String id){
  84. super(id);
  85. }
  86. @Size(min=0, max=255, message="采购单号长度不能超过 255 个字符")
  87. public String getSn() {
  88. return sn;
  89. }
  90. public void setSn(String sn) {
  91. this.sn = sn;
  92. }
  93. @Size(min=0, max=255, message="供应商长度不能超过 255 个字符")
  94. public String getSupplierId() {
  95. return supplierId;
  96. }
  97. public void setSupplierId(String supplierId) {
  98. this.supplierId = supplierId;
  99. }
  100. @Size(min=0, max=64, message="物料长度不能超过 64 个字符")
  101. public String getMaterialId() {
  102. return materialId;
  103. }
  104. public void setMaterialId(String materialId) {
  105. this.materialId = materialId;
  106. }
  107. @Size(min=0, max=255, message="需求数长度不能超过 255 个字符")
  108. public String getDemand() {
  109. return demand;
  110. }
  111. public void setDemand(String demand) {
  112. this.demand = demand;
  113. }
  114. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  115. public Date getArrivalDate() {
  116. return arrivalDate;
  117. }
  118. public void setArrivalDate(Date arrivalDate) {
  119. this.arrivalDate = arrivalDate;
  120. }
  121. @Size(min=0, max=255, message="每车次数量长度不能超过 255 个字符")
  122. public String getNums() {
  123. return nums;
  124. }
  125. public void setNums(String nums) {
  126. this.nums = nums;
  127. }
  128. @Size(min=0, max=255, message="要求说明长度不能超过 255 个字符")
  129. public String getRequirements() {
  130. return requirements;
  131. }
  132. public void setRequirements(String requirements) {
  133. this.requirements = requirements;
  134. }
  135. @Size(min=0, max=255, message="备注长度不能超过 255 个字符")
  136. public String getRemark() {
  137. return remark;
  138. }
  139. public void setRemark(String remark) {
  140. this.remark = remark;
  141. }
  142. @NotBlank(message="状态不能为空")
  143. @Size(min=0, max=1, message="状态长度不能超过 1 个字符")
  144. public String getState() {
  145. return state;
  146. }
  147. public void setState(String state) {
  148. this.state = state;
  149. }
  150. @Size(min=0, max=64, message="需求计划长度不能超过 64 个字符")
  151. public String getOrderPlanId() {
  152. return orderPlanId;
  153. }
  154. public void setOrderPlanId(String orderPlanId) {
  155. this.orderPlanId = orderPlanId;
  156. }
  157. public String getSupplierTitle() {
  158. return supplierTitle;
  159. }
  160. public void setSupplierTitle(String supplierTitle) {
  161. this.supplierTitle = supplierTitle;
  162. }
  163. public String getMaterialTitle() {
  164. return materialTitle;
  165. }
  166. public void setMaterialTitle(String materialTitle) {
  167. this.materialTitle = materialTitle;
  168. }
  169. }