From 31a1e1ceec772a3ea66878ee5aa755fec31c3c70 Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Mon, 29 Jun 2026 16:23:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BB=84=E8=A3=85=E9=A1=B5=E5=90=8C=20U?= =?UTF-8?q?LD=20=E6=8D=A2=E8=A3=85=E5=85=B6=E4=BB=96=E8=88=AA=E7=8F=AD?= =?UTF-8?q?=E5=90=8E=E5=B7=A6=E4=BE=A7=E7=BB=84=E8=A3=85=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9C=AA=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 同一 ULD 卸光原航班货物后改装另一航班的货,装货成功后航班号 仍停留在旧航班,左侧组装信息列表继续显示旧航班的 ULD。改为 装货成功后无条件将航班同步为本次所装运单的航班(卸货保持原 有仅为空时兜底逻辑)。 Co-Authored-By: Claude Opus 4.6 --- .../gjc/viewModel/IntExpAssembleStartViewModel.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt index 97cc69a..2d26906 100644 --- a/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt +++ b/module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpAssembleStartViewModel.kt @@ -745,10 +745,15 @@ class IntExpAssembleStartViewModel : BaseViewModel() { reloadUldUseId(uldNo) } - // 添加形式(全新 ULD)时航班可能未从 ULD 查询接口获取,导致组装信息列表查不出; - // 仅在航班为空时用本次操作运单的航班信息兜底补全,ULD 已带航班时保持原值不变。 - if (assembleFlightNo.value.isNullOrEmpty() || assembleFlightDate.value.isNullOrEmpty()) { - if (operationFno.isNotEmpty() && operationFdate.isNotEmpty()) { + // 同步航班信息,保证左侧组装信息列表查询的是本次操作 ULD 所属航班: + // - 装货:装货决定该 ULD 归属哪个航班。若在同一 ULD 上先卸光原航班(如 MU0128)货物、 + // 再装入另一航班(如 MU0205)的货,必须无条件把航班改为本次所装运单的航班, + // 否则 assembleFlightNo 仍停留在旧航班,左侧组装信息列表会继续显示旧航班的 ULD。 + // - 卸货:卸货不改变 ULD 归属航班,沿用原有"仅航班为空时兜底补全"逻辑。 + if (operationFno.isNotEmpty() && operationFdate.isNotEmpty()) { + val shouldUpdateFlight = + isLoad || assembleFlightNo.value.isNullOrEmpty() || assembleFlightDate.value.isNullOrEmpty() + if (shouldUpdateFlight) { assembleFlightNo.value = operationFno // 与 ULD 查询保持一致,只取年月日(去掉时间部分) assembleFlightDate.value =