From 221108b0e0416968ca8417513ebf65c8b5109662 Mon Sep 17 00:00:00 2001
From: lishihai <dslsh@dscom>
Date: 星期三, 26 六月 2024 11:40:47 +0800
Subject: [PATCH] 库存盘点应用按钮记录创建人,创建时间,应用时间、应用人员等信息;根据条形码查询产品详情;新增编辑产品增加条形码字段->添加条形码被使用验证
---
service/operation.go | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/service/operation.go b/service/operation.go
index 8b5bd2e..3b9c43b 100644
--- a/service/operation.go
+++ b/service/operation.go
@@ -4,6 +4,7 @@
"errors"
"fmt"
"github.com/gin-gonic/gin"
+ "github.com/mitchellh/mapstructure"
"github.com/shopspring/decimal"
"gorm.io/gorm"
"strconv"
@@ -138,11 +139,11 @@
if locAmount, aok := mapLocAmount[strconv.Itoa(roleProduct.LocationId)+v.ProductId]; aok {
locAmount.Amount = locAmount.Amount.Add(v.Amount)
- if res := models.NewLocationProductAmountSearch().Orm.Where("id=?", locAmount.ID).Save(locAmount); res.Error != nil {
- return res.Error
+ if err := models.NewLocationProductAmountSearch().SetOrm(tx).SetID(int(locAmount.ID)).Save(locAmount); err != nil {
+ return err
}
} else {
- if err := models.NewLocationProductAmountSearch().Create(&models.LocationProductAmount{
+ if err := models.NewLocationProductAmountSearch().SetOrm(tx).Create(&models.LocationProductAmount{
LocationId: roleProduct.LocationId,
ProductCategoryID: v.Product.CategoryId,
ProductId: v.ProductId,
@@ -164,11 +165,11 @@
if locAmount, aok := mapLocAmount[strconv.Itoa(roleCategory.LocationId)+v.ProductId]; aok {
locAmount.Amount = locAmount.Amount.Add(v.Amount)
- if res := models.NewLocationProductAmountSearch().Orm.Where("id=?", locAmount.ID).Save(locAmount); res.Error != nil {
- return res.Error
+ if err := models.NewLocationProductAmountSearch().SetOrm(tx).SetID(int(locAmount.ID)).Save(locAmount); err != nil {
+ return err
}
} else {
- if err := models.NewLocationProductAmountSearch().Create(&models.LocationProductAmount{
+ if err := models.NewLocationProductAmountSearch().SetOrm(tx).Create(&models.LocationProductAmount{
LocationId: roleCategory.LocationId,
ProductCategoryID: v.Product.CategoryId,
ProductId: v.ProductId,
@@ -181,11 +182,11 @@
} else {
if locAmount, aok := mapLocAmount[strconv.Itoa(operation.LocationID)+v.ProductId]; aok {
locAmount.Amount = locAmount.Amount.Add(v.Amount)
- if res := models.NewLocationProductAmountSearch().Orm.Where("id=?", locAmount.ID).Save(locAmount); res.Error != nil {
- return res.Error
+ if err := models.NewLocationProductAmountSearch().SetOrm(tx).SetID(int(locAmount.ID)).Save(locAmount); err != nil {
+ return err
}
} else {
- if err := models.NewLocationProductAmountSearch().Create(&models.LocationProductAmount{
+ if err := models.NewLocationProductAmountSearch().SetOrm(tx).Create(&models.LocationProductAmount{
LocationId: operation.LocationID,
ProductCategoryID: v.Product.CategoryId,
ProductId: v.ProductId,
@@ -239,14 +240,18 @@
return errors.New(fmt.Sprintf("浜у搧锛�%v,搴撳瓨锛�%v,鍑哄簱锛�%v,鏁伴噺涓嶅锛屾棤娉曞畬鎴愬嚭搴撴搷浣�", v.Product.Name, locAmount.Amount.String(), v.Amount.String()))
}
locAmount.Amount = locAmount.Amount.Sub(v.Amount)
- if err := models.NewLocationProductAmountSearch().SetID(locAmount.Id).Update(locAmount); err != nil {
+ if err := models.NewLocationProductAmountSearch().SetOrm(tx).SetID(locAmount.Id).Save(locAmount); err != nil {
return err
}
} else {
return errors.New("褰撳墠浠撳簱娌℃湁璇ヤ骇鍝�,璇峰厛鍏ュ簱")
}
if v.IsInternalOutput {
- internalInputDetails = append(internalInputDetails, v)
+ var inputDetail models.OperationDetails
+ mapstructure.Decode(v, &inputDetail)
+ inputDetail.Id = 0
+ inputDetail.OperationID = 0
+ internalInputDetails = append(internalInputDetails, &inputDetail)
}
}
if len(internalInputDetails) > 0 {
--
Gitblit v1.8.0