From 98d8fba819eab8683ea9fa54b8978cde4c7e07ff Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 05 七月 2024 18:19:10 +0800 Subject: [PATCH] 两个月度统计下载如果下载的是当前月,取实时数据 & 修复若干bug --- controllers/operation.go | 67 ++++++++++++++++++++------------- 1 files changed, 40 insertions(+), 27 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index a841978..41e3932 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -94,7 +94,7 @@ params.WarehouseId = operationType.WarehouseId } - if params.InventoryDealerType == 0 { + if params.DealerType == "" { CheckInventoryDealerType(¶ms) } @@ -149,41 +149,35 @@ func CheckInventoryDealerType(params *models.Operation) { var dictType constvar.MiniDictType - dictName := "鍏跺畠" + dictName := "鍏朵粬" switch params.BaseOperationType { case constvar.BaseOperationTypeIncoming: dictType = constvar.StorageType - //dictName = "鍏跺畠鍏ュ簱" + //dictName = dictName + "鍏ュ簱" case constvar.BaseOperationTypeOutgoing: dictType = constvar.StockoutType - //dictName = "鍏跺畠鍑哄簱" + //dictName = dictName + "鍑哄簱" case constvar.BaseOperationTypeInternal: dictType = constvar.TransferType - //dictName = "鍏跺畠璋冩嫧" + //dictName = dictName + "璋冩嫧" case constvar.BaseOperationTypeDisuse: dictType = constvar.DisuseType - //dictName = "鍏跺畠鎶ュ簾" + //dictName = dictName + "鎶ュ簾" case constvar.BaseOperationTypeAdjust: dictType = constvar.TakeStockType - //dictName = "鍏跺畠鐩樼偣" + //dictName = dictName + "鐩樼偣" default: return } - miniDict, _ := models.NewMiniDictSearch().SetType(dictType).SetName(dictName).First() - if miniDict != nil { - params.InventoryDealerType = int(miniDict.ID) - } else { - dict := &models.MiniDict{ + miniDict, err := models.NewMiniDictSearch().SetType(dictType).SetName(dictName).First() + if err == gorm.ErrRecordNotFound { + miniDict = &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) + models.NewMiniDictSearch().Create(miniDict) } + params.DealerType = miniDict.Name } func CheckDetailsRepeat(details []*models.OperationDetails) bool { @@ -293,12 +287,11 @@ // GetOperationInfo // @Tags 鍏ュ簱/鍑哄簱 -// @Summary 鍏ュ簱/鍑哄簱鍒楄〃 +// @Summary 鎿嶄綔璇︽儏鎺ュ彛 // @Produce application/json -// -// @Param id path string true "id" -// -// @Success 200 {object} util.Response "鎴愬姛" +// @Param id path string true "id" +// @Param Authorization header string true "token" +// @Success 200 {object} util.Response{data=models.Operation} "鎴愬姛" // @Router /api-wms/v1/operation/getOperationInfo/{id} [get] func (slf OperationController) GetOperationInfo(c *gin.Context) { number := c.Param("id") @@ -312,6 +305,26 @@ util.ResponseFormat(c, code.RequestParamError, err.Error()) return } + + if operation.BaseOperationType == constvar.BaseOperationTypeOutgoing || operation.BaseOperationType == constvar.BaseOperationTypeInternal { //鏌ヨ瀹炴椂鍦ㄥ簱搴撳瓨 + productIds := make([]string, 0) + locationIds := make([]int, 0) + for _, v := range operation.Details { + productIds = append(productIds, v.ProductId) + locationIds = append(locationIds, v.FromLocationID) + } + locationAmountMap, err := service.GetLocationAmounts(productIds, locationIds) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ヨ浜у搧搴撳瓨閿欒") + return + } + for _, v := range operation.Details { + if locationAmountMap[v.ProductId] != nil { + v.StockAmount = locationAmountMap[v.ProductId][v.FromLocationID] + } + } + } + util.ResponseFormat(c, code.Success, operation) } @@ -358,7 +371,7 @@ util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error()) return } - //userList, err := service.GetUserList() + //userList, err := user.GetUserList() //userMap := make(map[string]string) //if err == nil { // for _, user := range userList { @@ -367,11 +380,11 @@ //} userInfo := middleware.GetUserInfo(c) for _, v := range list { + v.CreatedBy = userInfo.NickName //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 { @@ -849,7 +862,7 @@ return } } else { - fileUrl, err = JialianOperation2(warehouse.FileTemplateCategoryIn, operation) + fileUrl, err = JialianOperation2(constvar.FileTemplateCategory_JialianInput1, operation) if err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return @@ -887,7 +900,7 @@ } } else { - fileUrl, err = JialianOperation2(warehouse.FileTemplateCategoryOut, operation) + fileUrl, err = JialianOperation2(constvar.FileTemplateCategory_JialianOutput1, operation) if err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return -- Gitblit v1.8.0