feat(inbound): 新增入库秤毛菜/净材入库功能

- 新增入库专用网络层(InboundApiService、InboundRepository、InboundNetworkModule、InboundInterceptor)
- 新增入库相关数据模型(IngredientByTrace、SupplierOption、ZoneOption、GoodsSearchModel、CleanInboundParam、RawInboundParam、InboundApiResponse)
- 新增 FormField 动态表单模型(FieldType 枚举、apiKey 字段映射、submitValueId 控制提交值)
- 新增 FormFieldAdapter,基于 FlexboxLayoutManager 实现两列自动换行表单,支持五种字段类型
- 新增 InboundGoodsSearchDialog(溯源码检索食材)和 InboundGoodsStoreDialog(入库录入,表单转 Map 提交)
- 新增 StoreViewModel,提交接口入参改为 Map<String, Any>
- 重构 StoreActivity:注入 StoreViewModel,onResume 预加载供应商/区域列表到 GlobalData
- 修改 GoodsListActivity:抽取 onGoodsSearchRequested() 供子类重写
- 修改 GoodsRecognizeDialog:StoreActivity 场景下打开 InboundGoodsStoreDialog
- GlobalData 新增 inboundSupplierList / inboundZoneList 全局缓存
- build.gradle.kts 新增 flexbox:3.0.0 依赖

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-26 21:18:09 +08:00
co-authored by Claude Sonnet 4.6
parent ac9494a0f3
commit fabc4d780a
28 changed files with 2352 additions and 11 deletions
@@ -2,7 +2,9 @@ package com.sw.inbound
import android.net.Uri
import com.sw.inbound.model.response.DictType
import com.sw.inbound.model.response.SupplierOption
import com.sw.inbound.model.response.User
import com.sw.inbound.model.response.ZoneOption
object GlobalData {
/**
@@ -40,6 +42,16 @@ object GlobalData {
*/
var unitTypeList: List<DictType> = arrayListOf()
/**
* 入库供应商列表(入库秤使用)
*/
var inboundSupplierList: List<SupplierOption> = emptyList()
/**
* 入库仓库区域列表(入库秤使用)
*/
var inboundZoneList: List<ZoneOption> = emptyList()
/**
* 具体业务 BaseUrl
*/