OrgManagerImpl.java
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:2k
源码类别:

OA系统

开发平台:

Java

  1. package com.bjsxt.oa.managers.impl;
  2. import com.bjsxt.oa.PagerModel;
  3. import com.bjsxt.oa.managers.OrgManager;
  4. import com.bjsxt.oa.managers.SystemException;
  5. import com.bjsxt.oa.model.Organization;
  6. public class OrgManagerImpl extends AbstractManager implements OrgManager {
  7. public void addOrg(Organization org, int parentId) {
  8. if(parentId != 0){
  9. org.setParent(
  10. (Organization)getHibernateTemplate()
  11. .load(Organization.class, parentId)
  12. );
  13. }
  14. getHibernateTemplate().save(org);
  15. org.setSn(
  16. org.getParent() == null ? 
  17. (""+org.getId()) : 
  18. (org.getParent().getSn()+"_"+org.getId())
  19. );
  20. getHibernateTemplate().update(org);
  21. }
  22. public void delOrg(int orgId) {
  23. Organization org = (Organization)getHibernateTemplate().load(Organization.class, orgId);
  24. //先判断是否存在子机构,如果存在子机构,则不允许删除
  25. if(org.getChildren().size() > 0){
  26. throw new SystemException("存在子机构,不允许删除","exception.org.del",org.getId());
  27. }
  28. getHibernateTemplate().delete(
  29. org
  30. );
  31. }
  32. public Organization findOrg(int orgId) {
  33. return (Organization)getHibernateTemplate().load(Organization.class, orgId);
  34. }
  35. public PagerModel findOrgs(int parentId) {
  36. //如果parentId=0,则查找顶级机构列表
  37. if(parentId == 0){
  38. return searchPaginated("from Organization o where o.parent is null");
  39. }
  40. return searchPaginated("from Organization o where o.parent.id = ?", parentId);
  41. public void updateOrg(Organization org, int parentId) {
  42. if(parentId != 0){
  43. org.setParent(
  44. (Organization)getHibernateTemplate()
  45. .load(Organization.class, parentId)
  46. );
  47. }
  48. getHibernateTemplate().update(org);
  49. }
  50. }