泛微OA二次开发基础培训文档

您所在的位置:网站首页 oa教程 泛微OA二次开发基础培训文档

泛微OA二次开发基础培训文档

2023-08-27 08:19| 来源: 网络整理| 查看: 265

 

一  ECOLOGY系统框架结构

Ecology系统说明e-cology8.0文件页面编码为UTF-8e-cology8.0 JDK版本 1.6e-cology8.0 应用服务器为Resin

Ecology安装目录说明

ecology:OA主程序目录JDK:Java目录Resin:应用服务器的目录

ecology主要目录说明

ecology      classbean 存放编译后的CLASS文件       js 系统中使用的JAVASCRIPT和VBSCRIPT脚本      css 系统中JSP页面使用的样式      images      images_face      images_frame 系统中使用的图片的存放目录      log 系统中日志存放目录      sqlupgrade升级SQL脚本目录      workflow 各功能分文件夹存放每个功能的文件      WEB-INF           lib 系统依赖Jar文件目录           prop 系统配置文件存放           service 系统的接口配置文件的存放           securitylog 安全补丁日志           securityXML自定义安全补丁配置目录

     

二 JSP页面 一个jsp页面通常需要包含什么内容 具体信息

     

      2.如何阅读一个系统已有JSP页面

      由于ECOLOGY系统支持多语言,因此在JSP页面上一般不出现中文,全部使用标签的形式来显示中文:

      比如:在IE上显示“姓名”那么在JSP页面中将通过这样的形式来表示: 其中的数字413就是表示姓名 ,同时可以通过“select labelname from htmllabelinfo where indexid=413 and languageid=7”来获取到“姓名”这个显示名称,

      其中languageid=7表示中文显示名称,

      languageid=8表示英文显示名称,

      languageid=9表示繁体显示名称.

 

      3、JAVA程序的基本组成

在ECOLOGY中开发JAVA程序建议继承weaver.general. BaseBean,在BaseBean中主要封装了两个方法:写日志文件,获取配置文件中的参数值   

       写日志的方法:writeLog(Object obj) 日志会输出到 weaver/ecology/log/ecology中

        获取配置文件数据:getPropValue(String fname , String key)

        比如获取weaver.properties中的DriverClasses的值,代码如下:

        getPropValue(“weaver”,” DriverClasses”)

package weaver.interfaces.workflow.action; import java.text.SimpleDateFormat; import java.util.Date; import weaver.soa.workflow.request.RequestInfo; import weaver.general.BaseBean; import java.text.SimpleDateFormat; import java.util.*; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.interfaces.workflow.action.Action; import weaver.soa.workflow.request.Cell; import weaver.soa.workflow.request.DetailTable; import weaver.soa.workflow.request.Property; import weaver.soa.workflow.request.Row; /** * @Auther: bw.ren * @Date: 2020-1-3 14:51 * @Description: */ public class TestAction extends BaseBean implements weaver.interfaces.workflow.action.Action{ private SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override public String execute(RequestInfo requestInfo) { //获取配置文件参数值 String var18 = this.getPropValue("actionProp", "table_name"); writeLog("打印日志:"+formatter.format(new Date())); return Action.SUCCESS; } }   三 添加多语言版本标签

添加的标签请使用负的ID,ID值通过sql获取

Select min(id)-1 from HtmlLabelIndex

然后使用下面的sql插入标签,注意修改下面sql中对应的值,如果是oracle数据库,请把“GO”替换成“/”

delete from HtmlLabelIndex where id=-32166 GO delete from HtmlLabelInfo where indexid=-32166 GO INSERT INTO HtmlLabelIndex values(-32166,'预算项目维护') GO INSERT INTO HtmlLabelInfo VALUES(-32166,'预算项目维护',7) GO INSERT INTO HtmlLabelInfo VALUES(-32166,'Budget project maintenance',8) GO INSERT INTO HtmlLabelInfo VALUES(-32166,'預算項目維護',9) GO

四流程相关数据存储

常用流程相关存储说明,详情见表结构说明文档,以下说明以自定义表单为例,自定义表单isbill=1,数据库存储的表名为id0为固定表名,参见workflow_bill.tablename

数据库表名中文说明备注workflow_base流程基本信息isbill=1workflow_bill流程表单信息id > 0固定表名 id < 0 动态生成workflow_billfield表单字段信息 workflow_billdetailtable表单明细表 workflow_nodebase节点信息 workflow_flownode流程节点信息 workflow_nodelink流程出口信息 workflow_nodegroup节点操作人信息 workflow_groupdetail节点操作人详情 workflow_requestbase请求基本信息 workflow_currentoperator请求节点操作人 workflow_requestlog请求签字意见 workflow_nownode请求当前节点 workflow_browserurl系统浏览按钮信息 workflow_selectitem下拉框信息    五 人力资源相关数据存储  表名说明备注HrmResource人力资源基本信息表-HrmResource_online人员在线信息表-HrmResourceManager系统管理员信息表-HrmDepartment人力资源部门表-HrmDepartmentDefined人力资源部门自定义字段信息表-HrmSubCompany人力资源分部表-hrmroles角色信息表-hrmrolemembers角色人员-hrmjobtitles岗位信息表- 六 文档相关相关数据存储  表名说明备注Docdetail文档信息表-DocDetailLog文档操作日志表-DocImageFile文档附件图片表-ImageFile文件存放信息表-shareinnerdoc文档共享表(针对内部人员)-DocShare文档共享信息表-DocShareDetail文档共享信息详细表-DocSecCategory文档子目录表-

 

七 数据源 DataSource

该接口主要用来在e-cology配置和异构系统的数据库的链接方式,通过此链接在e-cology中直接操作其他系统的数据。该接口适用于SQLSERVER,ORACLE,MYSQL,DB2,INFORMIX,SYBASE结构型数据库。

后台设置  路径:集成中心– 数据源设置

 

程序调用

//引入相关的类 import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import weaver.general.BaseBean; import weaver.general.StaticObj; import weaver.interfaces.datasource.DataSource; //调用数据源生成jdbc链接 DataSource ds = (DataSource)StaticObj.getServiceByFullname(("datasource.local"),DataSource.class); //local为配置的数据源标识 Connection conn = null ; try{ conn = ds.getConnection(); ResultSet rs = conn.createStatement().executeQuery("select top 10 lastname,password from hrmresource"); while(rs.next()){ System.out.println("name-->"+rs.getString("lastname")+" pwd-->"+rs.getString("password")); } rs.close(); }catch(Exception e){ writeLog(e); }finally{ try { conn.close(); } catch (SQLException e) { } }

注意点

数据源返回的JDBC Connection在使用完毕时,必须记得关闭链接。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3