feat: 国际出港-出港仓库

This commit is contained in:
2026-01-13 11:16:21 +08:00
parent caeb68f9fd
commit ca81d8f8bb
5 changed files with 59 additions and 43 deletions

View File

@@ -753,7 +753,7 @@ class HomeFragment : Fragment() {
RightMenu(
Constant.AuthName.GjcIntExpStorageUse,
R.mipmap.gjc_cang_ku_icon,
"仓库"
"出港仓库"
)
)

View File

@@ -1,7 +1,9 @@
package com.lukouguoji.module_base.bean
import androidx.databinding.ObservableBoolean
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
/**
* 国际出港主单数据模型
@@ -78,6 +80,7 @@ data class GjcMaWb(
var declareStatus: String? = null, // 申报状态
var reviewStatus: String? = null, // 审核状态0未审核1通过2退回
var tranFlag: String? = null, // 转运标志
var clearNormal: String? = null, // 清仓正常01
// ==================== 操作信息 ====================
var opDate: String? = null, // 操作时间(入库时间)
@@ -145,6 +148,34 @@ data class GjcMaWb(
"1" -> "提前运抵"
else -> arriveFlag ?: ""
}
/**
* 航班信息(格式化后)
* 格式: yyyyMMdd/航班号
* 示例: 20260108/MU2025
*/
val flightInfo: String
get() {
val dateFormat = SimpleDateFormat("yyyyMMdd", Locale.getDefault())
val formattedDate = fdate?.let { dateFormat.format(it) } ?: ""
val flightNo = fno ?: ""
return if (formattedDate.isNotEmpty() && flightNo.isNotEmpty()) {
"$formattedDate/$flightNo"
} else {
flight ?: "" // 如果无法格式化回退到原始flight字段
}
}
/**
* 清仓正常状态中文
* 0-否1-是
*/
val clearNormalText: String
get() = when (clearNormal) {
"0" -> ""
"1" -> ""
else -> clearNormal ?: ""
}
}
/**

View File

@@ -18,6 +18,8 @@ import com.lukouguoji.module_base.ktx.toRequestBody
import com.lukouguoji.module_base.model.ScanModel
import dev.utils.app.info.KeyValue
import kotlinx.coroutines.launch
import java.util.Date
import com.lukouguoji.module_base.ktx.formatDate
/**
* 国际出港-仓库 ViewModel
@@ -25,7 +27,7 @@ import kotlinx.coroutines.launch
class IntExpStorageUseViewModel : BasePageViewModel() {
// ========== 筛选条件 ==========
val flightDate = MutableLiveData("") // 航班日期
val flightDate = MutableLiveData(Date().formatDate()) // 航班日期,默认今天
val flightNo = MutableLiveData("") // 航班号
val clearResult = MutableLiveData("") // 清仓综合结果
val clearResultList = MutableLiveData<List<KeyValue>>() // 清仓综合结果列表

View File

@@ -51,7 +51,7 @@
<!-- 清仓综合结果 -->
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
hint='@{"请选择清仓综合结果"}'
hint='@{"请选择清仓结果"}'
list="@{viewModel.clearResultList}"
type="@{SearchLayoutType.SPINNER}"
value="@={viewModel.clearResult}"
@@ -66,6 +66,12 @@
setOnIconClickListener="@{(v)-> viewModel.scanWbNo()}"
type="@{SearchLayoutType.INPUT}"
value="@={viewModel.wbNo}"
autoQueryEnabled="@{true}"
autoQueryUrl="@{`/IntExpStorageUse/queryWbNoList`}"
autoQueryParamKey="@{`wbNo`}"
autoQueryMinLength="@{4}"
autoQueryMaxLength="@{8}"
autoQueryTitle="@{`选择运单号`}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
@@ -199,21 +205,18 @@
<!-- 清仓按钮 -->
<TextView
style="@style/tv_bottom_btn"
android:layout_marginEnd="10dp"
android:onClick="@{()-> viewModel.clearStorage()}"
android:text="清 仓" />
<!-- 修改库位按钮 -->
<TextView
style="@style/tv_bottom_btn"
android:layout_marginEnd="10dp"
android:onClick="@{()-> viewModel.modifyStorage()}"
android:text="修改库位" />
<!-- 出库按钮 -->
<TextView
style="@style/tv_bottom_btn"
android:layout_marginEnd="10dp"
android:onClick="@{()-> viewModel.outStorage()}"
android:text="出 库" />

View File

@@ -65,7 +65,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:layout_weight="0.9"
android:orientation="horizontal">
<TextView
@@ -73,7 +73,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运单号:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
@@ -81,8 +80,7 @@
android:layout_height="wrap_content"
android:text="@{bean.wbNo}"
android:textColor="@color/colorPrimary"
android:textSize="16sp"
android:textStyle="bold" />
android:textSize="16sp" />
</LinearLayout>
@@ -90,7 +88,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:layout_weight="1.1"
android:orientation="horizontal">
<TextView
@@ -98,14 +96,12 @@
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="航班信息:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.flight}"
android:textColor="@color/text_normal"
android:text="@{bean.flightInfo}"
android:textSize="16sp" />
</LinearLayout>
@@ -120,16 +116,14 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{3}"
completeSpace="@{5}"
android:text="航程:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.range}"
android:textColor="@color/text_normal"
android:textSize="16sp" />
</LinearLayout>
@@ -138,7 +132,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:layout_weight="1.1"
android:orientation="horizontal">
<TextView
@@ -146,7 +140,6 @@
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="品名(英)"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
@@ -155,7 +148,6 @@
android:ellipsize="end"
android:maxLines="1"
android:text="@{bean.goods}"
android:textColor="@color/text_normal"
android:textSize="16sp" />
</LinearLayout>
@@ -164,22 +156,20 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:layout_weight="0.7"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{3}"
completeSpace="@{4}"
android:text="重量:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.weight)}"
android:textColor="@color/text_normal"
android:textSize="16sp" />
</LinearLayout>
@@ -197,7 +187,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:layout_weight="0.9"
android:orientation="horizontal">
<TextView
@@ -205,14 +195,12 @@
android:layout_height="wrap_content"
completeSpace="@{4}"
android:text="代理人:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.agentName}"
android:textColor="@color/text_normal"
android:text="@{bean.agentCode}"
android:textSize="16sp" />
</LinearLayout>
@@ -221,7 +209,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:layout_weight="1.1"
android:orientation="horizontal">
<TextView
@@ -229,14 +217,12 @@
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="件数:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.pc)}"
android:textColor="@color/text_normal"
android:textSize="16sp" />
</LinearLayout>
@@ -251,16 +237,14 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{3}"
android:text="清仓正常"
android:textColor="@color/text_normal"
completeSpace="@{5}"
android:text="清仓正常:"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@color/text_normal"
android:text="@{bean.clearNormalText}"
android:textSize="16sp" />
</LinearLayout>
@@ -269,7 +253,7 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:layout_weight="1.1"
android:orientation="horizontal">
<TextView
@@ -277,14 +261,12 @@
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="入库时间:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.opDate}"
android:textColor="@color/text_normal"
android:textSize="16sp" />
</LinearLayout>
@@ -293,22 +275,20 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:layout_weight="0.7"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{3}"
completeSpace="@{4}"
android:text="库位数:"
android:textColor="@color/text_normal"
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.storageUseNumber)}"
android:textColor="@color/text_normal"
android:textSize="16sp" />
</LinearLayout>