From 303fadd07629048d091862e09f4e67c2b98e4ecd Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期二, 23 七月 2024 10:44:00 +0800 Subject: [PATCH] Merge branch 'jialian' of http://192.168.5.5:10010/r/aps/WMS into jialian --- service/material.go | 44 +++++++++++++++++++++++++++++++------------- 1 files changed, 31 insertions(+), 13 deletions(-) diff --git a/service/material.go b/service/material.go index 0841f43..61d5786 100644 --- a/service/material.go +++ b/service/material.go @@ -184,20 +184,38 @@ return 0, errors.New("鐗╂枡鏁版嵁涓虹┖") } err = models.WithTransaction(func(db *gorm.DB) error { - if err := models.NewMaterialSearch().SetOrm(db).CreateBatch(materialList); err != nil { - return err + for i := 0; i < len(materialList); i += 500 { + end := i + 500 + if end > len(materialList) { + end = len(materialList) + } + arr := materialList[i:end] + if len(arr) != 0 { + if err := models.NewMaterialSearch().SetOrm(db).CreateBatch(arr); err != nil { + return err + } + } } - if len(attributeValueList) != 0 { - err = models.NewAttributeValueSearch().SetOrm(db).CreateBatch(attributeValueList) - if err != nil { //鎵归噺鎻掑叆澶辫触锛堝彲鑳藉凡缁忓瓨鍦ㄥ�硷級锛屽垎寮�涓�鏉′竴鏉℃彃鍏ラ噸澶嶇殑涓嶆彃鍏� - for _, avl := range attributeValueList { - first, err2 := models.NewAttributeValueSearch().SetAttributeID(avl.AttributeID).SetEntityID(avl.EntityID).First() - if err2 == nil && first != nil { //琛ㄧず宸茬粡瀛樺湪鍔ㄦ�佸睘鎬� - continue - } - err2 = models.NewAttributeValueSearch().SetOrm(db).Create(avl) - if err2 != nil { - return err + for i := 0; i < len(attributeValueList); i += 500 { + end := i + 500 + if end > len(attributeValueList) { + end = len(attributeValueList) + } + arr := attributeValueList[i:end] + if len(arr) != 0 { + if err := models.NewAttributeValueSearch().SetOrm(db).CreateBatch(arr); err != nil { + return err + } + if err != nil { //鎵归噺鎻掑叆澶辫触锛堝彲鑳藉凡缁忓瓨鍦ㄥ�硷級锛屽垎寮�涓�鏉′竴鏉℃彃鍏ラ噸澶嶇殑涓嶆彃鍏� + for _, avl := range arr { + first, err2 := models.NewAttributeValueSearch().SetAttributeID(avl.AttributeID).SetEntityID(avl.EntityID).First() + if err2 == nil && first != nil { //琛ㄧず宸茬粡瀛樺湪鍔ㄦ�佸睘鎬� + continue + } + err2 = models.NewAttributeValueSearch().SetOrm(db).Create(avl) + if err2 != nil { + return err + } } } } -- Gitblit v1.8.0