Exemple #1
0
 /**
  * Генерируем отчет арбитража если
  * - когда Арбитраж выносит решение о 100%  выплате Исполнителю
  * - когда Стороны приходят к соглашению о 100% выплате Исполнителю
  * 
  * @param type $error   Ошибка
  * @param type $rep_num
  * @return null|boolean 
  */
 public function generateArbReportFrl(&$error, &$rep_num)
 {
     require_once dirname(__FILE__) . '/num_to_word.php';
     if (!$this->getArbitrage(false, false)) {
         return NULL;
     }
     if (!($act = $this->getActSums($this->sbr->frl_id))) {
         return false;
     }
     $eper = (1 - $this->arbitrage['frl_percent']) * 100;
     $fper = 100 - $eper;
     $result = html_entity_decode($this->arbitrage['result'], ENT_QUOTES, 'cp1251');
     $init = html_entity_decode($this->arbitrage['init'], ENT_QUOTES, 'cp1251');
     $reason = html_entity_decode($this->arbitrage['reason'], ENT_QUOTES, 'cp1251');
     $is_frl_arb = strpos($reason, 'Согласно п. 8.5.') !== false;
     $is_emp_arb = strpos($reason, 'Согласно п. 8.3.') !== false;
     $is_vaan_arb = strpos($init, 'ООО Ваан обратилось в Арбитраж') !== false;
     if (strpos($init, 'Исполнитель обратился в Арбитраж') !== false) {
         $user_arb = 'Исполнитель';
     } elseif (strpos($init, 'Заказчик обратился в Арбитраж') !== false) {
         $user_arb = 'Заказчик';
     } elseif ($is_vaan_arb) {
         $user_arb = 'ООО "Ваан"';
     }
     if ($fper == 100) {
         if (strpos($result, 'Соглашение сторон 100% Возврат Исполнителю') !== false || strpos($result, 'Соглашение сторон 100% Выплата Исполнителю') !== false) {
             $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/arb_frl_soglashenie.xml';
         } elseif (strpos($result, 'Решение арбитража 100% Выплата Исполнителю') !== false) {
             $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/arb_frl_reshenie.xml';
         } elseif (strpos($result, 'Решение арбитража') !== false) {
             // ПО ИДЕЕ НЕ МОЖЕТ БЫТЬ ТК ПРИ РЕШЕНИИ 100% исполнителю нужно выбирать пункт 7
             $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/arb_act_reshenie.xml';
         } else {
             return null;
         }
     } else {
         if ($fper >= 0) {
             if (strpos($result, 'Соглашение сторон') !== false) {
                 $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/arb_act_soglashenie.xml';
             } elseif (strpos($result, 'Решение арбитража') !== false) {
                 $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/arb_act_reshenie.xml';
             } else {
                 return null;
             }
         } else {
             return null;
         }
     }
     $error = NULL;
     $sbr_num = $this->sbr->getContractStageNum(null, null, $this->num + 1);
     $this->sbr->getFrlReqvs();
     $this->sbr->getEmpReqvs();
     $this->sbr->setCheckEmpReqvs($this->id);
     $rep_num = $this->sbr->regArbReportNum();
     $efio = sbr_meta::getFioFromReqvs($this->sbr->emp_reqvs);
     $ffio = sbr_meta::getFioFromReqvs($this->sbr->frl_reqvs);
     if (!$efio) {
         $error['emp'] = 'Для формирования Акта об оказании услуги заказчику<br/> необходимо заполнить реквизиты на странице "Финансы"';
     }
     if ($error) {
         return false;
     }
     $dvals = array('P' => pskb::$exrates_map[$this->sbr->data['ps_frl']]);
     foreach ($this->sbr->scheme['taxes'][sbr::FRL] as $tax) {
         $tax_frl += sbr_meta::calcAnyTax($tax['tax_id'], $tax['scheme_id'], $this->cost, $dvals);
     }
     $sum_emp = $this->getPayoutSum(sbr::EMP);
     $sum_frl = $this->getPayoutSum(sbr::FRL);
     $work_cost = $this->cost - $tax_frl;
     $work_time = intval($this->int_work_time) . ending(intval($this->int_work_time), ' день', ' дня', ' дней');
     $work_type = count($this->sbr->stages) == 1 ? 'Стоимости Работы' : 'Промежуточной стоимости Работы';
     $replace = array('$sbr_num' => $sbr_num, '$date_sbr' => date("d.m.Y", strtotime($this->getFirstTime())), '$efio' => $efio, '$ffio' => $ffio, '$sum_frl' => num2strEx($sum_frl, 'рублей Российской Федерации'), '$sum_emp' => num2strEx($sum_emp, 'рублей Российской Федерации'), '$tz_descr' => $this->descr, '$work_time' => $work_time, '$work_type' => $work_type, '$work_cost' => num2strEx($work_cost, 'рублей Российской Федерации'), '$is_arb_emp' => $is_emp_arb, '$is_arb_frl' => $is_frl_arb, '$is_arb_vaan' => $is_vaan_arb, '$is_not_arb_vaan' => !$is_vaan_arb, '$user_arb' => $user_arb);
     $pdf = sbr::xml2pdf($template, $replace);
     if (!($file = $this->sbr->_saveDocFile($pdf->Output(NULL, 'S')))) {
         $error['fatal'] = "Ошибка при формировании Акта об оказании услуги";
     }
     return $file;
 }