From 6f813f9cff2914cdfef1c01c09bafd45491e283b Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Fri, 9 Oct 2026 07:34:59 -0700 Subject: [PATCH] =?UTF-8?q?feat(=E8=BF=9B=E6=B8=AF=E7=A7=BB=E5=BA=93):=20?= =?UTF-8?q?=E7=A7=BB=E5=BA=93=E4=BA=BA=E5=8F=96=20opUserName=EF=BC=8C?= =?UTF-8?q?=E5=B7=B2=E7=A7=BB=E5=BA=93=E7=85=A7=E7=89=87=E7=BB=8F=20movedD?= =?UTF-8?q?etail=20=E5=9B=9E=E5=A1=AB=EF=BC=88=E9=97=AE=E9=A2=98=E6=B8=85?= =?UTF-8?q?=E5=8D=95=20#32~#34=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - #32 fdate/fno/spCode 后端已实装(search/searchMoved),手机端原有传参零改动生效 - #33 searchMoved 已回填 opId/opDate 并新增 opUserName:详情「移库人」改绑姓名(回退 opId) - #34 新增 GET /DomImpMove/movedDetail:已移库运单(列表无 mawbId)拍照页按 moveId 回填照片 - 已移库运单 searchMoved/movedDetail 均无 mawbId,而 modify 以 mawbId 定位(实测返回「未能获取到运单id」), 提交前给出明确提示,不再发出必失败请求;缺口已登记问题清单 - 内网实测:fno=MU2222 待移库 0 / 已移库 2 与直调一致;详情移库人「张三」 Co-Authored-By: Claude Opus 5.5 --- .../detail/GnjMoveStashDetailActivity.kt | 2 +- .../stash/list/GnjMoveStashListActivity.kt | 2 +- .../stash/photo/GnjMoveStashPhotoActivity.kt | 6 +++++- .../stash/photo/GnjMoveStashPhotoViewModel.kt | 20 ++++++++++++++++--- .../layout/activity_gnj_move_stash_detail.xml | 2 +- .../module_base/bean/MoveStashBean.kt | 8 +++++++- .../lukouguoji/module_base/http/net/Api.kt | 7 +++++++ 7 files changed, 39 insertions(+), 8 deletions(-) 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 + /** * 编辑-国内进港移库(新接口) */