public function getReqRelatedUsers($numberArr) { $userInfo = array(); $userIdsAdded = array(); $review = new Dcc_Model_Review(); $employee = new Hra_Model_Employee(); $i = 0; foreach ($numberArr as $order) { $i++; $sql = $this->select()->setIntegrityCheck(false)->from(array('t1' => $this->_name), array())->joinLeft(array('t2' => $this->_dbprefix . "erp_pur_order_items"), "t1.order_item_id = t2.id", array())->joinLeft(array('t3' => $this->_dbprefix . "erp_pur_order"), "t1.order_number = t3.number", array('order_create_user' => 'create_user'))->joinLeft(array('t4' => $this->_dbprefix . "erp_pur_req"), "t2.req_number = t4.number", array('id', 'create_user', 'apply_user'))->joinLeft(array('t5' => $this->_dbprefix . 'user'), "t4.create_user = t5.id", array())->joinLeft(array('t6' => $this->_dbprefix . 'employee'), "t5.employee_id = t6.id", array('creater_email' => 'email'))->joinLeft(array('t7' => $this->_dbprefix . 'user'), "t4.apply_user = t7.id", array())->joinLeft(array('t8' => $this->_dbprefix . 'employee'), "t7.employee_id = t8.id", array('applier_email' => 'email'))->joinLeft(array('t9' => $this->_dbprefix . 'user'), "t3.create_user = t9.id", array())->joinLeft(array('t10' => $this->_dbprefix . 'employee'), "t9.employee_id = t10.id", array('order_creater_email' => 'email'))->where("t1.order_number = '" . $order . "'"); $data = $this->fetchRow($sql)->toArray(); array_push($userInfo, array('user_id' => $data['order_create_user'], 'email' => $data['order_creater_email'])); array_push($userIdsAdded, $data['order_create_user']); if ($data['applier_email'] != '' && $data['apply_user'] && !in_array($data['apply_user'], $userIdsAdded)) { array_push($userInfo, array('user_id' => $data['apply_user'], 'email' => $data['applier_email'])); } // 添加采购申请人:直接主管 if ($data['create_user'] != '') { array_push($userInfo, array('user_id' => $data['create_user'], 'email' => $data['creater_email'])); array_push($userIdsAdded, $data['create_user']); $managerInfo = $employee->getManagerByUserId($data['create_user']); if (isset($managerInfo['email']) && $managerInfo['email'] != '' && !in_array($managerInfo['user_id'], $userIdsAdded)) { array_push($userInfo, array('user_id' => $managerInfo['user_id'], 'email' => $managerInfo['email'])); } // 添加采购申请人:部门主管 $deptManagerInfo = $employee->getDeptManagerByUserId($data['create_user']); if (isset($deptManagerInfo['email']) && $deptManagerInfo['email'] != '' && !in_array($deptManagerInfo['user_id'], $userIdsAdded)) { array_push($userInfo, array('user_id' => $deptManagerInfo['user_id'], 'email' => $deptManagerInfo['email'])); } } // 获取审核人 if ($data['id'] != '') { $reviewerInfo = $review->getReviewUserInfo('purchse_req_add', $data['id']); foreach ($reviewerInfo as $info) { if (!in_array($info['user_id'], $userIdsAdded)) { array_push($userInfo, $info); } } } } $data = array(); $ids = array(); foreach ($userInfo as $user) { if (!in_array($user['user_id'], $ids)) { array_push($data, $user); array_push($ids, $user['user_id']); } } return $data; }
public function testAction() { $employeeModel = new Hra_Model_Employee(); $manager = $employeeModel->getManagerByUserId(0); echo '<pre>'; print_r($manager); exit; }