|
通过执行 一个存储过程 返回table给report
后台存储过程 执行 只需要5秒钟
前台展现出来需要 几分钟
-------------------后台JAVA代码
public static Table sp_jzsalaryConfireDataRptProc(String fFactoryCode,String fWorkShopName,String fTeamName,String fEmpName,String fOrderNo,String fBeginDate,String fEndDate,String fProNameGroup,String fGroupName,String fProName,String fProPriceType){
java.sql.Connection conn = null;
PersonMember pm = ContextHelper.getPersonMember();
String fPersonID = pm.getPerson().getID();
String fPersonCode = pm.getPerson().getCode();
String fPersonName = pm.getPerson().getName();
// Map<String, Object> ResultMap = new HashMap <String, Object>();
java.sql.CallableStatement proc = null;
try {
conn = com.justep.model.ModelUtils.getConnection(DATA_MODEL);
proc = conn.prepareCall("{call sp_jzsalaryConfireDataRptProc(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
proc.setString(1, fFactoryCode);
proc.setString(2, fWorkShopName);
proc.setString(3, fTeamName);
proc.setString(4, fEmpName);
proc.setString(5, fOrderNo);
proc.setString(6, fBeginDate);
proc.setString(7, fEndDate);
proc.setString(8, fProNameGroup);
proc.setString(9, fGroupName);
proc.setString(10, fProName);
proc.setString(11, fPersonID);
proc.setString(12, fPersonCode);
proc.setString(13, fPersonName);
proc.setString(14, fProPriceType);
proc.registerOutParameter(15, java.sql.Types.VARCHAR); // 执行存储过程
proc.registerOutParameter(16, java.sql.Types.VARCHAR); // 执行存储过程
ResultSet rt = proc.executeQuery();
Table table = com.justep.system.util.BizUtils.resultSet2Table(rt, DATA_MODEL);
return table;
} catch (NamingException e) {
e.printStackTrace();
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
try {
proc.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
---------------前台JS代码
this.comp('RptMasterData').setStringVar("fFactoryCode", fFactoryCode);
this.comp('RptMasterData').setStringVar("fWorkShopName", fWorkShopName);
this.comp('RptMasterData').setStringVar("fTeamName", fTeamName);
this.comp('RptMasterData').setStringVar("fEmpName", fEmpCodeName);
this.comp('RptMasterData').setStringVar("fOrderNo", fOrderNO);
this.comp('RptMasterData').setStringVar("fBeginDate", fBeginDate);
this.comp('RptMasterData').setStringVar("fEndDate", fEndDate);
this.comp('RptMasterData').setStringVar("fProNameGroup", fProNameGroup);
this.comp('RptMasterData').setStringVar("fGroupName", fGroupName);
this.comp('RptMasterData').setStringVar("fProName", fPartName);
this.comp('RptMasterData').setStringVar("fProPriceType", fProPriceTypeName);
this.comp('report').refresh();
|
|