版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、预警平台技术红皮书NC-UAP 6.0用友NC-UAP2022-02-031第 页目 录第一章前言1第二章预警类型注册21.功能简介22.操作说明22.1增加/编辑预警类型2第三章预警条目注册51.功能简介52.操作说明62.1增加/编辑预警条目62.2复制预警条目122.3联查日志122.4激活/休眠13第四章预警查询和监控141.预警平台查询142.预警监控143.预警日志15第五章插件开发指南161.简介及开发步骤162.预警平台业务插件接口162.1业务插件接口162.2PreAlertContext172.3PreAlertObject173.消息模板接口194.多语支持194.1预
2、警类型注册的多语194.2预警消息文件的多语20第六章程序实现举例21业务插件举例21第七章系统环境配置221.调度引擎的配置222.邮件发送相关的配置233.消息文件存放路径234.预警日志23第八章V6新特性及与以前版本区别241.产品形态改变242.规范了预警插件的接口243.提供了对消息模板的支持244.新增自定义预警功能245.其他功能和易用性的增强24附录251.预警平台相关表252.消息模板的支持263.语义模型查询预警插件说明(IUFO-李长山提供)26第 28 页第一章 前言现代企业要在激烈的市场竞争中生存并发展,就需要对自身的优势与缺陷都有一个清楚的了解,所谓知己知彼,企业
3、要想在市场竞争中立于不败之地,就必须及时地发现自己的优势与缺陷,发挥自身的优势,弥补存在的缺陷,为企业的发展与壮大扫除障碍。如何及时地发现自身的优势与缺陷,向来是企业界和理论界倾力研究的重点问题之一。于是NC的预警平台应求而生。NC预警平台分成两种类型的预警。一为定时预警。即用户可以指定何时或者以何周期去执行某项任务,并依照设置的阈值决定是否产生预警提示,致使企业及时合理做出正确的决策。二为即时预警。顾名思义即时是立即发生,NC中主要支持用户登录和打开节点两种,所作事情与定时预警一样。NC预警服务的整体示意图如图1-1.图1-1预警平台服务示意图由上图可知,预警平台主要由预警类型、预警条目以及
4、预警消息三个组成部分。于是想要使用预警平台的预警功能,需要做两步工作:1.预警类型注册;2.预警条目注册。分别在本文档第二章和第三章介绍。预警消息是在条目配置的时候配置的。第二章 预警类型注册1. 功能简介预警类型就是一种预警的一个插件类型(由开发人员开发,具体如何开发插件见插件开发指南)。它目的是对某个业务或操作的抽象,其可以定义一系列阈值。(这里也只是定义,真正的值还是由条目来设置的)。定义一个预警类型需要提供:名称、所属系统、业务插件、描述、阈值名称、编辑类型、参照名称(如果编辑类型为参照)、默认值。注意:从V6开始,预警类型注册放在开发平台-开发配置工具下。2. 操作说明 打开节点:开
5、发平台-开发配置工具-预警类型注册单击“增加”,可以增加一个预警类型。选中一条已注册的预警类型,单击“删除”、“修改”,可以对已有预警类型进行删除或修改的操作。双击一条预警类型,也可以对其进行编辑。2.1 增加/编辑预警类型增加/编辑一个预警类型,预警类型编辑界面如下图所示:图2-1预警类型注册(常规属性页签)项目说明: 名称:输入预警类型的名称。必填项。 所属模块:是区分各产品组模块的标识,即通常说的模块名。这里的模块是指开发模块,对应的是中间件/modules目录下的子目录。按规定模块名都是小写的。必填项。 业务插件:输入业务插件的类名,要求实现了nc.bs.pub.pa.IPreAler
6、tPlugin接口的实现类的完整类名。此项不能为空。该类遵循开发规范见插件开发指南。必填项。 描述:指对预警类型的文字描述。图2-2预警类型注册(阈值属性页签)项目说明: 组织类型:用于限定阈值的参照取值范围,这样在该类型预警条目新增时,通过选择相应的组织,来缩小参照类型阈值的取值。如:A预警类型在注册时,指定了其组织类型为公司,则在注册A类型的预警条目a时,其组织单元参照的取值为公司参照,当指定组织单元数据,如公司1时,其相关的预警取值,均为公司1下的相关数据。 阈值名称:也就是条件的名称。阈值描述:对阈值名称的说明。 编辑类型:此处定义输入阈值的样式,系统提供五个选择:字符型、逻辑型、整型
7、、Double型和参照基础档案类型。如果将某个阈值的编辑类型定义为逻辑型,那么在进行预警条目设置时,此阈值的值以下拉框的形式出现,有是和否两个选择;如果选择编辑类型为基础档案,还要在后面的参照名称栏中选择参照哪个基础档案,这样当用户输入该阈值时会弹出相应的基础档案参照。 默认值:该阈值的默认值。 是否非空:该阈值是否允许为空。 参照名称:如果编辑类型选择为参照基础档案,那么参数名称变为可选项,提供选择的项有人员档案、部门档案、客户档案等等。 是否单选:此选项针对参照而言,表示该参照是否支持多选。第三章 预警条目注册1. 功能简介预警条目一般由实施人员或用户根据具体的业务环境和需要来定义。通过选
8、择预警类型,并设置该预警类型中需要用户设置的阈值变量,以及定义预警方式来实现具体的预警任务。预警方式包括产生方式和发送方式。产生方式控制预警的发生时间,有即时和定时两种。发送方式是定义预警以何种方式发送给用户。预警条目是具体的预警任务,是预警平台调度执行的单位。一个预警类型可以根据不同的业务情况定义多个预警条目。预警条目保存预警信息的产生条件及发送方式设置,基于预警类型进行编辑。预警平台的后台服务线程定时读取预警条目信息,根据条目中设置的条件,调用相应的预警类型与业务信息相比较,当符合预警条件时,就会产生预警信息,并根据相应配置进行信息发送。条目与类型的关系其实就是一个具体与抽象的关系。如用友
9、公司与泛化的公司一样。公司具有名称、地址等属性,用友公司与之对应的就是用友、北清路68号等。预警条目配置节点位于:企业建模平台系统平台预警平台预警条目配置2. 操作说明打开预警条目配置功能节点,单击增加,可以增加一个预警条目。选中一条已注册的预警条目,单击“删除”、“修改”,可以对已有预警条目进行删除或修改的操作。双击一条预警条目,也可以对其进行编辑。与类型配置的菜单差别就是其可以复制,即把其它公司的条目复制到本公司。2.1 增加/编辑预警条目增加/编辑一个预警条目,预警条目编辑界面如下图所示:1) 常规属性页签图3-1预警条目配置(常规属性页签) 预警名称:即该条目的名称,一个显示的标记。同
10、公司同类型不允许条目名相同。 预警消息文件名:即消息生成时的HTML的文件名标记。(该HTML文件完整的名称是由它和生成时时间组成)。 预警状态:激活态表示该条目是有效的,反之休眠则表示此时该条目是无效的。默认为激活态。 最大日志数:同一预警条目在预警日志表中最多能保存的预警日志条数,默认为10。 预警消息:可以直接配置简单文本,也可以选择已配置的消息模板,用于对消息文件内容的定义。2) 预警条件页签图3-2预警条目配置(预警条件页签)项目说明: 类型:即第二章所述的预警类型注册的预警类型。其以下拉框的形式显示,此处对预警类型的选择将决定此预警条目将调用的业务插件。 “条件”列表:在此处编辑预
11、警条目的阈值。这里的阈值是从类型定义中带过来的,这里要做的只是设置操作符和阈值设置。 组织单元:限定阈值参照的范围。组织单元参照的数组,由注册的预警类型决定。3) 预警方式页签图3-3预警条目配置(预警方式页签) 产生方式:分为即时产生与定时产生。两者的意义上的区别可以参见:前言。如果选择即时产生,则系统会根据此处定义的触发方式来触发业务操作,并依据条件满足与否,来产生预警提示信息。如果选择定时产生,则预警平台会在设定的时间配置到来时进行预警检查,并产生预警信息。两者产生的预警消息的如何接收都由消息接收者配置面板来配置。关于定时配置稍候叙述。 触发方式: 只有当产生方式为即时的时候,此组才能编
12、辑和有效。 系统登录:勾选并单击“系统登录”按钮,弹出系统登录用户选择界面。(如图3-5)左侧为对本公司及其下级公司(通过界面的参照来切换)拥有登录权限的角色和用户。右侧为已经选择的用户。这些用户在登录NC时,如果系统有定义了该用户登录条目,并满足产生消息的条件,这时候会在消息中心的预警消息栏自动给登录用户发送一条消息,用户可以点击此来查看详细信息。但不会主动弹出IE。 触发点提示:勾选后单击“触发点提示”按钮,弹出“触发点选择”界面(如图3-6),左侧为系统功能结点树,右侧为将触发预警的功能结点。当用户进入该公司打开已经定义了条目的功能结点时,如果有符合条件的预警消息产生,则会弹出IE窗口来
13、显示预警信息的详细内容。如果同时产生了多条预警消息,则会弹出一个小框,包含所有预警消息的列表。注意:集团的是不能定义功能节点触发的。 按钮:只适用于HR。即在业务单据的某个按钮点击时触发。图3-5:系统登录对话框图3-6:功能节点选择对话框 消息接收者配置:配置消息的接收者。即当预警条目触发时,除了适当的时候弹出IE之外的给用户的提示的配置。 消息中心:勾选后单击“消息中心”按钮,弹出消息中心配置界面。其界面相似于系统登录界面(即图3-5)。但意义不一样。它的意义是:当一个预警条目触发时是否给用户送一条预警消息到消息中心。 电子邮件:勾选后单击“电子邮件”按钮,弹出电子邮件地址选择界面。中间列
14、表显示已经配置的Email.既可以根据人员档案来选择,也可以手写。如图3-7。电子邮件要发送成功,必须正确配置邮件服务器。可以参见系统环境配置 手机短信:勾选“手机短信”,其界面类似于登录消息中心配置界面。只是其会根据所选用户去关联手机号而发送短信。图3-7邮件选择对话框 定时配置:当产生方式选择的是定时:(1) 此时的触发方式将不能编辑。(2) 此时的消息接收者配置与即时意义是一样的。(3) 定时配置界面(如图3-8)如图3-8定时配置 发生频率:包含天、周,月三个时间量纲,以及关于量纲的间隔。当为周或月时,还能够选择对应的哪天。周可以选择周一到周日,月除了可以选择1号到31号,还能选择“最
15、后一天”。 一天内:因为不管频率制定的如何,具体到还是某一天中。这里就是具体设置某一天内的时间关系。 有效期:这是优先级最高的设置,即频率和一天内的设置都必须要在此有效期内。系统会在设定的时间点进行业务检查,触发并合适地产生预警信息。2.2 复制预警条目如图3-9:其左边待选树只有两层结构。一级为公司,二级即为条目。复制的原则是同一类型在同一公司下不允许同名。故选择完会一般要进行编辑,以保证满足此原则。图3-9条目复制2.3 联查日志V6支持在预警条目配置界面联查预警日志。2.4 激活/休眠V6支持对多个预警条目批量激活和休眠。第四章 预警查询和监控1. 预警平台查询预警平台查询是为了方便用户
16、查询当前产生的所有预警消息以及产生过的历史预警消息。预警平台查询主界面如图4-1所示。其查询的依据是条目配置中的触发方式和接收方式以及查询方式。其新旧的标准是产生日期与当前日期的时间差是否在一个月内。图4-1预警消息查询界面预警消息的查询可根据左面的导航树查询,也可通过点击查询按钮,完成自定义查询,其中消息状态为本月(与当前日期月份)最新消息和历史消息两种。预警信息查询设置框中,多个名称或者多个接收者之间以分号分离。且两者支持模糊匹配。2. 预警监控预警监控显示了所有在调度中,未执行完成的业务预警任务,其中执行按钮,可强制执行选中的任务,提前了下次执行的时间。3. 预警日志预警日志显示了任务的
17、每次执行结果,其中结果列显示了该次执行的结果(成功/失败)第五章 插件开发指南1. 简介及开发步骤适用人群:本指南适用于对预警平台进行二次开发的开发人员。开发步骤:1) 开发人员先实现预警平台规定的接口(如5.2所述)2) 增加预警类型。(如第二章 预警类型注册所述)3) 增加测试预警条目。(如第三章 预警条目注册所述)4) 测试插件条目。依照条目定义,或打开节点,或登录系统,或定制时间。并查看消息是否如插件所意。2. 预警平台业务插件接口定义预警类型时必须提供做业务检查的业务插件,由开发人员编写。该业务插件必须实现预警业务插件接口。预警服务运行时,根据定义的预警条目执行业务插件的适当业务,并
18、将产生的预警信息写入预警文件,进行企业业务预警。2.1 业务插件接口public interface IPreAlertPlugin /* * 任务插件执行体 * param context 执行环境 * return * throws BusinessException */PreAlertObject executeTask(PreAlertContext context) throws BusinessException;2.2 PreAlertContext/* 当前登录日期 */private UFDate loginDate = null;/* 备份数据源 */private St
19、ring datasource = null;/* 具体一些阈值的实参.对应结构为 key: 阈值字段名,value: 真实的值*/private LinkedHashMap keyMap = new LinkedHashMap();private String groupId = null; /集团/* 当前用户,即部署任务的用户*/private String pk_user;private String preAlertTypeName;/预警类型名称private String registryName;/条目名称;private String registryFileName;/条目
20、的预警文件名;对应后台任务则为任务描述;private int preAlertMode ;/预警模式-登录/触发点/按钮 see definition in the AlertMethodprivate LinkedHashMap keyMap = new LinkedHashMap();/* * 插件自己解析的数据. 适用于代码级直接调用时传递 */private Object userData = null;PreAlertContext包含了预警插件类的上下文环境,主要的属性值如表格所示。2.3 PreAlertObjectpublic class PreAlertObject /默认
21、预警消息标题,即消息中心看到的“默认主题”,如果预警条目中未设置消息标题,则取该属性值private String msgTitle = null;/返回类型/返回值,根据返回值类型(PreAlertReturnType)的不同,要求返回值对应如下:/ 1 PreAlertReturnType.RETURNMESSAGEString (固定字符串类型)/2 PreAlertReturnType.RETURNOBJECTObject (对象类型)/ 若需支持消息模板功能,返回值类型必须是后两种/3 PreAlertReturnType.RETURNFORMATMSGIAlertMessage (
22、格式化消息,可转换成打印模板数据源)/4 PreAlertReturnType.RETURNDATASOURCEIDataSource (打印模板数据源)private PreAlertReturnType returnType = null;private Object returnObj = null; 。PreAlertType为枚举类型,标记返回值的类型。public enum PreAlertReturnType RETURNMESSAGE, RETURNOBJECT, RETURNFORMATMSG, RETURNDATASOURCE;public String toString(
23、) switch (this) case RETURNMESSAGE:return 插件返回字符串;case RETURNFORMATMSG:return 插件返回格式化字符串;case RETURNOBJECT:return 插件返回对象;case RETURNDATASOURCE:return 消息模板数据源;default:return null;3. 消息模板接口V6新增。预警条目使用消息模板,在发送消息到消息中心之前调用消息模板接口,处理消息内容、标题、附件等属性。可参考附录消息模板的使用。要求预警插件类返回IDatasource或者IAlertMessage接口。4. 多语支持这里
24、的多语的意思主要是有两个方面:4.1 预警类型注册的多语在预警类型注册时候,我们只对预置的类型多语,这是需要对库直接操作,填充对应表的对应多语字段。参见预警平台相关表。注意产品组的多语放在多语目录的prealerttype下。自己新建文件,必须符合多语规范!对于界面的操作,不能影响到多语。因为我们假设用户在何语言环境下增加类型就是在何语言环境下使用。4.2 预警消息文件的多语预警平台本身不知道该如何去多语,而是要插件自身去多语,而返回给预警平台,预警平台会根据条目配置中的语言选择,设置当前的线程的语言环境,然后去调用适当的多语。这不仅针对格式化消息,而是所有的消息都一样。如实现接口Ialert
25、Message的,多语代码应该用服务端的多语。public String getTitle()return NCLangResOnserver.getInstance().getStrByID(101502, UPP101502-000261);/ 预警测试样例第六章 程序实现举例业务插件举例定义一个实现IPreAlertPlugin 接口的预警类型业务插件类 ,比如现在创建 库存存量 预警处理类nc.bs.pub.pa.SampleBusinessPlugin:public class SamplePreAlertPlugin implements IPreAlertPlugin publi
26、c PreAlertObject executeTask(PreAlertContext context) throws BusinessException / 业务实现。如果要返回格式化的HTML消息,请参考nc.bs.pub.pa.html.IAlertMessagedouble testValue = 10;double lowStorageVolume = -1, highStorageVolume = -1;HashMap km = context.getKeyMap();SetEntry name = km.entrySet();for (Entry entry : name) S
27、ystem.out.print(entry.getKey() + =);System.out.print(entry.getValue() + n);if (entry.getKey().equals(lowVolume) lowStorageVolume = new Double(entry.getValue().toString().doubleValue(); else if (entry.getKey().equals(highVolume) highStorageVolume = new Double(entry.getValue().toString().doubleValue()
28、;if (lowStorageVolume = -1 | highStorageVolume = -1) Logger.error(预警类型配置未完成);return null;PreAlertObject retObj = null;if (testValue highStorageVolume) retObj = new PreAlertObject();retObj.setReturnType(PreAlertReturnType.RETURNMESSAGE);retObj.setReturnObj(预警平台测试示例:库存安全最高量超过限制);retObj.setMsgTitle(此标题
29、由插件返回);return retObj;第七章 系统环境配置1. 调度引擎的配置这里配置NC服务器启动时,加载一些需要调度的任务。对于预警平台就是是否需要加载定时的条目。这个在ncSysConfig中也能配置文件路径:.ierpbinscheduleengine.xmlnc.bs.pub.pa.PreAlerLoaderuap1falsetrueenabled:是否服务器启动时候加载。默认为true.ignoreDataSource:如果忽略数据源,则设置之为true,只调度一次,否则对不同数据源调用多次.2. 邮件发送相关的配置这个是与NC中所有的邮件配置是统一的即在系统配置(ncSysC
30、onfig.bat)中有UI可以配置。这里我们也可以直接操作文件。文件路径:.ierpbin message4pf.xml. huangzg ajidfjaijfaidjdfi Show Name Password:是密文,所以最好是通过UI配置了Sender:只是显示发送时候显示的发送人名字。3. 消息文件存放路径文件目录路径:.webappsnc_webPreAlartMessages4. 预警日志日志配置:.perties 配置文件中,设置预警的日志级别 prealert.level=DEBUG日志查看:nclogspa-log.log 即
31、为预警的日志文件第八章 V6新特性及与以前版本区别1. 产品形态改变预警平台与后台任务中心进行了拆分,V6分别提供单独的节点(企业建模平台)预警平台;企业建模平台后台任务中心),实现对其分别管理。节点位置变更:其中预警类型注册,后台任务类型注册位于:开发平台开发配置工具)内,其他节点位置参见本文档相应章节的说明。2. 规范了预警插件的接口V5X有4个接口,实现的时候容易让人混淆,不知道应该实现哪一个,V6提供了统一的接口。预警插件类接口变更:(IBusinessPlugin)IPreAlertPlugin)3. 提供了对消息模板的支持通过消息模板,预警消息可以更加灵活地配置。4. 新增自定义预
32、警功能通过语义模型查询预警实现,参见附录:语义模型查询预警插件说明。5. 其他功能和易用性的增强1. 增加基于天数的周期性预警模式。应用场景类似于资产中的定期保养。2. 按月配置的定期预警支持每月最后一天。3. 预警消息中支持联查原始单据。4. 预警方式(消息中心、登录、邮件按钮)可支持角色、用户配置。5. 预警条目可以批量激活、休眠、删除。附录1. 预警平台相关表预警类型pub_alerttype预警类型主表pub_alerttype_b预警类型子表(阈值)预警条目pub_alertregistry预警条目主表pub_alerttypeconfig对应类型配置(阈值配置)表pub_alert
33、sendconfig发送发式配置表pub_timeconfig时间配置(主要是定时)预警消息pub_alertmessage预警消息索引表引用其它平台表Pub_messageinfo消息中心pub_alertregistry表增加消息模板,pk_corpgroupid表名: pub_alertregistry 中文标签: 预警条目字段名字段类型中文标签是否可空pk_alertregistryCHAR(20)预警条目主键NOTpk_alerttypeCHAR(20)对应的预警类型主键NULLalertnameVARCHAR(50)预警条目名称NULLfilenameVARCHAR(50)信息文件名称NULLgroupidCHAR(20)集团主键NULLenabledCHAR(1)是否激活NULLlanguageVARCHAR(20)提示语言种类NULLdescript
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 畜牧业饲料原料开发与替代品研究考核试卷
- 林业生态工程课程设计
- 2024年大学生创业孵化基地入驻企业入驻资格认定及服务保障协议书3篇
- 2024年度炊事员职业健康与安全责任合同2篇
- 机械设计课程设计 图纸
- 2024年版工程承台合同书范例(含工程材料)
- 2024年消防报警系统材料生产与质量控制合同3篇
- 2024展馆设计施工与灯光音响系统配置合同2篇
- 相机盖课程设计
- 水利工程在水运输中的应用考核试卷
- 2025年上半年山西吕梁市柳林县招聘毕业生70人到村(社区)工作(第二批)重点基础提升(共500题)附带答案详解
- 湖北省荆州市荆州八县市区2023-2024学年高一上学期1月期末联考生物学试题
- 2024年非煤矿山年终安全生产工作总结
- 2024北京海淀初一(上)期末语文试卷及答案
- CMQOE质量组织卓越认证经理历年考试真题试题库(中文版)
- 公路工程施工组织设计(投标用)
- 一年级数学计算题专项练习1000题集锦
- 《预防性侵安全教育》主题班会教案
- 2024企业安全生产考试题库(600题含答案)
- 2024年高考物理模拟卷(山东卷专用)(考试版)
- 中建施工电梯安拆专项施工方案
评论
0/150
提交评论