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