# 入库系统接口文档 > 生成时间: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 通用响应格式 所有接口返回结构统一如下: ```json { "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`(存储方式) | **响应 data(`List`):** | 字段 | 类型 | 说明 | |------|------|------| | `id` | String | 存储方式 ID | | `value` | String | 存储方式值 | | `text` | String | 展示文本 | | `title` | String | 标题 | | `label` | String | 标签 | --- ### 2.2 获取物品类型列表 | 项目 | 内容 | |------|------| | 请求方式 | `GET` | | 接口路径 | `{baseUrl}{prefix}/pad/notLimitList` | **Query 参数:** 无 **响应 data(`GoodsType`):** | 字段 | 类型 | 说明 | |------|------|------| | `allType` | List\ | 物品类型列表 | **AllType 结构:** | 字段 | 类型 | 说明 | |------|------|------| | `id` | String | 类型 ID | | `typeName` | String | 类型名称 | | `typeCode` | String | 类型编码 | | `ftype` | String | 父类型 | | `superName` | String | 父类型名称 | | `status` | Boolean | 是否启用 | | `eaId` | Int | 企业 ID | | `kidTypes` | List\ | 子类型列表 | | `createTime` | String | 创建时间 | | `updateTime` | String | 更新时间 | --- ### 2.3 获取字典数据列表 | 项目 | 内容 | |------|------| | 请求方式 | `GET` | | 接口路径 | `{baseUrl}{prefix}/pad/dataList` | **Query 参数:** | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | `type` | String | 是 | 字典类型,如仓库列表、单位类型等 | **响应 data(`List`):** | 字段 | 类型 | 说明 | |------|------|------| | `id` | String | 字典项 ID | | `value` | String | 字典项名称/值 | --- ### 2.4 采购单入库列表 | 项目 | 内容 | |------|------| | 请求方式 | `POST` | | 接口路径 | `{baseUrl}{prefix}/pad/receivePage` | | Content-Type | `application/json` | **请求体(JSON,`Map`):** | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | `pageNo` | String | 是 | 页码,从 1 开始 | | `pageSize` | String | 是 | 每页条数 | | *(其他筛选条件)* | String | 否 | 如供应商ID、日期范围等 | **响应 data(`List`):** | 字段 | 类型 | 说明 | |------|------|------| | `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 | **响应 data(`PurchaseInfo`):** | 字段 | 类型 | 说明 | |------|------|------| | `id` | String | 收货单 ID | | `supplierId` | String | 供应商 ID | | `supplierName` | String | 供应商名称 | | `purCode` | String | 采购单号 | | `receiveCode` | String | 收货单号 | | `receiveGoodsInfoList` | List\ | 物品明细列表(见 **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` | File(MultipartBody.Part) | 是 | 图片文件 | **响应 data:** ``` String // 图片访问路径(相对 URL) ``` --- ### 2.7 上传多张图片 | 项目 | 内容 | |------|------| | 请求方式 | `POST` | | 接口路径 | `{baseUrl}/terminal/neglect/inbound/pad/inboundWeighingScale/add` | | Content-Type | `multipart/form-data` | **Form-Data 参数:** | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | `goodsId` | String(RequestBody) | 是 | 物品 ID | | `goodsName` | String(RequestBody) | 是 | 物品名称 | | `goodsPics` | List\ | 是 | 多张图片文件列表,字段名固定为 `goodsPics` | **响应 data:** ``` String // 操作结果 ``` --- ### 2.8 搜索物品列表 | 项目 | 内容 | |------|------| | 请求方式 | `POST` | | 接口路径 | `{baseUrl}{prefix}/pad/goodsInfoList` | | Content-Type | `application/json` | **请求体(JSON,`Map`):** | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | `goodsName` | String | 否 | 物品名称关键词 | | `pageNo` | String | 是 | 页码 | | `pageSize` | String | 是 | 每页条数 | | *(其他筛选条件)* | String | 否 | 按需传入 | **响应 data(`SearchGoodsInfo`,分页结构):** | 字段 | 类型 | 说明 | |------|------|------| | `current` | Int | 当前页码 | | `total` | Int | 总记录数 | | `size` | Int | 每页条数 | | `pages` | Int | 总页数 | | `records` | List\ | 物品记录列表(见 **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 结构:** | 字段 | 类型 | 说明 | |------|------|------| | `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\ | 是 | 识别到的物品名称列表 | **响应 data:** ``` List // 物品记录列表(字段同 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) | | `receiveGoodsInfoList` | List\ | 否 | 部分收货列表(全量收货时传空列表) | **响应 data:** ``` Boolean // true 表示操作成功 ``` --- ### 2.12 自采入库 | 项目 | 内容 | |------|------| | 请求方式 | `POST` | | 接口路径 | `{baseUrl}{prefix}/pad/selfPurchasedGoods` | | Content-Type | `application/json` | **请求体(`List`):** | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | `goodsId` | String | 是 | 物品 ID | | `kcUnitId` | String | 否 | 库存单位 ID | | `goodsCount` | Double | 是 | 入库数量 | | `goodsUnitPrice` | Double | 是 | 入库单价 | | `goodsPrice` | Double | 是 | 入库金额 | | `goodPurId` | String | 是 | 物品采购单位关系 ID(`businessUnitId`) | | `warehouseId` | String | 是 | 仓库 ID | | `buyToInventoryValue` | String | 否 | 采购转库存换算值 | | `goodsWeight` | BigDecimal | 是 | 物品重量(千克) | | `consumeValue` | String | 否 | 库存单位对应消耗值 | > 注:`goodsName`、`unitName`、`unitList`、`selectUnitType` 等字段为本地 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`