forked from erp-dev/erp
fix: frozen excluded from stock api, refactor
This commit is contained in:
@@ -308,6 +308,14 @@ class ListStockChangeDetailsView(StockChangeViewMixin, views.APIView):
|
||||
change_type = stock_models.StockChangeTypeEnum.REMOVE # 出库
|
||||
|
||||
# 查询库存变动明细,仅查询未被消耗的明细(consumed_by_detail为空)
|
||||
active_freeze_statuses = [
|
||||
status
|
||||
for status in stock_models.StockFreezeStatusEnum.values
|
||||
if status not in {
|
||||
stock_models.StockFreezeStatusEnum.CANCELLED,
|
||||
stock_models.StockFreezeStatusEnum.COMPLETED,
|
||||
}
|
||||
]
|
||||
details = stock_models.StockChangeDetail.objects.filter(
|
||||
stock_change_record__merchant_id=merchant_id,
|
||||
stock_change_record__warehouse_id=warehouse_id,
|
||||
@@ -315,7 +323,7 @@ class ListStockChangeDetailsView(StockChangeViewMixin, views.APIView):
|
||||
product_id=product_id,
|
||||
consumed_by_detail__isnull=True # 仅查询未被消耗的明细
|
||||
).exclude(
|
||||
stock_freezes__status=stock_models.StockFreezeStatusEnum.FROZEN
|
||||
stock_freezes__status__in=active_freeze_statuses
|
||||
).select_related(
|
||||
'stock_change_record',
|
||||
'product'
|
||||
|
||||
Reference in New Issue
Block a user