Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java
@@ -1,12 +1,12 @@
package com.vci.frameworkcore.compatibility;
import com.vci.frameworkcore.pagemodel.OrgDepartmentVO;
import com.vci.dto.OrgDepartmentDTO;
import com.vci.corba.common.PLException;
import com.vci.pagemodel.OrgDepartmentVO;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.pagemodel.Tree;
import com.vci.starter.web.pagemodel.TreeQueryObject;
import com.vci.starter.web.pagemodel.*;
import java.io.File;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -25,6 +25,22 @@
     * @throws VciBaseException 参数为空或者数据库存在问题的时候会抛出异常
     */
    OrgDepartmentVO getDeptByDeptOid(String deptOid) throws VciBaseException;
    /**
     * 根据父部门主键获取和部门名称部门的信息(主要用于新增和修改查重)
     * @param parentDeptOid 父部门主键
     * @param conditionMap 查询条件
     * @return 部门的显示对象,如果部门不存在则返回null,不会抛出异常
     * @throws VciBaseException 参数为空或者数据库存在问题的时候会抛出异常
     */
    List<OrgDepartmentVO> getDeptByDeptpOidAndCondition(String parentDeptOid,Map<String,String> conditionMap) throws VciBaseException;
    /**
     * 根据父部门名称路径获取和部门名称部门的信息(主要用于导入时根据部门命令全路径和名称或编号查重)
     * @return 部门的显示对象,如果部门不存在则返回null,不会抛出异常
     * @throws VciBaseException 参数为空或者数据库存在问题的时候会抛出异常
     */
    List<OrgDepartmentVO> getDeptAllFullName() throws VciBaseException;
    /**
     * 批量获取部门的信息 (根据部门主键)
@@ -56,8 +72,7 @@
     * @param queryMap 查询条件,如果需要使用用户的属性来查询可以使用pkUser.xxxx
     * @return 部门的显示对象
     */
    OrgDepartmentVO listDeptByUserOid(String userOid, Map<String, String> queryMap);
    List<OrgDepartmentVO> listDeptByUserOid(String userOid, Map<String, String> queryMap);
    /**
     * 获取未关联某个用户的部门
@@ -80,9 +95,17 @@
     * 批量根据用户的主键来获取部门
     * @param userOidCollection 用户主键集合
     * @param queryMap 查询条件,如果需要使用用户的属性来查询可以使用pkUser.xxxx
     * @return 部门的显示对象,key是用户主键,value是这个用户关联的部门
     * @return 部门的显示对象,key是用户主键,value是关联的部门
     */
    Map<String,List<OrgDepartmentVO>> batchListDeptByUserOids(Collection<String> userOidCollection, Map<String, String> queryMap);
    /**
     * 批量根据用户的主键来获取部门名称(/间隔方式)
     * @param userOidCollection 用户主键集合
     * @param queryMap 查询条件,如果需要使用用户的属性来查询可以使用pkUser.xxxx
     * @return 部门的显示对象,key是用户主键,value是关联的部门(key:关联的部门oid,value:包含父节点如当前部门为人力资源部则值为:550/人力资源部)
     */
    Map<String,Map<String,String>> batchMapDeptNameByUserOids(Collection<String> userOidCollection, Map<String, String> queryMap);
    /**
     * 获取某个部门的直属下级部门
@@ -93,7 +116,7 @@
    List<OrgDepartmentVO> listChildrenDeptByParentOid(String pkFatherDepartmment, Map<String, String> queryMap);
    /**
     * 获取某个部门的所有曾经的下级部门
     * 获取某个部门的所有层级的下级部门
     * @param pkFatherDepartmment 部门的主键
     * @param queryMap 查询条件
     * @return 部门显示对象
@@ -114,4 +137,54 @@
     */
    DataGrid refTreeGridDept(TreeQueryObject treeQueryObject);
    /**
     * 保存部门角色关联信息,带查重功能,多对多保存
     * @param userOIds 用户id
     * @param deptId 部门oid
     * @return
     */
    boolean saveUsersDept(String[] userOIds, String deptId) throws PLException;
    /**
     * 增加部门信息
     * @param orgDepartmentDTO
     * @return
     */
    boolean addDept(OrgDepartmentDTO orgDepartmentDTO) throws PLException;
    /**
     * 修改部门信息
     * @param orgDepartmentDTO
     * @return
     */
    boolean updateDept(OrgDepartmentDTO orgDepartmentDTO) throws PLException;
    /**
     * 删除部门
     * @param ids
     * @return
     */
    boolean deleteDept(String[] ids) throws PLException;
    /**
     * 获取所有部门的信息
     * @return key:部门由名称组成的路径(/间隔),value对应最小层级的部门信息
     */
    Map<String,OrgDepartmentVO> getDeptAllTreeMap();
    /**
     * 下载导入部门的excel模板。
     * @param downloadFileName
     * @return
     */
    String downloadImportTemplate(String downloadFileName);
    /**
     * 导入部门
     * @param file
     * @return
     * @throws VciBaseException
     */
    BaseResult importDept(File file) throws Exception;
}