<?php /** * Created by PhpStorm. * User: liyifei2012it * Date: 16/9/18 * Time: 11:51 */ namespace Api\Controller\User; use Common\Common\Cache; use Common\Common\Department; use Common\Service\DeptRightService; use Common\Service\InviteSettingService; use Common\Service\UserService; use VcySDK\Enterprise; use VcySDK\Service; class DepartmentListController extends AbstractController { /** * 【通讯录】部门列表 * @author liyifei */ public function Index_post() { $user = $this->_login->user; if (empty($user['memUid'])) { E('_ERR_NOT_LOGIN'); return false; } // 检查管理权限 $this->checkCurrentManagePower($user); // 实例化 $rightServ = new DeptRightService(); $settingServ = new InviteSettingService(); $epServ = new Enterprise(Service::instance()); // 获取邀请函设置信息 $setting = $settingServ->get_by_conds([]); $checkUdpids = unserialize($setting['check_udpids']); $inviteUdpids = unserialize($setting['invite_udpids']); // 查询登录人员是否有邀请人员权限 $isInvite = is_array($inviteUdpids) && in_array($user['memUid'], $inviteUdpids) ? InviteSettingService::IS_INVITE_YES : InviteSettingService::IS_INVITE_NO; // 查询登录人员是否有审核权限 $isCheck = is_array($checkUdpids) && in_array($user['memUid'], $checkUdpids) ? InviteSettingService::IS_CHECK_YES : InviteSettingService::IS_CHECK_NO; // 人员通讯录可查看范围-列表 //$range = $rightServ->getDpListByUid($user['memUid']); // 我的部门-列表 //$myList = $rightServ->getMyDeptList($user['memUid']); // 获取部门列表 $userService = new UserService(); list($currentDpId, $p2c, $childIds, $dpIds) = $userService->getUserTopDpId($user); // 取出所有部门 $departments = Department::instance()->listAll(); $myDepartments = array(); foreach ($departments as $_dp) { if (!in_array($_dp['dpId'], $dpIds)) { continue; } $myDepartments[$_dp['dpId']] = $_dp; } // 企业信息 $ep = Cache::instance()->get( 'Common.EnterpriseDetail', '', ['expire' => cfg('ENTERPRISE_DETAIL_CACHE_EXPIRE')] ); $this->_result = array( 'is_check' => $isCheck, 'is_invite' => $isInvite, 'qy_name' => $ep['epName'], 'myDpIds' => $childIds, 'list' => $myDepartments, 'currentDpId' => $currentDpId, 'p2c' => $p2c ); return true; } }