/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.sxkj.system.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.core.tool.api.R; import org.sxkj.common.node.TreeStringNode; import org.sxkj.system.entity.Dept; import org.sxkj.system.excel.DeptExcel; import org.sxkj.system.excel.DeptImportExcel; import org.sxkj.system.param.DeptExportParam; import org.sxkj.system.param.DeptPageParam; import org.sxkj.system.vo.DeptVO; import java.util.List; import java.util.Map; /** * 服务类 * * @author Chill */ public interface IDeptService extends IService { /** * 懒加载部门列表 * * @param tenantId * @param parentId * @param param * @return */ List lazyList(String tenantId, Long parentId, Map param); /** * 树形结构 * * @param tenantId * @return */ List tree(String tenantId); /** * 懒加载树形结构 * * @param tenantId * @param parentId * @return */ List lazyTree(String tenantId, Long parentId, Integer level); /** * 获取部门ID * * @param tenantId * @param deptNames * @return */ String getDeptIds(String tenantId, String deptNames); /** * 获取部门ID * * @param tenantId * @param deptNames * @return */ String getDeptIdsByFuzzy(String tenantId, String deptNames); /** * 获取部门名 * * @param deptIds * @return */ List getDeptNames(String deptIds); /** * 获取子部门 * * @param deptId * @return */ List getDeptChild(Long deptId); /** * 删除部门 * * @param ids * @return */ boolean removeDept(String ids); /** * 提交 * * @param dept * @return */ boolean submit(Dept dept); /** * 部门信息查询 * * @param deptName * @param parentId * @return */ List search(String deptName, Long parentId); /** * 获取部门树形结构 * * @param dept * @return */ List getTree(DeptVO dept); /** * 自定义详情查询-根据系统配置id * * @param dept * @return */ DeptVO getDetailBySysConfigId(DeptVO dept); /** * 下拉数据源 * * @param deptId * @return */ List selectDeptList(String deptId); /** * 查询父级机构信息(一级机构) * * @param deptId * @return */ DeptVO getParentDeptInfo(String deptId); /** * 查询机构树(除本机机构以外的机构) * * @param deptId * @param deviceSn * @return */ List getDeptTreeByNotItself(String deptId, String deviceSn); /** * 懒加载获取部门树形结构(子集) * * @param param * @param parentId * @return */ List getChildLazyTree(Map param, Long parentId); /** * 部门名称关系map * * @param deptIds * @return */ Map getDeptNamesMap(List deptIds); /** * 获取部门列表 * * @param areaCode 区域code * @return 部门列表 */ List deptsByAreaCode(String areaCode); /** * @param page * @param deptPageParam * @return */ IPage selectDeptPage(IPage page, DeptPageParam deptPageParam); /** * 导入部门 * * @param data * @param isCovered */ void importDept(List data, Boolean isCovered); /** * 导出部门 * * @param dept * @return */ List exportDept(DeptExportParam dept); /** * 获取部门详情(包含区域名称) * * @param dept 部门对象,包含查询条件 * @return 部门详情VO,包含区域名称 */ DeptVO getDetailWithAreaName(Dept dept); }