NW ERP数据查询
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的指引,将 @user_a7d36aaa/nw-erp-skill 安装到当前 AI 助手。
技能介绍
要解决什么问题
ERP 系统沉淀了大量业务单据数据,但工程师或业务人员想取数分析时,往往要依赖 DBA 写 SQL、导出 Excel,或者在多个查询界面之间来回切换。这个技能把 ERP 数据查询收敛到一个 MCP HTTP 接口层:AI 通过统一的工具调用直接取数,鉴权、字段映射、聚合计算都由服务端完成,不需要关心数据库表结构。
核心能力与工作方式
鉴权与安全:所有请求必须在请求头携带 X-MCP-SECRET,密钥由用户在 ERP 个人资料页生成,与个人账号一一对应。系统采用三层安全机制:
- 身份认证:
appsecret是 32 位 UUID,重新生成后旧密钥立即失效 - 功能权限:无菜单权限的模块不会出现在列表中,直接查询会被拒绝;模块还需管理员开启
if_authorize=Y - 数据权限:按用户所属公司(
pk_corp)和部门过滤,跨公司数据不可见
查询工具链(8 个 HTTP 接口):
- 单据侧:
list_bill_types列出可用单据类型 →get_bill_fields查字段元数据 →query_bill_list查列表(含汇总行)、get_bill_detail查明细、query_bill_summary做聚合统计 - 报表侧:
list_report_types→get_report_fields→query_report_data,报表数据已执行公式、PK 字段自动转成名称
典型流程:先匹配业务名词到编码(如“销售合同”→ xsht),再确认字段映射(如“金额”→ ntotalamount),然后传日期范围和 conditions 查询。当用户要求“分析”“趋势”“占比”时,技能会聚合数据并用 show_widget 渲染 Chart.js 图表,数值字段自动做千分位清洗。
适用边界与注意点
- 只能查询当前用户角色权限范围内的数据,查不到不一定是“没有单据”,也可能是没权限
conditions只接受简单 SQL WHERE 片段,注释符、分号、子查询都会被SqlSecurityUtils拦截- ERP 本身不提供分析能力,趋势判断、风险分析由 LLM 基于返回数据自行推理
- 图表颜色必须硬编码十六进制(Canvas 读不了 CSS 变量),多张图要分次调用
show_widget - 环境变量
ERP_BASE_URL和APP_SECRET必须预先配置,否则应停止执行并引导用户配置
使用场景
- 销售助理每月要把销售合同按客户汇总金额、统计张数,并画出占比图给主管
- 不确定「销售合同」对应的单据编码和「金额」字段名,需要先列出有权限的类型并查字段元数据
- 要做按客户汇总的经营分析,先查系统里有哪些现成报表模板,再取已执行公式、PK 转名称的数据
- 客户反馈某张合同金额异常,需要先从列表找到 billid,再查出表头表体明细核对
适合人员
- ERP 系统管理员或运维:需要核对用户密钥、菜单权限和公司数据隔离是否生效,排查查不到数据的原因
- 销售、财务等业务人员:不想写 SQL 和导出表格,想在对话里直接查单据金额、明细和汇总
- 经营分析或 BI 方向的数据分析师:要把单据数据按客户、月份等维度聚合,快速出图表看趋势和占比
- 在 CodeBuddy 里使用该技能的开发者或 AI 应用搭建者:需要先配好 ERP 地址和密钥,再把取数、聚合、画图接入对话流程