datasourcetypeOperation.jsp 6.42 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %> 
<%@ page buffer="1024kb" autoFlush="true" errorPage="/notice/error.jsp" %>
<%@ page import="weaver.general.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="weaver.file.FileUpload" %>
<%@ page import="java.util.*" %>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="log" class="weaver.systeminfo.SysMaintenanceLog" scope="page"/>

<%
User user = HrmUserVarify.getUser(request, response);

if(user == null)  return;
if(!HrmUserVarify.checkUserRight("intergration:datasourcesetting", user)) {
	  response.sendRedirect("/notice/noright.jsp");
	  return;
}

FileUpload fu = new FileUpload(request);
String isDialog = Util.null2String(fu.getParameter("isdialog"));
String operation = Util.fromScreen(fu.getParameter("operation"),user.getLanguage());
String dbtype = Util.fromScreen(fu.getParameter("dbtype"),user.getLanguage()).trim();

String dbname = Util.fromScreen(fu.getParameter("dbname"),user.getLanguage()).trim();
String driverclass = Util.fromScreen(fu.getParameter("driverclass"),user.getLanguage()).trim();
String driverurl = Util.fromScreen(fu.getParameter("driverurl"),user.getLanguage()).trim();

String cancluster = Util.fromScreen(fu.getParameter("cancluster"),user.getLanguage());
if("".equals(cancluster)) {
	cancluster = "0"; 
}

String sortid = Util.fromScreen(fu.getParameter("sortid"),user.getLanguage());
String realname = Util.null2String(fu.uploadFiles("realname"));
String oldrealname = Util.fromScreen(fu.getParameter("oldrealname"),user.getLanguage());

if("add".equals(operation)) {
	boolean result = true;
	// 校验数据库类型是否已经存在
	RecordSet.executeSql("select 1 from datasource_type where dbtype = '"+dbtype+"' ");
    if(RecordSet.next()) {
    	response.sendRedirect("/integration/dataSourceSetting/datasourcetypeAdd.jsp?isdialog=1&msg=129738");
		return;
	}
	
    result = RecordSet.executeSql("insert into datasource_type(dbtype,dbname,driverclass,driverurl,cancluster,driverlevel,sortid,driverfilename,realname) " + 
			" values('"+dbtype+"','"+dbname+"','"+driverclass+"','"+driverurl+"','"+cancluster+"','"+2+"','"+sortid+"','','"+realname+"')");
	
    if(result) {
		// 操作日志
		String id = "";
		RecordSet.executeSql("select id from datasource_type where dbtype = '"+dbtype+"' ");
		if(RecordSet.next()) {
			id = Util.null2String(RecordSet.getString("id"));
		}
		log.resetParameter();
	    log.setRelatedId(Util.getIntValue(id));
	    log.setRelatedName(dbtype);
	    log.setOperateType("1");
	    log.setOperateDesc("DataSource_Type_Insert");
	    log.setOperateItem("422");
	    log.setOperateUserid(user.getUID());
	    log.setClientAddress(request.getRemoteAddr());
	    log.setSysLogInfo();
    }
}
else if("edit".equals(operation)) {
	boolean result = true;
	
	if("".equals(realname)) {
		realname = oldrealname;
	}
	result = RecordSet.executeSql("update datasource_type set dbname = '"+dbname+"', driverclass = '"+driverclass+"', driverurl = '"+driverurl+
			"', sortid = '"+sortid+"', driverfilename = '', realname = '"+realname+"' where dbtype = '"+dbtype+"' ");
	
	if(result) {
		// 操作日志
		String id = "";
		RecordSet.executeSql("select id from datasource_type where dbtype = '"+dbtype+"' ");
		if(RecordSet.next()) {
			id = Util.null2String(RecordSet.getString("id"));
		}
		log.resetParameter();
	    log.setRelatedId(Util.getIntValue(id));
	    log.setRelatedName(dbtype);
	    log.setOperateType("2");
	    log.setOperateDesc("DataSource_Type_Update");
	    log.setOperateItem("422");
	    log.setOperateUserid(user.getUID());
	    log.setClientAddress(request.getRemoteAddr());
	    log.setSysLogInfo();
	}
}
else if("delete".equals(operation)) {
	List dbtypes = Util.TokenizerString(dbtype, ",");
	if(dbtypes != null && dbtypes.size() > 0) {
		for(int i = 0; i < dbtypes.size(); i++)	{
			boolean result = true;
			String tempdbtype = Util.null2String((String) dbtypes.get(i));
			if(!"".equals(tempdbtype)) {
				// 删除imagefile表中的记录
				RecordSet.executeSql("select id, realname from datasource_type where dbtype = '"+tempdbtype+"' ");
				String id = "";
				String imagefileid = "";
				if(RecordSet.next()) {
					id = Util.null2String(RecordSet.getString("id"));
					imagefileid = Util.null2String(RecordSet.getString("realname"));
				}
				if(!"".equals(imagefileid)) {
					result = RecordSet.executeSql("delete from imagefile where imagefileid = '"+imagefileid+"' ");
				}
				
				result = RecordSet.executeSql("delete from datasource_type where dbtype = '"+tempdbtype+"' ");
				
				if(result) {
					// 操作日志
					log.resetParameter();
				    log.setRelatedId(Util.getIntValue(id));
				    log.setRelatedName(tempdbtype);
				    log.setOperateType("3");
				    log.setOperateDesc("DataSource_Type_Delete");
				    log.setOperateItem("422");
				    log.setOperateUserid(user.getUID());
				    log.setClientAddress(request.getRemoteAddr());
				    log.setSysLogInfo();
				}
			}
		}
	}
}
else if("deleteDriver".equals(operation)) {
	// 删除imagefile表中的记录
	if(!"".equals(oldrealname)) {
		RecordSet.executeSql("delete from imagefile where imagefileid = '"+oldrealname+"' ");
	}
	
	RecordSet.executeSql("update datasource_type set driverfilename = '', realname = '' where dbtype = '"+dbtype+"' ");
%>
	<script language=javascript >
	try {
		var parentWin = parent.parent.getParentWindow(parent);
		parentWin.location.href = "/integration/dataSourceSetting/datasourcetype.jsp";
		window.location.href = "/integration/dataSourceSetting/datasourcetypeEdit.jsp?isdialog=1&dbtype=<%=dbtype %>";
	} catch(e) {
		
	}
	</script>
<%
   	return;
}
else if("downloadDriver".equals(operation)) {
	RecordSet.executeSql("select driverlevel, realname from datasource_type where dbtype = '"+dbtype+"' ");
	String tempdriverlevel = "";
	String temprealname = "";
	if(RecordSet.next()) {
		tempdriverlevel = Util.null2String(RecordSet.getString("driverlevel"));
		temprealname = Util.null2String(RecordSet.getString("realname"));
	}
	
	out.print("{\"driverlevel\":\""+tempdriverlevel+"\",\"realname\":\""+temprealname+"\"}");
	return;
}

if("1".equals(isDialog)) {
%>
	<script language=javascript >
	try {
		var parentWin = parent.parent.getParentWindow(parent);
		parentWin.location.href = "/integration/dataSourceSetting/datasourcetype.jsp";
		var dialog = parent.parent.getDialog(parent);
		dialog.close();
	} catch(e) {
		
	}
	</script>
<%
} else {
	response.sendRedirect("/integration/dataSourceSetting/datasourcetype.jsp");
}
%>