📄 tf_reports.java
字号:
package com.doone.fj1w.fjmgr.rpt;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import com.doone.data.DacClient;
import com.doone.data.DataRow;
import com.doone.data.DataTable;
import com.doone.data.ObjectEntity;
import com.doone.fj1w.fjmgr.statana.Simpreportqry;
import com.doone.util.FileLogger;
public class TF_Reports extends ObjectEntity {
private static DataTable _entityStruct = null;
private static String _fieldNames = null;
private static String _tableName = "TF_REPORTS";
private TD_Report_para report_para[] = null;
private DacClient dataAccess = null;
protected DataTable get_entityStruct() {
return _entityStruct;
}
protected void set_entityStruct(DataTable struct) {
_entityStruct = struct;
}
protected String get_fieldNames() {
return _fieldNames;
}
protected void set_fieldNames(String names) {
_fieldNames = names;
}
protected String get_tableName() {
return _tableName;
}
protected void set_tableName(String name) {
_tableName = name;
}
protected TF_Reports() {
super();
dataAccess = new DacClient();
}
public TF_Reports(DacClient db, long objId) {
super(db, objId);
dataAccess = db;
}
public TF_Reports(DacClient db) {
super(db);
dataAccess = db;
try {
this.setReportID(db.getSequence("SEQ_REPORTID"));
this.setPattern("/view/rpt/common/rpt_param.jsp");
this.setListService("RPTService");
this.setListDataName("getRptList");
this.setListCountName("getRptCount");
this.setState("E");
this.setCreatetime(new Date());
} catch (Exception ex) {
FileLogger.getLogger().warn(ex);
throw new RuntimeException(ex);
}
}
public TF_Reports(DataRow dr) {
super(dr);
dataAccess = new DacClient();
}
public DataRow getDataRow() {
return entityRow;
}
public static TF_Reports getInstanceByBoardId(DacClient db, long lBoardId) {
TF_Reports result = null;
try {
StringBuffer sql = new StringBuffer();
sql.append("select ");
if (_fieldNames != null) {
sql.append(_fieldNames);
}
else {
sql.append("*");
}
sql.append(" from ");
sql.append(_tableName);
sql.append(" where BOARD_ID = ?");
Object ap[] = new Object[1];
ap[0] = new Long(lBoardId);
DataTable dt = db.executeQuery(sql.toString(), ap);
if ( dt != null && dt.getRows().getCount() > 0 ) {
result = new TF_Reports(dt.getRow(0));
}
} catch (Exception e) {
FileLogger.getLogger().warn(e.getMessage(), e);
}
return result;
}
public TD_Report_para[] getReport_para() {
if (report_para == null) report_para = TD_Report_para.getReport_para(this);
return report_para;
}
public DacClient getDBClient() {
return dataAccess;
}
public static TF_Reports getInstanceByBoardId(long lBoardId) {
return getInstanceByBoardId(new DacClient(), lBoardId);
}
private void setReportID(long lReportID) {
entityRow.setValue("REPORTID", new Long(lReportID));
}
public long getReportID() {
return entityRow.getLong("REPORTID");
}
public void setBoard_Id(long lBoardId) {
entityRow.setValue("BOARD_ID", new Long(lBoardId));
}
public void setReportname(String sReportname) {
entityRow.setValue("REPORTNAME", sReportname);
}
public void setReportsql(String sReportsql) {
entityRow.setValue("REPORTSQL", sReportsql);
}
public void setCreatetime(Date dCreatetime) {
entityRow.setValue("CREATETIME", dCreatetime);
}
public void setBgntime(Date dBgntime) {
entityRow.setValue("BGNTIME", dBgntime);
}
public void setEndtime(Date dEndtime) {
entityRow.setValue("ENDTIME", dEndtime);
}
public void setState(String sState) {
entityRow.setValue("STATE", sState);
}
public void setStaffid(long lStaffid) {
entityRow.setValue("STAFFID", new Long(lStaffid));
}
public void setSeq(int iSeq) {
entityRow.setValue("SEQ", new Integer(iSeq));
}
public long getBoard_Id() {
return entityRow.getLong("BOARD_ID");
}
public String getReportname() {
return entityRow.getString("REPORTNAME");
}
public String getReportsql() {
return entityRow.getString("REPORTSQL");
}
public Date Createtime() {
return entityRow.getDate("CREATETIME");
}
public Date getBgntime() {
return entityRow.getDate("BGNTIME");
}
public Date getEndtime() {
return entityRow.getDate("ENDTIME");
}
public String getState() {
return entityRow.getString("STATE");
}
public long getStaffid() {
return entityRow.getLong("STAFFID");
}
public int getSeq() {
return entityRow.getInt("SEQ");
}
public void setPattern(String sPattern) {
entityRow.setValue("PATTERN", sPattern);
}
public String getPattern() {
return entityRow.getString("PATTERN");
}
public void setListService(String sValue) {
entityRow.setValue("Listservice", sValue);
}
public String getListService() {
return entityRow.getString("Listservice");
}
public void setListDataName(String sValue) {
entityRow.setValue("Listdataname", sValue);
}
public String getListDataName() {
return entityRow.getString("Listdataname");
}
public void setListCountName(String sValue) {
entityRow.setValue("Listcountname", sValue);
}
public String getListCountName() {
return entityRow.getString("Listcountname");
}
public void setImplClass(String sValue) {
entityRow.setValue("IMPL_CLASS", sValue);
}
public String getImplClass() {
return entityRow.getString("IMPL_CLASS");
}
/**
*
* @param _map
* @return
* @throws java.sql.SQLException
* @throws RuntimeException
*/
static public String getRptSql(java.util.Map _map)
throws java.sql.SQLException, RuntimeException {
String s_report_sql = "";
try {
if(_map==null || _map.isEmpty())
return "";
//获取sql语句
String s_report_id =(String) _map.get("reportid");
DataTable dt_reports = Simpreportqry.gettf_reports("",s_report_id);
if(dt_reports!=null){
for(int it=0;it<dt_reports.getRows().getCount();it++){
s_report_sql = dt_reports.getRow(it).getString("reportsql");
}
}
} catch (Exception ex) {
FileLogger.getLogger().warn(ex.getMessage(), ex);
}
return s_report_sql;
}
/**
* 总记录数
*/
static public int getRptCount(ServletRequest request, ServletResponse response, Map _map) {
try {
if(_map == null )return 0;
/* Object[] keys = _map.keySet().toArray();
for (int i=0;i<keys.length;i++){
System.out.print(keys[i]+"=");
System.out.println(_map.get(keys[i]));
}*/
String _reportid = "";
if (_map!=null&&_map.get("reportid")!=null)
_reportid = (String)_map.get("reportid");
DataTable _dt = Simpreportqry.gettd_reportpara("",_reportid);
Object[] _object = new Object[_dt.getRows().getCount()];
for (int i=0;i<_dt.getRows().getCount();i++){
if("VARCHAR".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
if(_map.get(_dt.getRow(i).getString("PARA_NAME"))!=null){
_object[i] = (String) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else{
_object[i] ="";
}
}else if("NUMBER".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
if(_map.get(_dt.getRow(i).getString("PARA_NAME"))!=null){
_object[i] = (String) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else{
_object[i] ="";
}
_object[i] = (Integer) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else if("LONG".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
if(_map.get(_dt.getRow(i).getString("PARA_NAME"))!=null){
_object[i] = (String) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else{
_object[i] ="";
}
_object[i] = (Double) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else if("DATE".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
Date date = null;
try{
SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd");
String _str = "";
if(_map.get(_dt.getRow(i).getString("PARA_NAME"))!=null){
_str = _map.get(_dt.getRow(i).getString("PARA_NAME")).toString();;
}
if (_str.length()>10){
_str = _str.substring(0,10);
}
date = sdt.parse(_str);
}catch(Exception ex){}
_object[i]= new Timestamp(date.getTime());
}else{
_object[i] = (String) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}
}
/* _object[t] = (String) _map.get("STARTTIME");
_object[t++] = (String) _map.get("ENDTIME");
_object[t++] = (String) _map.get("CITY");
_object[t++] = (String) _map.get("AREA");*/
//获取sql语句
String sql = getRptSql(_map);
StringBuffer _sb = new StringBuffer();
_sb.append("SELECT count(*) FROM ( ");
_sb.append(sql);
_sb.append(")");
sql = _sb.toString();
DacClient db = new DacClient();
int iRptCount = Integer.parseInt(db.getStringFromSqlQuery(sql,_object));
return iRptCount;
} catch (Exception ex) {
FileLogger.getLogger().warn(ex.getMessage(), ex);
}
return 0;
}
static public DataTable getRptList(String sql, java.util.Map _map) throws java.sql.SQLException, RuntimeException {
try {
if(_map==null || _map.isEmpty())
return null;
int pageSize = Integer.parseInt((String) _map.get("pageSize"));
int currentPage = Integer.parseInt((String) _map.get("currentPage"));
if (pageSize == -1 || currentPage == -1) {
FileLogger.getLogger().info("页面参数为空。");
} else {
FileLogger.getLogger().info("pageSize:" + String.valueOf(pageSize));
FileLogger.getLogger().info("currentPage:" + String.valueOf(currentPage));
}
int startrecord = currentPage * pageSize;
int endrecord = pageSize;
if (startrecord < 0)
startrecord = 0;
if (endrecord > 0 && startrecord > 0)
endrecord = startrecord + pageSize;
/* Object[] _object = new Object[REPORT_PARA_COUNT+4];
if(REPORT_PARA_COUNT>0){
String sFieldName="";
for(int t=0;t<REPORT_PARA_COUNT;t++){
sFieldName = "PARA_NAME"+t;
_object[t] = (String) _map.get(sFieldName);
}
}
_object[REPORT_PARA_COUNT++] = (String) _map.get("STARTTIME");
_object[REPORT_PARA_COUNT++] = (String) _map.get("ENDTIME");
_object[REPORT_PARA_COUNT++] = (String) _map.get("CITY");
_object[R
EPORT_PARA_COUNT++] = (String) _map.get("AREA");*/
String _reportid = "";
if (_map!=null&&_map.get("reportid")!=null)
_reportid = (String)_map.get("reportid");
DataTable _dt = Simpreportqry.gettd_reportpara("",_reportid);
Object[] _object = new Object[_dt.getRows().getCount()];
for (int i=0;i<_dt.getRows().getCount();i++){
if("VARCHAR".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE")) || "CLOB".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
if(_map.get(_dt.getRow(i).getString("PARA_NAME"))!=null){
_object[i] = (String) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else{
_object[i] = "";
}
}else if("NUMBER".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
if(_map.get(_dt.getRow(i).getString("PARA_NAME"))!=null){
_object[i] = (Integer) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else{
_object[i] = "";
}
}else if("LONG".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
if(_map.get(_dt.getRow(i).getString("PARA_NAME"))!=null){
_object[i] = (Double) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}else{
_object[i] = "";
}
}else if("DATE".equalsIgnoreCase(_dt.getRow(i).getString("DATATYPE"))){
java.util.Date date = null;
try{
SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd");
String _str = "";
if(_map.get(_dt.getRow(i).getString("PARA_NAME")).toString()!=null)
_str = _map.get(_dt.getRow(i).getString("PARA_NAME")).toString();
if (_str.length()>10){
_str = _str.substring(0,10);
}
date = sdt.parse(_str);
}catch(Exception ex){}
_object[i]= new Timestamp(date.getTime());
}else{
_object[i] = (String) _map.get(_dt.getRow(i).getString("PARA_NAME"));
}
}
StringBuffer _sb = new StringBuffer();
_sb.append("SELECT * FROM ( SELECT row_.*, rownum rownum_ FROM(");
_sb.append(sql);
_sb.append(")row_ WHERE rownum <=");
_sb.append(endrecord);
_sb.append(") WHERE rownum_ >");
_sb.append(startrecord);
sql = _sb.toString();
DacClient db = new DacClient();
_dt = db.executeQuery(sql,_object);
return _dt;
} catch (java.sql.SQLException sqlx) {
throw sqlx;
} catch (RuntimeException rux) {
FileLogger.getLogger().warn(rux.getMessage(), rux);
throw rux;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -