|
@@ -112,7 +112,7 @@ func DownLoadPlan(c *gin.Context, apictx *ApiSession) (interface{}, error) {
|
|
|
}
|
|
|
|
|
|
// 获取bill
|
|
|
- if len(curComp.Mats) == 0 {
|
|
|
+ if len(curComp.Stages) == 0 {
|
|
|
return nil, errors.New("该组件数据不存在")
|
|
|
}
|
|
|
f := excelize.NewFile()
|
|
@@ -124,7 +124,7 @@ func DownLoadPlan(c *gin.Context, apictx *ApiSession) (interface{}, error) {
|
|
|
companyName := getCompanyName(apictx)
|
|
|
|
|
|
offset := 0
|
|
|
- for _, mat := range curComp.Mats {
|
|
|
+ for _, mat := range curComp.Stages {
|
|
|
// 采购单
|
|
|
_purchaseId := mat.BillId
|
|
|
purchaseId, err := primitive.ObjectIDFromHex(_purchaseId)
|
|
@@ -156,31 +156,31 @@ func DownLoadPlan(c *gin.Context, apictx *ApiSession) (interface{}, error) {
|
|
|
offset += 15
|
|
|
}
|
|
|
}
|
|
|
- if len(mat.Crafts) > 0 {
|
|
|
- for _, carft := range mat.Crafts {
|
|
|
- // 加工单
|
|
|
- _produceId := carft.BillId
|
|
|
- produceId, err := primitive.ObjectIDFromHex(_produceId)
|
|
|
- if err == nil {
|
|
|
- produce := model.ProduceBill{}
|
|
|
- found, _ := repo.RepoSeachDoc(apictx.CreateRepoCtx(), &repo.DocSearchOptions{
|
|
|
- CollectName: repo.CollectionBillProduce,
|
|
|
- Query: repo.Map{"_id": produceId},
|
|
|
- }, &produce)
|
|
|
- if found {
|
|
|
- produceExcel := NewProduceBill(f)
|
|
|
- produceExcel.Content = &produce
|
|
|
- produceExcel.Title = fmt.Sprintf("%s加工单", companyName)
|
|
|
- //设置对应的数据
|
|
|
- produceExcel.Offset = offset
|
|
|
- produceExcel.Draws()
|
|
|
-
|
|
|
- offset += 15
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // if len(mat.Crafts) > 0 {
|
|
|
+ // for _, carft := range mat.Crafts {
|
|
|
+ // // 加工单
|
|
|
+ // _produceId := carft.BillId
|
|
|
+ // produceId, err := primitive.ObjectIDFromHex(_produceId)
|
|
|
+ // if err == nil {
|
|
|
+ // produce := model.ProduceBill{}
|
|
|
+ // found, _ := repo.RepoSeachDoc(apictx.CreateRepoCtx(), &repo.DocSearchOptions{
|
|
|
+ // CollectName: repo.CollectionBillProduce,
|
|
|
+ // Query: repo.Map{"_id": produceId},
|
|
|
+ // }, &produce)
|
|
|
+ // if found {
|
|
|
+ // produceExcel := NewProduceBill(f)
|
|
|
+ // produceExcel.Content = &produce
|
|
|
+ // produceExcel.Title = fmt.Sprintf("%s加工单", companyName)
|
|
|
+ // //设置对应的数据
|
|
|
+ // produceExcel.Offset = offset
|
|
|
+ // produceExcel.Draws()
|
|
|
+
|
|
|
+ // offset += 15
|
|
|
+ // }
|
|
|
+
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}
|
|
|
|
|
|
c.Header("Content-Type", "application/octet-stream")
|
|
@@ -242,40 +242,32 @@ func GetProductPlan(c *gin.Context, apictx *ApiSession) (interface{}, error) {
|
|
|
}
|
|
|
|
|
|
billStates := map[string]string{}
|
|
|
-
|
|
|
- if len(plan.Process) > 0 {
|
|
|
- for _, pp := range plan.Process {
|
|
|
- ok, state := repo.RepoSeachDocMap(apictx.CreateRepoCtx(), &repo.DocSearchOptions{CollectName: repo.CollectionBillPurchase, Query: repo.Map{"_id": pp.BillId}, Project: []string{"status"}})
|
|
|
- if ok {
|
|
|
- billStates[pp.BillId] = state["status"].(string)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
if plan.Pack != nil && plan.Pack.Components != nil {
|
|
|
-
|
|
|
for _, comp := range plan.Pack.Components {
|
|
|
- if comp.Mats != nil {
|
|
|
- for _, mat := range comp.Mats {
|
|
|
+ if comp.Stages != nil {
|
|
|
+ for _, stage := range comp.Stages {
|
|
|
+
|
|
|
+ if len(stage.BillId) > 0 {
|
|
|
+ collectName := ""
|
|
|
+ // 材料
|
|
|
+ if stage.Type == 1 {
|
|
|
+ collectName = repo.CollectionBillPurchase
|
|
|
+ }
|
|
|
+ // 工艺
|
|
|
+ if stage.Type == 2 {
|
|
|
+ collectName = repo.CollectionBillProduce
|
|
|
+ }
|
|
|
+ // 成品
|
|
|
+ if stage.Type == 3 {
|
|
|
+ collectName = repo.CollectionBillProduct
|
|
|
+ }
|
|
|
|
|
|
- if len(mat.BillId) > 0 {
|
|
|
- ok, state := repo.RepoSeachDocMap(apictx.CreateRepoCtx(), &repo.DocSearchOptions{CollectName: repo.CollectionBillPurchase, Query: repo.Map{"_id": mat.BillId}, Project: []string{"status"}})
|
|
|
+ ok, state := repo.RepoSeachDocMap(apictx.CreateRepoCtx(), &repo.DocSearchOptions{CollectName: collectName, Query: repo.Map{"_id": stage.BillId}, Project: []string{"status"}})
|
|
|
if ok {
|
|
|
- billStates[mat.BillId] = state["status"].(string)
|
|
|
+ billStates[stage.BillId] = state["status"].(string)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if mat.Crafts != nil {
|
|
|
- for _, craft := range mat.Crafts {
|
|
|
- if len(craft.BillId) > 0 {
|
|
|
- ok, state := repo.RepoSeachDocMap(apictx.CreateRepoCtx(), &repo.DocSearchOptions{CollectName: repo.CollectionBillProduce, Query: repo.Map{"_id": craft.BillId}, Project: []string{"status"}})
|
|
|
- if ok {
|
|
|
- billStates[craft.BillId] = state["status"].(string)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|