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

QQ登录

只需一步,快速开始

查看: 7824|回复: 9

[结贴] 想用x5做项目,有一些问题解决不来

  [复制链接]

14

主题

51

帖子

81

积分

初级会员

Rank: 2

积分
81
发表于 2012-11-28 17:10:25 | 显示全部楼层 |阅读模式
10金币
本帖最后由 lenog 于 2012-11-28 17:11 编辑

现在有一个项目要用到X5进行开发

项目从现有的用友数据库里取数制作成报表,一个综合企业查询平台

很多报表已经现成写好了的。只需要调用他的存储过程就可以取得数据。存储过程里带select

还有一种是复杂SQL的报表。

我现在只能做出简单的单表查询。KSQL那个报表
多表联合查询等无从入手。。或者说这个Ksql跟SQL有区别。

还有个问题是服务器上部署环境将开发好的应用发布上去。

希望可以得到官方的帮助
如何搭建服务器环境以及使用sqlserver代码来进行报表开发

以上几点可以解决的话,这个项目就基本上没啥问题啦

最佳答案

查看完整内容

远程已经解决了,主要是dsrc没没引到,导致java文件读不出来。

226

主题

1000

帖子

1931

积分

金牌会员

Rank: 6Rank: 6

积分
1931
QQ
发表于 2012-11-28 17:10:26 | 显示全部楼层
远程已经解决了,主要是dsrc没没引到,导致java文件读不出来。
回复

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2012-11-28 17:38:47 | 显示全部楼层
1. 报表的技术问题
报表的数据来源有多种方式: 一种是通过ksql;另一种是通过sql;
2. 服务器环境的搭建
可以到http://www.justep.com/downloads.html上下载相关的部署视频和部署文档

无论是在开发报表还是部署服务器环境时遇到技术问题,都可以针对具体的问题发到bbs上,会有专人解答
回复

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2012-11-28 17:39:04 | 显示全部楼层
1.报表也可以用sql,直接在java中写sql语句就可以,可以参考/BIZ/demo/report/logic/code/dsrc/SimpleReportProcedure.java
然后配置为对应的action

2.部署可以参考《X5服务部署v5.2.pdf》可以到http://www.justep.com/downloads.html上下载
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

251

主题

1027

帖子

1383

积分

金牌会员

Rank: 6Rank: 6

积分
1383
QQ
发表于 2012-11-28 18:05:14 | 显示全部楼层
本帖最后由 mayuhui 于 2012-11-28 19:17 编辑

你可以将你现有的存储过程数据集转化为概念
让后从概念中去查询就可以了
1、新建概念(报表展示的信息)
2、重写query和save action(本来想上传个附件,但是太大,主要代码贴下面,可以参考,报表的话只要queryaction应该就可以了)
//查询OA_EMailInfo
public static Table queryOA_EMailInfo(String concept, String select, String from, String aggregate, String dataModel, String fnModel,
   String condition, List range, Boolean distinct, String idColumn, String filter, Integer limit, Integer offset, String columns,
   String orderBy, String aggregateColumns, Map variables) throws NamingException, SQLException {
  String querysql = null;
  String countsql = null;
  //新建表(类型和字段与概念相同)
  Table table = TableUtils.createTable(null, "fID", "String", "fSenderID", "String", "fSender", "String", "fReceiverID", "String", "fReceiver",
    "String", "fSubject", "String", "fText", "String", "fAttachment", "String", "fSendTime", "DateTime", "fStatus", "String", "fType",
    "String");
  //取得连接
  Connection conn = ModelUtils.getConnectionInTransaction(EMail_DATAMODEL);
  if (filter != null) {
   countsql = "select count(*) from OA_EMailInfo where " + filter;
   querysql = "select " + select + " from " + from + " where " + filter + " and fID not in (select top " + offset
     + " fID from OA_EMailInfo where " + filter + " order by fSendTime desc) order by fSendTime desc";
  } else {
   countsql = "select count(*) from OA_EMailInfo";
   querysql = "select " + select + " from " + from;
  }
  log4j.info("sql==" + querysql);
  //调用存储过程
  CallableStatement cstmt = conn.prepareCall("{call queryOA_commonProcedure(?)}");
  cstmt.setString(1, querysql);
  //执行存储过程并返回结果
  ResultSet rt = cstmt.executeQuery();
  while (rt.next()) {
   //新建行
   Row row = table.appendRow();
   //添加数据
   row.setString("fID", rt.getString("fID"));
   row.setString("fSenderID", rt.getString("fSenderID"));
   row.setString("fSender", rt.getString("fSender"));
   row.setString("fReceiverID", rt.getString("fReceiverID"));
   row.setString("fReceiver", rt.getString("fReceiver"));
   row.setString("fSubject", rt.getString("fSubject"));
   row.setString("fText", rt.getString("fText"));
   row.setString("fAttachment", rt.getString("fAttachment"));
   row.setDateTime("fSendTime", rt.getTimestamp("fSendTime"));
   row.setString("fStatus", rt.getString("fStatus"));
   row.setString("fType", rt.getString("fType"));
   //设置状态
   row.setState(ModifyState.NONE);
  }
  // 设置table的主键列,必须的
  table.getProperties().put(Table.PROP_NAME_ROWID, "fID");
  // 设置table的总行数,bizData分页需要
  //table.getProperties().put(Table.PROP_DB_COUNT, count);
  return table;
}
//保存OA_EMailInfo
public static void saveOA_EMailInfo(String concept, String dataModel, String fnModel, List insertRange, List deleteRange, List updateRange,
   String readOnly, String notNull, Table table) throws NamingException, SQLException {
  // 遍历table
  Iterator<Row> rows = table.iterator();
  while (rows.hasNext()) {
   Row row = rows.next();
   ModifyState rowState = row.getState();
   log4j.info(rowState);
   String id = row.getString("OA_EMailInfo");
   String fRelation1 = row.getString("fSenderID");
   String fRelation2 = row.getString("fSender");
   String fRelation3 = row.getString("fReceiverID");
   String fRelation4 = row.getString("fReceiver");
   String fRelation5 = row.getString("fSubject");
   String fRelation6 = row.getString("fText");
   String fRelation7 = row.getString("fAttachment");
   String fRelation8 = row.getDateTime("fSendTime").toString();
   String fRelation9 = row.getString("fStatus");
   String fRelation10 = row.getString("fType");
   if (ModifyState.NEW.equals(rowState)) {
    addOA_EMailInfo(id, fRelation1, fRelation2, fRelation3, fRelation4, fRelation5, fRelation6, fRelation7, fRelation8, fRelation9,
      fRelation10);
   } else if (ModifyState.EDIT.equals(rowState)) {
    updateOA_EMailInfo(id, fRelation1, fRelation2, fRelation3, fRelation4, fRelation5, fRelation6, fRelation7, fRelation8, fRelation9,
      fRelation10);
   } else if (ModifyState.DELETE.equals(rowState)) {
    delOA_EMailInfo(id);
   }
  }
}
//新增
public static void addOA_EMailInfo(String fID, String fRelation1, String fRelation2, String fRelation3, String fRelation4, String fRelation5,
   String fRelation6, String fRelation7, String fRelation8, String fRelation9, String fRelation10) throws SQLException, NamingException {
  Connection conn = ModelUtils.getConnectionInTransaction(EMail_DATAMODEL);
  CallableStatement cstmt = conn.prepareCall("{call addOA_EMailInfo(?,?,?,?,?,?,?,?,?,?,?)}");
  cstmt.setString(1, fID);
  cstmt.setString(2, fRelation1);
  cstmt.setString(3, fRelation2);
  cstmt.setString(4, fRelation3);
  cstmt.setString(5, fRelation4);
  cstmt.setString(6, fRelation5);
  cstmt.setString(7, fRelation6);
  cstmt.setString(8, fRelation7);
  cstmt.setString(9, fRelation8);
  cstmt.setString(10, fRelation9);
  cstmt.setString(11, fRelation10);
  cstmt.executeUpdate();
}
//更新
public static void updateOA_EMailInfo(String fID, String fRelation1, String fRelation2, String fRelation3, String fRelation4, String fRelation5,
   String fRelation6, String fRelation7, String fRelation8, String fRelation9, String fRelation10) throws SQLException, NamingException {
  Connection conn = ModelUtils.getConnectionInTransaction(EMail_DATAMODEL);
  CallableStatement cstmt = conn.prepareCall("{call updateOA_EMailInfo(?,?,?,?,?,?,?,?,?,?,?)}");
  cstmt.setString(1, fID);
  cstmt.setString(2, fRelation1);
  cstmt.setString(3, fRelation2);
  cstmt.setString(4, fRelation3);
  cstmt.setString(5, fRelation4);
  cstmt.setString(6, fRelation5);
  cstmt.setString(7, fRelation6);
  cstmt.setString(8, fRelation7);
  cstmt.setString(9, fRelation8);
  cstmt.setString(10, fRelation9);
  cstmt.setString(11, fRelation10);
  cstmt.executeUpdate();
}
//删除
public static void delOA_EMailInfo(String fID) throws SQLException, NamingException {
  Connection conn = ModelUtils.getConnectionInTransaction(EMail_DATAMODEL);
  CallableStatement cstmt = conn.prepareCall("{call delOA_EMailInfo(?)}");
  cstmt.setString(1, fID);
  cstmt.executeUpdate();
}
3、对所建概念进行报表信息展示
回复

使用道具 举报

14

主题

51

帖子

81

积分

初级会员

Rank: 2

积分
81
 楼主| 发表于 2012-11-28 20:12:35 | 显示全部楼层
谢谢楼上的。楼上的貌似好多java代码。我是搞delphi出生的。。我好好看看吧
回复

使用道具 举报

14

主题

51

帖子

81

积分

初级会员

Rank: 2

积分
81
 楼主| 发表于 2012-11-30 19:33:26 | 显示全部楼层
xwnabc 发表于 2012-11-30 19:14
远程已经解决了,主要是dsrc没没引到,导致java文件读不出来。

专业用户
回复

使用道具 举报

6

主题

185

帖子

2825

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2825
发表于 2012-11-30 20:08:31 | 显示全部楼层
lenog 发表于 2012-11-30 19:33
专业用户

专业服务,
回复

使用道具 举报

226

主题

1000

帖子

1931

积分

金牌会员

Rank: 6Rank: 6

积分
1931
QQ
发表于 2012-11-30 20:11:51 | 显示全部楼层
make 发表于 2012-11-30 20:08
专业服务,

回复

使用道具 举报

1

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
QQ
发表于 2017-12-26 11:56:39 | 显示全部楼层
xwnabc 发表于 2012-11-28 17:10
远程已经解决了,主要是dsrc没没引到,导致java文件读不出来。

利害
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 20:05 , Processed in 0.066433 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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