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