📄 unitmanager.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 + -