更新登录页及优化相关功能

This commit is contained in:
焦龙言
2026-10-08 14:13:05 +08:00
parent 9a14b692e3
commit 56e646bcc1
139 changed files with 77587 additions and 811 deletions
@@ -5,6 +5,7 @@ class PalletFlowState(str, Enum):
UNSTOCKED = 'UNSTOCKED'
EMPTY_IN_WAREHOUSE = 'EMPTY_IN_WAREHOUSE'
FILLED_IN_WAREHOUSE = 'FILLED_IN_WAREHOUSE'
IN_TRANSIT = 'IN_TRANSIT'
AT_SITE_UNUSED = 'AT_SITE_UNUSED'
AT_SITE_PARTIAL = 'AT_SITE_PARTIAL'
AT_SITE_EMPTY = 'AT_SITE_EMPTY'
@@ -25,6 +26,8 @@ class PalletEventType(str, Enum):
INBOUND_CONFIRMED = 'INBOUND_CONFIRMED'
FILLING_CONFIRMED = 'FILLING_CONFIRMED'
SHIPMENT_CONFIRMED = 'SHIPMENT_CONFIRMED'
SHIPMENT_RECEIVED = 'SHIPMENT_RECEIVED'
TUNNEL_ENTERED = 'TUNNEL_ENTERED'
USAGE_RECORDED = 'USAGE_RECORDED'
RETURN_REQUESTED = 'RETURN_REQUESTED'
RETURN_CONFIRMED = 'RETURN_CONFIRMED'
@@ -0,0 +1,15 @@
"""只比较真实到货时间,不将未知时间或托盘编号作为先后依据。"""
from datetime import datetime
from typing import Any
def requires_fifo_skip_reason(
pallet_id: int, arrived_at: datetime | None, candidate: dict[str, Any] | None
) -> bool:
return bool(
arrived_at is not None
and candidate is not None
and candidate['pallet_id'] != pallet_id
and candidate['site_arrived_at'] < arrived_at
)
@@ -13,7 +13,8 @@ class PalletStateMachine:
PalletFlowState.EMPTY_IN_WAREHOUSE,
PalletFlowState.FILLED_IN_WAREHOUSE,
),
(PalletFlowState.FILLED_IN_WAREHOUSE, PalletFlowState.AT_SITE_UNUSED),
(PalletFlowState.FILLED_IN_WAREHOUSE, PalletFlowState.IN_TRANSIT),
(PalletFlowState.IN_TRANSIT, PalletFlowState.AT_SITE_UNUSED),
(PalletFlowState.AT_SITE_UNUSED, PalletFlowState.AT_SITE_PARTIAL),
(PalletFlowState.AT_SITE_UNUSED, PalletFlowState.AT_SITE_EMPTY),
(PalletFlowState.AT_SITE_UNUSED, PalletFlowState.RETURNING),
@@ -15,6 +15,7 @@ from module_business.entity.do.master_do import (
BizPallet,
BizProductionLine,
BizStrain,
BizTunnel,
BizWarehouse,
)
from module_business.entity.do.operation_do import (
@@ -42,6 +43,7 @@ BATCH_MODELS = {
BizProductionLine.line_id,
BizProductionLine.line_code,
),
'biz_tunnel': (BizTunnel, BizTunnel.tunnel_id, BizTunnel.tunnel_code),
'biz_warehouse': (BizWarehouse, BizWarehouse.warehouse_id, BizWarehouse.warehouse_code),
'biz_pallet': (BizPallet, BizPallet.pallet_id, BizPallet.pallet_code),
'biz_inbound_order': (BizInboundOrder, BizInboundOrder.inbound_id, BizInboundOrder.inbound_no),
@@ -85,6 +87,7 @@ BATCH_LABELS = {
'biz_customer': '客户',
'biz_customer_site': '客户现场',
'biz_production_line': '生产线',
'biz_tunnel': '隧道',
'biz_warehouse': '仓库',
'biz_pallet': '托盘',
'biz_inbound_order': '入库单',
@@ -111,6 +114,7 @@ _DELETE_TIE_BREAK_ORDER = (
'biz_pallet_event',
'biz_filling_record',
'biz_production_line',
'biz_tunnel',
'biz_customer_site',
'biz_customer',
'biz_warehouse',
@@ -123,6 +127,7 @@ ROOT_TABLES = {
'customer': 'biz_customer',
'site': 'biz_customer_site',
'line': 'biz_production_line',
'tunnel': 'biz_tunnel',
'warehouse': 'biz_warehouse',
'pallet': 'biz_pallet',
'inbound': 'biz_inbound_order',
@@ -136,6 +141,7 @@ _EVENT_SOURCE_TABLES = {
'INBOUND': 'biz_inbound_order',
'FILLING': 'biz_filling_record',
'SHIPMENT': 'biz_shipment_order',
'TUNNEL': 'biz_tunnel',
'USAGE': 'biz_usage_record',
'RETURN': 'biz_return_order',
}