From 7198928294605aea6516fc4f7adba95b2216a974 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 05 七月 2024 16:44:09 +0800 Subject: [PATCH] 修正调拨产生的入库单的操作类型id --- controllers/operation.go | 87 +++++++++++++++++++++---------------------- 1 files changed, 43 insertions(+), 44 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index fb1285d..5efb66b 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" - "io/ioutil" "sort" "strconv" "strings" @@ -95,7 +94,7 @@ params.WarehouseId = operationType.WarehouseId } - if params.InventoryDealerType == 0 { + if params.DealerType == "" { CheckInventoryDealerType(¶ms) } @@ -170,21 +169,15 @@ 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 { @@ -260,12 +253,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 == "" { @@ -298,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") @@ -317,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) } @@ -847,22 +855,19 @@ return } - if warehouse.FileTemplateCategoryIn == constvar.FileTemplateCategory_JialianInput1 { - fileUrl, err = JialianOperation2(warehouse.FileTemplateCategoryIn, operation) - if err != nil { - util.ResponseFormat(c, code.RequestParamError, err.Error()) - return - } - - } else if warehouse.FileTemplateCategoryIn == constvar.FileWarehouseCategory_JialianInput2 { + if warehouse.FileTemplateCategoryIn == constvar.FileWarehouseCategory_JialianInput2 { fileUrl, err = JialianOperation1(warehouse.FileTemplateCategoryIn, operation) if err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return } - + } else { + fileUrl, err = JialianOperation2(constvar.FileTemplateCategory_JialianInput1, operation) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, err.Error()) + return + } } - } else if companyName == "geruimi" { fileUrl, err = ExportInputSelfmade(constvar.FileTemplateCategory_Selfmade, operation) if err != nil { @@ -887,15 +892,15 @@ return } - if warehouse.FileTemplateCategoryOut == constvar.FileTemplateCategory_JialianOutput1 { - fileUrl, err = JialianOperation2(warehouse.FileTemplateCategoryOut, operation) + if warehouse.FileTemplateCategoryOut == constvar.FileWarehouseCategory_JialianOutput2 { + fileUrl, err = JialianOperation1(warehouse.FileTemplateCategoryOut, operation) if err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return } - } else if warehouse.FileTemplateCategoryOut == constvar.FileWarehouseCategory_JialianOutput2 { - fileUrl, err = JialianOperation1(warehouse.FileTemplateCategoryOut, operation) + } else { + fileUrl, err = JialianOperation2(constvar.FileTemplateCategory_JialianOutput1, operation) if err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return @@ -935,8 +940,6 @@ // 璇诲彇妯℃澘鍐呭 f, err := excelize.OpenReader(readerCloser) - //fl, err := os.Open("E:\\瀹剁汉鍑哄叆搴撳崟.xlsx") - //f, err := excelize.OpenReader(fl) if err != nil { return "", errors.New("璇诲彇excel妯$増澶辫触锛�" + err.Error()) } @@ -1063,9 +1066,7 @@ } fileUrl, err := upload.UploadFileToSeaWeed(string(constvar.FileType_File), uuid.NewV4().String()+".xlsx", buf.Bytes()) - ioutil.WriteFile("E:\\"+uuid.NewV4().String()+".xlsx", buf.Bytes(), 0644) if err != nil { - //ioutil.WriteFile("E:\\"+uuid.NewV4().String()+".xlsx", buf.Bytes(), 0644) logx.Errorf("file upload err: %v", err) return "", err } @@ -1183,7 +1184,6 @@ } fileUrl, err := upload.UploadFileToSeaWeed(string(constvar.FileType_File), uuid.NewV4().String()+".xlsx", buf.Bytes()) - ioutil.WriteFile("E:\\"+uuid.NewV4().String()+".xlsx", buf.Bytes(), 0644) if err != nil { logx.Errorf("file upload err: %v", err) return "", err @@ -1267,7 +1267,6 @@ logx.Errorf("file upload err: %v", err) return "", err } - return fileUrl, nil } -- Gitblit v1.8.0