From 9273d5ce5679524c5dc2cf74e4229f93487cf14f Mon Sep 17 00:00:00 2001 From: chenlin Date: Wed, 7 May 2025 18:12:12 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=A7=9F=E8=B5=81=E5=8D=A1=E5=B8=A6=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E4=BC=98=E5=8C=96=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E6=95=B0=E9=87=8F=E4=B8=BA0=E5=88=99=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E6=8F=90=E7=A4=BA=EF=BC=9B=202.=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E6=97=B6=E9=80=80=E8=B4=A7=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E8=B7=9F=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E9=97=A8=E5=BA=97=E5=85=B3=E8=81=94=EF=BC=8C?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E4=BB=8E=E5=AF=B9=E5=BA=94=E7=9A=84=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E5=85=A5=E5=BA=93=E9=97=A8=E5=BA=97=E9=80=80=E8=B4=A7?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/apis/stockmanage/stock.go | 2 +- app/admin/models/game_card.go | 3 ++- app/admin/models/purchase.go | 15 ++++++++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/admin/apis/stockmanage/stock.go b/app/admin/apis/stockmanage/stock.go index 47f8633..d63ab19 100644 --- a/app/admin/apis/stockmanage/stock.go +++ b/app/admin/apis/stockmanage/stock.go @@ -135,7 +135,7 @@ func GameCardGoodsStockDels(c *gin.Context) { err := cardGoods.Dels(req.SerialNumberList, c) if err != nil { logger.Errorf("err:", logger.Field("err", err)) - app.Error(c, http.StatusInternalServerError, err, "删除失败") + app.Error(c, http.StatusInternalServerError, err, "删除失败:"+err.Error()) return } diff --git a/app/admin/models/game_card.go b/app/admin/models/game_card.go index 9032ef3..d870a3b 100644 --- a/app/admin/models/game_card.go +++ b/app/admin/models/game_card.go @@ -1226,7 +1226,8 @@ func (*GameCardGoods) Dels(serials []string, c *gin.Context) error { continue } if cardGoodsStock.RentStock < 1 { - continue + //continue + return errors.New("该卡带库存数量已为0") } begin := orm.Eloquent.Begin() diff --git a/app/admin/models/purchase.go b/app/admin/models/purchase.go index 2bba2ee..e6c6d99 100644 --- a/app/admin/models/purchase.go +++ b/app/admin/models/purchase.go @@ -1701,7 +1701,8 @@ func checkPurchaseInventory(req *ErpPurchaseInventoryReq, imeiCheckFlag bool) er logger.Error("checkPurchaseInventory purchase order err:", logger.Field("err", err)) return err } - nCount, err := GetCommodityStockByPurchaseId(purchaseOrder.RejectedSerialNumber, commodity.ErpCommodityId) + nCount, err := GetCommodityStockByPurchaseIdAndStoreId(purchaseOrder.RejectedSerialNumber, + commodity.ErpCommodityId, purchaseOrder.StoreId) if err != nil { logger.Error("checkPurchaseInventory GetCommodityStockByPurchaseId err:", logger.Field("err", err)) return err @@ -2759,6 +2760,18 @@ func GetCommodityStockByPurchaseId(serialNumber string, orderId uint32) (uint32, return uint32(count), nil } +// GetCommodityStockByPurchaseIdAndStoreId 查询入库商品实际库存详情处剩余有效数,不包含已出库的数量 +func GetCommodityStockByPurchaseIdAndStoreId(serialNumber string, orderId, storeId uint32) (uint32, error) { + var count int64 + err := orm.Eloquent.Table("erp_stock_commodity").Where("original_sn = ? and erp_commodity_id = ? "+ + "and state = ? and store_id = ?", serialNumber, orderId, InStock, storeId).Count(&count).Error + if err != nil { + return 0, err + } + + return uint32(count), nil +} + // GetCommodityLastMonthSales 批量查询商品的上月销售数量 func GetCommodityLastMonthSales(commodityID uint32, stores []uint32) (map[uint32]uint32, error) { // 获取上个月的时间范围