⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermanagement.java~3~

📁 java系统通用框架 很实用的东东 一般人都看的懂,
💻 JAVA~3~
📖 第 1 页 / 共 2 页
字号:
package com.corp.bisc.ebiz.member;

import org.apache.log4j.*;
import org.w3c.dom.*;
import com.corp.bisc.ebiz.base.*;
import com.corp.bisc.ebiz.exception.*;
import com.sony.common.*;

import java.sql.*;
import java.util.*;
import java.io.*;
/**
 * 此处插入类型描述。
 * 创建日期:(2002-6-10 16:38:33)
 * @author:pangwei
 */
public class UserManagement extends ObjectBase{

	//操作类型
	public static final int OPERATION_QUERY = 0;
	public static final int OPERATION_ADD = 1;
	public static final int OPERATION_DELETE = 2;
	public static final int OPERATION_EDIT = 3;
	public static final int OPERATION_DETAIL = 4;

	//目前约定的超级管理员用户代码
	public static final int ADMINID=4;

	private static Vector vectUsers = new Vector();
	private static UserManagement handler=null;

	//
	String usrLogin ="";
	String usrName ="";
	String cmpType="";
	String cmpCode="";
	String deptCode="";
	String mailAddress="";
	String keyin="";
	int status=0;

/**
 * UserManagement 构造子注解。
 */
public UserManagement() {
	super();
}
//添加 HQ Channel List
private int addHQChannel(String channelList,Connection conn,String userid) throws Exception{

	int result =-1;

	String sql="";

	System.out.println("-------- channelList="+channelList);

	//插入HQ MANAGER CHANNEL
	//分解字符
	String channel[]=null;
	//channel=GlbUtil.decomposeContent(channelList,'|');

	//如果第1个字符为“|”,则从“|”后面开始分解
	if (channelList.substring(0,1).equals("|"))
		channelList = channelList.substring(1);

	//分解
	channel=GlbUtil.splitContent(channelList,'|');

	int ilenth=channel.length;
	System.out.println("-------- ilenth="+ilenth);

	userid="'"+userid+"'";

	String channelCod="";

	for(int i=0;i<ilenth;i++){

		channelCod=channel[i];

		System.out.println("-------- channelCod="+channelCod);

		channelCod="'"+channelCod+"'";

		sql="insert into S_HQCHANNEL(MANAGERCOD, CHANNELCOD) values("+userid+","+channelCod+")";
		System.out.println("-------- sql="+sql);

		result=operateDB(conn,sql);
  		System.out.println("-------- result="+result);

	}

	return result;

}
//添加市场部用户
private int addMarket(RequestContext context,Connection conn,String userid) throws Exception{

	int result =-1;

	//取得页面参数
    //String categorycod[]=null;

    String categorycod=null;//category组合
    int idlength=0;//category列表长度

	categorycod=(String)context.getParameter("categorycod");
	System.out.println("user managerment addMarket categorycod="+categorycod);

	String cateCode=null;//category代码

	//分解category代码
	categorycod=categorycod.trim();

	//分解记录
    String SEPARATOR = "|";	//记录分隔符号
	Vector v=decomposeString(categorycod,SEPARATOR);

   	//分解字段值
	//****-----取行数 line,字段的数目
	idlength=v.size();
	System.out.println("user managerment addMarket categorycod idlength="+idlength);

	userid="'"+userid+"'";

	for(int i=0;i<idlength;i++){

		//cateCode[i]="CTV";
		//取一个字段
		cateCode= (String) v.elementAt(i);

		cateCode="'"+cateCode+"'";

		String sql="insert into S_MARKETCAT(MARKETCOD,CATEGORYCOD)values("+userid+","+cateCode+")";

		result=operateDB(conn,sql);

	}

	return result;

}
//添加销售部用户的属性
private int addSales(RequestContext context,Connection conn,String userid) throws Exception{

	//addSalesUser-sales table

	int result =-1;

	//取得页面参数
    //String userid ="00123480";
	String s_level="1";
	int level=0;
	String subdeptcod="S001";

    s_level=(String)context.getParameter("level");
    subdeptcod=(String)context.getParameter("subdeptCode");

    //Channel 列表
	String channelList="";
	if(subdeptcod!=null)
		channelList=subdeptcod.trim();

	if(s_level!=null){
		level=Integer.parseInt(s_level);

	}


	String HQuserid="";
	//level=5,是HQ Manager,部门是HQ
	if(level==5){
		subdeptcod="HQ";
		HQuserid=userid;
	}

	userid="'"+userid+"'";
	subdeptcod="'"+subdeptcod+"'";

	String sql="insert into S_SALES(SALESID,LEVEL,SUBDEPTCOD)values("+userid+","+level+","+subdeptcod+")";


	result=operateDB(conn,sql);

	switch(level){

		case 5:
			addHQChannel(channelList,conn,HQuserid);

		break;

	}

	return result;

}
//添加用户
public int addUser(RequestContext context,Connection conn,int userType) throws Exception{

	int addresult = 0;//添加结果

	String userid="";

	//从页面取得用户代码 userid
	userid=(String)context.getParameter("userid");
	System.out.println("user managerment addUser userid="+userid);

	//添加用户基本信息
	addUserBaseInfo(context,conn,userid);

	//添加用户权限
	addUserRight(context,conn,userid);

	//区分用户类型:0-市场部用户;1-销售部用户
	switch(userType){

		case 0://市场部用户
			//添加市场部用户的属性
			addMarket(context,conn,userid);
		break;


		case 1://销售部用户
			//添加销售部用户的属性
			addSales(context,conn,userid);
		break;
	}


	return addresult;
}
//添加用户基本信息
private int addUserBaseInfo(RequestContext context,Connection conn,String userid) throws Exception{

	int result =-1;

	//定义参数
	String password="";
    String confirm_password="";
	String name = "";
	String cmpType="";
	String cmpCode="";
	String deptCode="";
	String mailAddress="";
	String keyin="Y";

	String s_status="";
	int status=1;

	//取得页面参数
	//userid = (String)context.getParameter("userid");

    password=(String)context.getParameter("password");
    confirm_password=(String)context.getParameter("confirm_password");

	name = (String)context.getParameter("name");

	cmpType=(String)context.getParameter("cmpType");
	cmpCode=(String)context.getParameter("cmpCode");
	deptCode=(String)context.getParameter("deptCode");
	mailAddress=(String)context.getParameter("mailAddress");
	keyin=(String)context.getParameter("keyin");

	//判断密码和确认密码是否相等
	if(!password.equals(confirm_password)){
		//exception
	}

	s_status=(String)context.getParameter("status");
	status=Integer.parseInt(s_status);

	//
	userid="'"+userid+"'";
	password="'"+password+"'";
	name="'"+name+"'";
	cmpType="'"+cmpType+"'";
	cmpCode="'"+deptCode+"'";
	deptCode="'"+deptCode+"'";
	mailAddress="'"+mailAddress+"'";
	keyin="'"+keyin+"'";

	String sql="insert into s_user(USERID,PASSWORD,NAME,CMPTYPE,CMPCODE,DEPTCODE,MAILADDRESS,KEYIN,STATUS)values("
				+userid+","+password+","+name+","+cmpType+","+cmpCode+","+deptCode+","+mailAddress+","+keyin+","+status+")";

	//添加
	result=operateDB(conn,sql);

	return result;

}
//添加用户权限
private int addUserRight(RequestContext context,Connection conn,String userid) throws Exception{

	System.out.println("************* user managerment -addUserRight- ");

	int result =-1;

	String unitRight[]=null;//---权限单元列表------
	String grpRight[]=null;//---权限组列表---

	//取得页面参数

	//---取权限单元列表------

 	unitRight=(String[])context.getParameterValues("unitRight");

 	//---取权限组列表---

 	grpRight=(String[])context.getParameterValues("grpRight");

 	int idlength=0;//列表长度
 	int funcid=0;//权限代码

 	userid="'"+userid+"'";

 	//add unit right
 	if(unitRight!=null){

 		idlength=unitRight.length;

 		System.out.println("************* user managerment -adddUserRight- unitRight length="+idlength);

	 	funcid=0;
 		for(int i=0;i<idlength;i++){

			System.out.println("************* user managerment -addUserRight- unitRight[i]="+unitRight[i]);
			funcid=Integer.parseInt(unitRight[i]);
			System.out.println("************* user managerment -addUserRight- unit funcid="+funcid);

			String sql="insert into S_USERPRINCIPAL(USERID,FUNCID)values("+userid+","+funcid+")";

			result=operateDB(conn,sql);
		}
 	}

	//add grp right
	if(grpRight!=null){

		idlength=grpRight.length;

		System.out.println("************* user managerment -addUserRight- grpRight length="+idlength);

		for(int i=0;i<idlength;i++){

			System.out.println("************* user managerment -addUserRight- grpRight[i]="+grpRight[i]);
			funcid=Integer.parseInt(grpRight[i]);
			System.out.println("************* user managerment -addUserRight- group funcid="+funcid);

			String sql="insert into S_USERPRINCIPAL(USERID,FUNCID)values("+userid+","+funcid+")";

			result=operateDB(conn,sql);
		}
	}


	return result;
}
//
public Vector decomposeString(String content,String SEPARATOR)
      throws java.lang.Exception {

	//String SEPARATOR = "|";	//记录分隔符号
	//String STR_SEPARATOR = ",";	//字段分隔符号
  	//String EQUALS = "=";	 	//字段和值分隔符号

  	System.out.println("user managerment decomposeString begin");
	System.out.println("user managerment decomposeString content="+content);
	System.out.println("user managerment decomposeString SEPARATOR="+SEPARATOR);

    //分解记录
	Vector v = new Vector();
    int startPos = 0;	//取子字符串的开始位置 0
	int separatorPos = content.indexOf(SEPARATOR, startPos); //取第1个分隔符号的位置
	System.out.println("user managerment decomposeString separatorPos="+separatorPos);


	while (separatorPos >= 0 && separatorPos < content.length()) {

	  //如果当前字符=分隔符号,则移到下一字符;
      if (SEPARATOR.equals(String.valueOf(content.charAt(separatorPos + 1)))) {
	      System.out.println("user managerment decomposeString separatorPos begin");
        separatorPos = content.indexOf(SEPARATOR, separatorPos + 2);
        System.out.println("user managerment decomposeString separatorPos="+separatorPos);
      }

	  else {
		//取子字符串
        v.addElement(content.substring(startPos, separatorPos));

		//移到下一字符
        startPos = separatorPos + 1;
        //取下1个分隔符号的位置
		separatorPos = content.indexOf(SEPARATOR, startPos);
      }
    }
	//取最后1个子字符串
    v.addElement(content.substring(startPos, content.length()));

    return v;

  }
private int delHQChannel(String userid,Connection conn) throws Exception{

	int result =-1;

	userid="'"+userid+"'";

	String sql="delete from S_HQCHANNEL where MANAGERCOD="+userid;

	result=operateDB(conn,sql);

	return result;
}
private int delMarket(String userid,Connection conn) throws Exception{

	int result =-1;

	userid="'"+userid+"'";

	String sql="delete from S_MARKETCAT where MARKETCOD="+userid;

	result=operateDB(conn,sql);

	return result;

}
private int delSales(String userid,Connection conn) throws Exception{

	int result =-1;

	userid="'"+userid+"'";

	String sql="delete from S_SALES where SALESID="+userid;

	result=operateDB(conn,sql);

	return result;
}
//
//delete user
public String delUser(Connection conn,int userType,String userid) throws Exception{

	String addresult = "";
	delUserBaseInfo(userid,conn);
	delUserRight(userid,conn);

	switch(userType){

		case 0:
			delMarket(userid,conn);
		break;
		case 1:
			delSales(userid,conn);
		break;
	}

	return addresult;
}
private int delUserBaseInfo(String userid,Connection conn) throws Exception{

	int result =-1;

	userid="'"+userid+"'";

	String sql="delete from s_user where USERID="+userid;

	result=operateDB(conn,sql);

	return result;
}
private int delUserRight(String userid,Connection conn) throws Exception{

	int result =-1;

	userid="'"+userid+"'";

	String sql="delete from S_USERPRINCIPAL where USERID="+userid;

	result=operateDB(conn,sql);

	return result;
}
/**
 * 判断用户名是否已经存在
 * 创建日期:(2002-8-10 14:33:18)
 * @return boolean
 * @param usrName java.lang.String
 *
 */
//蔡楚煌修改
public static boolean existName(String e_usrid, Connection conn) throws SQLException {

    Statement stmt = null;
    try {
        stmt = conn.createStatement();
        String eSql = "select USERID from s_user where USERID='" + e_usrid+"'";
        ResultSet rs = stmt.executeQuery(eSql);
        if (rs.next()) {
            stmt.close();
            return true;
        }
        stmt.close();
        return false;

    } catch (SQLException e) {

	    e.printStackTrace(System.out);

	    throw e;
        //return true;

   }
}
/**
 * 从页面取得用户信息,并增加或者修改到数据库
 * 创建日期:(2002-7-18 9:50:15)
 * 本方法仅为管理员修改用户和增加用户时调用
 * @param context RequestContext
 * @param dotype int
 * @autor Roy_caich
 */
 //蔡楚煌,0811
public void fromRequestContext(RequestContext context,int dotype,Connection conn) throws Exception{

	try{

	//取得页面参数
    usrLogin = (String)context.getParameter("loginid");
	usrName = (String)context.getParameter("name");

	cmpType=(String)context.getParameter("cmpType");
	cmpCode=(String)context.getParameter("cmpCode");
	deptCode=(String)context.getParameter("deptCode");
	mailAddress=(String)context.getParameter("mailAddress");

	keyin=(String)context.getParameter("keyin");


	String s_status=(String)context.getParameter("status");
	status=Integer.parseInt(s_status);
	//数据检查
	if(usrLogin.length()>32)
     	throw new InvalidParameterException("LoginID too long");


	}catch(Exception usre){
		ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
		usre.printStackTrace(new PrintStream(out));
		//log.error(out.toString());
		throw usre;
	}
}
/**
 * 取得操作类型。
 * 创建日期:(2002-7-15 16:33:34)
 * @return int
 * @param operation java.lang.String
 */
public static int getOperationType(String operation) throws Exception  {

	int operationtype = 0;

	if(operation.equalsIgnoreCase("query"))
		operationtype = UserManagement.OPERATION_QUERY;
	else if(operation.equalsIgnoreCase("add"))
		operationtype = UserManagement.OPERATION_ADD;
	else if(operation.equalsIgnoreCase("delete"))
		operationtype = UserManagement.OPERATION_DELETE;
	else if(operation.equalsIgnoreCase("update"))
		operationtype = UserManagement.OPERATION_EDIT;
	else if(operation.equalsIgnoreCase("detail"))
		operationtype = UserManagement.OPERATION_DETAIL;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -