From 1d5cb2f03c706c4b1cc36f50fd431f98fdbe7101 Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期三, 13 十二月 2023 15:23:33 +0800 Subject: [PATCH] 对number的验证及不重复 --- controllers/product_controller.go | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 deletions(-) diff --git a/controllers/product_controller.go b/controllers/product_controller.go index 96f9306..616b889 100644 --- a/controllers/product_controller.go +++ b/controllers/product_controller.go @@ -14,6 +14,7 @@ "wms/extend/util" "wms/models" "wms/pkg/logx" + "wms/pkg/mysqlx" "wms/request" ) @@ -212,6 +213,22 @@ if err != nil { util.ResponseFormat(c, code.RequestParamError, "浜у搧淇℃伅鏇存柊澶辫触") return + } + + //鏇存柊鍦ㄥ簱鐨勪骇鍝佺被鍨� + if params.CategoryId > 0 { + find, _ := models.NewLocationProductAmountSearch().SetProductId(params.ID).Find() + if len(find) > 0 { + var ids []int + for _, f := range find { + if f.ProductCategoryID != params.CategoryId { + ids = append(ids, f.Id) + } + } + m := make(map[string]interface{}) + m["productCategoryId"] = params.CategoryId + _ = models.NewLocationProductAmountSearch().SetIds(ids).UpdateByMap(m) + } } materialAttachmentList := []*models.MaterialAttachment{} @@ -431,12 +448,28 @@ util.ResponseFormat(c, code.RequestParamError, "璇疯緭鍏ユ簮鍗曟嵁") return } + if params.Number == "" { + util.ResponseFormat(c, code.RequestParamError, "璇疯緭鍏ュ崟鍙�") + return + } + + var numberNum int64 + if err := mysqlx.GetDB().Model(&models.Operation{}).Where("number=?", params.Number).Count(&numberNum).Error; err != nil { + util.ResponseFormat(c, code.RequestParamError, err.Error()) + return + } + if numberNum > 0 { + util.ResponseFormat(c, code.RequestParamError, "鍗曞彿宸插瓨鍦�") + return + } + detail := &models.OperationDetails{ ProductId: params.ProductId, Amount: params.Amount, } operation := models.Operation{ - Number: strconv.FormatInt(time.Now().Unix(), 10), + //Number: strconv.FormatInt(time.Now().Unix(), 10), + Number: params.Number, SourceNumber: params.SourceNumber, OperationTypeId: 0, Status: constvar.OperationStatus_Ready, @@ -528,7 +561,7 @@ return } if err := models.WithTransaction(func(tx *gorm.DB) error { - if err := models.NewOperationSearch().SetOrm(tx).SetID(id).Update(&models.Operation{Status: constvar.OperationStatus_Finish}); err != nil { + if err := models.NewOperationSearch().SetOrm(tx).SetID(id).Update(&models.Operation{Status: constvar.OperationStatus_Finish, AuditDate: time.Now().Format("2006-01-02 15:04:05")}); err != nil { return err } var listProdtId []string @@ -729,6 +762,7 @@ return } operation.Status = constvar.OperationStatus_Cancel + operation.AuditDate = time.Now().Format("2006-01-02 15:04:05") if err := models.NewOperationSearch().SetID(operation.Id).Save(operation); err != nil { util.ResponseFormat(c, code.SaveFail, err.Error()) return -- Gitblit v1.8.0