/** * 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; }
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; }