PLM系统(产品生命周期管理系统),

我要开发同款
proginn12111313582023年10月14日
513阅读
开发技术java
所属分类mongoDB、Angular、mysql PC网站

作品详情

1、PLM系统由西门子的工业软件TC与TC Web双系统组成,分为文档管理、物料管理、BOM管理、流程管理以及对公司的物料采购、产品打样、工作指示书发布、样品认证、物料停产替代等其他工作的数字化支持。
①TC、TC Web双系统:公司已停用的工业软件TC目前起到物料数据库,与其他公司系统ERP等同步数据的作用,TC Web做为与用户直接交互系统,双系统实现数据间的同步。
②文档管理:相当于web端的文件系统,用于管理各个研发部门所生成的工业文件。
③物料管理:公司产品的数据源头,负责物料的创建,搜索,编辑,升版等,同时管理物料的全生命周期过程(从BNAA、试产、量产、停产、退市)以及由物料所衍生出来的物料申请、物料属性变更流程、物料停产流程。
④BOM管理:BOM相当于一个由物料组成的多叉树的数据结构,一个BOM可能有多达上千上万个物料。BOM管理负责BOM的搭建,编辑,删除等操作,同时支持物料在BOM中的检索,一个BOM的搜索及展开,每个层级的物料新增,修改,删除等操作。
⑤流程管理:流程管理负责公司部分业务的工作流程的设计,发起,查看,审批,转办,终止等操作。
2、我主要负责TC Web的物料管理、BOM管理、流程管理模块,后端为SpringCloud架构,前端使用Angular框架。
①物料管理模块,我主要负责物料数据结构设计,包括物料分类、物料属性、物料版本等信息,使用了MongoDB作为数据库。同时设计了物料属性的管理模块,用来实时地管理各个物料的属性,使得用户对物料属性不断变更的需求得到实时修改,负责设计物料的搜索,通过不同属性的组合来实现高效准确搜索,使用es作为搜索引擎。负责物料信息与TC的数据同步,使用Kafka来实现物料的创建修改后推送到消息队列,再由TC系统进行消费完成同步,将同步操作交由消息队列,减少了用户进行创建修改等操作的等待时间。
②BOM管理模块,我主要负责BOM的编辑操作,通过使用AG Grid表格插件及自己对数据结构的理解,在表格上实现了对BOM的各个层级的增删改查的操作。
③流程管理模块,我主要负责流程的设计及后台的运维,通过使用camunda流程引擎,并结合自己的知识经验,设计公司各个场景下的流程业务,并通过自动执行脚本、自动选择审批人脚本等groovy脚本的设计,满足了公司各种业务下的复杂需求。
3、期间遇到过的困难。
①BOM的拉取速度慢,由于BOM的数据结构是多叉树而且是在TC上存储,TC Web需要拉取TC的BOM就需要调取每一层级的接口。于是遍历BOM时调取每一层的接口通过多线程来调取接口,并在最终所有线程结果返回时再返回最终的BOM,解决了拉取速度满的问题。
②物料的创建和修改速度慢,由于是双系统,Web系统的创建修改操作都需要同步到TC系统,同步时间较长,于是使用消息队列来处理同步操作,如果同步失败会重试或提醒管理员手动处理,从而减少了创建修改的时间。
③随着物料数量的逐步增大,生产环境已达40万条数据,导致使用MongoDB的查询速度越来越慢,而且为了满足各种负责的查询要求,于是引入elasticSearch来解决查询慢的问题同时满足各种包括范围、模糊、组合等查询。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论