zhangqian
2024-06-25 44b1064dcfc3d88c0eba7dca09c420ee64483f5a
fix transaction
2个文件已修改
24 ■■■■ 已修改文件
conf/config.yaml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/operation.go 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
conf/config.yaml
@@ -11,7 +11,7 @@
  companyName: jialian
db:
  #  dsn: root:c++java123@tcp(192.168.20.119:3306)/wms?charset=utf8&parseTime=True&loc=Local
  dsn: root:c++java123@tcp(192.168.20.119:3306)/aps_server2?charset=utf8&parseTime=True&loc=Local
  dsn: root:c++java123@tcp(127.0.0.1:3306)/aps_server2?charset=utf8&parseTime=True&loc=Local
  logMode: true
  maxIdleCon: 20
  maxOpenCon: 100
@@ -26,7 +26,7 @@
local:
  storePath: uploads/file
grpcServer:
  apsAddr: 192.168.20.119:9091
  apsAddr: 127.0.0.1:9091
  crmAddr: 192.168.20.119:9092
  srmAddr: 192.168.20.119:9093
dingTalk:
service/operation.go
@@ -139,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,
@@ -165,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,
@@ -182,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,
@@ -240,7 +240,7 @@
                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 {