Skip to content

基础资料接口文档

本文档描述 ERP 基础资料模块的管理端接口。接口实现位于 yq-erp-server/src/modules/info,前端主要通过 service.info.* 调用。

通用约定

  • 管理端基础路径:/admin/info
  • 请求需要携带后台登录态和权限;列表数据默认受当前登录用户部门权限影响。
  • CoolAdmin 标准接口由 @CoolController 生成。除特别说明外,方法和参数如下:
方法路径说明主要参数
POST/<资源>/add新增记录body 为实体字段
POST/<资源>/update更新记录body 至少包含 id,其余为要更新字段
POST/<资源>/delete删除记录ids: number[]
GET/POST/<资源>/info查询单条id
GET/POST/<资源>/list查询列表资源支持的筛选字段
GET/POST/<资源>/page分页查询pagesize、筛选字段、排序字段

标准响应遵循项目统一返回格式;业务服务方法通常只返回 data 部分。分页结果包含 listpagination 或 CoolAdmin 默认分页结构。

状态口径

客户、供应商、物料等带审核的资料共用基础状态口径,服务端枚举集中在 src/modules/info/utils.ts

状态值语义常见页面行为
0待审核或草稿可编辑、可发起审核
1审核中不应重复发起审核,可查看审核详情
2审核驳回可重做审核
100正常/启用/生效可被业务单据引用
110停用/失效通常不可被新业务引用
111终止类状态保留历史,不作为正常可用资料

BOM、员工等资源有自己的状态枚举,见对应资源说明。

客户

资源路径:/admin/info/customer

接口方法说明
/addPOST新增客户。服务会生成或校验客户编号,并规范联系人邮箱字段。
/updatePOST更新客户基础资料、结算资料、联系人资料。
/deletePOST删除客户。业务引用存在时应谨慎使用。
/infoGET/POST查询客户详情。
/listGET/POST查询客户列表,可用于下拉选择。
/pageGET/POST客户分页查询,返回当前审核节点等审核元数据。
/changeStatusPOST手动变更客户状态。
/initReviewPOST发起客户审核。
/redoReviewPOST重新发起客户审核或回退重做。
/exportToExcelPOST导出客户资料。
/testAddPOST开发/导入辅助:按导入行结构测试新增客户。

关键字段:

字段说明
code客户编号。
shortname客户简称,业务单据常用显示字段。
name客户全称。
paymentMethod付款方式。
statementDay对账截止日。
taxRate税率。
currency币别。
email主收件邮箱,支持 0-n 个地址,后端以文本保存。
ccEmail抄送邮箱,支持 0-n 个地址。
salesmansalesmanId业务员名称和用户 ID。
status客户状态。

特殊接口参数:

json
POST /admin/info/customer/changeStatus
{
  "id": 1,
  "status": 100
}
json
POST /admin/info/customer/initReview
{
  "code": ["KH0001", "KH0002"]
}
json
POST /admin/info/customer/redoReview
{
  "code": "KH0001",
  "reverse": false
}

导出接口可传当前筛选条件,或传 ids 导出选中客户。

供应商

资源路径:/admin/info/supplier

接口方法说明
/addPOST新增供应商,规范邮箱字段并生成/校验供应商编号。
/updatePOST更新供应商资料。
/deletePOST删除供应商。
/infoGET/POST查询供应商详情。
/listGET/POST查询供应商列表。
/pageGET/POST供应商分页查询,返回绑定仓库和审核元数据。
/changeStatusPOST手动变更供应商状态。
/getEmailInfoGET按供应商简称查询收件邮箱信息。
/initReviewPOST发起供应商审核。
/redoReviewPOST重新发起供应商审核或回退重做。
/exportToExcelPOST导出供应商资料。
/test-import-excel-rowPOST开发/导入辅助:测试单行 Excel 供应商导入解析。
/testAddPOST开发/导入辅助:按导入行结构测试新增供应商。

关键字段:

字段说明
code供应商编号。
shortname供应商简称。
name供应商全称。
paymentMethod付款方式。
billType票据类型。
taxRate税率。
statementDay对账截止日。
includeFreight是否含运费。
isOutsource是否委外供应商。
email主收件邮箱,采购订单通知依赖该字段。
ccEmail抄送邮箱。
warehouse通过仓库绑定关系返回的关联仓库。
status供应商状态。

/getEmailInfo 示例:

http
GET /admin/info/supplier/getEmailInfo?shortname=耀强供应商

返回供应商主收件与抄送信息,供采购订单邮件草稿合并使用。供应商未配置主收件邮箱时,采购订单通知草稿会被后端拦截。

物料

资源路径:/admin/info/materials/base_material

接口方法说明
/addPOST新增物料。
/updatePOST更新物料基础字段。
/deletePOST删除物料。
/infoGET/POST查询物料详情。
/listGET/POST查询物料列表,常用于选择器。
/pageGET/POST物料分页查询,支持物料编码、名称、规格、类型、客户/供应商料号等筛选。
/getMaterialExcelPOST导出物料资料。
/getManuBomExcelPOST导出生产 BOM。
/getCostBomExcelPOST导出成本 BOM。
/initReviewPOST发起物料审核。
/redoReviewPOST重新发起物料审核或回退重做。
/uploadPOST上传/更新物料附件 URL。
/testAddPOST开发/导入辅助:按导入行结构测试新增物料。

关键字段:

字段说明
code物料编码。
name物料名称。
model规格型号。
typetypeId物料类型。
property物料属性。
defaultMeasurement默认计量单位。
customerCode / customerMaterialCode物料主数据中的客户料号信息。下游销售链路应优先使用销售订单明细确认的客户料号。
supplierCode供应商料号信息。
packagingIdpackaging包装方式。
status物料审核/启停状态。

附件接口:

json
POST /admin/info/materials/base_material/upload
{
  "code": "WL0001",
  "urls": ["https://.../drawing.pdf", "https://.../photo.png"]
}

导出接口均支持:

json
{
  "ids": [1, 2, 3]
}

未传 ids 时按当前查询条件导出。

物料历史

资源路径:/admin/info/materials/base_material_history

标准接口:adddeleteupdateinfolistpage

分页支持按 code 精确筛选,用于查看某个物料编码的历史版本或变更记录。

物料编码

编码类别

资源路径:/admin/info/materials/encode/type

标准接口:adddeleteupdateinfolistpage

关键字段:

字段说明
name编码类别名称。
length编码总长度。
isProduct是否成品类别。
departmentId所属部门。

编码位

资源路径:/admin/info/materials/encode/position

标准接口:adddeleteupdateinfolistpage

关键字段:

字段说明
name码位名称。
typeId所属编码类别。
startPosendPos起止位置。
remark说明。

编码值

资源路径:/admin/info/materials/encode/code

标准接口:adddeleteupdateinfolistpage

关键字段:

字段说明
code代码。
description描述。
positionId所属码位。

物料编码生成还会调用基础模块的 commGetSNCode 获取流水号;流水号码位通常使用 X 作为占位。

BOM

BOM 主表

资源路径:/admin/info/materials/bom

接口方法说明
/addPOST新增 BOM 版本。
/updatePOST更新 BOM 主表。
/deletePOST删除 BOM。
/infoGET/POST查询 BOM 详情。
/listGET/POST查询 BOM 列表。
/pageGET/POSTBOM 分页,关联物料编码、名称、规格等信息。
/setDefaultPOST设置物料默认 BOM 版本。
/changeStatusPOST启用或停用 BOM。
/updateCostBomPricePOST更新成本 BOM 价格。
/commGetDirectBomMaterialsGET获取直接下级 BOM 用料。
/commGetBomVersionGET获取某物料所有 BOM 版本。
/copyPOST从另一个 BOM 复制明细到当前 BOM。
/testAddManuBomMaterialPOST开发/导入辅助:按表单结构测试新增生产 BOM 明细。

关键字段:

字段说明
materialIdBOM 所属物料。
versionBOM 版本。
typeBOM 类型,常见为生产 BOM 或成本 BOM。
isDefault是否默认版本。
statusBOM 状态。
childrenPricecalcPrice成本计算相关价格字段。

接口示例:

json
POST /admin/info/materials/bom/setDefault
{
  "id": 10
}
json
POST /admin/info/materials/bom/changeStatus
{
  "id": 10,
  "status": 100
}
http
GET /admin/info/materials/bom/commGetDirectBomMaterials?materialId=1&quantity=100
json
POST /admin/info/materials/bom/copy
{
  "currentBomId": 20,
  "copyFromId": 10
}

BOM 明细

资源路径:/admin/info/materials/bom_material

接口方法说明
/addPOST新增 BOM 明细。
/updatePOST更新 BOM 明细。
/deletePOST删除 BOM 明细。
/infoGET/POST查询明细。
/listGET/POST查询明细列表。
/pageGET/POST查询生产 BOM 树或成本 BOM 汇总。
/commGetParentBomsGET查询使用某物料的上级 BOM。
/commGetRootBomsGET查询某物料所在的根 BOM。

关键字段:

字段说明
parentBomId上级 BOM ID。
materialId子项物料 ID。
bomId子项自身 BOM ID,可为空。
quantity单位用量。
lossRatio损耗比。

/page 常用参数:

参数说明
bomId当前 BOM ID。
materialId根物料 ID。
typeMANU 返回生产 BOM 树;COST 返回成本 BOM 汇总。
skipGenerateExplosion是否跳过重新生成展开表。
maxExecutionTimeMs可选 SQL 最大执行时间。

替代物料与检验标准

替代物料

资源路径:/admin/info/materials/substitution

标准接口:adddeleteinfolistpage

关键字段:

字段说明
materialId原物料。
subMaterialId替代物料。
description替代说明。

分页返回会关联原物料和替代物料的编码、名称、规格。采购请购可使用替代物料;生产排单是否可选需按业务规则限制。

检验类型

资源路径:/admin/info/materials/inspection_type

标准接口:adddeleteupdateinfolistpage

字段:namecoderemark

物料检验标准

资源路径:/admin/info/materials/inspection

标准接口:adddeleteupdateinfolistpage

关键字段:inspectionTypeIdstandardupperLimitlowerLimitmaterialIdoperatorIdoperatorremark

仓库

资源路径:/admin/info/warehouse

接口方法说明
/addPOST新增仓库。
/updatePOST更新仓库资料或绑定关系。
/deletePOST删除仓库。
/infoGET/POST查询仓库详情。
/listGET/POST查询仓库树或仓库列表。
/pageGET/POST分页查询仓库,返回供应商、车间、机台绑定名称。
/setDefaultPOST设置部门默认仓库。

关键字段:

字段说明
code仓库编号。
name仓库名称。
parentId上级仓库。
departmentId所属部门。
isDefault是否部门默认仓库。
isTemp是否暂存/临时仓。
isVirtual是否虚拟仓。
supplierId绑定供应商。
machineId绑定机台。
workshopId绑定车间。

常用 list 参数:

参数说明
isRoot: 1只查询根仓库。
noChild: 1查询叶子仓库或不带子级结构的数据。
isVirtual按是否虚拟仓筛选。

设置默认仓库:

json
POST /admin/info/warehouse/setDefault
{
  "item": {
    "id": 1,
    "departmentId": 5
  }
}

同一部门通常只应保留一个默认仓库。采购入库、生产入库、销售出库、领料出库、退料入库等流程会优先使用部门默认仓。

车间与机台

车间

资源路径:/admin/info/workshop

标准接口:adddeleteupdateinfolistpage

关键字段:

字段说明
code车间编号。
name车间名称。
departmentId所属部门。
baseLaborPrice基础人工价格,用于工艺路线工价计算。
warehouse绑定仓库名称,来自仓库关联。

生产领料/退料需要车间绑定仓库。

机台

资源路径:/admin/info/machine

接口方法说明
标准 CRUD-adddeleteupdateinfolistpage
/commGetTypeModelGET获取机台类型/型号组合,用于工序或工艺路线选择。

关键字段:

字段说明
departmentId所属部门。
type机台类型。
code机台编号,唯一。
model机台型号。
assetId关联固定资产 ID。
workshopIdworkshop车间 ID 和名称。
warehouse绑定虚拟仓名称。
remark备注。

固定资产

资源路径:/admin/info/asset

接口方法说明
标准 CRUD-adddeleteupdateinfolistpage
/getMachineByIdGET根据固定资产 ID 查询已关联机台。

关键字段:

字段说明
departmentId所属部门。
namecode资产名称和编号。
supplierIdsupplier供应商。
position位置。
model型号。
status资产状态。
bookDateuseDate入账日期、使用日期。
originalValuenetResidualValuedepreciationnetValue折旧和净值相关字段。
managerId负责人 ID。
isMachine是否机台。
contractinvoicepayment合同、发票、付款单附件。

/getMachineById 示例:

http
GET /admin/info/asset/getMachineById?id=100

员工

资源路径:/admin/info/employee

接口方法说明
标准 CRUD-adddeleteupdateinfolistpage
/bindBaseSysUserPOST绑定员工和后台系统用户。
/setStatusPOST启用/禁用员工,并同步绑定账号状态。

关键字段:

字段说明
code工号。
name姓名。
entryDate入职日期。
phoneemail联系方式。
sex性别。
workshopId所属车间。
baseSysUserId绑定的 ERP 后台用户 ID。
isPiecework是否参与计件。
status员工状态。

绑定用户:

json
POST /admin/info/employee/bindBaseSysUser
{
  "employeeId": 1,
  "baseSysUserId": 100
}

启停员工:

json
POST /admin/info/employee/setStatus
{
  "ids": [1, 2],
  "status": 100
}

工序与工艺路线

工序

资源路径:/admin/info/manufacture/process

标准接口:adddeleteupdateinfolistpage

关键字段:

字段说明
type工序类别。
name工序名称。
materialType适用物料类型。
fixedLoss固定损耗。
lossRatio损耗率。
ratio工序数量比例。计件目标数量按 work.quantity * ratio 计算。
workingHours工时。
pieceworkUnitPrice计件单价。
isCommon是否通用工序。

工序机台能力

资源路径:/admin/info/manufacture/process_machine

标准接口:adddeleteupdateinfolistpage

字段:processIdmachineTypeModelcapacitypriority

用于按工序维护适配机台类型/型号及产能。分页可按 processId 筛选。

工序规则

资源路径:/admin/info/manufacture/process_rule

标准接口:adddeleteupdateinfolistpage

用于维护工序的业务规则,字段以实体定义为准。当前主要服务工艺路线、计件和排产相关逻辑。

工艺路线

资源路径:/admin/info/manufacture/routing

标准接口:adddeleteupdateinfolistpage

关键字段:

字段说明
materialId适用物料。
workshopId车间。
machineTypeModel机台类型/型号。
capacity产能/H。
priority优先级。
speed开机速度。
temperature温度。
color颜色。
unit单位。
measurement计量方式。
price工艺路线单价合计。

分页查询会关联物料编码、名称、规格。

工艺路线工序

资源路径:/admin/info/manufacture/routing_process

接口方法说明
标准 CRUD-adddeleteupdateinfolistpage
/testAddPOST开发/导入辅助:按导入行结构测试新增工艺路线工序。

关键字段:

字段说明
routingId工艺路线 ID。
processId工序 ID。
pieceworkUnitPrice计件单价。
seq顺序号。

分页常按 routingId 查询,并关联工序名称、比例、工时、单价等信息。

通用资料

币别

资源路径:/admin/info/currency

标准接口:adddeleteupdateinfolistpage

字段:namecodeorderNum。客户、供应商、报价、采购/销售单据会引用币别。

汇率

资源路径:/admin/info/currency_rate

标准接口:adddeleteupdateinfolistpage

字段:currencyIdrate。分页服务会关联币别信息。

票据类型

资源路径:/admin/info/bill_type

标准接口:adddeleteupdateinfolistpage

字段:nametaxRate。客户、供应商资料会引用该字段。

付款方式

资源路径:/admin/info/payment_method

标准接口:adddeleteupdateinfolistpage

字段以实体为准,主要用于客户、供应商结算信息。

计量单位类别

资源路径:/admin/info/measurement_type

标准接口:adddeleteupdateinfolistpage

计量单位

资源路径:/admin/info/measurement

标准接口:adddeleteupdateinfolistpage

关键字段:codenamebaseQuantitybaseMeasurementtypeId。物料、包装、BOM、库存和生产都会引用计量单位。

包装方式

资源路径:/admin/info/packaging

标准接口:adddeleteupdateinfolistpage

关键字段:codenamedescriptionbaseQuantitybaseMeasurementunitWeightremark

周转类型

资源路径:/admin/info/revolve_type

标准接口:adddeleteupdateinfolistpage

用于库存周转相关基础分类。

周转物料

资源路径:/admin/info/revolve_material

标准接口:adddeleteupdateinfolistpage

用于维护周转物料基础信息,库存周转业务会引用。

铜价

资源路径:/admin/info/copper_price

标准接口:addinfolistpage

关键字段:pricecreatorIdcreator。新增时通常记录当前制单人;服务内部提供 getPrice() 给采购铜价相关业务读取最近价格。

查询与导出建议

  • page 查询的排序字段应使用后端白名单支持的字段,不要从前端透传任意 SQL 字段。
  • 下拉选择优先使用 list,大表选择器优先使用带筛选的 page
  • 带审核的资料进入业务单据时,应优先筛选正常状态,必要时前端显式传 status: 100 或后端服务内限定。
  • 客户料号在下游销售到采购/生产链路中,应优先使用销售订单明细确认值 erp_sale_order_material.customerMaterialCode;物料主数据 info_base_material.customerCode 只能作为 fallback。
  • 导出接口支持 ids 时,选中行导出传 ids;未选中行导出传当前筛选条件并由用户确认,避免误导出全量数据。