1
label.php in trunk/web/include/doc/printforms/realizaciya – MultiMag

source: trunk/web/include/doc/printforms/realizaciya/label.php @ 986

Last change on this file since 986 was 986, checked in by blacklight, 8 months ago
  • Добвлен вывод печати организации в печатную форму коммерческого предложения
  • Проведён рефакторинг печатных форм документов
File size: 4.9 KB
Line 
1<?php
2
3//      MultiMag v0.2 - Complex sales system
4//
5//      Copyright (C) 2005-2018, BlackLight, TND Team, http://tndproject.org
6//
7//      This program is free software: you can redistribute it and/or modify
8//      it under the terms of the GNU Affero General Public License as
9//      published by the Free Software Foundation, either version 3 of the
10//      License, or (at your option) any later version.
11//
12//      This program is distributed in the hope that it will be useful,
13//      but WITHOUT ANY WARRANTY; without even the implied warranty of
14//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15//      GNU Affero General Public License for more details.
16//
17//      You should have received a copy of the GNU Affero General Public License
18//      along with this program.  If not, see <http://www.gnu.org/licenses/>.
19//
20
21namespace doc\printforms\realizaciya;
22
23class label extends \doc\printforms\iPrintFormPdf {
24
25    protected $show_agent = 0;  ///< Выводить ли информацию о агенте-покупателе
26    protected $show_disc = 1;   ///< Выводить ли информацию о скидках
27    protected $show_kkt = 1;    ///< Выводить ли информацию о работе без использования ККТ
28
29    /// Возвращает имя документа
30    public function getName() {
31        return "Транспортные этикетки";
32    }
33
34    /// Сформировать данные печатной формы
35    public function make() {
36        global $db;
37        $doc_data = $this->doc->getDocDataA();
38        $dop_data = $this->doc->getDopDataA();
39        $firm_vars = $this->doc->getFirmVarsA();
40       
41        $this->addPage();
42
43        $gruzop_info = new \models\agent($dop_data['gruzop']);
44        $gruzop = '';
45        if ($gruzop_info) {
46            if ($gruzop_info->fullname) {
47                $gruzop.=$gruzop_info->fullname;
48            } else {
49                $gruzop.=$gruzop_info->name;
50            }
51            if ($gruzop_info->inn) {
52                $gruzop.=', ИНН ' . $gruzop_info->inn;
53            }
54            if ($gruzop_info->adres) {
55                $gruzop.=', адрес ' . $gruzop_info->adres;
56            }
57            if ($gruzop_info->getPhone()) {
58                $gruzop.=', тел. ' . $gruzop_info->getPhone();
59            }
60        } else {
61            $gruzop = 'не задан';
62        }
63
64        $maker = '';
65        if ($dop_data['kladovshik']) {
66            $res = $db->query("SELECT `worker_real_name`, `worker_phone`, `worker_email`, `worker_post_name` FROM `users_worker_info` WHERE `user_id`='{$dop_data['kladovshik']}'");
67
68            if ($res->num_rows) {
69                $author_info = $res->fetch_assoc();
70
71                $maker = $author_info['worker_real_name'];
72                if ($author_info['worker_phone']) {
73                    $maker .= ", тел: " . $author_info['worker_phone'];
74                }
75                if ($author_info['worker_email']) {
76                    $maker .= ", email: " . $author_info['worker_email'];
77                }
78            }
79        } else {
80            throw new \Exception("Кладовщик не задан");
81        }
82
83        $pack_cnt = $dop_data['mest'];
84
85        $this->pdf->SetFont('Arial', '', 10);
86        $str = "Этикетки к накладной N {$doc_data['altnum']}{$doc_data['subtype']}, от " . date("d.m.Y", $doc_data['date']);
87        $this->pdf->CellIconv(0, 6, $str, 0, 1, 'C');
88        $this->pdf->ln(10);
89
90        $this->pdf->SetMargins(15, 15, 15);
91        $this->pdf->SetFont('', '', 12);
92        $this->pdf->SetLineWidth(0.2);
93        $cell_height = 0;
94        for ($c = 1; $c <= $pack_cnt; $c++) {
95            if($c>1) {
96                $this->controlPageBreak(5);
97            }
98            $start = $this->pdf->y - 5;
99            $this->pdf->ln(0);
100            $str = "Отправитель: {$firm_vars['firm_gruzootpr']}, ИНН: {$firm_vars['firm_inn']}, тел.: {$firm_vars['firm_telefon']}";
101            $this->pdf->MultiCellIconv(0, 4.5, $str, 0, 'L');
102
103            $this->pdf->ln(2);
104            $str = "Грузополучатель: " . $gruzop;
105            $this->pdf->MultiCellIconv(0, 4.5, $str, 0, 'L');
106
107            $this->pdf->ln(2);
108            $str = "Комплектовщик: " . $maker;
109            $this->pdf->MultiCellIconv(0, 4.5, $str, 0, 'L');
110
111            $this->pdf->ln(2);
112            $str = "Место: $c. Всего мест: $pack_cnt. Упаковано: " . date("d.m.Y H:i") . ". Накладная {$doc_data['altnum']}{$doc_data['subtype']}, от " . date("d.m.Y", $doc_data['date']);
113            $this->pdf->MultiCellIconv(0, 4.5, $str, 0, 'L');
114
115            $this->pdf->ln(5);
116            $end = $this->pdf->y;
117            if($c==1) {
118                $cell_height = $end - $start;
119            }
120            $this->pdf->Rect(10, $start, 190, $end - $start);
121            $this->pdf->Rect(9, $start - 1, 192, $end - $start + 2);
122            $this->pdf->ln(10);
123        }
124
125    }
126
127}
Note: See TracBrowser for help on using the repository browser.