Exemple #1
0
 /**
  * 获取当前操作者所具有的面审、车评、外访等权限
  * 判断是否有待处理任务、和贷款状态
  */
 private function canModifyActions($uid, $status, $type = null)
 {
     $apply = $this->authHasAction('apply');
     $face = $this->authHasAction('face');
     $visit = $this->authHasAction('visit');
     $car = $this->authHasAction('car');
     $actions = ['apply' => false, 'face' => false, 'visit' => false, 'car' => false, 'reface' => false];
     $advises = Advise::formatByType(Advise::getAdvisesByUid($uid));
     if (array_key_exists('loansketch', $advises)) {
         $do = 'apply';
     } else {
         if (\App\LoanStatus::needVisit($status) || \App\LoanStatus::needCarAssess($status) || array_key_exists('visit', $advises) || array_key_exists('car', $advises)) {
             $do = ['visit', 'car'];
         } else {
             if (\App\LoanStatus::needReface($status) || array_key_exists('face', $advises)) {
                 $do = 'reface';
             } else {
                 if (\App\LoanStatus::needFace($status) || array_key_exists('face', $advises)) {
                     $do = 'face';
                 } else {
                     if (\App\LoanStatus::needRc($status)) {
                         $do = 'rc';
                     }
                 }
             }
         }
     }
     if ($apply and $status == \App\LoanStatus::getStatusSketch()) {
         $actions['apply'] = true;
     }
     if ($face and $do == 'face') {
         $actions['face'] = true;
     } else {
         if ($visit || $car and $do == ['visit', 'car']) {
             $actions['visit'] = $visit;
             $actions['car'] = $car;
         } else {
             if ($face and $do == 'reface') {
                 $actions['reface'] = true;
             }
         }
     }
     if ($type) {
         return array_key_exists($type, $actions) ? $actions[$type] : false;
     }
     $this->view->setVars(['advises' => $advises, 'do' => $do]);
     return $actions;
 }