`
xxp3369
  • 浏览: 151247 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oa_01+

阅读更多
package com.bjsxt.oa.manager.impl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.bjsxt.oa.manager.OrgManager;
import com.bjsxt.oa.model.Organization;

public class OrgManagerImpl extends HibernateDaoSupport implements OrgManager {
	
	public void addOrg(Organization org, int parentId) {
		if(parentId != 0){
			org.setParent(findOrg(parentId));
		}
		getHibernateTemplate().save(org);
		
		//自动生成机构编号
		org.setSn(
			(org.getParent() == null ? "" : org.getParent().getSn() + "_")
			+ org.getId()
		);
		
		getHibernateTemplate().update(org);
	}

	public void delOrg(int orgId) {
		Organization org = findOrg(orgId);
		
		//判断子机构列表是否为空
		if(org.getChildren().size() > 0){
			throw new RuntimeException("存在子机构信息,不允许删除");
		}
		
		//判断人员是否非空
		String hql = "select count(*) from Person p where p.org.id = ?";
		Long personSize = (Long)getSession().createQuery(hql).setParameter(0, orgId).uniqueResult();
		if(personSize > 0){
			throw new RuntimeException("机构下面有人员信息,不允许删除");
		}
		
		getHibernateTemplate().delete(org);
	}

	public Organization findOrg(int orgId) {
		return (Organization)getHibernateTemplate().load(Organization.class, orgId);
	}

	public List searchOrgs(int parentId) {
		
		if(parentId == 0){
			return getHibernateTemplate().find("select o from Organization o where o.parent is null");
		}
		
		String hql = "select o from Organization o where o.parent.id = ?";
		
		return getHibernateTemplate().find(hql, parentId);
	}

	public void updateOrg(Organization org, int parentId) {
		if(parentId != 0){
			org.setParent(findOrg(parentId));
		}
		getHibernateTemplate().update(org);
		
	}

}



package com.bjsxt.oa.manager;

import java.util.Iterator;
import java.util.List;

import junit.framework.TestCase;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.bjsxt.oa.model.Organization;

public class OrgManagerTest extends TestCase {

	private static BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");
	
	public void testAddOrg() {
		OrgManager om = (OrgManager)factory.getBean("orgManager");
		
//		Organization org = new Organization();
//		org.setName("测试机构");
//		org.setDescription("描述");
//		om.addOrg(org, 0);
		
		for(int i=0; i<5; i++){
			Organization org = new Organization();
			org.setName("父机构"+i);
			om.addOrg(org, 0);
			
			for(int j=0; j<10; j++){
				Organization c = new Organization();
				c.setName("["+org.getName()+"]下面的子机构"+j);
				om.addOrg(c, org.getId());
			}
		}
		
		
	}

	public void testDelOrg() {
		fail("Not yet implemented");
	}

	public void testUpdateOrg() {
		fail("Not yet implemented");
	}

	public void testFindOrg() {
		OrgManager om = (OrgManager)factory.getBean("orgManager");
		
		Organization org = om.findOrg(5);
		
		System.out.println(org.getName());
		
	}

	public void testSearchOrgs() {
		OrgManager om = (OrgManager)factory.getBean("orgManager");
		
		List orgs = om.searchOrgs(0);
		for (Iterator iterator = orgs.iterator(); iterator.hasNext();) {
			Organization org = (Organization) iterator.next();
			System.out.println(org.getName());
		}
		
	}

}



package com.bjsxt.oa.manager;

import junit.framework.TestCase;

public class JUnitTest extends TestCase {

	@Override
	protected void setUp() throws Exception {
		System.out.println("做一些前提条件的设置");
	}

	@Override
	protected void tearDown() throws Exception {
		System.out.println("释放一些资源");
	}
	
	public void testSomething(){
		System.out.println("执行测试单元testSomething");
	}
	
	public void testSomething2(){
		System.out.println("执行测试单元testSomething2");
	}

}
分享到:
评论

相关推荐

    OA.rar_java oa_oa_oa.r

    2. "oa040201" - 这个文件名看起来像是项目的一个模块或者版本编号,"oa"再次确认了与OA系统的关联,"040201"可能是日期(2004年2月1日)或者是版本号(0.4.0.2.01)。 综合以上信息,我们可以推断这个压缩包包含的...

    通达2013原版+破解版+OA精灵+IM1000用户补丁01

    绝对能用的通达OA2013版原版+破解版+OA精灵+IM1000用户补丁。 这是从麦枫和富阳上搜集的资料,汇总整合的。 现在好多破解版都不提供原版,以至于根本就不能用。本人经反复测试。这个绝对能用。 经过破解后,通达...

    oa系统代码1

    在提供的压缩文件【oa_gl_01】中,可能包含了通达OA系统关于财务管理或会计模块的相关代码或配置文件。这些文件可能涉及到财务报表的生成、预算控制、报销审批等业务流程的自动化处理。通过分析这些代码,可以深入...

    传智播客OA+工作流实战 01

    在"传智播客OA+工作流实战 01"课程中,我们将深入探讨工作流系统的概念、作用以及如何通过实际操作来构建一个工作流系统。 首先,我们要理解工作流(Workflow)的基本概念。工作流是指在组织内部或跨组织之间,由一...

    oa系统测试用例.pdf

    01 已经进入云网OA系统 2)图书类别不为空 1)点击图书类别后的编辑按钮 2)在图书类别编辑文本框中输入新的图书类别名称 1)弹出图书类别编辑文本框 2)弹出图书类别管理面板 3)图书类别名称已经改变,并和在...

    OA系统常用SQL语句

    例如,"01人事数据导入脚本.sql"可能包含了导入员工信息的SQL脚本,包括姓名、职位、入职日期等关键字段。"人事数据更新(无部门).sql.sql"可能是用于处理员工部门信息变更的情况,确保数据的实时性和准确性。 2. **...

    钉钉推送消息 oa消息类型.txt

    new { key = "站:", value = "li4-01" }, new { key = "状态:", value = jons } } } }; ``` 这里设置了消息头部的背景色、消息主体中的作者信息以及两行表单数据。 ### 三、发送OA消息 #### 1. 构建消息请求 ...

    关于OA的资源,大家看看有帮助吗。希望有

    这个压缩包"oa_01"可能包含了一个初级OA项目的源代码,可能是用某种编程语言(如Java、Python或.NET)编写的。源代码是程序设计的基础,通过阅读和分析这些代码,我们可以了解到OA系统的架构设计、模块划分以及具体...

    最新Java进阶SpringMVC框架+协同办公系统OA项目教程(23.75G)

    【课程介绍】:最新Java进阶SpringMVC框架+协同办公系统OA项目教程(23.75G)【课程目录】:-ideaCode.rar-JavaCode.rar-MavenCode.rar-repository.rar---1.Spring框架--课件资料.rar-----day01spring--1....

    CRSC-EP&OA-01OA系统用户基本操作手册.doc

    《CRSC-EP&OA-01OA系统用户基本操作手册》是中国铁路通信信号股份有限公司在2014年12月发布的一份详细指导文档,旨在帮助用户掌握OA(Office Automation)系统的各项基本操作。这份手册对于提高员工在日常工作中的...

    Java就业班OA项目实战培训视频【12讲】

    资源名称:Java就业班OA项目实战培训视频【12讲】资源目录:【】Java就业班OA项目实战01【】Java就业班OA项目实战02【】Java就业班OA项目实战03【】Java就业班OA项目实战04【】Java就业班OA项目实战05【】Java就业班...

    DBP-SD-HX_功能说明书_创建发货单增强与OA接口_XXXX0121 V0[1]1.docx

    - VL01N:创建发货单 #### 五、输入屏幕 - **订单创建**:标准的发货单创建界面,包括基本的订单信息输入框、商品明细列表等。 #### 六、输出结果要求、输出屏幕 - **输出屏幕**:订单创建成功后的显示界面,...

    OA流程家庭作业—图书借阅流程(国际知名OA商绝密)

    OA流程,全称为Office Automation,即办公自动化,是一种利用信息技术整合企业内部的办公流程,提高工作效率,优化工作流程的方法。在这个“OA流程家庭作业—图书借阅流程”中,我们看到的是一个具体的企业内部图书...

    泛微OA流程如何强制归档

    - `createdateBegin`:设置强制归档的起始日期,如`"2010-01-01"`。 - `createdateEnd`:设置强制归档的结束日期,自行根据需要设定。 - `workflowid`:根据第3步中获取的流程ID,设置需要归档的特定流程ID。例如...

    OA办公自动化系统01

    如果链接失效,请与我联系!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    oa办公系统源码 ssh

    OA(Office Automation)办公自动化系统是一种企业用于提升工作效率、实现工作流程自动化和信息共享的软件。SSH(Spring、Struts、Hibernate)是Java Web开发中常用的一种技术框架,用于构建高效、灵活的企业级应用...

    通达OA办公系统使用教程01(PPT44页).pptx

    通达OA办公系统是一款高效的企业级协同办公软件,旨在提升企业内部的工作效率和协作能力。本教程主要针对重庆国梁建设(集团)有限公司的员工,提供了详细的系统使用指南,涵盖了一系列核心功能,如密码管理、工作...

    通达OA0302升级包

    通达OA0302升级包,给又需要的朋友下载

Global site tag (gtag.js) - Google Analytics