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 # 出库
|
change_type = stock_models.StockChangeTypeEnum.REMOVE # 出库
|
||||||
|
|
||||||
# 查询库存变动明细,仅查询未被消耗的明细(consumed_by_detail为空)
|
# 查询库存变动明细,仅查询未被消耗的明细(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(
|
details = stock_models.StockChangeDetail.objects.filter(
|
||||||
stock_change_record__merchant_id=merchant_id,
|
stock_change_record__merchant_id=merchant_id,
|
||||||
stock_change_record__warehouse_id=warehouse_id,
|
stock_change_record__warehouse_id=warehouse_id,
|
||||||
@@ -315,7 +323,7 @@ class ListStockChangeDetailsView(StockChangeViewMixin, views.APIView):
|
|||||||
product_id=product_id,
|
product_id=product_id,
|
||||||
consumed_by_detail__isnull=True # 仅查询未被消耗的明细
|
consumed_by_detail__isnull=True # 仅查询未被消耗的明细
|
||||||
).exclude(
|
).exclude(
|
||||||
stock_freezes__status=stock_models.StockFreezeStatusEnum.FROZEN
|
stock_freezes__status__in=active_freeze_statuses
|
||||||
).select_related(
|
).select_related(
|
||||||
'stock_change_record',
|
'stock_change_record',
|
||||||
'product'
|
'product'
|
||||||
|
|||||||
Reference in New Issue
Block a user