bill.go 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. package model
  2. import (
  3. "time"
  4. "go.mongodb.org/mongo-driver/bson/primitive"
  5. )
  6. // 采购单
  7. type PaperBill struct {
  8. Id string `bson:"id,omitempty" json:"id"`
  9. //名字
  10. Name string `bson:"name,omitempty" json:"name"`
  11. //规格
  12. Norm string `bson:"norm,omitempty" json:"norm"`
  13. //宽
  14. Width string `bson:"width,omitempty" json:"width"`
  15. //长
  16. Height string `bson:"height,omitempty" json:"height"`
  17. Price float64 `bson:"price,omitempty" json:"price"`
  18. Price2 float64 `bson:"price2,omitempty" json:"price2"`
  19. PriceUnit string `bson:"priceUnit,omitempty" json:"priceUnit"`
  20. Price2Unit string `bson:"price2Unit,omitempty" json:"price2Unit"`
  21. // 下单数量
  22. OrderCount int `bson:"orderCount,omitempty" json:"orderCount"`
  23. // 下单单价
  24. OrderPrice float64 `bson:"orderPrice,omitempty" json:"orderPrice"`
  25. //备注
  26. Remark string `bson:"remark,omitempty" json:"remark"`
  27. //备注
  28. ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
  29. //交货时间
  30. DeliveryTime time.Time `bson:"deliveryTime,omitempty" json:"deliveryTime"`
  31. }
  32. type PurchaseBill struct {
  33. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  34. PackId primitive.ObjectID `bson:"packId,omitempty" json:"packId"`
  35. PlanId primitive.ObjectID `bson:"planId,omitempty" json:"planId"`
  36. SupplierId primitive.ObjectID `bson:"supplierId,omitempty" json:"supplierId"`
  37. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId"`
  38. UserName string `bson:"userName,omitempty" json:"userName"`
  39. //类别
  40. Type string `bson:"type,omitempty" json:"type"`
  41. // 进行中 created 已完成 complete 已弃用 deprecated 已审核 reviewed
  42. Status string `bson:"status,omitempty" json:"status"`
  43. Reviewed int `bson:"reviewed,omitempty" json:"reviewed"` // -1 代表未审核 1已审核
  44. SignUsers []primitive.ObjectID `bson:"signUsers,omitempty" json:"signUsers"` // 多个签名人
  45. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  46. UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime"`
  47. CompleteTime time.Time `bson:"completeTime,omitempty" json:"completeTime"`
  48. //供应商
  49. Supplier string `bson:"supplier,omitempty" json:"supplier"`
  50. //送货地址
  51. SendTo string `bson:"sendTo,omitempty" json:"sendTo"`
  52. //商品名字
  53. ProductName string `bson:"productName,omitempty" json:"productName"`
  54. //纸张类采购
  55. Paper []*PaperBill `bson:"papers,omitempty" json:"papers"`
  56. // 序号
  57. SerialNumber string `bson:"serialNumber,omitempty" json:"serialNumber"`
  58. Remark string `bson:"remark,omitempty" json:"remark"`
  59. // 单据类型
  60. BillType string `bson:"billType,omitempty" json:"billType"`
  61. // 发送给供应商
  62. IsSend bool `bson:"isSend,omitempty" json:"isSend"`
  63. SendTime time.Time `bson:"sendTime,omitempty" json:"sendTime"`
  64. // 供应商确认
  65. IsAck *bool `bson:"isAck,omitempty" json:"isAck"`
  66. AckTime time.Time `bson:"ackTime,omitempty" json:"ackTime"`
  67. // 部件工序名
  68. CompProduceName string `bson:"compProduceName,omitempty" json:"compProduceName"`
  69. // 供应商备注
  70. SupplierRemark string `bson:"supplierRemark,omitempty" json:"supplierRemark"`
  71. }
  72. // 工艺生产数据
  73. type ProduceBillData struct {
  74. Id string `bson:"id,omitempty" json:"id"`
  75. //名字
  76. Name string `bson:"name,omitempty" json:"name"`
  77. //规格(质量要求)
  78. Norm string `bson:"norm,omitempty" json:"norm"`
  79. //单价 数量
  80. Price float64 `bson:"price,omitempty" json:"price"`
  81. Price2 float64 `bson:"price2,omitempty" json:"price2"` // 对应unit2
  82. // 下单数量
  83. OrderCount int `bson:"orderCount,omitempty" json:"orderCount"`
  84. // 下单单价
  85. OrderPrice float64 `bson:"orderPrice,omitempty" json:"orderPrice"`
  86. // 确认收货数量
  87. ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
  88. //备注
  89. Remark string `bson:"remark,omitempty" json:"remark"`
  90. //纸张
  91. Paper string `bson:"paper,omitempty" json:"paper"`
  92. //来纸尺寸
  93. PaperSize string `bson:"paperSize,omitempty" json:"paperSize"`
  94. //印刷尺寸/覆膜尺寸
  95. PrintSize string `bson:"printSize,omitempty" json:"printSize"`
  96. //交货时间
  97. DeliveryTime time.Time `bson:"deliveryTime,omitempty" json:"deliveryTime"`
  98. Unit string `bson:"unit,omitempty" json:"unit"`
  99. Unit2 string `bson:"unit2,omitempty" json:"unit2"`
  100. }
  101. type ProduceBill struct {
  102. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  103. PackId primitive.ObjectID `bson:"packId,omitempty" json:"packId"`
  104. PlanId primitive.ObjectID `bson:"planId,omitempty" json:"planId"`
  105. SupplierId primitive.ObjectID `bson:"supplierId,omitempty" json:"supplierId"`
  106. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId"`
  107. UserName string `bson:"userName,omitempty" json:"userName"`
  108. // 类别
  109. Type string `bson:"type,omitempty" json:"type"`
  110. // 进行中 created 已完成 complete 已弃用 deprecated
  111. Status string `bson:"status,omitempty" json:"status"`
  112. Reviewed int `bson:"reviewed,omitempty" json:"reviewed"` // -1 代表未审核 1已审核
  113. SignUsers []primitive.ObjectID `bson:"signUsers,omitempty" json:"signUsers"` // 多个签名人
  114. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  115. UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime"`
  116. CompleteTime time.Time `bson:"completeTime,omitempty" json:"completeTime"`
  117. //供应商
  118. Supplier string `bson:"supplier,omitempty" json:"supplier"`
  119. //送货地址
  120. SendTo string `bson:"sendTo,omitempty" json:"sendTo"`
  121. //商品名字
  122. ProductName string `bson:"productName,omitempty" json:"productName"`
  123. //纸张类采购
  124. Produces []*ProduceBillData `bson:"produces,omitempty" json:"produces"`
  125. // 序号
  126. SerialNumber string `bson:"serialNumber,omitempty" json:"serialNumber"`
  127. //备注
  128. Remark string `bson:"remark,omitempty" json:"remark"`
  129. IsPrint bool `bson:"isPrint,omitempty" json:"isPrint"`
  130. IsLam bool `bson:"isLam,omitempty" json:"isLam"`
  131. // 单据类型
  132. BillType string `bson:"billType,omitempty" json:"billType"`
  133. // 发送给供应商
  134. IsSend bool `bson:"isSend,omitempty" json:"isSend"`
  135. SendTime time.Time `bson:"sendTime,omitempty" json:"sendTime"`
  136. // 供应商确认
  137. IsAck *bool `bson:"isAck,omitempty" json:"isAck"`
  138. AckTime time.Time `bson:"ackTime,omitempty" json:"ackTime"`
  139. // 部件包含工序
  140. CompProduceName string `bson:"compProduceName,omitempty" json:"compProduceName"`
  141. // 供应商备注
  142. SupplierRemark string `bson:"supplierRemark,omitempty" json:"supplierRemark"`
  143. }
  144. // 成品采购单据
  145. type ProductBill struct {
  146. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  147. PackId primitive.ObjectID `bson:"packId,omitempty" json:"packId"`
  148. PlanId primitive.ObjectID `bson:"planId,omitempty" json:"planId"`
  149. SupplierId primitive.ObjectID `bson:"supplierId,omitempty" json:"supplierId"`
  150. UserId primitive.ObjectID `bson:"userId,omitempty" json:"userId"`
  151. UserName string `bson:"userName,omitempty" json:"userName"`
  152. // 类别
  153. Type string `bson:"type,omitempty" json:"type"`
  154. // 进行中 created 已完成 complete 已弃用 deprecated
  155. Status string `bson:"status,omitempty" json:"status"`
  156. Reviewed int `bson:"reviewed,omitempty" json:"reviewed"` // -1 代表未审核 1已审核
  157. SignUsers []primitive.ObjectID `bson:"signUsers,omitempty" json:"signUsers"` // 多个签名人
  158. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  159. UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime"`
  160. CompleteTime time.Time `bson:"completeTime,omitempty" json:"completeTime"`
  161. //供应商
  162. Supplier string `bson:"supplier,omitempty" json:"supplier"`
  163. //送货地址
  164. SendTo string `bson:"sendTo,omitempty" json:"sendTo"`
  165. //商品名字
  166. ProductName string `bson:"productName,omitempty" json:"productName"`
  167. //有哪些成品采购数据
  168. Products []*ProductBillData `bson:"products,omitempty" json:"products"`
  169. // 序号
  170. SerialNumber string `bson:"serialNumber,omitempty" json:"serialNumber"`
  171. //备注
  172. Remark string `bson:"remark,omitempty" json:"remark"`
  173. // 单据类型
  174. BillType string `bson:"billType,omitempty" json:"billType"`
  175. // 发送给供应商
  176. IsSend bool `bson:"isSend,omitempty" json:"isSend"`
  177. SendTime time.Time `bson:"sendTime,omitempty" json:"sendTime"`
  178. // 供应商确认
  179. IsAck *bool `bson:"isAck,omitempty" json:"isAck"`
  180. AckTime time.Time `bson:"ackTime,omitempty" json:"ackTime"`
  181. // 部件工序名
  182. CompProduceName string `bson:"compProduceName,omitempty" json:"compProduceName"`
  183. // 供应商备注
  184. SupplierRemark string `bson:"supplierRemark,omitempty" json:"supplierRemark"`
  185. }
  186. // 工艺生产数据
  187. type ProductBillData struct {
  188. Id string `bson:"id,omitempty" json:"id"`
  189. //名字
  190. Name string `bson:"name,omitempty" json:"name"`
  191. //规格(质量要求)
  192. Norm string `bson:"norm,omitempty" json:"norm"`
  193. //单价 数量
  194. Price float64 `bson:"price,omitempty" json:"price"`
  195. // 下单数量
  196. OrderCount int `bson:"orderCount,omitempty" json:"orderCount"`
  197. // 下单单价
  198. OrderPrice float64 `bson:"orderPrice,omitempty" json:"orderPrice"`
  199. //备注
  200. Remark string `bson:"remark,omitempty" json:"remark"`
  201. //交货时间
  202. DeliveryTime time.Time `bson:"deliveryTime,omitempty" json:"deliveryTime"`
  203. // 确认收货数量
  204. ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
  205. //纸张
  206. Unit string `bson:"unit,omitempty" json:"unit"`
  207. }