feat(进港查询): 三格统计改取 pageQueryTotal 分项 storedNumber/departedNumber(问题清单 #30)

- 已入库/已出库由「已加载数据客户端计数」改为服务端全量口径,删除 phoneLoadedList 累计逻辑
- 内网实测:全量 123/119/4,outState=0/1 分别 119/0 与 4/4 口径自洽;当日 1/1/0 与 App 一致

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
YANG JIANKUAN
2026-10-09 07:33:43 -07:00
parent cca62aae29
commit 68e6c7c52b

View File

@@ -65,14 +65,12 @@ class IntImpQueryViewModel : BasePageViewModel(), IOnItemClickListener {
val businessTypeList = MutableLiveData<List<KeyValue>>(emptyList()) val businessTypeList = MutableLiveData<List<KeyValue>>(emptyList())
// ==================== 5.5寸手机版专属 ==================== // ==================== 5.5寸手机版专属 ====================
// 三格统计:已入库 / 已出库(总票数复用 totalCount,为服务端全量口径) // 三格统计:总票数 / 已入库 / 已出库,均取 pageQueryTotal 出参
// pageQueryTotal 无分项统计出参——已入库/已出库为「已加载数据」客户端计数口径, // (wbNumber / storedNumber / departedNumber),服务端全量口径
// 与卡片状态标签同一判定(dlvTime / inDate,见 IntImpQueryBean)
val storedCount = MutableLiveData("0") val storedCount = MutableLiveData("0")
val outboundCount = MutableLiveData("0") val outboundCount = MutableLiveData("0")
private var phoneExtrasEnabled = false private var phoneExtrasEnabled = false
private var phoneLoadedList: List<IntImpQueryBean> = emptyList()
/** /**
* 手机形态专属初始化(Activity 在 DeviceUtil.isPhone() 时调用)。 * 手机形态专属初始化(Activity 在 DeviceUtil.isPhone() 时调用)。
@@ -183,14 +181,6 @@ class IntImpQueryViewModel : BasePageViewModel(), IOnItemClickListener {
}) { }) {
onSuccess = { pageInfo -> onSuccess = { pageInfo ->
pageModel.handleListBean(pageInfo.toBaseListBean()) pageModel.handleListBean(pageInfo.toBaseListBean())
// 手机三格统计:对已加载数据做客户端计数(平板不触发)
if (phoneExtrasEnabled) {
val pageItems = pageInfo.list ?: emptyList()
phoneLoadedList =
if (pageModel.page <= 1) pageItems else phoneLoadedList + pageItems
updatePhoneCounts()
}
} }
} }
@@ -202,20 +192,13 @@ class IntImpQueryViewModel : BasePageViewModel(), IOnItemClickListener {
totalCount.value = (data?.wbNumber ?: 0).toString() totalCount.value = (data?.wbNumber ?: 0).toString()
totalPc.value = (data?.totalPc ?: 0).toString() totalPc.value = (data?.totalPc ?: 0).toString()
totalWeight.value = (data?.totalWeight ?: 0.0).toString() totalWeight.value = (data?.totalWeight ?: 0.0).toString()
// 手机三格统计分项(平板布局不绑定,无影响)
storedCount.value = (data?.storedNumber ?: 0).toString()
outboundCount.value = (data?.departedNumber ?: 0).toString()
} }
} }
} }
/**
* 手机三格统计(已入库/已出库):与卡片状态标签同一判定口径(dlvTime / inDate),
* 统计范围为已加载的列表数据。
*/
private fun updatePhoneCounts() {
outboundCount.value = phoneLoadedList.count { it.isQueryOutbound }.toString()
storedCount.value =
phoneLoadedList.count { !it.isQueryOutbound && it.isQueryStored }.toString()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (resultCode == Activity.RESULT_OK && data != null) { if (resultCode == Activity.RESULT_OK && data != null) {
when (requestCode) { when (requestCode) {