feat: 国际进港新增提取出库和进港查询功能页面

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 16:14:14 +08:00
parent b994f43bc7
commit 1476f1368a
20 changed files with 1854 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
package com.lukouguoji.module_base.bean
import androidx.databinding.ObservableBoolean
import java.io.Serializable
/**
* 国际进港提取出库-列表数据Bean
* 对应API: IntImpPickUpDlv/pageQuery
*/
class IntImpPickUpDLVBean : Serializable {
var id: Long = 0 // 主键ID
var wbNo: String = "" // 运单号
var no: String = "" // 主单号
var prefix: String = "" // 主单前缀
var hno: String = "" // 分单号
var agentCode: String = "" // 代理人代码
var agentName: String = "" // 代理人名称
var flight: String = "" // 航班信息
var fno: String = "" // 航班号
var fdate: String = "" // 航班日期
var pc: Long = 0 // 件数
var weight: Double = 0.0 // 重量
var cashWeight: Double = 0.0 // 计费重量
var pkId: String = "" // 提货编号(提货单号)
var location: String = "" // 库位
var chargeTime: String = "" // 缴费时间(提取时间)
var dlvTime: String = "" // 出库时间
var goods: String = "" // 品名
var spCode: String = "" // 特码
var pickFlag: String = "" // 提取出库标识
var chargeFlag: String = "" // 提取标识
var serialNo: Long = 0 // 收费记录项目序号
var amount: Double = 0.0 // 总金额
var optCharge: Double = 0.0 // 服务费
var whsCharge: Double = 0.0 // 仓储费
var tranCharge: Double = 0.0 // 信息费
var drawBillCharge: Double = 0.0 // 抽单费
var efrCharge: Double = 0.0 // 冷藏费
var svlCharge: Double = 0.0 // 铲车费
var tallyCharge: Double = 0.0 // 理货费
var chargeId: String = "" // 收费员
var chargeName: String = "" // 收费员名称
var dlvId: String = ""
var dlvIdType: String = ""
var dlvName: String = ""
var dlvPhone: String = ""
var locFlag: String = ""
var origin: String = ""
var refId: String = ""
var receiptNo: String = ""
var chgMode: String = ""
var billReviewStatus: String = ""
var billAgentRemark: String = ""
var awbPc: Long = 0
// ========== UI扩展字段 ==========
val checked: ObservableBoolean = ObservableBoolean(false)
var isSelected: Boolean
get() = checked.get()
set(value) = checked.set(value)
}

View File

@@ -0,0 +1,57 @@
package com.lukouguoji.module_base.bean
/**
* 国际进港查询-主运单数据模型
* 对应接口:/IntImpSearch/pageQuery 返回的列表项 (GjjSearchMaWb)
*/
data class IntImpQueryBean(
var maWbId: Long? = null, // 主单主键ID
var wbNo: String? = null, // 运单号
var prefix: String? = null, // 运单号前缀
var no: String? = null, // 运单号主体
// ==================== 货物信息 ====================
var awbPc: Long? = null, // 运单件数
var awbWeight: Double? = null, // 运单重量
var inPc: Long? = null, // 入库件数
var inWeight: Double? = null, // 入库重量
var cashWeight: Double? = null, // 计费重量
var goods: String? = null, // 品名(英)
var goodsCn: String? = null, // 品名(中)
var packageType: String? = null, // 包装类型
var unNumber: String? = null, // UN编号
// ==================== 航班信息 ====================
var flight: String? = null, // 航班: 日期/航班号
var fno: String? = null, // 航班号
var fdate: String? = null, // 航班日期
var range: String? = null, // 航程 (如 LAX-HFE)
var dest: String? = null, // 目的地
var origin: String? = null, // 货源地
var by1: String? = null, // 承运人
// ==================== 代理与运单类型 ====================
var agentCode: String? = null, // 代理人code
var agentName: String? = null, // 代理人名称
var awbType: String? = null, // 运单类型code
var awbName: String? = null, // 运单类型名称
var businessType: String? = null, // 业务类型code
var businessName: String? = null, // 业务类型名称
// ==================== 特码 ====================
var spCode: String? = null, // 特码
// ==================== 时间信息 ====================
var inDate: String? = null, // 入库时间
var dlvTime: String? = null, // 出库时间
// ==================== 状态信息 ====================
var mftStatus: String? = null, // 原始舱单状态
var tallyStatus: String? = null, // 理货申报状态
var lockState: Int? = null, // 锁定状态0:未锁, 1:锁定)
var command: String? = null, // 海关放行
// ==================== 其他 ====================
var remark: String? = null, // 备注
var activeId: Long? = null // 有效值
)

View File

@@ -271,6 +271,7 @@ interface Constant {
const val IntImpManifest = "AppIntImpManifest" //进港舱单
const val IntImpTally = "AppIntImpTally" //理货报告
const val IntImpPickUpRecord = "AppIntImpPickUpRecord" //提取记录
const val IntImpPickUpDLV = "AppIntImpPickUpDLV" //提取出库
const val GjjManifestListActivity = "AppIntExpManifest" //舱单
const val GjjTallyListActivity = "AppIntExpTally" //理货
const val GjjGoodsListActivity = "AppIntExpGjjGoods" //货物交接

View File

@@ -50,7 +50,9 @@ import com.lukouguoji.module_base.bean.GjjGoodsDetailsBean
import com.lukouguoji.module_base.bean.GjjGoodsTypeBean
import com.lukouguoji.module_base.bean.GjjHandoverRecordBean
import com.lukouguoji.module_base.bean.GjjImportTally
import com.lukouguoji.module_base.bean.IntImpPickUpDLVBean
import com.lukouguoji.module_base.bean.IntImpPickUpRecordBean
import com.lukouguoji.module_base.bean.IntImpQueryBean
import com.lukouguoji.module_base.bean.GjjManifest
import com.lukouguoji.module_base.bean.GjjManifestBean
import com.lukouguoji.module_base.bean.GjjPackTypeBean
@@ -969,6 +971,41 @@ interface Api {
@POST("IntImpPickUpRecord/getDetails")
suspend fun getIntImpPickUpRecordDetails(@Body data: RequestBody): BaseResultBean<IntImpPickUpRecordBean>
/**
* 国际进港提取出库-分页查询
* 接口路径: /IntImpPickUpDlv/pageQuery
*/
@POST("IntImpPickUpDlv/pageQuery")
suspend fun getIntImpPickUpDLVList(@Body data: RequestBody): PageInfo<IntImpPickUpDLVBean>
/**
* 国际进港提取出库-分页合计
* 接口路径: /IntImpPickUpDlv/pageQueryTotal
*/
@POST("IntImpPickUpDlv/pageQueryTotal")
suspend fun getIntImpPickUpDLVTotal(@Body data: RequestBody): BaseResultBean<ManifestTotalDto>
/**
* 国际进港提取出库-确认出库
* 接口路径: /IntImpPickUpDlv/pickUpOut
*/
@POST("IntImpPickUpDlv/pickUpOut")
suspend fun confirmIntImpPickUpDLV(@Body data: RequestBody): BaseResultBean<String>
/**
* 国际进港查询-分页
* 接口路径: /IntImpSearch/pageQuery
*/
@POST("IntImpSearch/pageQuery")
suspend fun getIntImpQueryList(@Body data: RequestBody): PageInfo<IntImpQueryBean>
/**
* 国际进港查询-分页合计
* 接口路径: /IntImpSearch/pageQueryTotal
*/
@POST("IntImpSearch/pageQueryTotal")
suspend fun getIntImpQueryTotal(@Body data: RequestBody): BaseResultBean<ManifestTotalDto>
/**
* 国际出港待计重-分页搜索
* 接口路径: /IntExpCheckIn/pageQuery

View File

@@ -177,6 +177,7 @@ object ARouterConstants {
const val ACTIVITY_URL_INT_IMP_MANIFEST = "/gjj/IntImpManifestActivity" //国际进港 进港舱单
const val ACTIVITY_URL_INT_IMP_LOADING_LIST = "/gjj/IntImpLoadingListActivity" //国际进港 装机单(分拣理货)
const val ACTIVITY_URL_INT_IMP_TALLY = "/gjj/IntImpTallyActivity" //国际进港 理货报告
const val ACTIVITY_URL_INT_IMP_PICK_UP_DLV = "/gjj/IntImpPickUpDLVActivity" //国际进港 提取出库
///////////////// 航班查询模块
/**