From 0ec0aef398704cd0219ed452f3aa96c8cdacd647 Mon Sep 17 00:00:00 2001 From: yinbentan <yinbentan@live.com> Date: 星期六, 06 七月 2024 15:27:51 +0800 Subject: [PATCH] 出库、入库、盘点涉及产品重复性检查调整(从【产品编号】变更为以【产品编号、出库库房编号、入库库房编号】作为唯一标识) --- controllers/operation.go | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index 41e3932..a7b5788 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -9,7 +9,6 @@ "github.com/shopspring/decimal" "github.com/xuri/excelize/v2" "gorm.io/gorm" - "sort" "strconv" "strings" "time" @@ -180,19 +179,19 @@ params.DealerType = miniDict.Name } +// CheckDetailsRepeat 鍑哄簱銆佸叆搴撱�佺洏鐐规秹鍙婁骇鍝侀噸澶嶆�ф鏌ワ紙浠ヤ骇鍝佺紪鍙枫�佸嚭搴撳簱鎴跨紪鍙枫�佸叆搴撳簱鎴跨紪鍙凤級 +// 瀛樺湪閲嶅鍊� true锛� 涓嶅瓨鍦ㄨ繑鍥� false func CheckDetailsRepeat(details []*models.OperationDetails) bool { - var detailIDs []string - var tempID string - for _, v := range details { - detailIDs = append(detailIDs, v.ProductId) + if len(details) == 0 { + return false } - sort.Strings(detailIDs) - for _, v := range detailIDs { - if v != tempID { - tempID = v - } else { - return true - } + var detailKeyMap = make(map[string]bool) + for _, v := range details { + key := fmt.Sprintf("%v%v%v", v.ProductId, v.FromLocationID, v.ToLocationID) + detailKeyMap[key] = true + } + if len(detailKeyMap) != len(details) { // 闀垮害鐩稿悓锛屼笉瀛樺湪閲嶅鍊硷紱闀垮害涓嶅悓瀛樺湪瀛樺湪涓嶅悓 + return true } return false } @@ -379,6 +378,10 @@ // } //} userInfo := middleware.GetUserInfo(c) + if userInfo == nil { + util.ResponseFormat(c, code.SetStatusError, "鐧诲綍鐢ㄦ埛淇℃伅涓虹┖锛岃鐧诲綍鍚庨噸璇曪紒") + return + } for _, v := range list { v.CreatedBy = userInfo.NickName //if err == nil { -- Gitblit v1.8.0