コード例 #1
0
ファイル: orders_tz_model.class.php プロジェクト: GGF/baza4
 public function createTZ($rec)
 {
     extract($rec);
     // np не надо редактировать - только добавлять с текущей датой и пользователем
     // определим позицию в письме
     extract($_SESSION[Auth::$lss]);
     //list($customer_id,$order_id,$tz_id,$posintzid) = explode(':',$idstr);
     $orderid = $order_id;
     $sql = "SELECT COUNT(*)+1 AS next FROM tz WHERE order_id='{$orderid}'";
     $rs = sql::fetchOne($sql);
     $pos_in_order = $rs[next];
     // добавление
     // создать файл с табличкой
     // определим заказчика
     $sql = "SELECT number,orderdate,customer, fullname\n                FROM orders\n                JOIN customers\n                ON customers.id=customer_id\n                WHERE orders.id='{$orderid}'";
     //echo $sql;
     $rs = sql::fetchOne($sql);
     $order = $rs["number"];
     $customer = $rs["customer"];
     $fullname = $rs["fullname"];
     $odate = $rs["orderdate"];
     $cdate = date("m-d-Y");
     $sql = "INSERT INTO tz (order_id,tz_date,user_id) VALUES ('{$orderid}',NOW(),'" . Auth::getInstance()->getUser('id') . "')";
     sql::query($sql);
     $tzid = sql::lastId();
     do {
         $filetype = $typetz == "mpp" ? "МПП" : ($typetz == "dpp" ? "ДПП" : ($typetz == "mppb" ? "МПП-Блок" : "ДПП-Блок"));
         $orderstring = fileserver::removeOSsimbols($rs["number"]);
         $file_link = "t:\\\\Расчет стоимости плат\\\\ТехЗад\\\\{$customer}\\\\{$tzid}-{$filetype}-{$pos_in_order}-{$orderstring} от {$rs["orderdate"]}.xls";
         $filename = fileserver::createdironserver($file_link);
         $fe = file_exists($filename);
         if ($fe) {
             $pos_in_order++;
         }
     } while ($fe);
     // Определим идентификатор файловой ссылки
     $file_id = $this->getFileId($file_link);
     // добавить поля в
     $sql = "UPDATE tz SET file_link_id='{$file_id}', pos_in_order='{$pos_in_order}' WHERE id='{$tzid}'";
     sql::query($sql);
     $rec = array('id' => $tzid, 'tzlink' => $file_link, 'success' => true);
     $tzid = sprintf("%08s", $tzid);
     // для отображения в заказе
     $rec = array_merge($rec, compact('cdate', 'filename', 'order', 'odate', 'typetz', 'fullname', 'tzid'));
     return $rec;
 }
コード例 #2
0
 public function getDataForCalc($id)
 {
     $rec = array();
     $sql = "SELECT *,CONCAT (number,' от ',DATE_FORMAT(orderdate,'%d.%m.%Y')) as letter, " . "boards.sizex/100.0 as psizex, " . "boards.sizey/100.0 as psizey, " . "blocks.sizex/100.0 as bsizex, " . "blocks.sizey/100.0 as bsizey, " . "immer*auarea as gold, " . "CONCAT(numlam,' ',lsizex,'x',lsizey) as lamel, " . "blocks.comment_id as bcid " . "FROM posintz JOIN (tz,orders,customers,blocks,blockpos,boards) " . "ON (posintz.tz_id=tz.id " . "AND tz.order_id=orders.id " . "AND posintz.block_id=blocks.id " . "AND orders.customer_id=customers.id " . "AND blockpos.block_id=blocks.id " . "AND blockpos.board_id=boards.id )  " . "WHERE posintz.id='{$id}'";
     $rec = sql::fetchOne($sql);
     $params = json_decode(multibyte::Unescape(sqltable_model::getComment($rec["bcid"])), true);
     //получим текщий комент из блока
     $rec[eltest] = $params[eltest];
     $rec[etpib] = $params[etpib];
     $rec[etpoints] = $params[etpoints];
     $rec[etcompl] = $params[etcompl];
     $rec[thickness] = (double) $rec[thickness];
     $rec[type] = $rec[layers] > 2 ? 'mpp' : 'dpp';
     $rec[template] = "r{$rec[type]}.xls";
     preg_match('/(?P<nummask>[+0-9]*)(?P<mask>.*)/i', $rec[mask], $matches);
     $rec[mask] = $matches[mask];
     $rec[nummask] = empty($matches[nummask]) ? 2 : $matches[nummask];
     $rec[frez_factor] = $rec[frez_factor] > 0 ? $rec[frez_factor] : 1.0;
     $orderstring = fileserver::removeOSsimbols($rec[letter] . " tz{$rec[tz_id]} posintz{$id}");
     $rec[filename] = "t:\\\\Расчет стоимости плат\\\\{$rec[customer]}\\\\{$rec[blockname]}\\\\{$orderstring}.xls";
     return $rec;
 }