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

QQ登录

只需一步,快速开始

查看: 5144|回复: 2

[结贴] 报销模块中,报销流程打印出现问题(重复添加sActivity)

[复制链接]

54

主题

247

帖子

632

积分

高级会员

Rank: 4

积分
632
QQ
发表于 2018-1-16 11:33:36 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
报销模块中,报销流程打印出现问题(重复添加sActivity):问题描述:
报销申请流程中如若出现回退,sa_task 表中会重复出现sActivity。待到再次发起此流程至结束流程。打印这个报销时,会出现查询sActivity对应的流程审批人的重复问题,
控制台 会报如下代码错误:
ERROR] 2018-01-16 11:26:35,863 com.justep.report.controller.DataController - 报表数据获取失败
重复添加的列定义"businessActivity1"
com.justep.report.exception.ReportServerException: 报表数据获取失败
        at com.justep.report.controller.DataController.execute(Unknown Source)
        at com.justep.report.controller.GenericControllerChain.execute(Unknown Source)
        at com.justep.report.controller.InitController.execute(Unknown Source)
        at com.justep.report.controller.GenericControllerChain.execute(Unknown Source)
        at com.justep.report.Servlet.a(Unknown Source)
        at com.justep.report.Servlet.doPost(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
        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 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: com.justep.report.exception.ReportServerException: 重复添加的列定义"businessActivity1"
        at com.justep.report.controller.DataController.a(Unknown Source)
        at com.justep.report.controller.DataController.a(Unknown Source)
        ... 20 more
Caused by: java.lang.Exception
        ... 22 more


调用的动作:
public static Table querypross(String rowId) {

                String sql = "select sID,sCreatorPersonName,sActivity from sa_task where sData1 = '" + rowId + "' and sStatusID='tesFinished'and sActivity is not null and sSourceID is null";
                HashMap<String, String> sqlMap = new HashMap<String, String>();
                sqlMap.put(SQL.DEFAULT_DB_NAME, sql);
                sqlMap.put(DatabaseProduct.DB2.name(), sql);
                sqlMap.put(DatabaseProduct.ORACLE.name(), sql);
                sqlMap.put(DatabaseProduct.MSSQL.name(), sql);
                sqlMap.put(DatabaseProduct.DB2.name(), sql);
                sqlMap.put(DatabaseProduct.KINGBASE.name(), sql);
                sqlMap.put(DatabaseProduct.SYBASE.name(), sql);
                sqlMap.put(DatabaseProduct.MYSQL.name(), sql);
                Table table = SQL.select(sqlMap, null, "/system/data");
                Iterator<Row> it = table.iterator();
                Map<String, String> map = new HashMap<String, String>();
                List<Row> list = new ArrayList<Row>();
                while (it.hasNext()) {
                        Row row = it.next();
                        String val = row.getString("sCreatorPersonName");
                        String sName = row.getString("sActivity");               
                        table.addColumn(sName, "String");
                        System.out.println(sName);
                        map.put(sName, val);
                        list.add(row);
                }

                Row ro = table.appendRow();
                ro.setString("sID", "123456789");
                Iterator<Entry<String, String>> itm = map.entrySet().iterator();
                while (itm.hasNext()) {
                        Entry<String, String> en = itm.next();
                        System.out.println(en.getKey()+"11111111111111"+en.getValue());
                        ro.setString(en.getKey(), en.getValue());
                }
                table.deleteColumn("sCreatorPersonName");
                table.deleteColumn("sActivity");
                table.getMetaData().setKeyColumn("sID");
                for (Row rows : list) {
                        table.deleteRows(rows.getString("sID"));
                }

                return table;

        }

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35915
发表于 2018-1-16 13:35:28 | 显示全部楼层
  table.addColumn(sName, "String");

table中已经有的就不能再添加,需要自己判断是否有这样的列
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

54

主题

247

帖子

632

积分

高级会员

Rank: 4

积分
632
QQ
 楼主| 发表于 2018-1-16 15:13:00 | 显示全部楼层
jishuang 发表于 2018-1-16 13:35
table.addColumn(sName, "String");

table中已经有的就不能再添加,需要自己判断是否有这样的列 ...

这个是平台提供的查询方法,现在已经解决了,揭帖
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 17:49 , Processed in 0.093222 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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