Beispiel #1
0
 /**
  * Если сделка прошла успешно генерируем акт по выдаче денег
  * Тут у нас есть зависимость от того сколько этапов было в сделке 
  */
 public function generateCompletedAct(&$error)
 {
     require_once dirname(__FILE__) . '/num_to_word.php';
     $error = NULL;
     if (!($payout = $this->getPayouts($this->sbr->frl_id))) {
         return false;
     }
     if (!($act = $this->getActSums($this->sbr->frl_id))) {
         return false;
     }
     $payout = $payout[$this->sbr->frl_id];
     if (!$payout) {
         return false;
     }
     if (count($this->sbr->stages) == 1) {
         $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/act_completed_sbr.xml';
     } else {
         $template = $_SERVER['DOCUMENT_ROOT'] . '/norisk2/xml/act_completed_stage.xml';
     }
     $pskb = new pskb($this->sbr);
     $lc = $pskb->getLC();
     $sbr_num = $this->sbr->getContractStageNum(null, null, $this->num + 1);
     $this->sbr->getFrlReqvs();
     $this->sbr->getEmpReqvs();
     $this->sbr->setCheckEmpReqvs($this->id);
     $efio = $lc['nameCust'];
     $ffio = $lc['namePerf'];
     if (!$efio) {
         $error['emp'] = 'Для формирования Акта об оказании услуги заказчику<br/> необходимо заполнить реквизиты на странице "Финансы"';
     }
     if ($error) {
         return false;
     }
     if (pskb::$form_map[$lc['tagCust']] == sbr::FT_PHYS) {
         $this->sbr->emp_reqvs[sbr::FT_JURI]['full_name'] = $efio;
         $this->sbr->emp_reqvs[sbr::FT_PHYS]['fio'] = $efio;
         $side_b_emp = sbr_meta::getReqvsStr($this->sbr->emp_reqvs, $bossname_emp);
     } else {
         $side_b_emp = $this->sbr->getUserReqvAgnt($lc, 'emp');
     }
     if (pskb::$form_map[$lc['tagPerf']] == sbr::FT_PHYS) {
         $this->sbr->frl_reqvs[sbr::FT_JURI]['full_name'] = $ffio;
         $this->sbr->frl_reqvs[sbr::FT_PHYS]['fio'] = $ffio;
         $side_b_frl = sbr_meta::getReqvsStr($this->sbr->frl_reqvs, $bossname_frl);
     } else {
         $side_b_frl = $this->sbr->getUserReqvAgnt($lc, 'frl');
     }
     //foreach($this->sbr->stages as $stage) {
     foreach ($this->sbr->scheme['taxes'][sbr::FRL] as $tax) {
         if ($tax['tax_code'] == 'TAX_FL') {
             $tax_total += $this->calcTax($tax, $dvals, $outsys);
         }
     }
     //}
     $sum_frl_tax = $tax_total;
     // Комиссия считывающаяся с фрилансера
     $sum_frl = $this->getPayoutSum(sbr::FRL);
     $replace = array('$sbr_num' => $sbr_num, '$date_act' => $this->redate_act ? $this->redate_act : date("d.m.Y"), '$date_sbr' => date("d.m.Y", strtotime($this->getFirstTime())), '$efio' => $efio, '$ffio' => $ffio, '$side_b_frl' => $side_b_frl, '$side_b_emp' => $side_b_emp, '$bossname_frl' => $bossname_frl, '$bossname_emp' => $bossname_emp, '$sum_frl' => num2strEx($sum_frl, 'рублей Российской Федерации'), '$sum_frl_tax' => num2strEx($sum_frl_tax, 'рублей Российской Федерации'));
     $pdf = sbr::xml2pdf($template, $replace);
     if (!($file = $this->sbr->_saveDocFile($pdf->Output(NULL, 'S')))) {
         $error['fatal'] = "Ошибка при формировании Акта об оказании услуги";
     }
     return $file;
 }