From 18a4bf8f0c9aa66ef105e5e4ccf67a5afee51048 Mon Sep 17 00:00:00 2001
From: lishihai <dslsh@dscom>
Date: 星期三, 03 七月 2024 14:57:36 +0800
Subject: [PATCH] 导入物料/产品->新模版格式
---
service/material.go | 85 +++++++++++-------------------------------
1 files changed, 23 insertions(+), 62 deletions(-)
diff --git a/service/material.go b/service/material.go
index 920fa36..8fbf56b 100644
--- a/service/material.go
+++ b/service/material.go
@@ -19,6 +19,7 @@
}
mapExistMaterial := make(map[string]bool)
mapAttribute := make(map[string]uint)
+ mapProductCategory := make(map[string]int)
for _, v := range existMaterials {
mapExistMaterial[v.ID] = true
}
@@ -26,8 +27,15 @@
if err != nil {
return 0, err
}
+ productCategory, err := models.NewProductCategorySearch().FindNotTotal()
+ if err != nil {
+ return 0, err
+ }
for _, v := range attributes {
mapAttribute[v.Name] = v.ID
+ }
+ for _, v := range productCategory {
+ mapProductCategory[v.Name] = v.Id
}
f, err := excelize.OpenReader(file)
if err != nil {
@@ -56,7 +64,7 @@
for index, insert := range inserts {
errMsg := ""
- if len(insert) < 4 || insert[0] == "" || insert[1] == "" || insert[2] == "" || insert[3] == "" {
+ if len(insert) < 5 || insert[0] == "" || insert[1] == "" || insert[2] == "" || insert[3] == "" || insert[4] == "" {
errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝娌℃湁濉啓蹇呭~椤归」"
return 0, errors.New(errMsg)
}
@@ -82,18 +90,22 @@
case string(constvar.MaterialModeOther):
material.Model = constvar.MaterialModeOther
default:
+ errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾棤娉曡瘑鍒墿鏂欑被鍨�"
+ return 0, errors.New(errMsg)
+ }
+ if mapProductCategory[strings.Trim(insert[3], " ")] == 0 {
errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾棤娉曡瘑鍒浜у搧绫诲埆"
return 0, errors.New(errMsg)
}
-
- if len(insert) > 4 && insert[3] != "" {
+ material.CategoryId = mapProductCategory[strings.Trim(insert[3], " ")]
+ if len(insert) > 5 && insert[4] != "" {
//errMsg = "绗�" + strconv.Itoa(index+1) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾湭濉啓鍗曚綅"
//return 0, errors.New(errMsg)
- material.Unit = insert[3]
+ material.Unit = insert[4]
}
var moreUnit = true
- if len(insert) > 5 && insert[4] != "" {
+ if len(insert) > 6 && insert[5] != "" {
material.MoreUnit = &moreUnit
var ut models.UnitItems
ut.Unit = insert[4]
@@ -113,7 +125,7 @@
}
material.MoreUnitList = append(material.MoreUnitList, ut)
}
- if len(insert) > 6 && insert[5] != "" {
+ if len(insert) > 7 && insert[6] != "" {
material.MoreUnit = &moreUnit
var ut models.UnitItems
ut.Unit = insert[5]
@@ -133,66 +145,15 @@
}
material.MoreUnitList = append(material.MoreUnitList, ut)
}
- if len(insert) > 7 && insert[6] != "" {
- material.Specs = insert[6] //瑙勬牸
- }
if len(insert) > 8 && insert[7] != "" {
- material.Type = insert[7] //鍨嬪彿
+ material.Specs = insert[7] //瑙勬牸
}
- {
- /*
- if len(insert) > 9 && insert[8] != "" {
- if mapAttribute[insert[8]] == 0 {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾湭鑳借瘑鍒潗璐ㄥ睘鎬э紝璇峰厛娣诲姞璇ュ睘鎬�"
- return 0, errors.New(errMsg)
- }
- //material.Quality = insert[8] //鏉愯川
- attributeValue1 := new(models.AttributeValue)
- attributeValue1.EntityID = material.ID
- attributeValue1.AttributeID = mapAttribute[insert[8]]
- attributeValue1.Value = insert[8]
- attributeValueList = append(attributeValueList, attributeValue1)
- }
- if len(insert) > 10 && insert[9] != "" {
- if mapAttribute[insert[9]] == 0 {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾湭鑳借瘑鍒搧鐗屽睘鎬э紝璇峰厛娣诲姞璇ュ睘鎬�"
- return 0, errors.New(errMsg)
- }
- //material.Brand = insert[9] //鍝佺墝
- attributeValue2 := new(models.AttributeValue)
- attributeValue2.EntityID = material.ID
- attributeValue2.AttributeID = mapAttribute[insert[9]]
- attributeValue2.Value = insert[9]
- attributeValueList = append(attributeValueList, attributeValue2)
- }
- if len(insert) > 11 && insert[10] != "" {
- if mapAttribute[insert[10]] == 0 {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾湭鑳借瘑鍒瓑绾у睘鎬э紝璇峰厛娣诲姞璇ュ睘鎬�"
- return 0, errors.New(errMsg)
- }
- //material.Level = insert[10] //绛夌骇
- attributeValue3 := new(models.AttributeValue)
- attributeValue3.EntityID = material.ID
- attributeValue3.AttributeID = mapAttribute[insert[10]]
- attributeValue3.Value = insert[10]
- attributeValueList = append(attributeValueList, attributeValue3)
- }
- if len(insert) > 12 && insert[11] != "" {
- if mapAttribute[insert[11]] == 0 {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾湭鑳借瘑鍒簞鍙e睘鎬э紝璇峰厛娣诲姞璇ュ睘鎬�"
- return 0, errors.New(errMsg)
- }
- //material.From = insert[11] //搴勫彛
- attributeValue4 := new(models.AttributeValue)
- attributeValue4.EntityID = material.ID
- attributeValue4.AttributeID = mapAttribute[insert[11]]
- attributeValue4.Value = insert[11]
- attributeValueList = append(attributeValueList, attributeValue4)
- }
- */
- materialList = append(materialList, material)
+ if len(insert) > 9 && insert[8] != "" {
+ material.Type = insert[8] //鍨嬪彿
}
+ materialList = append(materialList, material)
+
//淇濆瓨鍔ㄦ�佸睘鎬�
for _, attributesColumn := range attributesColumns {
attributeValueList = append(attributeValueList, &models.AttributeValue{
--
Gitblit v1.8.0