plan.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package model
  2. import (
  3. "time"
  4. "go.mongodb.org/mongo-driver/bson/primitive"
  5. )
  6. // 生产计划
  7. type ProductPlan struct {
  8. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  9. Name string `bson:"name,omitempty" json:"name"`
  10. // 包装 待生产的产品
  11. Pack *Pack `bson:"pack,omitempty" json:"pack"`
  12. Thumbnail string `bson:"thumbnail,omitempty" json:"thumbnail"`
  13. CreateUser string `bson:"createUser,omitempty" json:"createUser"`
  14. //生产数量
  15. Total int `bson:"total,omitempty" json:"total"`
  16. //状态
  17. Status string `bson:"status,omitempty" json:"status"`
  18. //总价
  19. TotalPrice *float64 `bson:"totalPrice,omitempty" json:"totalPrice"`
  20. UpdateTime time.Time `bson:"updteTime,omitempty" json:"updateTime"`
  21. CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
  22. }
  23. // 包装
  24. type Pack struct {
  25. Id primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
  26. Name string `bson:"name" json:"name"`
  27. Thumbnail string `bson:"thumbnail" json:"thumbnail"`
  28. // 部件数量
  29. CompCounts int `bson:"compCounts" json:"compCounts"`
  30. // 设计师
  31. Designer string `bson:"designer" json:"designer"`
  32. // 组成包装的部件
  33. Components []*PackComponent `bson:"components" json:"components"`
  34. CreateTime time.Time `bson:"createTime" json:"createTime"`
  35. UpdateTime time.Time `bson:"updateTime" json:"updateTime"`
  36. }
  37. type PackComponent struct {
  38. Id string `bson:"id" json:"id"`
  39. Name string `bson:"name" json:"name"`
  40. Thumbnail string `bson:"thumbnail" json:"thumbnail"`
  41. //数量
  42. Count int `bson:"count" json:"count"`
  43. //刀版图
  44. Uv string `bson:"uv" json:"uv"`
  45. //部件尺寸
  46. UvSize string `bson:"uvSize" json:"uvSize"`
  47. //所有材料
  48. Stages []*ComponentStage `bson:"stages" json:"stages"`
  49. Remark string `bson:"remark" json:"remark"`
  50. //部件总价
  51. TotalPrice float64 `bson:"totalPrice" json:"totalPrice"`
  52. }
  53. type ComponentStage struct {
  54. Id string `bson:"id" json:"id"`
  55. TypeId primitive.ObjectID `bson:"typeId" json:"typeId"`
  56. // 下单单价
  57. OrderPrice float64 `bson:"orderPrice" json:"orderPrice"`
  58. // 下单数量
  59. OrderCount int `bson:"orderCount" json:"orderCount"`
  60. // 是否固定价格 如果是:为预算总价,不是:为实际总价
  61. IsFix *bool `bson:"isFix" json:"isFix"`
  62. //实际价格 OrderPrice*ConfirmCount
  63. //预算价格 OrderPrice*OrderCount
  64. //确认收货数量
  65. ConfirmCount int `bson:"confirmCount" json:"confirmCount"`
  66. // 供应相关信息
  67. // 交货时间
  68. DeliveryTime time.Time `bson:"deliveryTime" json:"deliveryTime"`
  69. // 供应商信息
  70. SupplierInfo *Supplier `bson:"supplierInfo" json:"supplierInfo"`
  71. BatchCount *float64 `bson:"batchCount" json:"batchCount"` //拼版数量
  72. BatchSizeWidth int `bson:"batchSizeWidth" json:"batchSizeWidth"` //平板尺寸
  73. BatchSizeHeight int `bson:"batchSizeHeight" json:"batchSizeHeight"` //平板尺寸
  74. Remark string `bson:"remark" json:"remark"` //备注
  75. Size string `bson:"size" json:"size"` //工艺尺寸
  76. Name string `bson:"name" json:"name"` //名称
  77. Category string `bson:"category" json:"category"` //分类
  78. Price float64 `bson:"price" json:"price"` //单价
  79. Unit string `bson:"unit" json:"unit"` //单位
  80. Norm string `bson:"norm" json:"norm"` // 规格
  81. CreateTime time.Time `bson:"createTime" json:"createTime"`
  82. UpdateTime time.Time `bson:"updateTime" json:"updateTime"`
  83. Type int `bson:"type" json:"type"` //1-材料 2-工艺 3-成品
  84. Group string `bson:"group" json:"group"` //工序合标记,相同Group的数据合并成一个单据
  85. BillId string `bson:"billId" json:"billId"` //订单Id
  86. BillType int `bson:"billType" json:"billType"` //订单type // 1,2,3
  87. Sort int `bson:"sort" json:"sort"`
  88. }