bill.go 10 KB

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