fix: 国际进港仓库接口路径修复及操作逻辑优化
- API路径从 IntImpStorageUse 修正为 IntImpStorage - 清仓/入库接口参数改为 Query + Body 分离传递 - 清仓/出库/入库支持勾选运单号全选所有库位 - 出库确认弹框改为自定义 ConfirmDialogModel - 搜索增加清仓综合结果筛选参数 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@ package com.lukouguoji.gjj.activity
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.lukouguoji.module_base.model.ConfirmDialogModel
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.lukouguoji.gjj.R
|
||||
import com.lukouguoji.gjj.databinding.ActivityIntImpStorageUseBinding
|
||||
@@ -60,12 +60,17 @@ class IntImpStorageUseActivity :
|
||||
val allItems = list.filterIsInstance<com.lukouguoji.module_base.bean.GjcMaWb>()
|
||||
|
||||
val maWbListForClear = allItems.mapNotNull { maWb ->
|
||||
val selectedStorageList = maWb.storageUseList?.filter { it.isSelected } ?: emptyList()
|
||||
|
||||
if (selectedStorageList.isNotEmpty() || maWb.isSelected) {
|
||||
maWb.copy(storageUseList = selectedStorageList)
|
||||
if (maWb.isSelected) {
|
||||
// 勾选运单号 → 默认全选该运单号下的所有库位
|
||||
maWb.copy(storageUseList = maWb.storageUseList ?: emptyList())
|
||||
} else {
|
||||
null
|
||||
// 勾选库位号 → 只对选择的库位进行操作
|
||||
val selectedStorageList = maWb.storageUseList?.filter { it.isSelected } ?: emptyList()
|
||||
if (selectedStorageList.isNotEmpty()) {
|
||||
maWb.copy(storageUseList = selectedStorageList)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,6 +110,7 @@ class IntImpStorageUseActivity :
|
||||
|
||||
val selectedStorage = selectedStorageUseList[0]
|
||||
|
||||
// 弹出库位选择弹框,选择后再调用接口
|
||||
IntImpModifyStorageDialogModel { dialog ->
|
||||
val locationName = dialog.locationName
|
||||
val locationId = dialog.locationId
|
||||
@@ -119,24 +125,32 @@ class IntImpStorageUseActivity :
|
||||
val list = viewModel.pageModel.rv?.commonAdapter()?.items as? List<*> ?: return
|
||||
val allItems = list.filterIsInstance<com.lukouguoji.module_base.bean.GjcMaWb>()
|
||||
|
||||
val selectedStorageUseList = mutableListOf<com.lukouguoji.module_base.bean.GjcStorageUse>()
|
||||
allItems.forEach { maWb ->
|
||||
maWb.storageUseList?.filter { it.isSelected }?.let { selectedStorageUseList.addAll(it) }
|
||||
val maWbListForOutStorage = allItems.mapNotNull { maWb ->
|
||||
if (maWb.isSelected) {
|
||||
// 勾选运单号 → 默认全选该运单号下的所有库位
|
||||
maWb.copy(storageUseList = maWb.storageUseList ?: emptyList())
|
||||
} else {
|
||||
// 勾选库位号 → 只对选择的库位进行操作
|
||||
val selectedStorageList = maWb.storageUseList?.filter { it.isSelected } ?: emptyList()
|
||||
if (selectedStorageList.isNotEmpty()) {
|
||||
maWb.copy(storageUseList = selectedStorageList)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (selectedStorageUseList.isEmpty()) {
|
||||
if (maWbListForOutStorage.isEmpty()) {
|
||||
showToast("请选择要出库的库位")
|
||||
return
|
||||
}
|
||||
|
||||
AlertDialog.Builder(this)
|
||||
.setTitle("出库确认")
|
||||
.setMessage("确定要将选中的 ${selectedStorageUseList.size} 个库位执行出库操作吗?")
|
||||
.setPositiveButton("确定") { _, _ ->
|
||||
viewModel.performOutStorage(selectedStorageUseList)
|
||||
}
|
||||
.setNegativeButton("取消", null)
|
||||
.show()
|
||||
ConfirmDialogModel(
|
||||
message = "是否确认出库?",
|
||||
title = "出库确认"
|
||||
) {
|
||||
viewModel.performOutStorage(maWbListForOutStorage)
|
||||
}.show(this)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -147,12 +161,17 @@ class IntImpStorageUseActivity :
|
||||
val allItems = list.filterIsInstance<com.lukouguoji.module_base.bean.GjcMaWb>()
|
||||
|
||||
val maWbListForInStorage = allItems.mapNotNull { maWb ->
|
||||
val selectedStorageList = maWb.storageUseList?.filter { it.isSelected } ?: emptyList()
|
||||
|
||||
if (selectedStorageList.isNotEmpty() || maWb.isSelected) {
|
||||
maWb.copy(storageUseList = selectedStorageList)
|
||||
if (maWb.isSelected) {
|
||||
// 勾选运单号 → 默认全选该运单号下的所有库位
|
||||
maWb.copy(storageUseList = maWb.storageUseList ?: emptyList())
|
||||
} else {
|
||||
null
|
||||
// 勾选库位号 → 只对选择的库位进行操作
|
||||
val selectedStorageList = maWb.storageUseList?.filter { it.isSelected } ?: emptyList()
|
||||
if (selectedStorageList.isNotEmpty()) {
|
||||
maWb.copy(storageUseList = selectedStorageList)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user