From d80428a19673e819440a34f2565b6dbbbe6ac567 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 18 七月 2024 22:32:08 +0800
Subject: [PATCH] fix

---
 controllers/operation.go |   50 +++++++++++++++++++++++++++++---------------------
 1 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/controllers/operation.go b/controllers/operation.go
index 5de6cb4..ae06b4b 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"
@@ -42,6 +41,7 @@
 // @Tags      鍏ュ簱/鍑哄簱
 // @Summary   娣诲姞鍏ュ簱/鍑哄簱
 // @Produce   application/json
+// @Param     Authorization	header string true "token"
 // @Param     object  body  request.AddOperation true  "鍏ュ簱/鍑哄簱淇℃伅"
 // @Success   200 {object} util.Response "鎴愬姛"
 // @Router    /api-wms/v1/operation/operation [post]
@@ -147,6 +147,7 @@
 	util.ResponseFormat(c, code.Success, "娣诲姞鎴愬姛")
 }
 
+// CheckInventoryDealerType 妫�鏌ュ熀纭�绫诲瀷锛岄槻姝㈢被鍨嬩负绌烘坊鍔犲叾瀹冪被鍨�
 func CheckInventoryDealerType(params *models.Operation) {
 	var dictType constvar.MiniDictType
 	dictName := "鍏朵粬"
@@ -180,19 +181,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
 }
@@ -332,6 +333,7 @@
 // @Tags      鍏ュ簱/鍑哄簱
 // @Summary   鍏ュ簱/鍑哄簱鍒楄〃
 // @Produce   application/json
+// @Param     Authorization	header string true "token"
 // @Param		 object  body  request.OperationList true  "鏌ヨ鍙傛暟"
 // @Success	200	{object}	util.ResponseList{data=[]models.Operation}	"鎴愬姛"
 // @Router    /api-wms/v1/operation/list [post]
@@ -379,6 +381,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 {
@@ -482,6 +488,7 @@
 //	@Tags		鍏ュ簱/鍑哄簱
 //	@Summary	鍒犻櫎鍏ュ簱/鍑哄簱淇℃伅
 //	@Produce	application/json
+//	@Param     Authorization	header string true "token"
 //	@Param		id	path		int			true	"id"
 //	@Success	200	{object}	util.Response	"鎴愬姛"
 //	@Router		/api-wms/v1/operation/operation/{id} [delete]
@@ -529,9 +536,10 @@
 //	@Tags		鍏ュ簱/鍑哄簱
 //	@Summary	鏇存敼璁板綍鐘舵��
 //	@Produce	application/json
-//	@Param		id	path		int			true	"id"
+//	@Param	Authorization	header	string	true	"token"
+//	@Param	id	path	int	true	"id"
 //	@Success	200	{object}	util.Response	"鎴愬姛"
-//	@Router		/api-wms/v1/operation/finish/{id} [put]
+//	@Router	/api-wms/v1/operation/finish/{id} [put]
 func (slf OperationController) Finish(c *gin.Context) {
 	id, err := strconv.Atoi(c.Param("id"))
 	if err != nil {
@@ -582,25 +590,26 @@
 			return err
 		}
 
-		if operation.BaseOperationType == constvar.BaseOperationTypeIncoming {
+		if operation.BaseOperationType == constvar.BaseOperationTypeIncoming { // 鍏ュ簱
 			if err := service.FinishOperationInput(c, tx, operation, listDetails, mapLocAmount); err != nil {
 				return err
 			}
 		}
 
-		if operation.BaseOperationType == constvar.BaseOperationTypeOutgoing || operation.BaseOperationType == constvar.BaseOperationTypeDisuse {
+		if operation.BaseOperationType == constvar.BaseOperationTypeOutgoing || // 鍑哄簱
+			operation.BaseOperationType == constvar.BaseOperationTypeDisuse { // 鎶ュ簾
 			if err := service.FinishOperationOutput(tx, listDetails, mapLocAmount, operation); err != nil {
 				return err
 			}
 		}
 
-		if operation.BaseOperationType == constvar.BaseOperationTypeInternal {
+		if operation.BaseOperationType == constvar.BaseOperationTypeInternal { // 鍐呴儴璋冩嫧
 			if err := service.FinishOperationInternal(tx, listDetails, operation); err != nil {
 				return err
 			}
 		}
 
-		if operation.BaseOperationType == constvar.BaseOperationTypeAdjust {
+		if operation.BaseOperationType == constvar.BaseOperationTypeAdjust { // 搴撳瓨鐩樼偣
 			if err := service.FinishOperationAdjust(tx, listDetails, mapLocAmount, operation); err != nil {
 				return err
 			}
@@ -623,7 +632,6 @@
 			go UpdateOutStatus(operation.Source, operation.SourceNumber, 4)
 		}
 	}
-
 	util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛")
 }
 
@@ -856,7 +864,7 @@
 			}
 
 			if warehouse.FileTemplateCategoryIn == constvar.FileWarehouseCategory_JialianInput2 {
-				fileUrl, err = JialianOperation1(warehouse.FileTemplateCategoryIn, operation)
+				fileUrl, err = JialianOperation1(constvar.FileWarehouseCategory_JialianInput2, operation)
 				if err != nil {
 					util.ResponseFormat(c, code.RequestParamError, err.Error())
 					return
@@ -893,7 +901,7 @@
 			}
 
 			if warehouse.FileTemplateCategoryOut == constvar.FileWarehouseCategory_JialianOutput2 {
-				fileUrl, err = JialianOperation1(warehouse.FileTemplateCategoryOut, operation)
+				fileUrl, err = JialianOperation1(constvar.FileWarehouseCategory_JialianOutput2, operation)
 				if err != nil {
 					util.ResponseFormat(c, code.RequestParamError, err.Error())
 					return

--
Gitblit v1.8.0