起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 29227|回复: 29

[结贴] 任务中心(归档) 如何关联另一个数据源

[复制链接]

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
发表于 2020-1-19 11:03:23 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
5.3.8版本兼容5.2.7,使用5.3.8的portal
由于SA_Task_Histroy的数据库已超2000万,现在希望将这张表迁移出X5的system数据源,放在另外一个数据库system2里面。
目前已经复制了一个/UI2/SA/task/taskCenter/mainActivity.w,命名为/UI2/SA/task/taskCenter/mainActivity1.w,任务中心(归档)直接关联这个界面。怎么将mainActivity1.w关联的taskData对应的概念切换到system2的SA_Task_Histroy呢?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2020-1-19 11:39:07 | 显示全部楼层
没有这样的切换方式,这样的需要自己在创建一个应用配置数据源,在新的应用下实现

或者java中自己获取数据库连接返回数据
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-19 17:28:23 | 显示全部楼层
jishuang 发表于 2020-1-19 11:39
没有这样的切换方式,这样的需要自己在创建一个应用配置数据源,在新的应用下实现

或者java中自己获取数据 ...

已通过修改/BIZ/SA/task/logic/code/dsrc/TaskProcedure.java中taskQuery()的dataModel实现,
执行列表修改/BIZ/system/logic/code/dsrc/ProcessProcedure.java中queryProcessExecuteList()的dataModel实现,
请问如何修改流程图的取数呢?
源代码如下:
public static String getProcessChartByTask(String task, String ext){
                Utils.check(Utils.isNotEmptyString(task), CommonMessages.class, CommonMessages.PARAM_NULL1, ProcessConstants.TASK_PARAMETER);
                shardTask(task, null, null);
                String pi = TaskDB.queryFlowIdByTask(task);
                return ProcessChartEngine.getProcessChartByPI(pi, ext);
        }

TaskDB、ProcessChartEngine是封装的。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2020-1-19 17:37:52 | 显示全部楼层
这个代码是不开源的,需要源码联系商务人员协商
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-20 14:53:21 | 显示全部楼层
本帖最后由 doris 于 2020-1-20 14:55 编辑

放进去先运行了一下,报错如下:2020-01-20 14:56:05 [http-8082-8] [com.justep.business.server.BusinessServer] ERROR: action:<?xml version="1.0" encoding="UTF-8"?>
<action direct-execute="true" process="/SA/OPM/system/systemProcess" activity="mainActivity" action-flag="__action_0__" executor="" execute-context="" name="getProcessChartByTaskAction"><parameters><parameter name="task"><xbiz:simple xmlns:xbiz="http://www.justep.com/xbiz#" type="http://www.w3.org/2001/XMLSchema#string">B7B636A5181B4B7C8817D06CDDD5678C</xbiz:simple></parameter><parameter name="ext"><xbiz:simple xmlns:xbiz="http://www.justep.com/xbiz#" type="http://www.w3.org/2001/XMLSchema#string"></xbiz:simple></parameter></parameters></action>
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.justep.micro.service.MicroServiceFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: com.justep.system.process.TaskDB.select(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)Lcom/justep/system/data/Table;
        at com.justep.system.process.ProcessInstance.loadTokenInstance(Unknown Source)
        at com.justep.system.process.TaskDB.loadPI(TaskDB.java:98)
        at com.justep.system.process.ProcessChartEngine.getProcessChartByPI(Unknown Source)
        at ProcessProcedure.getProcessChartByTask(ProcessProcedure.java:855)
        ... 30 more

请问是哪里需要调整?


回复 支持 反对

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-20 15:27:15 | 显示全部楼层
doris 发表于 2020-1-20 14:53
放进去先运行了一下,报错如下:2020-01-20 14:56:05 [http-8082-8] [com.justep.business.server.Business ...

找到/BIZ/system/logic/code/dsrc/ProcessEngineFactory.java中调用了:Table table = com.justep.system.process.TaskDB.select(query, new HashMap<String, Object>(), "/system/data", null);

我从论坛下载的TaskDB.java里面并没有select()函数,估计是版本太低了,麻烦可否提供3.8版本的TaskDB.java?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2020-1-20 15:55:37 | 显示全部楼层
3.8版本的没有,提供源码找商务协商
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-2-11 11:36:02 | 显示全部楼层
doris 发表于 2020-1-19 17:28
已通过修改/BIZ/SA/task/logic/code/dsrc/TaskProcedure.java中taskQuery()的dataModel实现,
执行列表修 ...

前提:复制了一个/UI2/SA/task/taskCenter/mainActivity.w,命名为/UI2/SA/task/taskCenter/mainActivity1.w,任务中心(归档)直接关联这个界面。
目前,任务中心(归档)的任务列表是加载的非system数据库里面的SA_Task_Histroy,但是,点开某条任务时,执行如下代码,其中showPage时执行的sql见下图:还会从system数据库的SA_Task_Histroy取一次数,由于system数据库的SA_Task_Histroy已经迁移,所以是取不到数的。请问,如何调整showPage时的数据源?
Model.prototype.browseTask = function(){
                var mainData = this.comp("taskData");
                var name = mainData.val("sName");
                var executor = mainData.val("sCreatorFID");
                var personID = this.getContext().getCurrentPersonID();
                if (executor.indexOf(personID) == -1){
                        executor = mainData.val("sExecutorFID");
                }
                if (!executor || (executor.indexOf(".psm")==-1)){
                        executor = personID;
                }
       
                var url = this.getBrowseURL();
                //justep.Shell.showPage({url:url, title: name, executor: executor});       
                //移除对当前用户身份检查
                justep.Shell.showPage({url:url, title: name});       
        };


归档任务关联非system数据源.JPG
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2020-2-11 14:11:28 | 显示全部楼层
TaskDB.java中加调试确认是不是执行的这个里面的代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-2-11 14:48:07 | 显示全部楼层
jishuang 发表于 2020-2-11 14:11
TaskDB.java中加调试确认是不是执行的这个里面的代码

加调试了,showPage时没有进入TaskDB.java
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-27 15:49 , Processed in 0.106546 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表