This commit is contained in:
2026-08-11 11:41:41 +08:00
parent 9f455b6c0b
commit 9b3ff06a90
17 changed files with 429 additions and 76 deletions
@@ -52,19 +52,18 @@ public interface LoadingInboundMapper {
@Update("""
UPDATE fl_inbound_order root
LEFT JOIN fl_inbound_order remainder
ON remainder.tenant_id=root.tenant_id AND remainder.parent_inbound_id=root.id
AND remainder.inbound_role='CHILD' AND remainder.split_purpose='REMAINDER'
AND remainder.split_status='NOT_SPLIT' AND remainder.deleted=0
LEFT JOIN fl_inbound_order loaded
ON loaded.tenant_id=root.tenant_id AND loaded.parent_inbound_id=root.id
AND loaded.inbound_role='CHILD' AND loaded.split_purpose='LOADED'
AND loaded.process_status<>'LOADED' AND loaded.deleted=0
SET root.process_status='LOADED', root.updated_by=#{operatorId}, root.version=root.version+1
WHERE root.tenant_id=#{tenantId} AND root.id=#{rootInboundId} AND root.deleted=0
AND root.inbound_role='MASTER' AND root.process_status IN ('INBOUNDED','LOADING')
AND NOT EXISTS (
SELECT 1 FROM fl_inbound_order remainder
WHERE remainder.tenant_id=root.tenant_id AND remainder.parent_inbound_id=root.id
AND remainder.inbound_role='CHILD' AND remainder.split_purpose='REMAINDER'
AND remainder.split_status='NOT_SPLIT' AND remainder.deleted=0)
AND NOT EXISTS (
SELECT 1 FROM fl_inbound_order loaded
WHERE loaded.tenant_id=root.tenant_id AND loaded.parent_inbound_id=root.id
AND loaded.inbound_role='CHILD' AND loaded.split_purpose='LOADED'
AND loaded.process_status<>'LOADED' AND loaded.deleted=0)
AND remainder.id IS NULL AND loaded.id IS NULL
""")
int aggregateRootLoaded(@Param("tenantId") long tenantId,
@Param("rootInboundId") long rootInboundId,