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

📄 organizationserviceimp.java

📁 一个自娱自乐的demo 开发环境 apache-tomcat-6.0.16 Mysql 5.1.11 Jdk 1.6 文件结构如下 --MyGame -----MyGam
💻 JAVA
字号:
package com.hb.base.services.organization.imp;

import java.util.List;
import java.util.Set;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import com.hb.base.dao.organization.DepartmentDao;
import com.hb.base.dao.organization.JobDao;
import com.hb.base.dao.organization.JobInfoDao;
import com.hb.base.domain.organization.Department;
import com.hb.base.domain.organization.JobInfo;
import com.hb.base.services.organization.IOrganizationService;
import com.hb.base.services.organization.imp.queryCommand.EmployeeQueryCommand;

import com.hb.base.view.common.ResultsSize;
import com.hb.base.view.domain.RichFacesTreeNodeBean;
import com.hb.core.query.IQueryCommand;
import com.hb.core.query.queryImp.hibernate3.NativeSQLQueryDaoImp;
import com.hb.core.util.DateUtil;

/**
 * 2008/01/22
 * 
 * @author 何 貝
 * 
 */
@Component("organizationService")
@Scope("prototype")
public class OrganizationServiceImp implements IOrganizationService {
	/** 部门信息DAO */
	private DepartmentDao departmentDao = null;
	/** 部门任职信息DAO */
	private JobDao jobDao = null;
	/** 部门职位信息DAO */
	private JobInfoDao jobInfoDao = null;
	/** NativeSQL动态查询DAO */
	private NativeSQLQueryDaoImp nativeSQLQueryDao;

	// ---------------------------------------------------------------------------
	// Get Set方法
	// ---------------------------------------------------------------------------
	public DepartmentDao getDepartmentDao() {
		return departmentDao;
	}

	public void setDepartmentDao(DepartmentDao departmentDao) {
		this.departmentDao = departmentDao;
	}

	public JobDao getJobDao() {
		return jobDao;
	}

	public void setJobDao(JobDao jobDao) {
		this.jobDao = jobDao;
	}

	public JobInfoDao getJobInfoDao() {
		return jobInfoDao;
	}

	public void setJobInfoDao(JobInfoDao jobInfoDao) {
		this.jobInfoDao = jobInfoDao;
	}

	public NativeSQLQueryDaoImp getNativeSQLQueryDao() {
		return nativeSQLQueryDao;
	}

	public void setNativeSQLQueryDao(NativeSQLQueryDaoImp nativeSQLQueryDao) {
		this.nativeSQLQueryDao = nativeSQLQueryDao;
	}

	// ---------------------------------------------------------------------------
	// 接口实现
	// ---------------------------------------------------------------------------
	public boolean modDepartment_Service(String departmentID, String departmentName, String startDate,
			String endDate) {

		return departmentDao.modDepartment(departmentID, departmentName, startDate, endDate);
	}

	public boolean modJobInfo_Service(String jobInfoID, String jobInfoName, String startDate, String endDate) {

		return jobInfoDao.modJobInfo(jobInfoID, jobInfoName, startDate, endDate);
	}

	public RichFacesTreeNodeBean getDepTreeRootNode_Service() {
		Department depTreeRoot = departmentDao.getDepTreeRootNode();

		if (depTreeRoot != null) {
			RichFacesTreeNodeBean viewDepTreeRoot = new RichFacesTreeNodeBean(depTreeRoot.getDepartmentID(),
					depTreeRoot.getDepartmentName(), Department.DEPARTMENT);
			viewDepTreeRoot.setStartDate(DateUtil.dateStrToDateStr(depTreeRoot.getStartDate(),
					DateUtil.YYYY_MM_DD_PATTERN_1, DateUtil.YYYY_MM_DD_PATTERN_2));
			viewDepTreeRoot.setEndDate(DateUtil.dateStrToDateStr(depTreeRoot.getEndDate(),
					DateUtil.YYYY_MM_DD_PATTERN_1, DateUtil.YYYY_MM_DD_PATTERN_2));

			// 创建子部门职位树结构
			addViewJobInfoTreeNode(viewDepTreeRoot, depTreeRoot.getJobInfoList());
			// 递归创建整个部门树结构
			addViewDepTreeNode(viewDepTreeRoot, depTreeRoot.getSubDepSet());

			return viewDepTreeRoot;
		}
		return null;
	}

	/**
	 * 创建子部门职位树结构
	 * 
	 * @param parentNode 部门树父节点对象
	 * @param subJobInfoList 部门职位子节点数据集合
	 */
	private void addViewJobInfoTreeNode(RichFacesTreeNodeBean parentNode, List<JobInfo> subJobInfoList) {
		if (subJobInfoList != null && !subJobInfoList.isEmpty()) {
			for (JobInfo subJobInfo : subJobInfoList) {
				if (subJobInfo != null) {
					RichFacesTreeNodeBean viewJobInfoTreeNode = new RichFacesTreeNodeBean(subJobInfo
							.getJobInfoID(), subJobInfo.getJobInfoName(), JobInfo.JOB_INFO);
					viewJobInfoTreeNode.setStartDate(DateUtil.dateStrToDateStr(subJobInfo.getStartDate(),
							DateUtil.YYYY_MM_DD_PATTERN_1, DateUtil.YYYY_MM_DD_PATTERN_2));
					viewJobInfoTreeNode.setEndDate(DateUtil.dateStrToDateStr(subJobInfo.getEndDate(),
							DateUtil.YYYY_MM_DD_PATTERN_1, DateUtil.YYYY_MM_DD_PATTERN_2));

					parentNode.addChild(JobInfo.JOB_INFO + subJobInfo.getJobInfoID(), viewJobInfoTreeNode);
				}

			}
		}
	}

	/**
	 * 递归创建整个部门树结构
	 * 
	 * @param parentNode 部门树父节点对象
	 * @param subDepSet 部门子节点数据集合
	 */
	@SuppressWarnings("unchecked")
	private void addViewDepTreeNode(RichFacesTreeNodeBean parentNode, Set<Department> subDepSet) {
		if (subDepSet != null && !subDepSet.isEmpty()) {

			for (Department subDep : subDepSet) {
				RichFacesTreeNodeBean viewDepTreeNode = new RichFacesTreeNodeBean(subDep.getDepartmentID(),
						subDep.getDepartmentName(), Department.DEPARTMENT);
				viewDepTreeNode.setStartDate(DateUtil.dateStrToDateStr(subDep.getStartDate(),
						DateUtil.YYYY_MM_DD_PATTERN_1, DateUtil.YYYY_MM_DD_PATTERN_2));
				viewDepTreeNode.setEndDate(DateUtil.dateStrToDateStr(subDep.getEndDate(),
						DateUtil.YYYY_MM_DD_PATTERN_1, DateUtil.YYYY_MM_DD_PATTERN_2));

				parentNode.addChild(Department.DEPARTMENT + subDep.getDepartmentID(), viewDepTreeNode);
				// 创建子部门职位树结构
				addViewJobInfoTreeNode(viewDepTreeNode, subDep.getJobInfoList());
				// 递归创建整个部门树结构
				addViewDepTreeNode(viewDepTreeNode, subDep.getSubDepSet());
			}
		}
	}

	public boolean delDepartment_Service(String departmentID) {
		// 当前时间
		String nowDate = DateUtil.getNowDate();

		if (jobDao.getEmployeeListSizeByDepIDAndValidateDate(departmentID, nowDate) == 0) {
			return departmentDao.delDepartment(departmentID);
		}
		return false;
	}

	public boolean delJobInfo_Service(String jobInfoID) {
		// 当前时间
		String nowDate = DateUtil.getNowDate();

		if (jobDao.getEmployeeListSizeByJobIDAndValidateDate(jobInfoID, nowDate) == 0) {
			return jobInfoDao.delJobInfo(jobInfoID);
		}
		return false;
	}

	public boolean addDepartment_Service(String departmentName, String parentDepID, String startDate,
			String endDate) {
		Department parentDep = departmentDao.getDepartmentById(parentDepID);
		if (parentDep != null) {
			Department newDep = new Department();

			newDep.setDepartmentID(departmentDao.getMaxID());
			newDep.setDepartmentName(departmentName);

			newDep.setStartDate(startDate);
			newDep.setEndDate(endDate);

			newDep.setParentDep(parentDep);
			parentDep.addSubDep(newDep);
			departmentDao.save(newDep);
			return true;
		}
		return false;
	}

	public boolean addJobInfo_Service(String jobInfoName, String parentDepID, String startDate, String endDate) {
		Department parentDep = departmentDao.getDepartmentById(parentDepID);
		if (parentDep != null) {
			JobInfo jobInfo = new JobInfo();

			jobInfo.setJobInfoName(jobInfoName);
			jobInfo.setJobInfoID(jobInfoDao.getMaxID());

			jobInfo.setStartDate(startDate);
			jobInfo.setEndDate(endDate);

			jobInfo.setDepartment(parentDep);
			parentDep.addJobInfo(jobInfo);

			departmentDao.save(parentDep);
			return true;
		}
		return false;
	}

	public List<Object> getEmployeeListInfo_Service(int firstResultPost, int maxResultCount,
			String filterCondition, String filterValue) {
		IQueryCommand cmd = new EmployeeQueryCommand(filterCondition, filterValue);

		cmd.setFirstResultPost(firstResultPost);
		cmd.setMaxResultCount(maxResultCount);

		return nativeSQLQueryDao.executeQuery(cmd);
	}

	public int getEmployeeInfoListSize_Service(String filterCondition, String filterValue) {
		EmployeeQueryCommand cmd = new EmployeeQueryCommand(filterCondition, filterValue);

		cmd.getResultsSize();

		List<Object> list = nativeSQLQueryDao.executeQuery(cmd);
		if (list != null && list.size() > 0) {
			return ((ResultsSize) list.get(0)).getResultsSize();
		}
		return 0;
	}

}

⌨️ 快捷键说明

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