package com.huaheng.pc.system.dept.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.huaheng.common.constant.UserConstants; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.pc.system.dept.domain.Dept; import com.huaheng.pc.system.dept.mapper.DeptMapper; import javax.annotation.Resource; /** * 部门管理 服务实现 * * @author huaheng */ @Service public class DeptServiceImpl implements IDeptService { @Resource private DeptMapper deptMapper; /** * 查询部门管理数据 * * @return 部门信息集合 */ @Override public List<Dept> selectDeptList(Dept dept) { return deptMapper.selectDeptList(dept); } /** * 查询部门所有数据 * * @return 部门信息集合 */ @Override public List<Dept> selectDeptAll() { return deptMapper.selectDeptAll(); } /** * 查询部门管理树 * * @return 所有部门信息 */ @Override public List<Map<String, Object>> selectDeptTree() { List<Map<String, Object>> trees = new ArrayList<Map<String, Object>>(); List<Dept> deptList = deptMapper.selectDeptAll(); for (Dept dept : deptList) { if (dept.getEnable()) { Map<String, Object> deptMap = new HashMap<String, Object>(); deptMap.put("id", dept.getId()); deptMap.put("pId", dept.getParentId()); deptMap.put("name", dept.getDeptName()); deptMap.put("title", dept.getDeptName()); trees.add(deptMap); } } return trees; } /** * 查询部门人数 * * @param parentId 部门ID * @return 结果 */ @Override public int selectDeptCount(Integer parentId) { Dept dept = new Dept(); dept.setParentId(parentId); return deptMapper.selectDeptCount(dept); } /** * 查询部门是否存在用户 * * @param id 部门ID * @return 结果 true 存在 false 不存在 */ @Override public boolean checkDeptExistUser(Integer id) { int result = deptMapper.checkDeptExistUser(id); return result > 0 ? true : false; } /** * 删除部门管理信息 * * @param id 部门ID * @return 结果 */ @Override public int deleteDeptById(Integer id) { return deptMapper.deleteDeptById(id); } /** * 新增保存部门信息 * * @param dept 部门信息 * @return 结果 */ @Override public int insertDept(Dept dept) { Dept info = deptMapper.selectDeptById(dept.getParentId()); dept.setCreateBy(ShiroUtils.getLoginName()); if(info!=null) { dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); } return deptMapper.insertDept(dept); } /** * 修改保存部门信息 * * @param dept 部门信息 * @return 结果 */ @Override public int updateDept(Dept dept) { Dept info = deptMapper.selectDeptById(dept.getParentId()); dept.setUpdateBy(ShiroUtils.getLoginName()); if(info!=null) { dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); } return deptMapper.updateDept(dept); } /** * 修改保存部门信息 * * @param dept 部门信息 * @return 结果 */ @Override public int updatesDept(Dept dept) { Dept info = deptMapper.selectDeptById(dept.getParentId()); dept.setUpdateBy(ShiroUtils.getLoginName()); if(info!=null) { dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); } return deptMapper.updatesDept(dept); } /** * 根据部门ID查询信息 * * @param id 部门ID * @return 部门信息 */ @Override public Dept selectDeptById(Integer id) { return deptMapper.selectDeptById(id); } /** * 校验部门名称是否唯一 * * @param dept 部门信息 * @return 结果 */ @Override public String checkDeptNameUnique(Dept dept) { Integer id = StringUtils.isNull(dept.getId()) ? -1 : dept.getId(); Dept info = deptMapper.checkDeptNameUnique(dept.getDeptName()); if (StringUtils.isNotNull(info) && info.getId().intValue() != id.intValue()) { return UserConstants.DEPT_NAME_NOT_UNIQUE; } return UserConstants.DEPT_NAME_UNIQUE; } /** * 根据部门编码查询部门ID * * @param cDepCode 部门编码 * @return deptName 部门ID */ @Override public int selectDeptId(String cDepCode) { return deptMapper.selectDeptId(cDepCode); } /** * 根据部门编码查询部门信息 * @param cDepCode * @return */ @Override public Dept selectDepts(String cDepCode) { Dept depts = deptMapper.selectDepts(cDepCode); return depts; } /** * U8插入部门信息 * @param dept * @return 结果 */ @Override public int insertDepts(Dept dept) { return deptMapper.insertDepts(dept); } }