invokeArgs('assignAnnualBaseData', [$account, $dept, $year]); if(dao::isError()) return dao::getError(); return $result; } /** * Test assignAnnualReport method. * * @param string $year * @param string $dept * @param string $account * @access public * @return mixed */ public function assignAnnualReportTest(string $year, string $dept, string $account) { // 获取或创建report zen实例 $instance = $this->getInstance($this->moduleName, $this->className); // 调用方法 $this->invokeArgs('assignAnnualReport', [$year, $dept, $account]); if(dao::isError()) return dao::getError(); // 收集view属性用于验证,view应该在instance对象中 $result = array(); $result['dept'] = isset($instance->view->dept) ? (string)$instance->view->dept : ''; $result['year'] = isset($instance->view->year) ? (string)$instance->view->year : ''; $result['hasYears'] = isset($instance->view->years) && !empty($instance->view->years) ? 'yes' : 'no'; $result['hasMonths'] = isset($instance->view->months) && !empty($instance->view->months) ? 'yes' : 'no'; $result['hasContributionGroups'] = isset($instance->view->contributionGroups) && !empty($instance->view->contributionGroups) ? 'yes' : 'no'; $result['hasRadarData'] = isset($instance->view->radarData) && is_array($instance->view->radarData) ? 'yes' : 'no'; $result['hasMaxCount'] = isset($instance->view->maxCount) && is_numeric($instance->view->maxCount) ? 'yes' : 'no'; $result['hasContributionCount'] = isset($instance->view->contributionCount) && is_numeric($instance->view->contributionCount) ? 'yes' : 'no'; $result['hasData'] = isset($instance->view->data) && is_array($instance->view->data) ? 'yes' : 'no'; return $result; } /** * Test assignAnnualData method. * * @param string $year * @param string|int $dept * @param string $account * @param array $accounts * @param int $userCount * @access public * @return array */ public function assignAnnualDataTest(string $year, string|int $dept, string $account, array $accounts, int $userCount): array { $instance = $this->getInstance($this->moduleName, $this->className); $this->invokeArgs('assignAnnualData', [$year, $dept, $account, $accounts, $userCount]); if(dao::isError()) return dao::getError(); $data = $instance->view->data ?? array(); return array( 'users' => isset($data['users']) ? (string)$data['users'] : '', 'logins' => isset($data['logins']) ? (string)$data['logins'] : '', 'actions' => isset($data['actions']) ? (string)$data['actions'] : '', 'todos' => isset($data['todos']) ? "{$data['todos']->count},{$data['todos']->undone},{$data['todos']->done}" : '', 'consumed' => isset($data['consumed']) ? (string)$data['consumed'] : '', 'hasStatusStat' => isset($data['statusStat']) ? 'yes' : 'no', ); } /** * Test getReminder method. * * @access public * @return mixed */ public function getReminderTest() { $result = $this->invokeArgs('getReminder', []); if(dao::isError()) return dao::getError(); return $result; } }