在windchill里实现用户报告------后台代码

在这次的项目里,要求完成一个jsp页面来获取windchill数据库里的用户创建数据,制作一个类似于网易云音乐年度报告的jsp页面。其实说白了无非是进行数据库的查询操作。

在项目的初期,主要是熟悉windchill的数据存储结构,这一步主要是通过

 WTUser user=(WTUser) SessionHelper.manager.getPrincipal();
String s=user.getName();//获取用户ID
来获取当前用户在存储表里的用户名,之后通过jdbc连接数据库:
//连接数据库
PDSIfc pds = DataServicesRegistry.getDefault().getPdsFor("DEFAULT");
Connection conn = null;
if(pds!=null){
	    	conn = pds.getDataSource().getConnection();
	    }	
进而进行相应的数据库查询操作
//查找用户WTUSER表里的id
PreparedStatement ps = conn.prepareStatement("select * from WTUSER t where t.name=?");
ps.setString(1, s);
ResultSet rs = ps.executeQuery(); 
 while(rs.next())
    {
      UserBean data=new UserBean();
      //得到用户ID
      String userid = rs.getString(123);//int通过查看该数据表可知
    }

之后再根据该ID进行其他关联的数据表查询操作,如创建的cad图纸数:

PreparedStatement ps2 = conn.prepareStatement("SELECT COUNT(t.ida3d2iterationinfo) from EPMDOCUMENT t where t.ida3d2iterationinfo=?");
ps2.setString(1, userid);
ResultSet rs2 = ps2.executeQuery();
while(rs2.next()){
	    		String CADdocument_total= rs2.getString(1);
	    		data.setCADdocument_total(CADdocument_total);
	    		System.out.println("距今创建的CAD图纸数为:"+CADdocument_total);
	    	}

其他的操作亦如是操作。

文件目录如下:

在windchill里实现用户报告------后台代码_第1张图片

UserBean用来定义接口数据;

processor用来进行sql操作和data转json数据;

resource采用注解的方式定义接口方法。

前台代码后续附上。



你可能感兴趣的:(windchill学习)