|
版本: |
|
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
报销模块中,报销流程打印出现问题(重复添加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;
}
|
|