liwei 2 سال پیش
والد
کامیت
d8670def87
4فایلهای تغییر یافته به همراه146 افزوده شده و 9 حذف شده
  1. 15 5
      boxcost/db/model/material.go
  2. 39 4
      boxcost/db/model/pack.go
  3. 76 0
      boxcost/db/model/plan.go
  4. 16 0
      boxcost/db/model/supplier.go

+ 15 - 5
boxcost/db/model/material.go

@@ -6,16 +6,26 @@ import (
 	"go.mongodb.org/mongo-driver/bson/primitive"
 )
 
-// 材料
+// 单位
+type Unit struct {
+	Id   primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
+	Name string             `bson:"name,omitempty" json:"name"`
+}
+
+// 材料只能添加,不能修改
 type Material struct {
 	Id    primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
 	Name  string             `bson:"name,omitempty" json:"name"`
 	Type  string             `bson:"type,omitempty" json:"type"`
-	Price int                `bson:"price,omitempty" json:"price"`
+	Price float64            `bson:"price,omitempty" json:"price"`
+	Unit  string             `bson:"unit,omitempty" json:"unit"`
+
 	// 规格
-	Norm       string    `bson:"norm,omitempty" json:"norm"`
-	Length     float64   `bson:"length,omitempty" json:"length"`
-	Width      float64   `bson:"width,omitempty" json:"width"`
+	Norm   string  `bson:"norm,omitempty" json:"norm"`
+	Heigth float64 `bson:"height,omitempty" json:"height"`
+	Width  float64 `bson:"width,omitempty" json:"width"`
+	Remark string  `bson:"remark,omitempty" json:"remark"`
+
 	CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
 	UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime"`
 }

+ 39 - 4
boxcost/db/model/pack.go

@@ -8,13 +8,48 @@ import (
 
 // 包装
 type Pack struct {
-	Id    primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
-	Name  string             `bson:"name,omitempty" json:"name"`
-	Image string             `bson:"image,omitempty" json:"image"`
+	Id        primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
+	Name      string             `bson:"name,omitempty" json:"name"`
+	Thumbnail string             `bson:"thumbnail,omitempty" json:"thumbnail"`
 	// 部件数量
-	Num int `bson:"num,omitempty" json:"num"`
+	CompCounts int `bson:"compCounts,omitempty" json:"compCounts"`
 	// 设计师
 	Designer   string    `bson:"designer,omitempty" json:"designer"`
 	CreateTime time.Time `bson:"createTime,omitempty" json:"createTime"`
 	UpdateTime time.Time `bson:"updateTime,omitempty" json:"updateTime"`
+
+	Components []*PackComponent `bson:"components,omitempty" json:"components"`
+}
+
+type PackComponent struct {
+	Id        primitive.ObjectID `bson:"id,omitempty" json:"id"`
+	Name      string             `bson:"name,omitempty" json:"name"`
+	Thumbnail string             `bson:"thumbnail,omitempty" json:"thumbnail"`
+
+	//刀版图
+	Uv string `bson:"uv,omitempty" json:"uv"`
+
+	//拼版尺寸
+	UvSize string
+
+	//所有材料
+	Mats []*PackComponentMat
+
+	Remark string
+}
+
+type PackComponentMat struct {
+	Id    primitive.ObjectID `bson:"id,omitempty" json:"id"`
+	MatId primitive.ObjectID `bson:"matId,omitempty" json:"matId"`
+
+	//所有工艺
+	Crafts []*PackComponentMatCraft
+}
+
+type PackComponentMatCraft struct {
+	Id      primitive.ObjectID `bson:"id,omitempty" json:"id"`
+	CraftId primitive.ObjectID `bson:"craftId,omitempty" json:"craftId"`
+
+	//工艺尺寸
+	Size string
 }

+ 76 - 0
boxcost/db/model/plan.go

@@ -0,0 +1,76 @@
+package model
+
+import (
+	"time"
+
+	"go.mongodb.org/mongo-driver/bson/primitive"
+)
+
+// 生产计划
+type ProductPlan struct {
+	Id   primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
+	Pack *Pack              `bson:"pack,omitempty" json:"pack"`
+
+	Thumbnail  string
+	Name       string
+	CreateUser string
+	//生产数量
+	Total int
+
+	//状态
+	State string
+
+	//总价
+	TotalPrice float64
+
+	UpdateTime time.Time
+	CreateTime time.Time
+
+	//所有包装部件的工序
+	Components []*PackComp
+}
+
+type PackComp struct {
+	Id    primitive.ObjectID //包装部件I
+	Steps []*ProductUnit     //生产的工序列表
+}
+
+// 工序单位
+type ProductUnit struct {
+	Id     string //工序Id
+	Type   string //mat craft process
+	TypeId string //type类型对应的Id
+
+	CraftNorm  *CraftNorm //生产工艺的规格要求
+	MatNorm    *MatNorm
+	PlanCount  float64 //生产数量
+	FinalCount float64 //最终数量
+
+	TotalPrice   float64   //总价
+	DeliveryTime time.Time //交货时间
+
+	Price float64 //单价
+
+	//供应商
+	SupplierId primitive.ObjectID
+
+	//计价
+	PriceStrategy *PriceStrategy
+
+	//单据Id
+	BillId primitive.ObjectID
+}
+
+type MatNorm struct {
+	PaperWidth  string //下纸尺寸
+	PaperHeight string //下纸尺寸
+}
+
+type CraftNorm struct {
+	PrintWidth string //印刷尺寸
+	PrintHeigt string //印刷尺寸
+}
+
+type ProcessNorm struct {
+	Norm string
+}

+ 16 - 0
boxcost/db/model/supplier.go

@@ -15,3 +15,19 @@ type Supplier struct {
 	CreateTime time.Time          `bson:"createTime,omitempty" json:"createTime"`
 	UpdateTime time.Time          `bson:"updateTime,omitempty" json:"updateTime"`
 }
+
+type PriceStrategy struct {
+	Type   string //same
+	Param1 float64
+	Param2 float64
+	Param3 float64
+}
+
+// 供应商价格
+type SupplierPrice struct {
+	Id         primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
+	SupplierId primitive.ObjectID `bson:"supplierId,omitempty" json:"supplierId"`
+	ProductId  primitive.ObjectID `bson:"productId,omitempty" json:"productId"`
+	PriceType  *PriceStrategy     `bson:"priceType,omitempty" json:"priceType"`
+	CreateTime time.Time          `bson:"createTime,omitempty" json:"createTime"`
+}