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

📄 userproxy.java

📁 实现统一的人员日志管理系统管理后台
💻 JAVA
字号:
package com.tb.log.model.proxy;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.tb.log.factory.OracleDAOFactory;
import com.tb.log.model.bo.vo.user.EditInfoVo;
import com.tb.log.model.bo.vo.user.LoginVo;
import com.tb.log.model.bo.vo.user.ShowUserVo;
import com.tb.log.model.bo.vo.user.UserVo;
import com.tb.log.model.dao.DAOFactory;
import com.tb.log.model.dao.idao.IDeptDAO;
import com.tb.log.model.dao.idao.IProDAO;
import com.tb.log.model.dao.idao.IRoleDAO;
import com.tb.log.model.dao.idao.IUserDAO;
import com.tb.log.model.po.Dept;
import com.tb.log.model.po.User;
import com.tb.log.system.SystemException;
import com.tb.log.util.pages.PageBean;
import com.tb.log.util.tools.GetUserInfoSql;
import com.tb.log.util.tools.ToolKit;

public class UserProxy extends Proxy{

	@Override
	public boolean add(Object obj){
		return true;
	}
	
	
	public UserVo save(UserVo userVo) {
		//UserVo userVo = (UserVo)obj;
		UserVo uv = null;
		IUserDAO iuser = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getUserDAO();
		IRoleDAO iRole = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getRoleDAO();
		User user1 =  new User(userVo.getUser_id(),userVo.getUser_name(), userVo.getStu_id() ,userVo.getSex(), 
				userVo.getBirthday(), userVo.getTelephone() ,userVo.getAddress() , userVo.getEmail() ,
				userVo.getQq(),userVo.getMsn(), userVo.getDeptid() ,userVo.getGrade() ,
				userVo.getLoginname() ,userVo.getPsw() ,userVo.getQuestion(),userVo.getGrade() , 
				userVo.getStartdate(), userVo.getIntodate(),userVo.getRegdate(), userVo.getUser_state());
		Connection conn = OracleDAOFactory.getConnection();
		try {
			try {
				conn.setAutoCommit(false);
				iuser.save(user1);
				User user = iuser.findByNamePsw(userVo.getLoginname(), userVo.getPsw());
				uv = new UserVo(user.getUser_id(),user.getUser_name(), user.getStu_id() ,user.getSex(), 
						user.getBirthday(), user.getTelephone() ,user.getAddress() , user.getEmail() ,
						user.getQq(),user.getMsn(), user.getDeptid() ,user.getGrade() ,
						user.getLoginname() ,user.getPsw() ,user.getQuestion(),user.getGrade() , 
						user.getStartdate(), user.getIntodate(),user.getRegdate(), user.getUser_state());
				//赋初值组员角色
				iRole.addUserRoleByRoleList(userVo.getUser_id(), new ToolKit().StringToArray("4"));
				
				conn.commit();
				conn.setAutoCommit(true);
			} catch (SQLException e) {
				try {
					conn.rollback();
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
				e.printStackTrace();
			}
		} catch (SystemException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return uv;
	}
	
	@Override
	public Object get(int id) {
		DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.ORACLE);
		IUserDAO iUserDAO = daoFactory.getUserDAO();
		IRoleDAO iRoleDAO = daoFactory.getRoleDAO();
		UserVo userVo = null;
		try {
			User user = (User)iUserDAO.findById(Integer.toString(id));
			if(user != null){
				userVo = new UserVo(user.getUser_id(),user.getUser_name(), user.getStu_id() ,user.getSex(), 
						user.getBirthday(), user.getTelephone() ,user.getAddress() , user.getEmail() ,
						user.getQq(),user.getMsn(), user.getDeptid() ,user.getGrade() ,
						user.getLoginname() ,user.getPsw() ,user.getQuestion(),user.getGrade() , 
						user.getStartdate(), user.getIntodate(),user.getRegdate(), user.getUser_state());
			}
		//	String id = Integer.toString(userVo.getUser_id());
			//userVo.setRoles((Set)iRoleDAO.findById(id));
		} catch (SystemException e) {
			System.err.println(e);
		}
		return userVo;
	}

	@Override
	public Object load(int id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean modify(Object obj) {
		boolean b = false;
		UserVo userVo = (UserVo)obj;
		
		UserVo uv = null;
		IUserDAO iuser = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getUserDAO();
		
		User user1 =  new User(userVo.getUser_id(),userVo.getUser_name(), userVo.getStu_id() ,userVo.getSex(), 
				userVo.getBirthday(), userVo.getTelephone() ,userVo.getAddress() , userVo.getEmail() ,
				userVo.getQq(),userVo.getMsn(), userVo.getDeptid() ,userVo.getGrade() ,
				userVo.getLoginname() ,userVo.getPsw() ,userVo.getQuestion(),userVo.getGrade() , 
				userVo.getStartdate(), userVo.getIntodate(),userVo.getRegdate(), userVo.getUser_state());
		
		Connection conn = OracleDAOFactory.getConnection();
		try {
			try {
				conn.setAutoCommit(false);
				iuser.update(user1);
				
				conn.commit();
				conn.setAutoCommit(true);
				b = true;
			} catch (SQLException e) {
				try {
					conn.rollback();
				} catch (SQLException e1) {
					e1.printStackTrace();
				}
				e.printStackTrace();
			}
		} catch (SystemException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return b;
	}

	@Override
	public boolean remove(Object obj) {
		// TODO Auto-generated method stub
		return false;
	}
	
	public Map findByNamePsw(LoginVo loginVo) throws SystemException{
		Map map = new HashMap();
		List roleList = new ArrayList();
		DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.ORACLE);
		IUserDAO iUserDAO = daoFactory.getUserDAO();
		IRoleDAO iRoleDAO = daoFactory.getRoleDAO();
		
		UserVo userVo = null;
		try {
			User user = iUserDAO.findByNamePsw(loginVo.getLoginname(), loginVo.getPsw());
			if(user != null){
				userVo = new UserVo(user.getUser_id(),user.getUser_name(), user.getStu_id() ,user.getSex(), 
						user.getBirthday(), user.getTelephone() ,user.getAddress() , user.getEmail() ,
						user.getQq(),user.getMsn(), user.getDeptid() ,user.getGrade() ,
						user.getLoginname() ,user.getPsw() ,user.getQuestion(),user.getGrade() , 
						user.getStartdate(), user.getIntodate(),user.getRegdate(), user.getUser_state());
				roleList = iRoleDAO.findById("roleid", "userid", user.getUser_id());
			}
			map.put(1, userVo);
			map.put(2, roleList);
		//	String id = Integer.toString(userVo.getUser_id());
			//userVo.setRoles((Set)iRoleDAO.findById(id));
		} catch (SystemException e) {
			String err = "用户名或密码错误!";
			throw new SystemException(err);
		}
		return map;
	}

	
	public Map showUserInfo(ShowUserVo showUserVo){
		Map map = new HashMap();
		DAOFactory daoFactory = DAOFactory.getDAOFactory(DAOFactory.ORACLE);
		IUserDAO iUserDAO = daoFactory.getUserDAO();
		IDeptDAO iDeptDAO = daoFactory.getDeptDAO();
		IProDAO iProDAO = daoFactory.getProDAO();
		//IDeptDAO idept = daoFactory.getDeptDAO();
		try {
			User user = iUserDAO.findById(Integer.toString(showUserVo.getUser_id()));
			String deptid = user.getDeptid();
			String supper_id ="11";
			if(user.getGrade().equals("班长")){
				supper_id = iDeptDAO.findById(deptid).getSupper_id();				
			}else if(user.getGrade().equals("组长")){
				supper_id = deptid;
			}
			List deptlist = null;
			if(user.getGrade().equals("管理员")){
				deptlist = iDeptDAO.findIdByGrade("3");
			}else{
				deptlist = iDeptDAO.findSubidById(Integer.parseInt(supper_id));
			}
			//权限集合组串
			String str = ToolKit.ListToString(deptlist);
				
			String pageSql = new GetUserInfoSql().getPageSql(showUserVo.getSupper_id(),showUserVo.getDept_name(),showUserVo.getPro_name(),showUserVo.getGrade(),showUserVo.getUser_name(),str);
			String countSql = new GetUserInfoSql().getCountSql(showUserVo.getSupper_id(),showUserVo.getDept_name(),showUserVo.getPro_name(),showUserVo.getGrade(),showUserVo.getUser_name(),str);
			System.out.println(pageSql);
			
			List userInfoList= iUserDAO.findUserInfoList(showUserVo.getCurrentPage(),pageSql);
			PageBean page = iUserDAO.getTotalResults(countSql);
			List sdeptName = iDeptDAO.findByGrade("2"); 
			List deptName = iDeptDAO.findByGrade("3"); 
			List deptList = iDeptDAO.findAll();
			List proList = iProDAO.findProName();
			map.put(1, userInfoList);
			map.put(2, page);
			map.put(3, sdeptName);
			map.put(4, deptName);
			map.put(5, deptList);
			map.put(6, proList);
		} catch (SystemException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return map;
	}
	
	public Map getUserInfo(UserVo userVo){
		Map map = new HashMap();
		IUserDAO iuser = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getUserDAO();
		IDeptDAO idept = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getDeptDAO();
		IProDAO ipro = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getProDAO();
		try {
			User user = iuser.findById(Integer.toString(userVo.getUser_id()));
			Dept dept = idept.findById(userVo.getDeptid());
			List proidList = ipro.findById("pro_id", "user_id", userVo.getUser_id());
			List proList = ipro.findById(proidList);
			List deptNameList = idept.findByGrade("2");
			map.put(1, user);
			map.put(2, dept);
			map.put(3, proList);
			map.put(4, deptNameList);
		} catch (SystemException e) {
			e.printStackTrace();
		}
		return map;
	}
	
	public Map getProList(int user_id){
		Map map = new HashMap();
		IProDAO ipro = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getProDAO();
		try {
		//	List proidList= ipro.findById("pro_id", "user_id", user_id);
		//	List proList = ipro.findById(proidList);
			List proList = ipro.findProName();
			map.put(1, proList);
		} catch (SystemException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return map;
	}
	
	
	public void editUserInfo(EditInfoVo editInfoVo){
		String str = "";
		
		if(editInfoVo.getGrade().equals("班长")){
			str = "2";
		}else if(editInfoVo.getGrade().equals("组长")){
			str = "3";
		}else{
			str = "4";
		}
		IUserDAO iuser = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getUserDAO();
		IProDAO ipro = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getProDAO();
		IRoleDAO iRole = DAOFactory.getDAOFactory(DAOFactory.ORACLE).getRoleDAO();
		Connection conn = OracleDAOFactory.getConnection();
		try {
			try {
				conn.setAutoCommit(false);
				User user = iuser.findById(Integer.toString(editInfoVo.getUser_id()));
				user.setGrade(editInfoVo.getGrade());
				user.setDeptid(editInfoVo.getDept_id());
				iuser.editUserInfo(user);
				ipro.addUserProByProList(editInfoVo.getUser_id(), ToolKit.StringToArray(editInfoVo.getProsid()));
				iRole.addUserRoleByRoleList(editInfoVo.getUser_id(), new ToolKit().StringToArray(str));
				conn.commit();
				conn.setAutoCommit(true);
			
			} catch (SQLException e) {
				try {
					conn.rollback();
				} catch (SQLException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				e.printStackTrace();
			}
			
		} catch (SystemException e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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