syscall.java~6~
来自「采用web2.0技术,采用动态标签,sql语句全部存储在数据库里面.开发速度快.」· JAVA~6~ 代码 · 共 167 行
JAVA~6~
167 行
package com.sztheater.framework.util;
import java.util.*;
import java.sql.*;
import java.io.*;
public class SysCall {
private static HashMap m_servic_map = null;
private static boolean m_product = false;
public static int execute(ValueObject recvPack,ValueObject sendPack){
System.out.println("com.sztheater.framework.util >>>>>>>SysCall->execute");
if(recvPack==null || sendPack==null) return 0;
Connection conn = null;
int iSuccFlag = 0;
String strMsg = null;
try{
conn = DbFunc.getConnection(false);
}catch(Exception e){
if(conn!=null) DbFunc.free(conn,iSuccFlag);
conn = null;
iSuccFlag = -90102;
strMsg = "服务取数据库连接异常"+e.getMessage();
return sendPack.setErrMsg(iSuccFlag,strMsg);
}
try{
iSuccFlag= execute( conn, recvPack, sendPack);
}finally{
if(conn!=null) DbFunc.free(conn,iSuccFlag);
conn = null;
}
return iSuccFlag;
}
public static int execute(Connection conn,ValueObject recvPack,ValueObject sendPack){
boolean bCreateConn = false;
//取得业务信息
String Func_ID = null ; //功能号
String Action_ID = null ; //动作ID
String class_name = null ; //需要实例化的类名
String busi_desc = null ; //功能描述信息
String strMsg = null ;
HashMap hashServ = null ;
int iSuccFlag = 0;
ParseSQLBusi iService =null; //modify by wrestler
if( recvPack==null || sendPack==null) return 0;
//取功能号
Func_ID = recvPack.getFuncID();
if(Func_ID==null || Func_ID.trim().equals("")){
iSuccFlag = -90101;
strMsg = "没有指定功能号";
return sendPack.setErrMsg(iSuccFlag,strMsg);
}
//取得操作类型
Action_ID = recvPack.getActionID();
if(conn==null ){
try{
conn = DbFunc.getConnection(false);
}catch(Exception e){
if(conn!=null) DbFunc.free(conn,iSuccFlag);
conn = null;
iSuccFlag = -90102;
strMsg = "["+Func_ID+"]服务取数据库连接异常"+e.getMessage();
return sendPack.setErrMsg(iSuccFlag,strMsg);
}
bCreateConn = true;
}
try{
hashServ = ServiceMapping.getServiceInfo(conn,Func_ID,Action_ID);
if(hashServ==null){
iSuccFlag = -90103;
strMsg = "没有配置["+Func_ID+"]服务";
return sendPack.setErrMsg(iSuccFlag,strMsg);
}
busi_desc = (String)hashServ.get("service_desc");
class_name = (String)hashServ.get("class_name");
if(busi_desc==null||busi_desc.trim().equals("")) busi_desc =Func_ID;
if(!m_product){
System.out.println(busi_desc+">>>>>" + class_name);
}
try{
iService = (ParseSQLBusi)Class.forName(class_name).newInstance(); //modify by wrestler
}catch(Exception e1){
strMsg = "实例化"+class_name+"异常:"+e1.getMessage();
System.out.println(strMsg);
iSuccFlag = -90104;
strMsg = "实例化"+busi_desc+"业务不成功";
return sendPack.setErrMsg(iSuccFlag,strMsg);
}
try{
if(iService!=null) {
iSuccFlag = iService.execute(conn,recvPack,sendPack);
return iSuccFlag;
}
}catch(Exception e1){
iSuccFlag = -1;
strMsg = "执行"+busi_desc+"业务异常" + e1.getMessage();
System.out.println(strMsg);
return sendPack.setErrMsg(iSuccFlag,strMsg);
}finally{
iService = null;
}
}finally{
if(bCreateConn){
if(conn!=null) DbFunc.free(conn,iSuccFlag);
conn = null;
}
}
return 0;
}
public static String getDispatcherFile(String portal_id,String equip_id,String templete_id){
String s_file_name = "";
String strSQL = null;
String jsp_file = "";
if(templete_id==null) templete_id = "";
templete_id = templete_id.trim();
if(!templete_id.equals("")){
strSQL = "select distinct jsp_file \n"
+ "from tsm_templete_file \n"
+ "where templete_id='" +templete_id+"'";
}else{
strSQL = "select portal_id ,jsp_file from( \n"
+ " select a.portal_id,b.jsp_file \n"
+ " from tsm_equip_templete a,tsm_templete_file b \n"
+ " where a.templete_id = b.templete_id \n"
+ " and a.equip_id= '"+equip_id+"'\n"
+ " and (a.portal_id = '"+portal_id+"' or a.portal_id = '0') \n"
+ " order by a.portal_id desc \n"
+ ")where rownum<2" ;
}
Connection conn = null;
Statement stmt = null;
ResultSet RSTemp = null;
int iSuccFlag = 0;
try{
conn = DbFunc.getConnection(false);
stmt = conn.createStatement();
RSTemp = stmt.executeQuery( strSQL);
if (RSTemp != null && RSTemp.next()) {
jsp_file = RSTemp.getString("jsp_file" );
}
if(jsp_file==null) jsp_file = "";
jsp_file = jsp_file.trim();
return jsp_file;
}catch(Exception e){
}finally{
try{
if(stmt!=null) stmt.close();
}catch(Exception e){
}
try{
if(RSTemp!=null) RSTemp.close();
}catch(Exception e){
}
if(conn!=null) DbFunc.free(conn,iSuccFlag);
conn = null;
}
return jsp_file;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?