b68f799ee5562864642cf925ab58391cd5544825..79aef24a785581d95343ccd99e9cb362b2bc9c97
2024-07-06 yinbentan
调整库存商品位置错误
79aef2 对比 | 目录
2024-07-06 yinbentan
出入库明细筛选添加仓库关联,防止脏数据污染
5991f5 对比 | 目录
2个文件已修改
10 ■■■■ 已修改文件
service/history_forms.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/operation.go 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/history_forms.go
@@ -96,7 +96,7 @@
    for _, location := range locations {
        locationIds = append(locationIds, location.Id)
    }
    search.Orm = search.Orm.Where("from_location_id in ? or to_location_id in ?", ids, ids)
    search.Orm = search.Orm.Where("from_location_id in ? or to_location_id in ?", locationIds, locationIds)
    return search, err
}
service/operation.go
@@ -129,7 +129,7 @@
            return err
        }
        if roleProduct, ok := mapLocationRoleProduct[strconv.Itoa(operation.LocationID)+v.ProductId]; ok {
        if roleProduct, ok := mapLocationRoleProduct[strconv.Itoa(v.ToLocationID)+v.ProductId]; ok {
            detail := &models.OperationDetails{
                ProductId:      v.ProductId,
                Amount:         v.Amount,
@@ -156,7 +156,7 @@
                }
            }
        } else {
            if roleCategory, cok := mapLocationRoleCategory[strconv.Itoa(operation.LocationID)+strconv.Itoa(v.Product.CategoryId)]; cok {
            if roleCategory, cok := mapLocationRoleCategory[strconv.Itoa(v.ToLocationID)+strconv.Itoa(v.Product.CategoryId)]; cok {
                detail := &models.OperationDetails{
                    ProductId:      v.ProductId,
                    Amount:         v.Amount,
@@ -183,7 +183,7 @@
                    }
                }
            } else {
                if locAmount, aok := mapLocAmount[strconv.Itoa(operation.LocationID)+v.ProductId]; aok {
                if locAmount, aok := mapLocAmount[strconv.Itoa(v.ToLocationID)+v.ProductId]; aok {
                    locAmount.Amount = locAmount.Amount.Add(v.Amount)
                    locAmount.ID = uint(locAmount.Id)
                    if err := models.NewLocationProductAmountSearch().SetOrm(tx).SetID(int(locAmount.ID)).Save(locAmount); err != nil {
@@ -191,7 +191,7 @@
                    }
                } else {
                    if err := models.NewLocationProductAmountSearch().SetOrm(tx).Create(&models.LocationProductAmount{
                        LocationId:        operation.LocationID,
                        LocationId:        v.ToLocationID,
                        ProductCategoryID: v.Product.CategoryId,
                        ProductId:         v.ProductId,
                        Amount:            v.Amount,