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

📄 unitmanager.java

📁 负责公文的传输及一些处理功能
💻 JAVA
字号:
package com.example.gw.unit;

import com.example.gw.role.Role;
import com.example.gw.users.Users;
import com.example.gw.users.UsersManager;
import com.example.gw.role.IRoleDao;
import com.example.gw.role.IRoleManager;
import com.example.gw.users.IUsersDao;
import com.example.gw.users.IUsersManager;
import com.example.util.*;
import com.example.exception.LogicException;
import com.example.businessmodel.Page;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
import com.example.util.PageUtil;
public class UnitManager implements IUnitManager {

	private IUnitDao unitDao;

	public void setUnitDao(IUnitDao unitDao) {
		this.unitDao = unitDao;
	}

	public IUnitDao getUnitDao() {
		return unitDao;
	}

	private IUsersManager usersManager;

	public void setUsersManager(IUsersManager usersManager) {
		this.usersManager = usersManager;
	}

	public IUsersManager getUsersManager() {
		return usersManager;
	}

	private IRoleManager roleManager;

	public void setRoleManager(IRoleManager roleManager) {
		this.roleManager = roleManager;
	}

	public IRoleManager getRoleManager() {
		return roleManager;
	}

	/**
	 * 保存单位信息
	 * 
	 * @param unit
	 * @return
	 */
	public void saveUnit(Unit unit) throws LogicException {
		if (validateUnit(unit) == 1) {
			int unitId = 0;
			if (unit.getUnitId() != null) {
				unitId = unit.getUnitId().intValue();
			}
			boolean exisit = !(unitId == 0);
			if (unit.getUnitType().equals("0")) {
				Users user = new Users();
				if(unitId==0){
					unitDao.saveOrUpdate(unit);
					user = usersManager.getInitUnitManager(unit);
				}else{
					user = usersManager.getUpdateUnitManager(unit);
				}
				unit.getUserses().add(user);
			}
			if (!exisit && unit.getUnitType().equals("0")) {
				Role role = roleManager.createInitRole();
				role.setUnit(unit);
				unit.getRoles().add(role);
			}
				unitDao.save(unit);
		}
	}

	public int validateUnit(Unit u) throws LogicException {
		int retval = 1;
		String sql = "";
		String sql1 = "";
		int unitId = 0;
		if (u.getUnitId() != null) {
			unitId = u.getUnitId().intValue();
		}
		String unitType = u.getUnitType();
		if (!(unitId == 0))
			sql = "  and unitId<>" + unitId + "";
		if (unitType.equals("1"))
			sql1 = "  and fatherId='" + u.getFatherId() + "'";
		String unitName = StringUtils.getSQLencode(u.getUnitName());
		String where = " from Unit Where unitName='" + unitName + "'" + " and unitType='"+u.getUnitType()+"'" + sql + sql1;
		int intNameResult = unitDao.find(where).size();
		if (intNameResult > 0) {
			retval = 0;
			if (unitType.equals("1")) {
				throw new LogicException("本单位已经存在" + unitName + "这个部门名称!");
			} else {
				throw new LogicException("系统中已经存在" + unitName + "这个单位名称!");
			}
		}
		if (unitType.equals("0")) {
			String unitIdStr = "0";
			if (u.getUnitId() != null) {
				unitIdStr = u.getUnitId().toString();
			}
			String account = u.getManagerAccount();
			where = " from Users Where  account = '" + account + "'  and userId<>"
					+ usersManager.getManagerUserId(unitIdStr) + "";	
			intNameResult = usersManager.findUsers(where).size();
			if (intNameResult > 0) {
				retval = 0;
				throw new LogicException("系统中已经存在" + account + "这个帐号");
			}
		}
		return retval;
	}	
	
	public Page getDepartList(String unitId,int start,int rownum)throws Exception{
        String where = " from Unit where unitType='1' and fatherId="+unitId+" order by unitId";
		return unitDao.loadPage(where,start,rownum);
	}
	
	public String getDepartListXml(String unitId,int start,int rownum)throws Exception{
        String where = " from Unit where unitType='1' and fatherId="+unitId+" order by unitId";
        List propertiesList = new ArrayList();
        propertiesList.add("unitName");
        propertiesList.add("telephone");
        propertiesList.add("unitEmail");
        propertiesList.add("unitId");
        //System.out.println(" manager ====Xml==="+unitDao.loadPageXml(where,start,rownum,propertiesList));
        return unitDao.loadPageXml(where,start,rownum,propertiesList);
	}
	/**
	 * @获得直属单位
	 * @param UnitId(当前单位ID)
	 */
	public Page getUnitList(String unitId,int start,int rownum)throws Exception{
        String where = " from Unit where unitType='0' and fatherId="+unitId+" order by unitId";
		return unitDao.loadPage(where,start,rownum);
	}
	/**
	 * @获得单位信息
	 * @param UnitId(当前单位ID)
	 */
	public Object getUnit(int unitId)throws Exception{
		return unitDao.findById(com.example.gw.unit.Unit.class,new Integer(unitId));
	}	
	/**
	 * @删除单位
	 * @param Unit对象
	 */
	public void delUnit(Unit unit)throws Exception{
		unitDao.delete(unit);
	}
	
	public String delDept(Unit unit)throws Exception{
	    if((usersManager.findUsers(" from Users where deptId ="+unit.getUnitId()).size()>0)){
			return "对不起,该单位已有下属人员,无法删除!";
		}else{
			unitDao.delete(unit);
			return null;
		}
	}

	public void updateUnit(Unit unit)throws Exception{
		unitDao.update(unit);
	}
	
	public Unit findUnit(String unitId)throws Exception{
		return (Unit)unitDao.findById(Unit.class,new Integer(unitId));
	}
	
	public List getLowerUnitList(String unitId){
		return unitDao.find(" from Unit where fatherId = '" + unitId + "' and UnitType='0' order by unitXh");
	}
	
	public List getUpperUnitList(String fatherId){
		return unitDao.find(" from Unit Where unitId in (" + fatherId + ")");
	}
	
	public List getAllUnitList(){
		return unitDao.find(" from Unit where unitType=0 order by unitXh");
	}
	
	public List getGroupUnitList(String unitId,String fatherId,String dwType,String content){
		List list = new ArrayList();
		if(!content.equals("")){
		  list = unitDao.find(" from Unit where unitId in ("+content+")");
		}
		if(dwType.equals("0")){
			return list;
		}else{
		    List unitList = new ArrayList();
	        if(dwType.equals("1")) unitList = getLowerUnitList(unitId);
	        if(dwType.equals("2")) unitList = getUpperUnitList(fatherId);	    	    	
	        if(dwType.equals("3")) unitList = getAllUnitList();
	        List retList = new ArrayList();
	        retList.addAll(list);
	        Iterator iter = unitList.iterator();
	        while(iter.hasNext()){
	        	Unit unit = (Unit)iter.next();
	            Iterator selectedIter = list.iterator();
	            int num = 0;
	            while(selectedIter.hasNext()){
	            	Unit selectedUnit = (Unit)selectedIter.next();
	        	    if(unit.getUnitId().equals(selectedUnit.getUnitId())){
	        	        num = 1;
	        	        break;	
	        	    }
	            }
	            if(num == 0){
	            	retList.add(unit);
	            }
	        }
		    return retList;
		}
	}
	
	public List getUnitList(String unitIds){
		return unitDao.find(" from Unit where unitId in ("+unitIds+")");
	}
	
	public List getOtherUnitList(String unitId){
		return unitDao.find(" from Unit where unitType='0' and unitId<>"+unitId+" order by unitXh");
	}
	
	public String getUnitListXml(String unitIds)throws Exception{
		List list = unitDao.find(" from Unit where unitId in ("+unitIds+")");
		List pList = new ArrayList();
		pList.add("unitId");
		pList.add("unitName");
		return new PageUtil().getListRetXml(list,pList);
	}	
	
	public List getUnitListByWhere(String bywhere)throws Exception{
		String where=" from Unit where unitType='0' ";
		if (!bywhere.equals(""))
		  where=where+bywhere;
        where=where+" order by unitXh";
		List list=unitDao.find(where);
		return list;
	}
	
}

⌨️ 快捷键说明

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