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");
}
}
分享到:
相关推荐
2. "oa040201" - 这个文件名看起来像是项目的一个模块或者版本编号,"oa"再次确认了与OA系统的关联,"040201"可能是日期(2004年2月1日)或者是版本号(0.4.0.2.01)。 综合以上信息,我们可以推断这个压缩包包含的...
绝对能用的通达OA2013版原版+破解版+OA精灵+IM1000用户补丁。 这是从麦枫和富阳上搜集的资料,汇总整合的。 现在好多破解版都不提供原版,以至于根本就不能用。本人经反复测试。这个绝对能用。 经过破解后,通达...
在提供的压缩文件【oa_gl_01】中,可能包含了通达OA系统关于财务管理或会计模块的相关代码或配置文件。这些文件可能涉及到财务报表的生成、预算控制、报销审批等业务流程的自动化处理。通过分析这些代码,可以深入...
在"传智播客OA+工作流实战 01"课程中,我们将深入探讨工作流系统的概念、作用以及如何通过实际操作来构建一个工作流系统。 首先,我们要理解工作流(Workflow)的基本概念。工作流是指在组织内部或跨组织之间,由一...
01 已经进入云网OA系统 2)图书类别不为空 1)点击图书类别后的编辑按钮 2)在图书类别编辑文本框中输入新的图书类别名称 1)弹出图书类别编辑文本框 2)弹出图书类别管理面板 3)图书类别名称已经改变,并和在...
例如,"01人事数据导入脚本.sql"可能包含了导入员工信息的SQL脚本,包括姓名、职位、入职日期等关键字段。"人事数据更新(无部门).sql.sql"可能是用于处理员工部门信息变更的情况,确保数据的实时性和准确性。 2. **...
new { key = "站:", value = "li4-01" }, new { key = "状态:", value = jons } } } }; ``` 这里设置了消息头部的背景色、消息主体中的作者信息以及两行表单数据。 ### 三、发送OA消息 #### 1. 构建消息请求 ...
这个压缩包"oa_01"可能包含了一个初级OA项目的源代码,可能是用某种编程语言(如Java、Python或.NET)编写的。源代码是程序设计的基础,通过阅读和分析这些代码,我们可以了解到OA系统的架构设计、模块划分以及具体...
【课程介绍】:最新Java进阶SpringMVC框架+协同办公系统OA项目教程(23.75G)【课程目录】:-ideaCode.rar-JavaCode.rar-MavenCode.rar-repository.rar---1.Spring框架--课件资料.rar-----day01spring--1....
《CRSC-EP&OA-01OA系统用户基本操作手册》是中国铁路通信信号股份有限公司在2014年12月发布的一份详细指导文档,旨在帮助用户掌握OA(Office Automation)系统的各项基本操作。这份手册对于提高员工在日常工作中的...
资源名称:Java就业班OA项目实战培训视频【12讲】资源目录:【】Java就业班OA项目实战01【】Java就业班OA项目实战02【】Java就业班OA项目实战03【】Java就业班OA项目实战04【】Java就业班OA项目实战05【】Java就业班...
- VL01N:创建发货单 #### 五、输入屏幕 - **订单创建**:标准的发货单创建界面,包括基本的订单信息输入框、商品明细列表等。 #### 六、输出结果要求、输出屏幕 - **输出屏幕**:订单创建成功后的显示界面,...
OA流程,全称为Office Automation,即办公自动化,是一种利用信息技术整合企业内部的办公流程,提高工作效率,优化工作流程的方法。在这个“OA流程家庭作业—图书借阅流程”中,我们看到的是一个具体的企业内部图书...
- `createdateBegin`:设置强制归档的起始日期,如`"2010-01-01"`。 - `createdateEnd`:设置强制归档的结束日期,自行根据需要设定。 - `workflowid`:根据第3步中获取的流程ID,设置需要归档的特定流程ID。例如...
如果链接失效,请与我联系!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
OA(Office Automation)办公自动化系统是一种企业用于提升工作效率、实现工作流程自动化和信息共享的软件。SSH(Spring、Struts、Hibernate)是Java Web开发中常用的一种技术框架,用于构建高效、灵活的企业级应用...
通达OA办公系统是一款高效的企业级协同办公软件,旨在提升企业内部的工作效率和协作能力。本教程主要针对重庆国梁建设(集团)有限公司的员工,提供了详细的系统使用指南,涵盖了一系列核心功能,如密码管理、工作...
通达OA0302升级包,给又需要的朋友下载