diff --git a/app/admin/models/inventory_allot.go b/app/admin/models/inventory_allot.go index 9f4f644..29c0696 100644 --- a/app/admin/models/inventory_allot.go +++ b/app/admin/models/inventory_allot.go @@ -1067,17 +1067,56 @@ func ReceiveAllotInventory(req *InventoryAllotReceiveReq, c *gin.Context) error } } - // 更新库存商品数量 - err = begin.Exec(fmt.Sprintf( - "UPDATE erp_stock SET count=count+%d WHERE store_id=%d AND erp_commodity_id=%d", - v.Count, inventoryAllotOrder.ReceiveStoreId, v.CommodityId)).Error + // 更新调入门店的库存数量 + exist, err := QueryRecordExist(fmt.Sprintf("SELECT * FROM erp_stock WHERE store_id=%d AND erp_commodity_id=%d", + inventoryAllotOrder.ReceiveStoreId, v.CommodityId)) if err != nil { - begin.Rollback() - logger.Errorf("update stock err:", err) + logger.Errorf("exist err:", err) return err } + if exist { + // 更新调入门店库存商品数量 + err = begin.Exec(fmt.Sprintf( + "UPDATE erp_stock SET count=count+%d WHERE store_id=%d AND erp_commodity_id=%d", + v.Count, inventoryAllotOrder.ReceiveStoreId, v.CommodityId)).Error + if err != nil { + begin.Rollback() + logger.Errorf("update stock err:", err) + return err + } + } else { + stock := &ErpStock{ + StoreId: inventoryAllotOrder.ReceiveStoreId, + StoreName: inventoryAllotOrder.ReceiveStoreName, + ErpCommodityId: v.CommodityId, + ErpCommodityName: v.CommodityName, + ErpCategoryId: stockCommodity[0].ErpCategoryId, + ErpCategoryName: stockCommodity[0].ErpCategoryName, + CommoditySerialNumber: stockCommodity[0].CommoditySerialNumber, + IMEIType: v.IMEIType, + RetailPrice: stockCommodity[0].RetailPrice, + MinRetailPrice: stockCommodity[0].MinRetailPrice, + Count: v.Count, + DispatchCount: 0, + } + err = begin.Create(stock).Error + if err != nil { + logger.Errorf("create stock err:", err) + return err + } + } - // 更新库存商品调拨数量 + //// 更新库存商品数量 + //err = begin.Exec(fmt.Sprintf( + // "UPDATE erp_stock SET count=count+%d WHERE store_id=%d AND erp_commodity_id=%d", + // v.Count, inventoryAllotOrder.ReceiveStoreId, v.CommodityId)).Error + //if err != nil { + // begin.Rollback() + // logger.Errorf("update stock err:", err) + // return err + //} + + // 更新调出门店库存商品调拨数量 err = begin.Exec(fmt.Sprintf( "UPDATE erp_stock SET dispatch_count = dispatch_count-%d WHERE store_id=%d AND erp_commodity_id=%d", v.Count, inventoryAllotOrder.DeliverStoreId, v.CommodityId)).Error diff --git a/app/admin/models/inventory_change.go b/app/admin/models/inventory_change.go index 5d4a77b..ed74a46 100644 --- a/app/admin/models/inventory_change.go +++ b/app/admin/models/inventory_change.go @@ -831,7 +831,7 @@ func handleInventoryReduce(gdb *gorm.DB, changeOrder ErpInventoryChangeOrder) er logger.Field("err", err)) return err } - usedStockCommodityIdList[trimCommodities[i].ID] = append(usedStockCommodityIdList[trimCommodities[i].ID], rightId) + usedStockCommodityIdList[trimCommodities[i].CommodityId] = append(usedStockCommodityIdList[trimCommodities[i].CommodityId], rightId) } // 更新库存数量:库存数量-count @@ -1022,7 +1022,7 @@ func handleCancelInventoryReduce(gdb *gorm.DB, changeOrder ErpInventoryChangeOrd return err } - usedStockCommodityIdList[trimCommodities[i].ID] = append(usedStockCommodityIdList[trimCommodities[i].ID], rightId) + usedStockCommodityIdList[trimCommodities[i].CommodityId] = append(usedStockCommodityIdList[trimCommodities[i].CommodityId], rightId) } // 更新库存数量:库存数量+count diff --git a/app/admin/models/menu.go b/app/admin/models/menu.go index e21116c..a906546 100644 --- a/app/admin/models/menu.go +++ b/app/admin/models/menu.go @@ -262,6 +262,7 @@ func (e *Menu) Get() (Menus []Menu, err error) { } if err = table.Order("sort").Find(&Menus).Error; err != nil { + //if err = table.Where("visible = 0").Order("sort").Find(&Menus).Error; err != nil { return } return