From f0786e779666d67a50cd57d82cfe1e278b47d397 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 04 七月 2024 11:54:11 +0800 Subject: [PATCH] fix --- controllers/operation.go | 75 +++++++++++++++++++++++++++++++++---- 1 files changed, 66 insertions(+), 9 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index 83a9b32..a841978 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -94,7 +94,15 @@ params.WarehouseId = operationType.WarehouseId } + if params.InventoryDealerType == 0 { + CheckInventoryDealerType(¶ms) + } + userInfo := middleware.GetUserInfo(c) + if userInfo == nil { + util.ResponseFormat(c, code.SetStatusError, "鐧诲綍鐢ㄦ埛淇℃伅涓虹┖锛岃鐧诲綍鍚庨噸璇曪紒") + return + } params.CreatedBy = userInfo.Username params.Status = constvar.OperationStatus_Ready //params.Number = strconv.FormatInt(time.Now().Unix(), 10) @@ -137,6 +145,45 @@ return } util.ResponseFormat(c, code.Success, "娣诲姞鎴愬姛") +} + +func CheckInventoryDealerType(params *models.Operation) { + var dictType constvar.MiniDictType + dictName := "鍏跺畠" + switch params.BaseOperationType { + case constvar.BaseOperationTypeIncoming: + dictType = constvar.StorageType + //dictName = "鍏跺畠鍏ュ簱" + case constvar.BaseOperationTypeOutgoing: + dictType = constvar.StockoutType + //dictName = "鍏跺畠鍑哄簱" + case constvar.BaseOperationTypeInternal: + dictType = constvar.TransferType + //dictName = "鍏跺畠璋冩嫧" + case constvar.BaseOperationTypeDisuse: + dictType = constvar.DisuseType + //dictName = "鍏跺畠鎶ュ簾" + case constvar.BaseOperationTypeAdjust: + dictType = constvar.TakeStockType + //dictName = "鍏跺畠鐩樼偣" + default: + return + } + miniDict, _ := models.NewMiniDictSearch().SetType(dictType).SetName(dictName).First() + if miniDict != nil { + params.InventoryDealerType = int(miniDict.ID) + } else { + dict := &models.MiniDict{ + Type: dictType, + Name: dictName, + } + models.NewMiniDictSearch().Create(dict) + miniDict, err := models.NewMiniDictSearch().SetType(dictType).SetName(dictName).First() + if err != nil { + return + } + params.InventoryDealerType = int(miniDict.ID) + } } func CheckDetailsRepeat(details []*models.OperationDetails) bool { @@ -212,12 +259,8 @@ if params.OperationTypeId == 0 && int(params.BaseOperationType) == 0 { return errors.New("鏈瘑鍒璁板綍绫诲瀷1") - } - - if params.BaseOperationType != 0 { - if params.WarehouseId == 0 { - return errors.New("鏈瘑鍒璁板綍绫诲瀷2") - } + } else if params.OperationTypeId == 0 && params.BaseOperationType != 0 && params.WarehouseId == 0 { + return errors.New("鏈瘑鍒璁板綍绫诲瀷2") } if params.OperationDate == "" { @@ -277,7 +320,7 @@ // @Summary 鍏ュ簱/鍑哄簱鍒楄〃 // @Produce application/json // @Param object body request.OperationList true "鏌ヨ鍙傛暟" -// @Success 200 {object} util.ResponseList{data=[]models.Operation} "鎴愬姛" +// @Success 200 {object} util.ResponseList{data=[]models.Operation} "鎴愬姛" // @Router /api-wms/v1/operation/list [post] func (slf OperationController) List(c *gin.Context) { var params request.OperationList @@ -315,7 +358,22 @@ util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error()) return } + //userList, err := service.GetUserList() + //userMap := make(map[string]string) + //if err == nil { + // for _, user := range userList { + // userMap[user.UserName] = user.NickName + // } + //} + userInfo := middleware.GetUserInfo(c) for _, v := range list { + //if err == nil { + if userInfo != nil { + // v.CreatedBy = userMap[v.CreatedBy] + // v.CheckedBy = userMap[v.CheckedBy] + v.CreatedBy = userInfo.NickName + v.CheckedBy = userInfo.NickName + } for _, v1 := range v.Details { //v1.SalePrice = decimal.NewFromFloat(1.2345) //v1.Cost = decimal.NewFromFloat(9.678) @@ -1370,8 +1428,7 @@ // @Tags 鍏ュ簱/鍑哄簱 // @Summary 鑾峰彇浜哄憳鍒楄〃 // @Produce application/json -// @Param object body request.OperationCondition true "鍙傛暟" -// @Success 200 {object} util.ResponseList{data=[]inventory_order.WorkerInfo} "鎴愬姛" +// @Success 200 {object} util.Response "鎴愬姛" // @Router /api-wms/v1/operation/getPersonnelList [get] func (slf OperationController) GetPersonnelList(c *gin.Context) { cli := inventory_order.NewInventoryOrderServiceClient(init_client.ApsConn) -- Gitblit v1.8.0