Example #1
0
 /**
  * Performs the AJAX validation.
  * @param Inv $model the model to be validated
  */
 public function actionAjaxExpd()
 {
     $val1 = $_POST['val_id'];
     sscanf($val1, "js:_id=%d;_pay=%d;", $id, $pay);
     if ($id == null) {
         echo "R:" . $val1;
         return;
     }
     $ret .= "";
     //		$ret.="<div id='mydialog_buts'>".CHtml::link('Новый платеж',array('pay/createID','id'=>$id), array('target'=>'_blank','class'=>'menuitem'))."</div>";
     $dataReader = Expd::model()->with('product0')->findAll('exp=:id', array(':id' => $id));
     $ret .= "<table class='acctable'>";
     $ret .= "<tr><th>№</th>" . "<th>Товар</th>" . "<th>Колич.</th>" . "<th>Цена</th>" . "<th>Сумма</th>" . "<th>Со скид.</th>" . "<th>%</th>" . "<th>НДС</th>" . "<th>Всего</th></tr>";
     $resa = 0;
     $resb = 0;
     $rest = 0;
     foreach ($dataReader as $row) {
         $ret .= "<tr><td>" . $row['id'] . "</td><td>" . $row->product0['tnam'] . "</td>\n";
         //	$ret.="<tr><td>".$row['id']."</td><td>wtf</td>\n";
         $sumka = $row['amount'] * $row['price'];
         $ret .= "<td style='text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($row['amount'], '') . "</td>\n";
         $ret .= "<td style='text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($row['price'], '') . "</td>\n";
         $ret .= "<td style='text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($sumka, '') . "</td>\n";
         $ret .= "<td style='text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($row['total'], '') . "</td>\n";
         if ($sumka == $row['total']) {
             $rate = 0;
         } else {
             $rate = ($sumka - $row['total']) / $sumka;
         }
         $ret .= "<td style='text-align:right;'>" . Yii::app()->numberFormatter->formatPercentage($rate, '') . "</td>\n";
         $ret .= "<td style='text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($row['vat'], '') . "</td>\n";
         $ret .= "<td style='text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($row['total'] + $row['vat'], '') . "</td></tr>\n";
         $resa += $sumka;
         $resb += $row['total'];
         $rest += $row['total'] + $row['vat'];
     }
     $ret .= "<tr><td colspan='4'>Итого:</td>" . "<td style='font-weight: bold;text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($resa, '') . "</td>" . "<td style='font-weight: bold;text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($resb, '') . "</td>" . "<td colspan='3' style='font-weight: bold;text-align:right;'>" . Yii::app()->numberFormatter->formatCurrency($rest, '') . "</td>" . "</tr>\n";
     $ret .= "</table>\n";
     echo $ret;
 }
Example #2
0
 private function updatedocs($docs, &$info)
 {
     /* 
      * отбор загруженных на этапе считывания документов из tmp_doc
      */
     $sql = "SELECT a.* ," . " c.id AS c_id, d.id AS d_id, t.id AS t_id, m.id AS m_id, b.id AS b_id, bb.id AS bb_id " . " FROM ((((((tmp_doc a LEFT JOIN  client_id c ON a.ccli=c.ckey AND c.db=1)" . " LEFT JOIN  department_id d ON a.cfir=d.ckey AND c.db=1)" . " LEFT JOIN  client_id t ON a.transport=t.ckey AND c.db=1)" . " LEFT JOIN  bank b ON a.dbank=b.longname)" . " LEFT JOIN  bank bb ON a.cbank=bb.longname)" . " LEFT JOIN  account m ON a.man=m.id)" . " WHERE a.user="******"bid:".$value['b_id']."bbid:".$value['bb_id']."re:".$rr."<hr>";
                     if ($rr) {
                         if ($id > 0) {
                             $jj++;
                             $resdoc[] = array('t' => 0, 's' => 0, 'n' => $group->id);
                         } else {
                             $resdoc[] = array('t' => 0, 's' => 1, 'n' => $group->id);
                             $j++;
                         }
                         $this->updatedocstr($value['id'], $group->id, 0);
                         $this->updatecomment($value['id'], $group->id);
                     }
                 }
             } else {
                 $oid = (int) $value['expid'];
                 $iid = (int) $value['docid'];
                 $fid = $docs[$value['id']];
                 if ($fid === null) {
                     $oid = 0;
                     $iid = 0;
                 } else {
                     $iid = $fid[1];
                     $oid = $fid[0];
                 }
                 $group = NULL;
                 if ($iid > 0) {
                     $group = Inv::model()->findByPk($iid);
                     if ($group == null) {
                         continue;
                     }
                     Invd::model()->deleteAll('inv=' . $iid);
                 }
                 if ($group === null) {
                     if ($oid > 0) {
                         $group = new Inv();
                     } else {
                         continue;
                     }
                 }
                 $group->name = $value['tnum'];
                 $group->amount = $value['bsum'];
                 $group->date = $value['ddat'];
                 $group->client_id = $value['t_id'];
                 $group->exp_id = $oid;
                 if ($group->save()) {
                     if ($iid > 0) {
                         $ii++;
                         $resdoc[] = array('t' => 1, 's' => 0, 'n' => $group->id);
                     } else {
                         $resdoc[] = array('t' => 1, 's' => 1, 'n' => $group->id);
                         $i++;
                     }
                     $this->updatedocstr($value['id'], $group->id, 1);
                 }
             }
         }
     }
     $info[] = 'Создано новых счетов:' . $j;
     $info[] = 'Создано новых накладных:' . $i;
     $info[] = 'Отредактикровано счетов:' . $jj;
     $info[] = 'Отредактикровано накладных:' . $ii;
     //                            $info['doc']=$resdoc;
 }