syscall.java~2~

来自「采用web2.0技术,采用动态标签,sql语句全部存储在数据库里面.开发速度快.」· JAVA~2~ 代码 · 共 166 行

JAVA~2~
166
字号
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){
		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;
		//IBusiService iService =null;
		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 = (IBusiService)Class.forName(class_name).newInstance();
			}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 + -
显示快捷键?