Senior ERP 集成指南:使用 SkyPlanner APS 进行生产排程
本指南面向合作伙伴和 IT 团队,介绍如何将 Senior Sistemas 的 Senior ERP(Gestão Empresarial | ERP XT 搭配 Senior X)与 SkyPlanner APS 对接。SkyPlanner 通过 Senior 自有接口与 Senior ERP 实现双向集成:
- 导入生产订单(OP)及其工序、工艺路线(roteiros)、资源和资源中心,以及 SKU、产品结构、库存和采购订单。
- 将每道 OP 工序的计划开始时间、结束时间及所选资源回写至 OP。
- 您可以选择将操作员的工时记录以生产报工(apontamentos de produção)的形式回写。
- OP 工序状态发生变化时,Senior X Events Hub 会通知 SkyPlanner;排程发生变化时,SkyPlanner webhook 会即时推送变更。
在上线准备阶段,SkyPlanner 团队会根据您的 Senior ERP 配置完成集成,并在上线后提供支持。本指南面向希望参与集成,或希望自行基于 SkyPlanner REST API 文档(API 参考)进行开发的合作伙伴和开发人员。
Senior ERP 的集成接口
ERP XT 采用混合架构。Senior 文档指出,Gestão Empresarial XT “becomes a hybrid system: an on-premises (local) system with integration of cloud solutions”(成为一个集成了云解决方案的本地部署混合系统)(Senior 文档,译文)。排程系统使用以下三类 Senior 接口:
- G5 Web 服务(SOAP)。这些服务运行在您的 Senior 服务器上,按模块命名(com.senior.g5.co.<module>…)。每项服务均提供三种 WSDL 版本:sapiens_Sync、sapiens_Async 和 sapiens_Scheduled。生产相关服务包括 com.senior.g5.co.mpr.pcp.ordemproducao,它与 ERP 界面一样,”calls the same production order generation routine”(调用相同的生产订单生成例程)(Senior 文档,译文);此外还有产品服务(com.senior.g5.co.ger.cad.produto)和生产报工服务。
- Senior X Platform REST API 位于 api.senior.com.br,用于访问 Senior 在 Senior X 上开放的 ERP 业务领域,例如产品和销售订单(Senior 文档)。
- Events Hub webhook。在 Senior X 的 Tecnologia > Customização > Events Hub > Webhooks 下创建。OP 工序状态变化时,制造模块会发布 erp_man/pcp_programacaocontrole/orderProductionStageChangeStatus 事件(Senior 文档)。
身份验证与访问权限
- Senior X Platform。集成程序向 platform.senior.com.br 的 /t/senior.com.br/bridge/1.0/rest/platform/authentication/actions/Login 发送 POST 请求以登录,用户名格式为 user@tenant。响应包含 Bearer 访问令牌和刷新令牌。也可使用应用密钥通过 loginWithKey 登录,提供访问密钥、密钥机密和租户。REST 调用需携带 authorization 请求头,以及用于标识接入应用的 client_id 请求头;该应用须在 Senior API 门户中注册,并关联至 ERP 中的角色。
- G5 Web 服务。调用需携带用户名、密码和加密参数。使用 Senior X 令牌时,以令牌代替密码(Senior 文档)。
- 权限。为集成创建专用 Senior 用户,授予其访问所需读写的 PCP、工程、库存和采购数据的权限。
SkyPlanner 端的 REST API 通过 Authorization-Token 请求头中的 API 令牌进行身份验证(SkyPlanner Settings > API),接口文档采用 Swagger/OpenAPI 格式。集成教程会引导您完成最初的几次调用。
事件与轮询
Events Hub 负责车间端的事件:OP 工序状态变化时,webhook 会通知 SkyPlanner,随后更新排程。其他数据则通过轮询获取。读取时筛选已确认和已下达的 OP 以及近期变更,以获取新增生产任务。轮询频率按工厂设置,OP 可每隔几分钟轮询一次,库存则可每小时轮询一次。
当状态或排程发生变化时,SkyPlanner 会发送 webhook,因此回写采用事件驱动方式。
数据映射
| Senior ERP 对象(接口) | SkyPlanner 对象 | 方向 | 频率 |
|---|---|---|---|
| SKU:produto 和 derivação、计量单位(G5 Web 服务或 Senior X 实体) | 产品和物料 | Senior → SkyPlanner | 首次导入,之后轮询 |
| 产品结构(engenharia do SKU) | 产品结构、子产品、各产品所需物料 | Senior → SkyPlanner | 首次导入,之后在变更时同步 |
| 包含 estágios 的 Roteiro:工序顺序、对前道工序的依赖关系 | 按顺序排列的工艺步骤 | Senior → SkyPlanner | 首次导入,之后在变更时同步 |
| Recurso:Tempo processo、Tempo setup、Tempo carga e descarga、Tempo transferência、Fator de carga | 工作中心、时长、准备和收尾时间、效率 | Senior → SkyPlanner | 首次导入,之后很少同步 |
| Centro de recurso | 工作中心组 | Senior → SkyPlanner | 首次加载,之后很少更新 |
| Calendário:Feriados、各班次的生产日历 | 班次和非工作日 | Senior → SkyPlanner | 每天同步,或在 SkyPlanner 中单独维护班次 |
| Ordens de produção(Firme、Liberada)及其工序和物料 | 订单和生产任务,含交期与物料需求 | Senior → SkyPlanner | 每隔几分钟轮询一次 |
| OP 工序状态(Events Hub orderProductionStageChangeStatus) | 生产任务进度 | Senior → SkyPlanner | 通过 webhook 实时更新 |
| 各 SKU 的 Estoque | 库存结存 | Senior → SkyPlanner | 每小时或运行排程时轮询 |
| Ordens de compra 及交货日期 | 采购订单、按交货日期到货的物料 | Senior → SkyPlanner | 每小时或运行排程时轮询 |
| OP 工序:计划开始时间、结束时间、资源 | 每项生产任务的计划开始时间、结束时间及分配的工作中心 | SkyPlanner → Senior | 排程变化时,通过 SkyPlanner webhook 更新 |
| Apontamento de produção:numOrp、codEtg、seqRot、qtdRel、qtdRfg、开始和结束日期时间 | 工时记录和操作员报工 | SkyPlanner → Senior | 如选择启用,则按每次报工或每个班次回写 |
| Senior ERP 中无对应项 | 准备时间矩阵、作为有限资源的工具、需多名操作员的生产任务、可替代的设备和人员 | 在 SkyPlanner 中维护 | 在上线准备阶段配置 |
集成方式
1. 首次加载主数据。读取 SKU、产品结构、roteiros、recursos、centros de recurso 和生产日历。资源中心的映射需明确规划:包含四台设备的 centro de recurso,应映射为一个工作中心组或四个工作中心。将 Fator de carga 换算为 SkyPlanner 工作中心效率或班次,不要同时计入两者。
2. 同步 OP。读取 Firme 和 Liberada 状态的 OP 及其工序、物料,同时读取未结采购订单。Planejada 状态的 OP 仍可能被 MRP 修改或删除,因此只有在需要前瞻排程时才将其纳入。SkyPlanner 将已订购物料视为在采购订单交货日期可用,并在采购订单标记为 Delivered 时更新库存。
3. 回写排程。引擎安排或移动工序时,SkyPlanner webhook 会触发回写,设置每道 OP 工序的计划开始时间、结束时间及所选资源。这些字段与计划员在 Programação de produção 中编辑的字段相同。在范围评估阶段,SkyPlanner 团队会与您及您的 Senior 合作伙伴商定具体使用的 Web 服务。
4. 车间报工。操作员使用 SkyPlanner Mobile Confirmations 或 Production Timer 记录作业,工时记录会使排程保持最新。您可以选择是否将实际时间回写至 Senior。如果回写,每次报工都会在对应 OP 工序中生成一条 apontamento de produção,包含产量、报废量以及开始和结束时间。Senior 仅允许对 Liberada 或 Andamento 状态的 OP 进行生产报工。如果您通过 Fábrica ao Vivo 报工,SkyPlanner 则改为通过 Events Hub 读取进度。
5. 数据归属与冲突处理规则。上线前请将以下规则明确记录下来:
| 数据 | 归属系统 |
|---|---|
| SKU、产品结构、roteiros、OP 数量及状态 | Senior ERP |
| 工序顺序、开始和结束时间、资源分配 | SkyPlanner |
| 准备时间矩阵、工具和操作员需求、替代资源 | SkyPlanner |
| 生产日历和班次 | 由一个系统负责,在范围评估时确定 |
| Apontamentos、库存变动、成本核算 | Senior ERP;在其中录入,或根据 SkyPlanner 工时记录回写 |
工序日期只能由一个系统写入。如果计划员仍在 Programação de produção 或甘特图中对同一批 OP 排序,需明确约定哪些 OP 由 SkyPlanner 管理。
典型项目步骤
实施通常在上线准备启动后数周内完成。在此之前,您可以利用 30 天免费试用,将 Senior 中的资源、roteiros 和未结 OP 导出为 CSV 或 Excel,用于验证排程。
- 映射。确定映射表、数据归属规则、同步频率,以及是否回写 apontamentos。
- Senior 访问配置。创建集成用户,在 Senior API 门户注册应用,并启用 G5 Web 服务和 Events Hub webhook。先在验收测试库中测试。
- 首次加载。加载 SKU、产品结构、roteiros、recursos、centros de recurso 和日历。
- 同步 OP 和采购订单。配置带筛选和重试机制的轮询,以及工序状态 webhook。
- 在 SkyPlanner 中设置约束。配置准备时间矩阵、工装、每项生产任务所需的操作人员数量,以及可替代的机器或人员。
- 回写排程。通过 SkyPlanner webhook 回写工序日期和资源;如选择启用,也回写 apontamentos。
- 并行测试。将 SkyPlanner 与现有计划并行运行,对比日期并修正主数据。
- 上线。数据核对一致后,启用回写。
Senior ERP 集成中需提前规划的事项
- 四类资源时间。Recurso 包含加工、准备、装卸和转运时间。装卸和转运时间可能属于搬运作业时间,而非设备占用时间。需针对每项资源确定各类时间的映射方式,否则所有时长都会出错。
- 每项资源只有一个准备时间值。Senior 的 Tempo setup 是单一数值。在上线准备阶段,需根据实际换产情况,在 SkyPlanner 中建立准备时间矩阵。
- 产品变体。Senior 中的 SKU 由产品加 derivação 组成,不同变体的 roteiros 可能不同。需将变体代码纳入 SkyPlanner 的产品键。
- OP 状态。只有 Liberada 和 Andamento 状态的 OP 才能接受生产报工。状态变更应在 Senior 中进行,SkyPlanner 通过 Events Hub 跟进。
- 混合部署。G5 Web 服务运行在您的 Senior 服务器上,Events Hub 则运行在 Senior X 中。需规划两者的网络访问。
- 数字格式。Senior 的 Web 服务不接受带千位分隔符的数字,并要求使用逗号作为小数分隔符。请按此格式发送数字。
谁负责配置和支持 Senior ERP 集成
- SkyPlanner 团队在实施阶段负责配置,并在上线后提供支持,范围涵盖约定的 Web 服务、Senior X API 和 Events Hub webhook。每家工厂使用 Senior ERP 的方式都不同,团队的相关经验正是在这里发挥作用。
- 您的 Senior 合作伙伴也可以参与。合作伙伴了解您的系统配置、定制内容和许可情况,可以与 SkyPlanner 团队一起创建集成用户、完成 API 门户注册并配置 Web 服务。
- 您自己的开发人员也可以在此基础上扩展开发,使用 API 令牌调用 SkyPlanner 的 REST API。只需一个 API 令牌即可开始,SkyPlanner 团队会在需要时提供协助。相关文档请参阅 SkyPlanner 集成文档。
SkyPlanner 每月 199 € 起,包含 5 个工作中心,按月计费。集成费用会根据您的流程和需求,与所选套餐一起提前报价。请参阅价格、Senior ERP 生产排程(考虑实际产能约束)、Senior ERP 页面和 ERP 集成中心。
制造企业如何评价 SkyPlanner
2 小时每周节省的时间
“SkyPlanner 让我们的生产计划告别了 Excel 表格,实现了实时生产优化。”
Kalle Kalliomäki,供应链专员
UTU · 配电板及开关设备
生产计划工作每周节省 2 小时,新的任务队列只需几秒即可下达到产线。
+90%生产效率提升幅度
“生产效率提高了 90%。”
Abdul Rucyinga,IT 负责人
Laboratory & Allied · 制药
生产效率提高了 90%,为所有工作中心制定覆盖三个月的优化计划,用时不到 30 分钟。
数以 1,000 计的工单自动完成排程
“我们对生产的掌控方式变了,对产能的了解也完全上了一个台阶。”
Hannu Ryynänen,首席执行官
Mamec · 工业搅拌机、泵及高科技产品代工
数千张工单自动完成排程,全公司都能实时掌握生产情况。
更少因缺料导致的停产
“SkyPlanner 对我们的价值在于,它是一款日常工作中真正好用的工具,尤其是在确定交期时。”
Tommi Männistö,生产计划经理
Eskomatic · 机械加工服务
自动安排生产负荷让交期更准确,因缺料导致的停产也大幅减少。
常见问题
Senior ERP 是否提供生产订单 API?
是的。G5 Web 服务 com.senior.g5.co.mpr.pcp.ordemproducao 使用与 ERP 界面相同的处理程序生成 OP,其他 G5 服务则涵盖产品和生产报工。Senior X Platform 还提供使用 Bearer 令牌登录的 REST API,以及 Events Hub webhook。
Senior ERP 是否支持 webhook?
是的。Senior X Events Hub 会发送 webhook,包括在 OP 工序状态发生变化时发送 orderProductionStageChangeStatus。SkyPlanner 通过它实时跟踪车间进度,并通过自身的 webhook 将排程变更推送回去。
计划日期如何回写到 Senior ERP?
SkyPlanner 设置每道 OP 工序的计划开始和结束时间,以及为其选定的资源。这些字段与计划员在 Programação de produção 中编辑的字段相同。每当排程发生变化,SkyPlanner webhook 就会触发回写。回写所用的对接方式由 SkyPlanner 团队在实施初期的范围评估中,根据您的 Senior 部署确定。
该集成是否适用于 Senior X 和 ERP XT?
是的。ERP XT 在您的服务器上运行,云服务则运行在 Senior X 上。集成使用服务器上的 G5 Web 服务,以及云端的 Senior X API 和 Events Hub。