Files
Inbound20260114/入库秤_API_DOC.md
T
lvmengandClaude Sonnet 4.6 fabc4d780a 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>
2026-05-26 21:18:09 +08:00

14 KiB
Raw Blame History

入库系统接口文档

生成时间:2026-05-26
项目:Inbound20260114


一、通用说明

1.1 服务器环境

环境 地址
本地环境 http://192.168.1.201:14801
测试环境 https://dev.yixiong-tech.com:8083
生产环境(PROD https://api.dm.yixiong-tech.com:8443

代码中使用 GlobalData.appBaseUrl 动态切换,启动时由设备配置决定当前所用环境。


1.2 通用请求头

以下请求头由拦截器(RequestInterceptor)统一注入,无需在每个接口中单独传递

Header 字段 说明 示例值
Content-Type 请求体格式 application/json
Accept 响应体格式 application/json
deviceId 设备唯一标识符(UUID bcf396ed-78f6-3864-...
X-DEVICE-CODE 设备编码(同 deviceId bcf396ed-78f6-3864-...
x-access-token 用户登录 Token(登录后获取) {token}
authorization 固定鉴权值 57ee87183f2a4fa59683ec9ef41c8f5d

特殊说明getDeviceInfo 接口额外通过 @Header("X-Access-Token") 传入设备 Token(设备初始化阶段使用,区别于用户登录 Token)。


1.3 通用响应格式

所有接口返回结构统一如下:

{
  "code": "00000",
  "msg": "success",
  "data": {}
}
字段 类型 说明
code String 业务状态码,00000 表示成功
msg String 提示信息
data T / null 业务数据,各接口不同

1.4 接口路径前缀

业务接口通用前缀(简称 {prefix}):

/terminal/neglect/inbound

二、接口列表


2.1 获取存储方式列表

项目 内容
请求方式 GET
接口路径 {baseUrl}{prefix}/pad/getDictItemByF

Query 参数:

参数名 类型 必填 说明
dictCode String 字典编码,固定值 ccfs(存储方式)

响应 dataList<StorageType>):

字段 类型 说明
id String 存储方式 ID
value String 存储方式值
text String 展示文本
title String 标题
label String 标签

2.2 获取物品类型列表

项目 内容
请求方式 GET
接口路径 {baseUrl}{prefix}/pad/notLimitList

Query 参数:

响应 dataGoodsType):

字段 类型 说明
allType List<AllType> 物品类型列表

AllType 结构:

字段 类型 说明
id String 类型 ID
typeName String 类型名称
typeCode String 类型编码
ftype String 父类型
superName String 父类型名称
status Boolean 是否启用
eaId Int 企业 ID
kidTypes List<String> 子类型列表
createTime String 创建时间
updateTime String 更新时间

2.3 获取字典数据列表

项目 内容
请求方式 GET
接口路径 {baseUrl}{prefix}/pad/dataList

Query 参数:

参数名 类型 必填 说明
type String 字典类型,如仓库列表、单位类型等

响应 dataList<DictType>):

字段 类型 说明
id String 字典项 ID
value String 字典项名称/值

2.4 采购单入库列表

项目 内容
请求方式 POST
接口路径 {baseUrl}{prefix}/pad/receivePage
Content-Type application/json

请求体(JSONMap<String, String>):

参数名 类型 必填 说明
pageNo String 页码,从 1 开始
pageSize String 每页条数
(其他筛选条件) String 如供应商ID、日期范围等

响应 dataList<SupplierInfo>):

字段 类型 说明
id String 收货单 ID
purCode String 采购单号
receiveCode String 收货单号
supplierId String 供应商 ID
supplierName String 供应商名称
purchaseDate String 采购日期
receiveDate String 收货时间
receiveStatus Int 收货状态:1-收货关闭 / 2-收货完成 / 3-待收货 / 4-部分收货
receiveUser String 操作人
goodCount Int 物品项数
receiveCountAll Double 总收货数量
receivePriceEx Double 收货金额(不含税)
receivePriceIn Double 收货金额(含税)
taxRateAll Double 税率合计
giftAll Double 赠品合计
warehouseId String 仓库 ID
eaId Int 企业 ID
createTime String 创建时间
updateTime String 更新时间

2.5 采购单入库详情

项目 内容
请求方式 GET
接口路径 {baseUrl}{prefix}/pad/receiveDetail

Query 参数:

参数名 类型 必填 说明
id String 收货单 ID

响应 dataPurchaseInfo):

字段 类型 说明
id String 收货单 ID
supplierId String 供应商 ID
supplierName String 供应商名称
purCode String 采购单号
receiveCode String 收货单号
receiveGoodsInfoList List<GoodsInfo> 物品明细列表(见 GoodsInfo 结构

GoodsInfo 结构:

字段 类型 说明
id String 明细 ID
goodId String 物品 ID
goodName String 物品名称
unitName String 采购单位名称
purchaseUnitId String 采购单位 ID
goodsPurId String 物品采购单位关系 ID
receiveCount Double 应收数量
receivedNum Double 实收数量
receiveCountAll Double 总收货数量
recUnitPriceTaxIn Double 含税单价
newRecUnitPriceTaxIn Double 调整后单价(部分收货使用)
recPriceExItem Double 不含税金额
recPriceInItem Double 含税金额
warehouseId String 仓库 ID
warehouseName String 仓库名称
kcUnitId String 库存单位 ID
kcUnitName String 库存单位名称
purchaseValue Int 采购库存转换值
consumeValue String 库存与克的转换值
goodsWeight BigDecimal 物品重量(千克)
goodsCount Double 物品数量
goodsUnitPrice Double 物品单价
goodsPrice Double 物品总价
buyToInventoryValue String 采购转库存换算值

2.6 上传单张图片

项目 内容
请求方式 POST
接口路径 {baseUrl}/terminal/neglect/upload
Content-Type multipart/form-data

Form-Data 参数:

参数名 类型 必填 说明
file FileMultipartBody.Part 图片文件

响应 data

String  // 图片访问路径(相对 URL)

2.7 上传多张图片

项目 内容
请求方式 POST
接口路径 {baseUrl}/terminal/neglect/inbound/pad/inboundWeighingScale/add
Content-Type multipart/form-data

Form-Data 参数:

参数名 类型 必填 说明
goodsId StringRequestBody 物品 ID
goodsName StringRequestBody 物品名称
goodsPics List<MultipartBody.Part> 多张图片文件列表,字段名固定为 goodsPics

响应 data

String  // 操作结果

2.8 搜索物品列表

项目 内容
请求方式 POST
接口路径 {baseUrl}{prefix}/pad/goodsInfoList
Content-Type application/json

请求体(JSONMap<String, String>):

参数名 类型 必填 说明
goodsName String 物品名称关键词
pageNo String 页码
pageSize String 每页条数
(其他筛选条件) String 按需传入

响应 dataSearchGoodsInfo,分页结构):

字段 类型 说明
current Int 当前页码
total Int 总记录数
size Int 每页条数
pages Int 总页数
records List<Record> 物品记录列表(见 Record 结构

Record 结构:

字段 类型 说明
id String 物品 ID
goodsCode String 物品编码
goodsName String 物品名称
zjmCode String 助记码
specification String 规格
typeId Int 物品类型 ID
typeName String 物品类型名称
kcUnitId Int 库存单位 ID
kcUnitName String 库存单位名称
consumeValue String 库存与克的转换值
purchaseValue String 采购库存转换值
unit String 单位
relativeUrl String 物品图片相对路径
unitVoList List<UnitVo> 可选采购单位列表(见 UnitVo 结构

UnitVo 结构:

字段 类型 说明
businessUnitId String 单位关系 ID
purchaseUnitName String 采购单位名称
buyToInventoryValue String 采购转库存换算值
consumeValue String 消耗转换值
purchaseValue Double 购买单位对应库存数量
isDefault Int 是否默认单位(1-是)
value String 单位展示值

2.9 图像识别物品列表查询

项目 内容
请求方式 POST
接口路径 {baseUrl}{prefix}/pad/goodsList
Content-Type application/json

用于图片识别后,根据识别到的物品名称列表批量查询物品信息。

请求体(RecGoodsName):

参数名 类型 必填 说明
nameList List<String> 识别到的物品名称列表

响应 data

List<SearchGoodsInfo.Record>  // 物品记录列表(字段同 2.8 的 Record 结构)

2.10 自采添加新物品

项目 内容
请求方式 POST
接口路径 {baseUrl}{prefix}/pad/goodsAdd
Content-Type application/json

请求体(GoodsAddParam):

参数名 类型 必填 说明
goodName String 物品名称
goodCode String 物品编号(服务端自动生成)
goodType String 物品类型 ID
storageType String 存储方式 ID
netRate Float 净材率(0~1 之间)
unitId String 库存单位 ID
purchaseUnit String 采购单位 ID
purchaseValue Float 采购单位对应库存数量(转换值)
purchasePrice BigDecimal 采购单价
relativeUrl String 物品图片相对路径
consumeValue String 库存单位对应消耗值(库存与克的转换值)

响应 data

String  // 新增物品 ID 或操作结果

2.11 确认收货(全部收货)

项目 内容
请求方式 POST
接口路径 {baseUrl}{prefix}/pad/saveAndReceiveAndGoWare
Content-Type application/json

请求体(UploadInfo):

参数名 类型 必填 说明
id String 收货单 ID
supplierId String 供应商 ID
purCode String 采购单号
receiveGoodsInfos List<GoodsInfo> 全部收货物品列表(字段同 GoodsInfo)
receiveGoodsInfoList List<GoodsInfo> 部分收货列表(全量收货时传空列表)

响应 data

Boolean  // true 表示操作成功

2.12 自采入库

项目 内容
请求方式 POST
接口路径 {baseUrl}{prefix}/pad/selfPurchasedGoods
Content-Type application/json

请求体(List<PurchaseWarehouseParam>):

参数名 类型 必填 说明
goodsId String 物品 ID
kcUnitId String 库存单位 ID
goodsCount Double 入库数量
goodsUnitPrice Double 入库单价
goodsPrice Double 入库金额
goodPurId String 物品采购单位关系 IDbusinessUnitId
warehouseId String 仓库 ID
buyToInventoryValue String 采购转库存换算值
goodsWeight BigDecimal 物品重量(千克)
consumeValue String 库存单位对应消耗值

注:goodsNameunitNameunitListselectUnitType 等字段为本地 UI 展示用,不上传至服务端

响应 data

Boolean  // true 表示入库成功

三、接口速查表

# 接口名称 方法 路径
2.1 获取存储方式列表 GET {prefix}/pad/getDictItemByF
2.2 获取物品类型列表 GET {prefix}/pad/notLimitList
2.3 获取字典数据列表 GET {prefix}/pad/dataList
2.4 采购单入库列表 POST {prefix}/pad/receivePage
2.5 采购单入库详情 GET {prefix}/pad/receiveDetail
2.6 上传单张图片 POST /terminal/neglect/upload
2.7 上传多张图片 POST /terminal/neglect/inbound/pad/inboundWeighingScale/add
2.8 搜索物品列表 POST {prefix}/pad/goodsInfoList
2.9 图像识别物品查询 POST {prefix}/pad/goodsList
2.10 自采添加新物品 POST {prefix}/pad/goodsAdd
2.11 确认收货(全部) POST {prefix}/pad/saveAndReceiveAndGoWare
2.12 自采入库 POST {prefix}/pad/selfPurchasedGoods

{prefix} = /terminal/neglect/inbound