From 36a93a12407c11f5340399014547569df3bd2a50 Mon Sep 17 00:00:00 2001
From: lishihai <dslsh@dscom>
Date: 星期三, 03 七月 2024 22:19:50 +0800
Subject: [PATCH] 导入物料/产品->新模版增加采购类型
---
service/material.go | 78 +++++++++++++++++++++++---------------
1 files changed, 47 insertions(+), 31 deletions(-)
diff --git a/service/material.go b/service/material.go
index c9d1536..435e1da 100644
--- a/service/material.go
+++ b/service/material.go
@@ -64,7 +64,7 @@
for index, insert := range inserts {
errMsg := ""
- if len(insert) < 5 || insert[0] == "" || insert[1] == "" || insert[2] == "" || insert[3] == "" || insert[4] == "" {
+ if len(insert) < 6 || insert[0] == "" || insert[1] == "" || insert[2] == "" || insert[3] == "" || insert[4] == "" || insert[5] == "" {
errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝娌℃湁濉啓蹇呭~椤归」"
return 0, errors.New(errMsg)
}
@@ -98,44 +98,40 @@
return 0, errors.New(errMsg)
}
material.CategoryId = mapProductCategory[strings.Trim(insert[3], " ")]
+ purchaseTypeList := make([]int, 0)
+ purchaseTypes := strings.Split(strings.Trim(insert[4], " "), "/")
+ for _, v := range purchaseTypes {
+ switch strings.Trim(v, " ") {
+ case "閲囪喘":
+ purchaseTypeList = append(purchaseTypeList, int(constvar.PurchaseTypeOutSource))
+ case "鑷埗":
+ purchaseTypeList = append(purchaseTypeList, int(constvar.PurchaseTypeSelf))
+ case "濮斿":
+ purchaseTypeList = append(purchaseTypeList, int(constvar.PurchaseTypeEntrust))
+ default:
+ errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛屾棤娉曡瘑鍒噰璐被鍨�"
+ return 0, errors.New(errMsg)
+ }
- material.Unit = insert[4]
+ }
+ material.PurchaseTypeList = purchaseTypeList
+ material.Unit = insert[5]
var moreUnit = true
- if len(insert) > 6 && insert[5] != "" {
- material.MoreUnit = &moreUnit
- var ut models.UnitItems
- ut.Unit = insert[5]
- if len(insert) < 13 || insert[12] == "" {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅1鐩稿叧鐨勫崟浣嶆崲绠楁瘮渚�1"
- return 0, errors.New(errMsg)
- }
- ut.Amount = decimal.RequireFromString(insert[12])
- if len(insert) < 14 || insert[13] == "" {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅1鐩稿叧鐨勬槸鍚︽诞鍔ㄦ崲绠�1"
- return 0, errors.New(errMsg)
- }
- if strings.Trim(insert[13], " ") == "鏄�" {
- ut.Floating = true
- } else {
- ut.Floating = false
- }
- material.MoreUnitList = append(material.MoreUnitList, ut)
- }
if len(insert) > 7 && insert[6] != "" {
material.MoreUnit = &moreUnit
var ut models.UnitItems
ut.Unit = insert[6]
+ if len(insert) < 14 || insert[13] == "" {
+ errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅1鐩稿叧鐨勫崟浣嶆崲绠楁瘮渚�1"
+ return 0, errors.New(errMsg)
+ }
+ ut.Amount = decimal.RequireFromString(insert[13])
if len(insert) < 15 || insert[14] == "" {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅2鐩稿叧鐨勫崟浣嶆崲绠楁瘮渚�2"
+ errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅1鐩稿叧鐨勬槸鍚︽诞鍔ㄦ崲绠�1"
return 0, errors.New(errMsg)
}
- ut.Amount = decimal.RequireFromString(insert[14])
- if len(insert) < 16 || insert[15] == "" {
- errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅2鐩稿叧鐨勬槸鍚︽诞鍔ㄦ崲绠�2"
- return 0, errors.New(errMsg)
- }
- if strings.Trim(insert[15], " ") == "鏄�" {
+ if strings.Trim(insert[14], " ") == "鏄�" {
ut.Floating = true
} else {
ut.Floating = false
@@ -143,10 +139,30 @@
material.MoreUnitList = append(material.MoreUnitList, ut)
}
if len(insert) > 8 && insert[7] != "" {
- material.Specs = insert[7] //瑙勬牸
+ material.MoreUnit = &moreUnit
+ var ut models.UnitItems
+ ut.Unit = insert[7]
+ if len(insert) < 16 || insert[15] == "" {
+ errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅2鐩稿叧鐨勫崟浣嶆崲绠楁瘮渚�2"
+ return 0, errors.New(errMsg)
+ }
+ ut.Amount = decimal.RequireFromString(insert[15])
+ if len(insert) < 17 || insert[16] == "" {
+ errMsg = "绗�" + strconv.Itoa(index+2) + "琛岋紝浜у搧缂栫爜锛�" + insert[0] + "锛岃濉啓涓庤緟璁¢噺鍗曚綅2鐩稿叧鐨勬槸鍚︽诞鍔ㄦ崲绠�2"
+ return 0, errors.New(errMsg)
+ }
+ if strings.Trim(insert[16], " ") == "鏄�" {
+ ut.Floating = true
+ } else {
+ ut.Floating = false
+ }
+ material.MoreUnitList = append(material.MoreUnitList, ut)
}
if len(insert) > 9 && insert[8] != "" {
- material.Type = insert[8] //鍨嬪彿
+ material.Specs = insert[8] //瑙勬牸
+ }
+ if len(insert) > 10 && insert[9] != "" {
+ material.Type = insert[9] //鍨嬪彿
}
materialList = append(materialList, material)
--
Gitblit v1.8.0