diff --git a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/detail/GnjMoveStashDetailActivity.kt b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/detail/GnjMoveStashDetailActivity.kt index bc83161..efb74e3 100644 --- a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/detail/GnjMoveStashDetailActivity.kt +++ b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/detail/GnjMoveStashDetailActivity.kt @@ -33,7 +33,7 @@ class GnjMoveStashDetailActivity : /** 「异常照片」加号槽位 → 拍照上传页 */ fun openPhoto() { viewModel.dataBean.value?.let { - GnjMoveStashPhotoActivity.start(this, it.mawbId, it.wbNo) + GnjMoveStashPhotoActivity.start(this, it.mawbId, it.wbNo, it.moveId) } } diff --git a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListActivity.kt b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListActivity.kt index 3f1de6c..e7c3fd6 100644 --- a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListActivity.kt +++ b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListActivity.kt @@ -90,7 +90,7 @@ class GnjMoveStashListActivity : /** 浮层「拍照」→ 拍照上传页 */ fun openPhoto(bean: MoveStashBean) { bean.actionMenuVisible.set(false) - GnjMoveStashPhotoActivity.start(this, bean.mawbId, bean.wbNo) + GnjMoveStashPhotoActivity.start(this, bean.mawbId, bean.wbNo, bean.moveId) } companion object { diff --git a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoActivity.kt b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoActivity.kt index 971cb30..0382a3f 100644 --- a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoActivity.kt +++ b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoActivity.kt @@ -33,12 +33,16 @@ class GnjMoveStashPhotoActivity : } companion object { + /** 已移库运单的 moveId(movedDetail 回填照片用) */ + const val EXTRA_MOVE_ID = "moveId" + @JvmStatic - fun start(context: Context, mawbId: String, wbNo: String) { + fun start(context: Context, mawbId: String, wbNo: String, moveId: String = "") { context.startActivity( Intent(context, GnjMoveStashPhotoActivity::class.java) .putExtra(Constant.Key.ID, mawbId) .putExtra(Constant.Key.CODE, wbNo) + .putExtra(EXTRA_MOVE_ID, moveId) ) } } diff --git a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoViewModel.kt b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoViewModel.kt index 9ad8f53..8f78ac6 100644 --- a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoViewModel.kt +++ b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/photo/GnjMoveStashPhotoViewModel.kt @@ -37,13 +37,17 @@ import kotlinx.coroutines.launch * 国内进港移库「拍照上传」ViewModel(5.5 寸手持端专属页面) * * 图片选择/预览/删除复用 module_base 的 ImageSelectNewViewHolder(末位加号槽位)。 - * 已有照片经 DomImpMove/detail 回填;提交走 DomImpMove/modify 最小体 + * 已有照片回填:待移库经 DomImpMove/detail(mawbId),已移库经 DomImpMove/movedDetail(moveId, + * searchMoved 出参不含 mawbId)。提交走 DomImpMove/modify 最小体 * (mawbId/remark/picNumber/pic/originalPic),与平板移交编辑页同一链路。 */ class GnjMoveStashPhotoViewModel : BaseViewModel(), IOnItemClickListener { var mawbId = "" + /** 已移库运单的移库记录 ID(searchMoved 出参),用于 movedDetail 回填 */ + var moveId = "" + /** 运单号(副标题展示,由列表带入) */ val wbNo = MutableLiveData("") @@ -59,9 +63,14 @@ class GnjMoveStashPhotoViewModel : BaseViewModel(), IOnItemClickListener { fun initOnCreated(intent: Intent) { mawbId = intent.getStringExtra(Constant.Key.ID).orEmpty() wbNo.value = intent.getStringExtra(Constant.Key.CODE).orEmpty() + moveId = intent.getStringExtra(GnjMoveStashPhotoActivity.EXTRA_MOVE_ID).orEmpty() - // 已有照片回填(pic 缩略图 + originalPic 原图),末位补加号槽位 - launchCollect({ NetApply.api.getGnjMoveStashDetail(mawbId) }) { + // 已有照片回填(pic 缩略图 + originalPic 原图),末位补加号槽位; + // 已移库运单无 mawbId,改按 moveId 走 movedDetail + launchCollect({ + if (mawbId.isEmpty() && moveId.isNotEmpty()) NetApply.api.getGnjMoveStashMovedDetail(moveId) + else NetApply.api.getGnjMoveStashDetail(mawbId) + }) { onSuccess = { detailBean = it.data ?: GnjYiKuBean() val picList = detailBean.pic.split(",").filter { p -> p.isNotEmpty() } @@ -88,6 +97,11 @@ class GnjMoveStashPhotoViewModel : BaseViewModel(), IOnItemClickListener { * 确认提交:先补传未上传的本地图片,再按三字段规范提交 modify */ fun submitClick() { + // modify 以 mawbId 定位运单;已移库运单 searchMoved/movedDetail 均不返回 mawbId(后端缺口),无法提交 + if (mawbId.isEmpty()) { + showToast("已移库运单缺少运单ID,暂不支持提交照片") + return + } (rv?.commonAdapter()?.items ?: emptyList()) .asFlow() .map { it as FileBean } diff --git a/app/src/main/res/layout/activity_gnj_move_stash_detail.xml b/app/src/main/res/layout/activity_gnj_move_stash_detail.xml index bd97b5a..fd40e5c 100644 --- a/app/src/main/res/layout/activity_gnj_move_stash_detail.xml +++ b/app/src/main/res/layout/activity_gnj_move_stash_detail.xml @@ -244,7 +244,7 @@ android:layout_height="wrap_content" android:layout_weight="1" title='@{"移库人"}' - value="@{viewModel.dataBean.opId}" /> + value="@{viewModel.dataBean.opUserDisplay}" /> + /** + * 国内进港移库-移库完成详情(已移库运单无 mawbId,按 moveId 查,含 pic 三字段与移库人) + * 接口路径: /DomImpMove/movedDetail + */ + @GET("DomImpMove/movedDetail") + suspend fun getGnjMoveStashMovedDetail(@Query("moveId") moveId: String): BaseResultBean + /** * 编辑-国内进港移库(新接口) */