使用 SQL 启用非标功能

泛微 ecology 分标准和非标准功能,一般标准安装包安装后都是标准产品,非标准功能需要泛微内部进行流程申请才能拿到,也是泛微的增值服务

但其实很多非标功能在标准版本中已经包含了,只不过没有打开相应开关无法进行使用而已,下面以开发统一待办中心集成为例,讲解如何通过 sql 开启非标功能

激活模块

1
update SystemModule set MODULERELEASED = 1;

开启菜单

查询菜单数据 ID

1
2
-- 11055
select * from MAINMENUINFO where MENUNAME = '统一待办中心集成';

获取系统 CID

将一下代码拷贝到 jsp 文件并访问即可得到 CID

1
2
3
4
5
6
7
8
9
10
<%@ 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());
%>
<%-- 542776 --%>
<%=cid%>

开启菜单

开启菜单之前需要通过计算得到菜单 id 以及菜单开启代码,计算方式如下

  • 菜单 id = 菜单数据 id + cid + 111
  • 开启代码 = 菜单数据 id + cid + 178

删除原数据

1
2
-- MENUID = 11055 + 542776 + 111
delete from MENUCONTROLLIST where MENUID = 553892

插入新数据

1
2
3
-- MENUID = 11055 + 542776 + 111
-- ISOPEN = 11055 + 542776 + 178
insert into MENUCONTROLLIST(TYPE, MENUID, ISOPEN) values ('top',553892,553959);

开启权限

通过以上功能即可开启对应非标菜单

image-20220608164953407

但是有些非标功能会进行权限校验,下面讲解如何开启权限

获取非标功能序号

使用 chrome 浏览器控制台功能,点击需要上一步骤开启的非标菜单,找到下面的请求

image-20220608165705360

其中 num 参数就是我们需要的非标序号

查看是否是集群环境

将以下代码存储为 jsp 文件并访问,显示 1 说明为集群环境,否则为非集群环境

1
2
3
<%@ page import="weaver.file.Prop" %>
<!DOCTYPE html>
<%=Prop.getPropValue("ClusterIpController", "flag")%>

非集群环境

非集群环境开启权限较为简单,执行以下 sql 即可

1
update hp_nonstandard_function_info set status = 1 where num = 081

集群环境

获取服务器id
1
2
3
-- serverip:服务器ip地址
-- id:511
select id from hp_server_info where serverip = '192.168.15.84';
更新服务记录表
1
2
3
4
5
6
-- 先删除,再插入
delete from hp_nonstandard_func_server where funcid = 081 and serverid = 511;
-- funcid:非标序号
-- serverid:服务器id
-- status:1表示开启
insert into hp_nonstandard_func_server(funcid, serverid, status) values (081,511,1);
更新服务信息表
1
2
3
4
5
6
-- 先删除,再插入
delete from hp_nonstandard_function_info where num = 081;
-- NUM:非标包序号
-- NAME:非标功能名称
-- CLASSPATH:com.weaver.upgrade.domain.Upgrade + 非标包序号
insert into hp_nonstandard_function_info(NUM,NAME,CLASSPATH) values (081,'统一待办中心集成','com.weaver.upgrade.domain.Upgrade081');