【泛微E9】使用sql开启非标功能(建模引擎、ESB中心)
此方法无需打非标包,无需打非标包,无需打非标包。
非标包的本质就是执行几个sql语句。执行完sql语句后,sysadmin登陆系统清理sql缓存(OA地址/commcache/cacheMonitor.jsp)就可以看到功能启用了。
环境信息
- 数据库:(Linux)MySQL
- 应用服务器:(Windows10)版本: 9.00.2212.02
获取系统 CID
将以下代码拷贝到 jsp 文件放到服务器上并访问,即可得到 CID
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.system.License" %>
<%@ page import="com.cloudstore.dev.api.util.Util_Message" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<%
int cid = Util.getIntValue(new License().getCId());
%>
<%=cid%>
这里我的系统的CID是1467943
开启菜单之前需要通过计算得到 菜单ID 以及 菜单开启代码,计算方式如下:
-
菜单ID = 菜单数据 id + CID + 111
-
开启代码 = 菜单数据 id + CID+ 178
获取服务器id
-- 获取服务器id,这里id=4(192.168.16.84为OA应用服务器的IP地址)
select id from hp_server_info where serverip = '192.168.16.161';
开启建模引擎
建模引擎在mainmenuinfo表中的id为10005(10005为固定值),
菜单ID:10005+1467943+111=1478059
开启代码:10005+1467943+178=1478126
SELECT * FROM MENUCONTROLLIST WHERE menuid = 1478059
-- 原来的isopen=1478124
UPDATE MENUCONTROLLIST SET isopen = 1478126 WHERE menuid =147805
INSERT INTO hp_nonstandard_func_server(funcid, serverid, status) values('046',4,1);
INSERT INTO hp_nonstandard_function_info(num,name,classpath) values ('046','建模引擎','com.weaver.upgrade.domain.Upgrade046');
我安装的这个版本的E9(版本: 9.00.2212.02),建模引擎在hp_nonstandard_function_info叫“表单建模”,已经存在了,所以不需要执行
INSERT INTO hp_nonstandard_function_info(num,name,classpath) values ('046','建模引擎','com.weaver.upgrade.domain.Upgrade046');这个语句,只需要执行插入hp_nonstandard_func_server的语句就行了。
开启ESB中心
ESB中心在mainmenuinfo表中的id为10771(10771为固定值),
菜单ID:10771+1467943+111=1478825
开启代码:10771+1467943+178=1478892
SELECT * FROM MENUCONTROLLIST WHERE menuid =1478825
-- 原来的isopen 1478890
UPDATE MENUCONTROLLIST SET isopen = 1478892 WHERE menuid =1478825
-- 099一定要加'',否则插入数据库就变成了99,这样是错误的,会导致功能无法正常使用
INSERT INTO hp_nonstandard_func_server(funcid, serverid, status) values('099',4,1);
INSERT INTO hp_nonstandard_function_info(num,name,classpath) values ('099','ESB中心','com.weaver.upgrade.domain.Upgrade099');
MySQL在执行
INSERT INTO hp_nonstandard_func_server(funcid, serverid, status) values(099,4,1);这条sql语句时,funcid值会变成99,注意一定要是099,99是错误的,funcid如果是99,无法开启菜单,功能无法使用。
浙公网安备 33010602011771号