From 7af977218be09a1ff8e9ac6740dfd22983aa33d2 Mon Sep 17 00:00:00 2001 From: lishihai <dslsh@dscom> Date: 星期五, 14 六月 2024 11:47:25 +0800 Subject: [PATCH] 属性值和对象-AttributeValue-wms_attribute_value-的曾删改 --- controllers/operation.go | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index 7a6a2d0..8193fa9 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -92,6 +92,23 @@ return } + var productIds []string + for _, v := range params.Details { + productIds = append(productIds, v.ProductId) + } + products, err := models.NewMaterialSearch().SetIDs(productIds).FindNotTotal() + if err != nil { + logx.Errorf("MonthStats get products err:%v", err) + return + } + productMap := models.MaterialMap(products) + for i, v := range params.Details { + material := productMap[v.ProductId] + if material != nil { + params.Details[i].Note = material.Note + } + } + if err := models.NewOperationSearch().Create(¶ms); err != nil { logx.Errorf("Operation create err: %v", err) util.ResponseFormat(c, code.SaveFail, "娣诲姞澶辫触锛�"+err.Error()) @@ -157,7 +174,6 @@ return errors.New("璇烽�夋嫨婧愪綅缃�") } } - } return nil } @@ -345,11 +361,16 @@ } operation, err := models.NewOperationSearch().SetID(id).First() if err != nil { - util.ResponseFormat(c, code.RequestParamError, "鏈壘鍒扮浉鍏冲嚭鍏ュ簱淇℃伅:"+err.Error()) + util.ResponseFormat(c, code.RequestParamError, "鏈壘鍒扮浉鍏冲嚭鍏ュ簱鍗曟嵁:"+err.Error()) + return + } + userInfo := middleware.GetUserInfo(c) + if operation.CreatedBy != userInfo.Username { + util.ResponseFormat(c, code.RequestError, "鍒汉鐨勫嚭鍏ュ簱鍗曟嵁鏃犳硶杩涜鍒犻櫎") return } if operation.Status != constvar.OperationStatus_Ready { - util.ResponseFormat(c, code.RequestError, "璇ュ叆搴撲俊鎭棤娉曡繘琛屽垹闄�") + util.ResponseFormat(c, code.RequestError, "璇ュ嚭鍏ュ簱鍗曟嵁鏃犳硶杩涜鍒犻櫎") return } if err := models.WithTransaction(func(tx *gorm.DB) error { @@ -1268,6 +1289,12 @@ if params.Condition != "" { db = db.Where("wms_operation.number like ? or wms_operation.source_number like ? or from_location.`name` like ? or to_location.`name` like ? or material.`name` like ? ", "%"+params.Condition+"%", "%"+params.Condition+"%", "%"+params.Condition+"%", "%"+params.Condition+"%", "%"+params.Condition+"%") } + if params.WarehouseId != 0 { + db = db.Where("warehouse_id = ?", params.WarehouseId) + } + if params.LocationId != 0 { + db = db.Where("location_id = ?", params.LocationId) + } var ( records = make([]*response.InventoryHistory, 0) total int64 -- Gitblit v1.8.0