示例#1
0
 public function __construct()
 {
     parent::__construct();
     $this->db = "`{$_SERVER['storagebase']}`.";
     $this->sklad = storages::$storages[$_SESSION[Auth::$lss][storagetype]][sklad];
     $this->maintable = "{$this->db}sk_{$this->sklad}_spr";
 }
示例#2
0
 public function getData($all = false, $order = '', $find = '', $idstr = '')
 {
     $ret = parent::getData($all, $order, $find, $idstr);
     $sql = "SELECT * \n                    FROM moneyfororder " . (!empty($find) ? "WHERE (`customer` LIKE '%{$find}%' OR `order` LIKE '%{$find}%' ) " : "") . "GROUP BY `customer`, `order`,`mater`,`trud` " . (!empty($order) ? "ORDER BY {$order} " : "ORDER BY customer DESC ") . ($all ? "LIMIT 500" : "LIMIT 20");
     $ret = sql::fetchAll($sql);
     return $ret;
 }
 public function setRecord($data)
 {
     $data[blocktype] = $this->blocktype;
     $operation[$data[operation_id]] = array('date' => $data[action_date], 'comment_id' => sqltable_model::getCommentId($data[comment]));
     // если в поле для нового ввели номер сопроводиловки уже существующий в журнале
     // то будем править его
     $sql = "SELECT * FROM {$this->maintable} WHERE lanch_id='{$data[lanch_id]}'";
     $res = sql::fetchOne($sql);
     if (empty($res)) {
         // гадство! тут нужен уникальный, а без коментариев будет получаться один
         sql::insert('coments', array(array("comment" => multibyte::Json_encode($operation))));
         $data[coment_id] = sql::lastId();
     } else {
         $coment = multibyte::Json_decode(sqltable_model::getComment($res[coment_id]));
         $coment[$data[operation_id]] = $operation[$data[operation_id]];
         // заменить старый по ключу
         sql::insertUpdate('coments', array(array("id" => $res[coment_id], "comment" => multibyte::Json_encode($coment))));
         $data[edit] = $res[id];
         // если был такой его и правим
         $data[coment_id] = $res[coment_id];
     }
     $data[lastoperation] = $data[operation_id];
     parent::setRecord($data);
     return true;
 }
示例#4
0
 public function getRecord($edit)
 {
     $rec = parent::getRecord($edit);
     $sql = "SELECT * FROM blockpos JOIN boards ON boards.id=blockpos.board_id WHERE block_id={$rec[block_id]}";
     $rec[boards] = sql::fetchAll($sql);
     foreach ($rec[boards] as &$value) {
         $value[filelinks] = $this->getFilesForId('boards', $value[board_id]);
     }
     return $rec;
 }
示例#5
0
 public function action_commentupdate($coment_id)
 {
     $operationid = $_REQUEST[idstr];
     $operations = multibyte::Json_decode(sqltable_model::getComment($coment_id));
     $coment_id = $operations[$operationid][comment_id];
     $out = sqltable_model::getComment($coment_id);
     $date = ajaxform::date2datepicker($operations[$operationid][date]);
     $out .= "<script>\$(\"*[datepicker='1']\").val('{$date}')</script>";
     return $out;
 }
示例#6
0
 public function getRecord($edit)
 {
     // поставщики список для выбора
     $supply["0"] = "Новый";
     $sql = "SELECT * FROM {$this->db}sk_{$this->sklad}_postav";
     $res = sql::fetchAll($sql);
     foreach ($res as $rs) {
         $supply[$rs["id"]] = $rs["supply"];
     }
     $sql = "SELECT *,sk_{$this->sklad}_dvizh.id,sk_{$this->sklad}_postav.id AS supply_id\n             FROM {$this->db}sk_{$this->sklad}_dvizh\n             JOIN ({$this->db}sk_{$this->sklad}_postav,{$this->db}coments,{$this->db}sk_{$this->sklad}_spr)\n             ON (sk_{$this->sklad}_postav.id=sk_{$this->sklad}_dvizh.post_id\n                AND coments.id=sk_{$this->sklad}_dvizh.comment_id\n                AND {$this->db}sk_{$this->sklad}_spr.id={$this->db}sk_{$this->sklad}_dvizh.spr_id)\n             WHERE sk_{$this->sklad}_dvizh.id='{$edit}'";
     $rec = sqltable_model::getRecord($sql);
     $rec[supply] = $supply;
     return $rec;
 }
示例#7
0
 public function getData($all = false, $order = '', $find = '', $idstr = '')
 {
     $ret = parent::getData($all, $order, $find, $idstr);
     extract($_SESSION[Auth::$lss]);
     if (!empty($customer_id)) {
         if (empty($order_id)) {
             $sql = "SELECT *,IF(instr(file_link,'МПП')>0, 'МПП', IF(instr(file_link,'Блок')>0,'ДПП(Блок)','ДПП')) AS type,\n                            tz.id as tzid,tz.id\n                        FROM `tz`\n                        JOIN (orders, customers, users,filelinks)\n                        ON ( tz.order_id = orders.id AND orders.customer_id = customers.id\n                            AND tz.user_id = users.id AND filelinks.id=tz.file_link_id)\n                        WHERE customer_id='{$customer_id}'" . (!empty($find) ? "WHERE (number LIKE '%{$find}%')" : "") . (!empty($order) ? " ORDER BY {$order} " : " ORDER BY tz.id DESC ") . ($all ? "LIMIT 50" : "LIMIT 20");
         } else {
             $orderid = $order_id;
             $sql = "SELECT *,IF(instr(file_link,'МПП')>0, 'МПП', IF(instr(file_link,'Блок')>0,'ДПП(Блок)','ДПП')) AS type,\n                        tz.id as tzid,tz.id FROM `tz`\n                        JOIN (orders, customers, users,filelinks)\n                        ON ( tz.order_id = orders.id AND orders.customer_id = customers.id\n                        AND tz.user_id = users.id AND filelinks.id=tz.file_link_id) " . (!empty($find) ? "WHERE (number LIKE '%{$find}%') AND order_id='{$orderid}' " : " WHERE order_id='{$orderid}' ") . (!empty($order) ? " ORDER BY {$order} " : " ORDER BY tz.id DESC ") . ($all ? "" : "LIMIT 20");
         }
     } else {
         $sql = "SELECT *,IF(instr(file_link,'МПП')>0, 'МПП', IF(instr(file_link,'Блок')>0,'ДПП(Блок)','ДПП')) AS type,\n                    tz.id as tzid,tz.id\n                    FROM `tz`\n                    JOIN (orders, customers, users,filelinks)\n                    ON ( tz.order_id = orders.id AND orders.customer_id = customers.id\n                    AND tz.user_id = users.id AND filelinks.id=tz.file_link_id) " . (!empty($find) ? "WHERE (number LIKE '%{$find}%' OR tz.id LIKE '%{$find}%')" : "") . (!empty($order) ? " ORDER BY {$order} " : " ORDER BY tz.id DESC ") . ($all ? "LIMIT 50" : "LIMIT 20");
     }
     $ret = sql::fetchAll($sql);
     if ($all) {
         $_SESSION[Auth::$lss][tz_id] = '';
     }
     return $ret;
 }
示例#8
0
 public function getData($all = false, $order = '', $find = '', $idstr = '')
 {
     $ret = parent::getData($all, $order, $find, $idstr);
     $order = strstr($order, 'files') ? '' : $order;
     // не удается отсортировать по файлам
     extract($_SESSION[Auth::$lss]);
     if (empty($customer_id)) {
         $sql = "SELECT *, orders.id AS oid,\n                        orders.id\n                        FROM orders\n                        JOIN customers\n                        ON customers.id=customer_id " . (!empty($find) ? "WHERE (number LIKE '%{$find}%' OR orderdate LIKE '%{$find}%' ) " : "") . (!empty($order) ? "ORDER BY {$order} " : "ORDER BY orders.orderdate DESC ") . ($all ? "LIMIT 50" : "LIMIT 20");
     } else {
         // sql
         $sql = "SELECT *, orders.id AS oid, orders.id\n                            FROM orders\n                            JOIN customers ON customers.id=customer_id " . (!empty($find) ? "WHERE (number LIKE '%{$find}%' OR orderdate LIKE '%{$find}%' ) AND customer_id='{$customer_id}' " : "WHERE customer_id='{$customer_id}' ") . (!empty($order) ? "ORDER BY {$order} " : "ORDER BY orders.orderdate DESC ") . ($all ? "LIMIT 50" : "LIMIT 20");
     }
     $ret = sql::fetchAll($sql);
     foreach ($ret as &$value) {
         $files = $this->getFilesForId('orders', $value[id]);
         $value[files] = $files[link];
     }
     if ($all) {
         $_SESSION[Auth::$lss][order_id] = '';
         $_SESSION[Auth::$lss][tz_id] = '';
     }
     return $ret;
 }
示例#9
0
 public function __construct()
 {
     parent::__construct();
     $this->maintable = 'todo';
 }
示例#10
0
 public function __construct()
 {
     parent::__construct();
     $this->maintable = 'masterplate';
 }
示例#11
0
 public function __construct()
 {
     parent::__construct();
     $this->maintable = 'operations';
 }
示例#12
0
 public function getSlMpp($rec)
 {
     extract($rec);
     // получить данные в переменные
     $sql = "SELECT\r\n                    blockname AS board_name,\r\n                    CONCAT(orders.number,CONCAT(' от ',CONCAT(DATE_FORMAT(orderdate,'%d.%m.%Y'),CONCAT(' - ',CONCAT(posintz.numbers,' шт.'))))) AS letter,\r\n                    fullname AS customerfullname,\r\n                    posintz.numbers AS numbers,\r\n                    drlname AS frezfile,\r\n                    scomp AS copperc,\r\n                    ssolder AS coppers,\r\n                    CONCAT(CEIL(blocks.sizex),CONCAT('x',CEIL(blocks.sizey))) AS sizez,\r\n                    priem,\r\n                    tz.id as tzid,\r\n                    blocks.id AS block_id,\r\n                    customers.id AS customer_id,\r\n                    blocks.comment_id AS comment_id1,\r\n                    posintz.comment_id AS comment_id2,\r\n                    posintz.posintz AS posintz\r\n\r\n                    FROM posintz\r\n                    JOIN (customers,blocks,tz,\r\n                            orders)\r\n                    ON (blocks.id=posintz.block_id\r\n                        AND customers.id=orders.customer_id\r\n                        AND posintz.tz_id=tz.id\r\n                        AND tz.order_id=orders.id\r\n                        )\r\n                    WHERE posintz.id='{$posid}'";
     $rs = sql::fetchOne($sql);
     $rs = multibyte::UTF_encode($rs);
     $rec = array_merge($rec, $rs);
     extract($rs);
     $param = json_decode(multibyte::Unescape(sqltable_model::getComment($comment_id1)), true);
     if (empty($param)) {
         $param = array();
     }
     // если коментарий не JSON или неправильный JSON
     $rec[customerfullname] = html_entity_decode($rec[customerfullname]);
     // кавычки в названии
     $rec = array_merge($rec, $param);
     $rec[mkrfile] = "{$rec[frezfile]}.{$param[filext]}";
     $rec[comment1] = multibyte::UTF_encode($param["coment"]);
     $rec[comment2] = sqltable_model::getComment($comment_id2);
     $sql = "SELECT *, board_name AS boardname, sizex AS psizex,\r\n                        sizey AS psizey\r\n                FROM blockpos\r\n                JOIN (boards)\r\n                ON (boards.id=blockpos.board_id)\r\n                WHERE blockpos.block_id='{$block_id}'";
     $res = sql::fetchOne($sql);
     extract($res);
     $platonblock = $res[nib];
     $tolsh = $res[thickness];
     $rec[sizep] = sprintf("%5.1fx%5.1f", $res[sizex], $res[sizey]);
     $mask = $res[mask];
     $mark = $res[mark];
     $rec = array_merge($rec, compact('platonblock', 'numlam', 'rmark', 'immer', 'mask', 'layers', 'mark', 'commentp'));
     if ($customer_id == '8') {
         // радар
         $zagotinparty = 1;
     } else {
         $zagotinparty = 5;
     }
     $rec[zagotinparty] = $zagotinparty;
     if ($dozap === true) {
         $zagotovokvsego = ceil($dozapnumbers / $platonblock);
         $zag = $zagotovokvsego;
         $ppart = $dozapnumbers;
         $numpl1 = $numbers = $dozapnumbers;
         $part = -2;
         //$party;
     } elseif ($dozap == "zadel") {
         $part = -1;
         $zagotovokvsego = ceil($dozapnumbers["use"] / $platonblock);
         $zag = $zagotovokvsego;
         $ppart = $dozapnumbers["use"];
         $numpl1 = $numbers = $dozapnumbers["use"];
     } else {
         // в дозапуске указано сколько запускать в реале
         $zagotovokvsego = ceil($dozap / $platonblock);
         // общее количество заготовок + 15% потом может быть
         $zag = $party * $zagotinparty >= $zagotovokvsego ? $zagotovokvsego - ($party - 1) * $zagotinparty : $zagotinparty;
         $ppart = ceil($zagotovokvsego / $zagotinparty) > 1 ? isset($last) ? $numbers - (ceil($numbers / $platonblock / $zagotinparty) - 1) * $platonblock * $zagotinparty . "({$numbers})" : $zag * $platonblock . "({$numbers})" : $numbers;
     }
     $rec[last] = ceil($zagotovokvsego / $zagotinparty) <= $party;
     // реорганизуем для запонения сл одной строчкой
     $rec[number] = sprintf("%08d", $lanch_id);
     $platonblock = $zagotovokvsego * $platonblock;
     $rec[numonzag] = "{$rec[platonblock]} ({$platonblock})";
     $rec[znumbers] = "{$zag} ({$zagotovokvsego})";
     $rec[marktype] = stristr($rec[mark], multibyte::UTF_encode('PR')) ? multibyte::UTF_encode('Маркировка на PRINTARе') : multibyte::UTF_encode('Фотомаркировка');
     $rec[phm1] = strstr($rec[mark], '1') || strstr($rec[mark], '2') ? "+" : "-";
     $rec[phm2] = strstr($rec[mark], '2') ? "+" : "-";
     $rec[rmark] = $rec[rmark] == '1' ? "+" : "-";
     $rec[sizex] = ceil($rec[sizex]);
     $rec[sizey] = ceil($rec[sizey]);
     $rec[dataz] = date("d.m.Y");
     $rec[tolsh] = $tolsh;
     $rec[spm] = strstr($rec[mask], multibyte::UTF_encode('КМ')) ? "+" : "-";
     $rec[zhpm] = strstr($rec[mask], multibyte::UTF_encode('ЖМ')) ? "+" : "-";
     $rec[immer] = $rec[immer] == '1' ? "+" : "-";
     $rec[priempz] = strstr($priem, multibyte::UTF_encode('ПЗ')) ? "+" : "-";
     $rec[priemotk] = '+';
     // всегда
     $rec[copperc] = sprintf("%3.2f", $rec[copperc] / 10000);
     $rec[coppers] = sprintf("%3.2f", $rec[coppers] / 10000);
     $rec[lamel] = $rec[numlam] > 0 ? "+" : "-";
     // прокоментируем сопроводительный лист
     $rec[dozapcoment] = $rec[dozap] === true ? multibyte::UTF_encode('ДОЗАПУСК') : ($rec[dozap] == "zadel" ? multibyte::UTF_encode('ИЗ ЗАДЕЛА') : '');
     $rec[comment] = $rec[comment1] . " " . $rec[comment2] . " " . $rec[dozapcoment];
     $rec = array_merge($rec, compact('ppart', 'part', 'zagotovokvsego', 'zag'));
     return $rec;
 }
示例#13
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;
 }
示例#14
0
 public function __construct()
 {
     parent::__construct();
     $this->maintable = 'phototemplates';
 }
示例#15
0
 public function setRecord($data)
 {
     extract($data);
     // в скрытых параметрах формы есть идентификатор коментария, заберем текущий и заменим в нем собственно коментарий
     $param = json_decode(multibyte::Unescape($this->getComment($comment_id)), true);
     $param["class"] = $data["class"];
     $param[basemat] = $data["basemat"];
     $param[sttkan] = $data["sttkan"];
     $param[sttkankl] = $data["sttkankl"];
     $param[sttkanrasp] = $data["sttkanrasp"];
     $param[rtolsh] = $data["rtolsh"];
     $param[filext] = $data["filext"];
     $param[elkon] = $data["elkon"];
     for ($i = 1; $i < 11; $i++) {
         $param["sl{$i}"] = $data["sl{$i}"];
         $param["pr{$i}"] = $data["pr{$i}"];
         $param["mat{$i}"] = $data["mat{$i}"];
     }
     $param["coment"] = $comment;
     $data["comment_id"] = $this->getCommentId(multibyte::Json_encode(multibyte::recursiveEscape($param)));
     return parent::setRecord($data);
 }
示例#16
0
 /**
  * Добавляет к блоку данные о проводниках и зазорах
  */
 public function wideandgap($rec)
 {
     $rec = multibyte::cp1251_to_utf8($rec);
     // TODO duble code
     // update block size
     extract($rec);
     $sql = "SELECT id FROM customers WHERE customer='{$customer}'";
     $rs = sql::fetchOne($sql);
     if (empty($rs)) {
         $sql = "INSERT INTO customers (customer) VALUES ('{$customer}')";
         sql::query($sql);
         $customer_id = sql::lastId();
     } else {
         $customer_id = $rs[id];
     }
     $sql = "SELECT id,comment_id FROM blocks WHERE customer_id='{$customer_id}' AND blockname='{$board}'";
     $rs = sql::fetchOne($sql);
     if (!empty($rs)) {
         $params = json_decode(multibyte::Unescape(sqltable_model::getComment($rs["comment_id"])), true);
         //получим текщий комент
         $params["wideandgaps"] = update_model::parsexstring($wideandgaps);
         $comment_id = sqltable_model::getCommentId(multibyte::Json_encode(multibyte::recursiveEscape($params)));
         $id = $rs["id"];
         $sql = "UPDATE blocks SET comment_id='{$comment_id}' WHERE id='{$id}'";
         sql::query($sql);
         echo json_encode($params);
     }
     /* если не нашелся такой блок, то не понятно как вызывался метод, блок создается раньше вызовом coppers и другими
      * wideandgaps вызывается для готовых блоков, не вижу смысла отрабатывать ситуацию когда блока нет
      */
 }
示例#17
0
 public function setRecord($data)
 {
     $data["comment_id"] = $this->getCommentId($data["comment"]);
     return parent::setRecord($data);
 }
示例#18
0
 public function __construct()
 {
     parent::__construct();
     $this->maintable = 'conductors';
 }
示例#19
0
 public function setRecord($data)
 {
     extract($data);
     $data["fio"] = "{$f} {$i} {$o}";
     return parent::setRecord($data);
 }
示例#20
0
文件: model.class.php 项目: GGF/baza4
 public function __construct()
 {
     parent::__construct();
     $this->maintable = 'users__settings_types';
 }
示例#21
0
 public function __construct()
 {
     parent::__construct();
     $this->maintable = 'customers';
 }