Ejemplo n.º 1
0
    static function open_in_tbl($kp_id)
    {
        $arr = self::fetch_kp_rows($kp_id);
        //echo '<pre>';print_r($arr);echo '</pre>';
        //exit;
        $glob_counter = 0;
        $mst_btn_summ = 0;
        $service_row[0] = array('quantity' => '', 'price_in' => '', 'price_out' => '', 'row_status' => '', 'glob_status' => '');
        foreach ($arr as $key => $row) {
            $glob_counter++;
            // Проходим по первому уровню и определям некоторые моменты отображения таблицы, которые будут применены при проходе по второму
            // уровню массива, ряды таблицы будут создаваться там
            // если товарная позиция имеет больше одного варианта расчета вставляем пустой ряд вверх
            // echo '<pre>'; print_r($row['dop_data']); echo '</pre>';
            if (isset($row['dop_data']) && count($row['dop_data']) > 1) {
                $row['dop_data'] = $service_row + $row['dop_data'];
            }
            // здесь мы определяем значение для атрибута rowspan тегов td которые будут выводится единой ячейкой для всей товарной позиции
            $row_span = count($row['dop_data']);
            $counter = 0;
            // echo '<pre>'; print_r($row['dop_data']); echo '</pre>---';
            // Проходим в цикле по второму уровню массива($row['dop_data']) на основе которого строится основной шаблон таблицы
            foreach ($row['dop_data'] as $dop_key => $dop_row) {
                // определяем какие расчеты будут учитываться в конечных суммах а какие нет и их отображение в таблице
                // json_decode($row['details']);
                if ($dop_key != 0) {
                    $expel = array("main" => 0, "print" => 0, "dop" => 0);
                    if (@$dop_row['expel'] != '') {
                        $obj = @json_decode($dop_row['expel']);
                        foreach ($obj as $expel_key => $expel_val) {
                            $expel[$expel_key] = $expel_val;
                        }
                    }
                    //echo '<br />'; print_r($expel);
                    // работаем с информацией о дополнительных услугах определяя что будет выводиться и где
                    // 1. определяем данные описывающие варианты нанесения логотипа, они хранятся в $dop_row['dop_uslugi']['print']
                    if (isset($dop_row['dop_uslugi']['print'])) {
                        // если $dop_row['dop_uslugi']['print'] есть выводим данные о нанесениях
                        $summ_in = $summ_out = array();
                        foreach ($dop_row['dop_uslugi']['print'] as $extra_data) {
                            $summ_in[] = $extra_data['quantity'] * $extra_data['price_in'];
                            $extra_data['price_out'] = $extra_data['discount'] != 0 ? $extra_data['price_out'] / 100 * (100 + $extra_data['discount']) : $extra_data['price_out'];
                            $summ_out[] = $extra_data['quantity'] * $extra_data['price_out'];
                        }
                        $print_btn = '<span>' . count($dop_row['dop_uslugi']['print']) . '</span>';
                        $print_in_summ = array_sum($summ_in);
                        $print_out_summ = array_sum($summ_out);
                    } else {
                        // если данных по печати нет то проверяем - выводим кнопку добавление нанесения
                        $print_btn = '<span>+</span>';
                        $print_in_summ = 0;
                        $print_out_summ = 0;
                    }
                    // 2. определяем данные описывающие варианты дополнительных услуг, они хранятся в $dop_row['dop_uslugi']['extra']
                    if (isset($dop_row['dop_uslugi']['extra'])) {
                        // если $dop_row['dop_uslugi']['extra'] есть выводим данные о дополнительных услугах
                        $summ_in = $summ_out = array();
                        foreach ($dop_row['dop_uslugi']['extra'] as $extra_data) {
                            $summ_in[] = $extra_data['for_how'] == 'for_all' ? $extra_data['price_in'] : $extra_data['quantity'] * $extra_data['price_in'];
                            $extra_data['price_out'] = $extra_data['discount'] != 0 ? $extra_data['price_out'] / 100 * (100 + $extra_data['discount']) : $extra_data['price_out'];
                            $summ_out[] = $extra_data['for_how'] == 'for_all' ? $extra_data['price_out'] : $extra_data['quantity'] * $extra_data['price_out'];
                        }
                        $dop_uslugi_btn = '<span>' . count($dop_row['dop_uslugi']['extra']) . '</span>';
                        $dop_uslugi_in_summ = array_sum($summ_in);
                        $dop_uslugi_out_summ = array_sum($summ_out);
                    } else {
                        $dop_uslugi_btn = '<span>+</span>';
                        $dop_uslugi_in_summ = 0;
                        $dop_uslugi_out_summ = 0;
                    }
                    // подсчет сумм в ряду
                    $price_out = $dop_row['discount'] != 0 ? $dop_row['price_out'] / 100 * (100 + $dop_row['discount']) : $dop_row['price_out'];
                    // 1. подсчитываем входящую сумму
                    $price_in_summ = $dop_row['quantity'] * $dop_row['price_in'];
                    $in_summ = $price_in_summ;
                    if (!!!$expel["print"]) {
                        $in_summ += $print_in_summ;
                    }
                    if (!!!$expel["dop"]) {
                        $in_summ += $dop_uslugi_in_summ;
                    }
                    // 2. подсчитываем исходящую сумму
                    $price_out_summ = $dop_row['quantity'] * $price_out;
                    $out_summ = $price_out_summ;
                    if (!!!$expel["print"]) {
                        $out_summ += $print_out_summ;
                    }
                    if (!!!$expel["dop"]) {
                        $out_summ += $dop_uslugi_out_summ;
                    }
                    $delta = $out_summ - $in_summ;
                    $margin = $out_summ - $in_summ;
                    $price_in_summ_format = number_format($price_in_summ, '2', '.', '');
                    $price_out_summ_format = number_format($price_out_summ, '2', '.', '');
                    $print_in_summ_format = number_format($print_in_summ, '2', '.', '');
                    $print_out_summ_format = number_format($print_out_summ, '2', '.', '');
                    $dop_uslugi_in_summ_format = number_format($dop_uslugi_in_summ, '2', '.', '');
                    $dop_uslugi_out_summ_format = number_format($dop_uslugi_out_summ, '2', '.', '');
                    $in_summ_format = number_format($in_summ, '2', '.', '');
                    $out_summ_format = number_format($out_summ, '2', '.', '');
                    $delta_format = number_format($delta, '2', '.', '');
                    $margin_format = number_format($margin, '2', '.', '');
                    // если ряд не исключен из расчетов добавляем значения в итоговый ряд
                    if (!!!$expel["main"]) {
                        @($total['price_in_summ'] += $price_in_summ);
                        @($total['price_out_summ'] += $price_out_summ);
                        if (!!!$expel["print"]) {
                            @($total['print_in_summ'] += $print_in_summ);
                        }
                        if (!!!$expel["print"]) {
                            @($total['print_out_summ'] += $print_out_summ);
                        }
                        if (!!!$expel["dop"]) {
                            @($total['dop_uslugi_in_summ'] += $dop_uslugi_in_summ);
                        }
                        if (!!!$expel["dop"]) {
                            @($total['dop_uslugi_out_summ'] += $dop_uslugi_out_summ);
                        }
                        @($total['in_summ'] += $in_summ);
                        @($total['out_summ'] += $out_summ);
                    }
                    $img_design_path = HOST . '/skins/images/img_design/';
                    $currency = 'р';
                    $quantity_dim = 'шт';
                    $discount = $dop_row['discount'] . '%';
                    $srock_sdachi = implode('.', array_reverse(explode('-', $dop_row['shipping_date'])));
                    if ($srock_sdachi == '00.00.0000') {
                        $srock_sdachi = '';
                    }
                    $expel_class_main = $expel['main'] == '1' ? ' red_cell' : '';
                    $expel_class_print = $expel['print'] == '1' ? ' red_cell' : '';
                    $expel_class_dop = $expel['dop'] == '1' ? ' red_cell' : '';
                } else {
                    $expel = array("main" => 0, "print" => 0, "dop" => 0);
                    $currency = $print_btn = $dop_uslugi_btn = '';
                    $price_out = $price_in_summ_format = $price_out_summ_format = $print_in_summ_format = $print_out_summ_format = '';
                    $dop_uslugi_in_summ_format = $dop_uslugi_out_summ_format = $in_summ_format = $out_summ_format = '';
                    $delta_format = $margin_format = $expel_class_main = $expel_class_print = $expel_class_dop = $quantity_dim = $discount = $srock_sdachi = $print_exists_flag = '';
                }
                $men_text_details_arr = isset($dop_row['dop_men_text_details']) && $dop_row['dop_men_text_details'] != '' ? explode('|', $dop_row['dop_men_text_details']) : array(0, 0);
                if ($row['row_type'] == 'cat') {
                    $extra_panel = '<div class="pos_plank cat">
								   <a href="?page=client_folder&section=rt_position&id=' . $key . '">' . $row['art'] . '</a>
								   <div class="pos_link_plank">
									  <div class="catalog">
										  <a id="" href="/?page=description&id=' . $row['art_id'] . '" target="_blank" onmouseover="change_href(this);return false;">APL</a>
									  </div>
									  <div class="supplier">
										   ' . identify_supplier_by_prefix($row['art']) . '
									  </div>
								   </div>
								 </div>
								 <div>' . $row['name'] . '</div>';
                } else {
                    $extra_panel = '<div class="pos_plank pol">
								   <a href="?page=client_folder&section=rt_position&id=' . $key . '">' . $row['name'] . '</a>
								 </div>';
                }
                $cur_row = '';
                $cur_row .= '<tr ' . ($counter == 0 ? 'pos_id="' . $key . '" type="' . $row['row_type'] . '"' : '') . ' row_id="' . $dop_key . '" art_id="' . $row['art_id'] . '" class="' . ($key > 1 && $counter == 0 ? 'pos_edge ' : '') . (count($row['dop_data']) - 1 == $counter ? 'lowest_row_in_pos ' : '') . '">';
                $cur_row .= $counter == 0 ? '<td rowspan="' . $row_span . '" type="glob_counter" class="top glob_counter" width="30">' . $glob_counter . '</td>' : '';
                $cur_row .= $counter == 0 ? '<td rowspan="' . $row_span . '" class="hidden">' . $dop_key . '</td>' : '';
                $cur_row .= $counter == 0 ? '<td rowspan="' . $row_span . '" class="hidden">' . $row['row_type'] . '</td>' : '';
                $cur_row .= $counter == 0 ? '<td rowspan="' . $row_span . '" width="270" type="name" class="top">' . $extra_panel . '</td>' : '';
                $cur_row .= '<td width="30" style="position:relative;"><div class="comment_div" data-href="?page=client_folder&section=rt_position&id=' . $men_text_details_arr[0] . '&client_id=' . $_GET['client_id'] . '" data-id="' . $men_text_details_arr[1] . '"></div></td>
			               <td width="60" class="right">' . $dop_row['quantity'] . '</td>
						   <td width="20" class="r_border left quantity_dim">' . $quantity_dim . '</td>
						   <td width="90" type="price_in" connected_vals="art_price" c_stat="1" class="in right">' . $dop_row['price_in'] . '</td>
						   <td width="15" connected_vals="art_price" c_stat="1" class="currency left">' . $currency . '</td>
						   <td width="90" type="price_in_summ" connected_vals="art_price" c_stat="0" class="in right hidden">' . $price_in_summ_format . '</td>
						  
						   <td width="15" connected_vals="art_price" c_stat="0" class="currency left hidden">' . $currency . '</td>
						   <td width="40" class="center">' . $discount . '</td>
						   <td width="90"  connected_vals="art_price" c_stat="1" class="out right">' . $price_out . '</td>
						   <td width="15" class="currency left r_border" connected_vals="art_price" c_stat="1" >' . $currency . '</td>
						   <td width="90" connected_vals="art_price" c_stat="0" class="out right hidden">' . $price_out_summ_format . '</td>
						   <td width="15" connected_vals="art_price" c_stat="0" class="currency left r_border hidden">' . $currency . '</td>
						   <td width="25" class="calc_btn_no_active">' . $print_btn . '</td>
			               <td width="80" connected_vals="print" c_stat="0" class="test_data in hidden ' . $expel_class_print . '">' . $print_in_summ_format . $currency . '</td> 
			               <td width="80" connected_vals="print" c_stat="1" class="out ' . $expel_class_print . '">' . $print_out_summ_format . $currency . '</td>
			               <td width="25" class="calc_btn_no_active">' . $dop_uslugi_btn . '</td>';
                $cur_row .= '<td width="80" connected_vals="uslugi" c_stat="0" class="test_data r_border in hidden ' . $expel_class_dop . '">' . $dop_uslugi_in_summ_format . $currency . '</td>';
                $cur_row .= '<td width="80" connected_vals="uslugi" c_stat="1"  class="out r_border ' . $expel_class_dop . '">' . $dop_uslugi_out_summ_format . $currency . '</td>
						   <td width="100" connected_vals="total_summ" c_stat="0" class="in right hidden ' . $expel_class_main . '">' . $in_summ_format . '</td>
						   <td width="15" connected_vals="total_summ" c_stat="0" class="currency hidden r_border ' . $expel_class_main . '">' . $currency . '</td>
						   <td width="100" connected_vals="total_summ" c_stat="1" class="out right ' . $expel_class_main . '">' . $out_summ_format . '</td>
						   <td width="15" connected_vals="total_summ" c_stat="1" class="currency r_border left ' . $expel_class_main . '">' . $currency . '</td>
						   <td width="70" class="grey r_border center">' . $srock_sdachi . '</td>
						   <td width="80" type="delta" class="right">' . $delta_format . '</td>
						   <td width="10" class="left">' . $currency . '</td>
						   <td width="80" type="margin" class="right">' . $margin_format . '</td>
						   <td width="10" class="left">' . $currency . '</td>
						   <td stretch_column>&nbsp;</td>';
                $cur_row .= '<td ></td>';
                $cur_row .= '</tr>';
                // загружаем сформированный ряд в итоговый массив
                $tbl_rows[] = $cur_row;
                $counter++;
            }
        }
        $rt = '<table class="rt_tbl_head" id="rt_tbl_head" scrolled="head" style="width: 100%;" border="0">
	          <tr class="w_border cap">
			      <td width="30"></td>
	              <td class="hidden"></td>
				  <td class="hidden">тип</td>
				  <td width="270" class="right"></td>
				  <td width="30"></td>
				  <td width="60" class="right">тираж</td>
				  <td width="20" class="r_border"></td>
				  <td width="90" connected_vals="art_price" c_stat="1" class="grey w_border  right pointer">$ товара<br /><span class="small">входящая штука</span></td>
				  <td width="15" connected_vals="art_price" c_stat="1" class="grey w_border"></td>
				  <td width="90" connected_vals="art_price" c_stat="0" class="grey w_border right hidden pointer">$ товара<br /><span class="small">входящая тираж</span></td>
				  <td width="15" connected_vals="art_price" c_stat="0" class="grey w_border hidden"></td>
				  <td width="40" class="grey w_border">наценка</td>
				  <td width="90" connected_vals="art_price" c_stat="1" class="grey w_border right pointer">$ товара<br /><span class="small">исходящая штука</span></td>
				  <td width="15" connected_vals="art_price" c_stat="1" class="grey w_border r_border"></td>
				  <td width="90" connected_vals="art_price" c_stat="0" class="grey w_border right pointer hidden">$ товара<br /><span class="small">исходящая тираж</span></td>
				  <td width="15" connected_vals="art_price" c_stat="0" class="grey w_border r_border hidden"></td>
				  <td width="25"></td>
	              <td width="80" connected_vals="print" c_stat="0" class="pointer hidden">$ печать<br /><span class="small">входящая тираж</span></td> 	  
			      <td width="80" connected_vals="print" c_stat="1" class="pointer">$ печать<br /><span class="small">исходящая тираж</span></td>
			      <td width="25"></td>';
        $rt .= '<td width="80"  connected_vals="uslugi" c_stat="0" class="pointer r_border hidden">$ доп. услуги<br /><span class="small">входящая тираж</span></td> 
			      <td width="80"  connected_vals="uslugi" c_stat="1" class="out pointer r_border">$ доп. услуги<br /><span class="small">исходящая тираж</span></td>
				  <td width="100" connected_vals="total_summ" c_stat="0" class="pointer hidden center">итого<br /><span class="small">входящая</span></td>
				  <td width="15" connected_vals="total_summ" c_stat="0" class="hidden r_border"></td>
				  <td width="100" connected_vals="total_summ" c_stat="1" class="pointer center">итого<br /><span class="small">исходящая</span></td>
				  <td width="15" connected_vals="total_summ" c_stat="1" class="r_border"></td>
				  <td width="70" class="center grey r_border">срок сдачи</td>
				  <td width="80" class="center">delta</td>
				  <td width="10"></td>
				  <td width="80"  class="center">маржина-<br />льность</td>
				  <td width="10"></td>
				  <td stretch_column>&nbsp;</td>
                  <td width="70">статус</td>';
        $rt .= '</tr>
	           <tr row_id="total_row" class="grey bottom_border">
			      <td width="30" height="18"></td>
	              <td class="hidden"></td>
				  <td class="hidden"></td>
				  <td class="hidden"></td>
				  <td></td>
				  <td class="right"></td>
				  <td></td>
				  <td width="20" class="r_border"></td>
				  <td connected_vals="art_price" c_stat="1"></td>
				  <td width="15" connected_vals="art_price" c_stat="1"></td>
				  <td type="price_in_summ" connected_vals="art_price" c_stat="0" class="right hidden">' . number_format(@$total['price_in_summ'], '2', '.', '') . '</td>
				  <td width="15" connected_vals="art_price" c_stat="0" class="hidden">р</td>
				  <td width="40" class=""></td>
				  <td connected_vals="art_price" c_stat="1"></td>
				  <td width="15" connected_vals="art_price" c_stat="1" class="r_border"></td>
				  <td type="price_out_summ" connected_vals="art_price" c_stat="0" class="right hidden">' . number_format(@$total['price_out_summ'], '2', '.', '') . '</td>
				  <td width="15" connected_vals="art_price" c_stat="0" class="r_border hidden">р</td>
				  <td></td>
	              <td type="print_in_summ" connected_vals="print" c_stat="0" class="hidden">' . number_format(@$total['print_in_summ'], '2', '.', '') . 'р</td> 		  
			      <td type="print_out_summ" connected_vals="print" c_stat="1">' . number_format(@$total['print_out_summ'], '2', '.', '') . 'р</td>
			      <td></td>';
        $rt .= '<td width="80" type="dop_uslugi_in_summ" connected_vals="uslugi" c_stat="0"  class="r_border hidden">' . number_format(@$total['dop_uslugi_in_summ'], '2', '.', '') . 'р</td> 
			      <td width="80" type="dop_uslugi_out_summ" connected_vals="uslugi" c_stat="1" class="out r_border">' . number_format(@$total['dop_uslugi_out_summ'], '2', '.', '') . 'р</td>
			      <td width="100" type="in_summ" connected_vals="total_summ" c_stat="0" class="right hidden">' . number_format(@$total['in_summ'], '2', '.', '') . '</td>
				  <td width="15" connected_vals="total_summ" c_stat="0" class="left hidden r_border">р</td>
				  <td width="100" type="out_summ" connected_vals="total_summ" c_stat="1" class="right">' . number_format(@$total['out_summ'], '2', '.', '') . '</td>
				  <td width="15" connected_vals="total_summ" c_stat="1" class="left r_border">р</td>
				  <td width="70" class="grey r_border"></td>
				  <td width="80" type="delta" class="right">' . number_format(@$total['out_summ'] - @$total['in_summ'], '2', '.', '') . '</td>
				  <td width="10" class="left">р</td>
				  <td width="80" type="margin" class="right">' . number_format(@$total['out_summ'] - @$total['in_summ'], '2', '.', '') . '</td>
				  <td width="10" class="left">р</td>
				  <td stretch_column></td>
                  <td></td>';
        $rt .= '</tr>
				  </table>
				  <div id="scrolled_part_container" class="scrolled_tbl_movable_part">
				  <table class="rt_tbl_body" id="rt_tbl_body" scrolled="body" border="0">' . implode('', $tbl_rows) . '</table>
				  </div>';
        return $rt;
    }
Ejemplo n.º 2
0
 private function check_exists_articul_AJAX()
 {
     $html = '';
     if (strlen($_POST['art']) < 4) {
         $html .= '<div class="inform_message red">Количество символов в артикуле должно быть не менее 4 (четырёх) символов.</div>';
         echo '{"response":"OK","html":"' . base64_encode($html) . '"}';
         exit;
     }
     $html .= '<form>';
     // делаем запрос в базу по артикулу
     $art_arr = $this->search_articule_Database($_POST['art']);
     // получаем количесвто найденных совпадений
     $count = count($art_arr);
     switch ($count) {
         case 1:
             // всё впорядке, мы нашли то, что искали
             $html .= '<div class="inform_message">Найдено <strong>одно</strong> совпадение</div>';
             $html .= '<table id="choose_one_of_several_articles">';
             $html .= '<tr>';
             $html .= '<th>п</th>';
             $html .= '<th>Арт.</th>';
             $html .= '<th>Название</th>';
             $html .= '<th>Поставщик</th>';
             $html .= '<th>Апл</th>';
             $html .= '</tr>';
             $n = 1;
             $html .= '<tr data-art_id="' . $art_arr[0]['id'] . '"  data-art_name="' . $art_arr[0]['name'] . '" data-art="' . $art_arr[0]['art'] . '" class="checked">';
             $html .= '<td>' . $n++ . '</td>';
             $html .= '<td>' . $art_arr[0]['art'] . '</td>';
             $html .= '<td>' . $art_arr[0]['name'] . '</td>';
             $html .= '<td>' . identify_supplier_by_prefix($art_arr[0]['art']) . '</td>';
             $html .= '<td><a target="_blank" href="http://www.apelburg.ru/description/' . $art_arr[0]['id'] . '/">на сайт</a></td>';
             $html .= '</tr>';
             // добавляем полное описание артикула
             if (trim($art_arr[0]['description']) != '') {
                 $html .= '<tr>';
                 $html .= '<td colspan="5">';
                 $html .= '<div>' . $art_arr[0]['description'] . '</div>';
                 $html .= '</td>';
                 $html .= '</tr>';
             }
             $html .= '</table>';
             // добавляем скрытые поля
             $html .= '<input type="hidden" name="AJAX" value="insert_in_database_new_catalog_position">';
             $html .= '<input type="hidden" name="art_id" value="' . $art_arr[0]['id'] . '">';
             $html .= '<input type="hidden" name="art" value="' . $art_arr[0]['art'] . '">';
             $html .= '<input type="hidden" name="art_name" value="' . $art_arr[0]['name'] . '">';
             $html .= '</form>';
             break;
         case 0:
             // мы ненашли ничего
             $html = '<div class="inform_message red">Такого артикула нет в базе. Попробуйте ввести другое значение.</div>';
             break;
         default:
             // мы нашли более одного совпадения
             $html .= '<div class="inform_message">Найдено <strong>' . $count . '</strong> совпадения(й). Пожалуйста уточните Ваш запрос.</div>';
             $html .= '<table id="choose_one_of_several_articles">';
             $html .= '<tr>';
             $html .= '<th>п</th>';
             $html .= '<th>Арт.</th>';
             $html .= '<th>Название</th>';
             $html .= '<th>Поставщик</th>';
             $html .= '<th>Апл</th>';
             $html .= '</tr>';
             $n = 1;
             foreach ($art_arr as $key => $articul) {
                 $html .= '<tr data-art_id="' . $articul['id'] . '" data-art_name="' . $articul['name'] . '" data-art="' . $articul['art'] . '" ' . ($key == 0 ? 'class="checked"' : '') . '>';
                 $html .= '<td>' . $n++ . '</td>';
                 $html .= '<td>' . $articul['art'] . '</td>';
                 $html .= '<td>' . $articul['name'] . '</td>';
                 $html .= '<td>' . identify_supplier_by_prefix($articul['art']) . '</td>';
                 $html .= '<td><a target="_blank" href="http://www.apelburg.ru/description/' . $articul['id'] . '/">на сайт</a></td>';
                 $html .= '</tr>';
             }
             $html .= '</table>';
             // добавляем скрытые поля
             $html .= '<input type="hidden" name="AJAX" value="insert_in_database_new_catalog_position">';
             $html .= '<input type="hidden" name="art_id" value="' . $art_arr[0]['id'] . '">';
             $html .= '<input type="hidden" name="art_name" value="' . $art_arr[0]['name'] . '">';
             $html .= '<input type="hidden" name="art" value="' . $art_arr[0]['art'] . '">';
             $html .= '</form>';
             break;
     }
     echo '{"response":"OK","html":"' . base64_encode($html) . '"}';
 }
Ejemplo n.º 3
0
 private function table_order_positions_rows_for_design_Html()
 {
     //$this->position_item
     // получаем массив позиций
     $positions_rows = $this->positions_rows_Database($this->specificate['id']);
     $this->number_of_positions = count($positions_rows);
     $html = '';
     $html_row_1 = '';
     // формируем строки позиций	(перебор позиций)
     $n = 0;
     foreach ($positions_rows as $key => $this->position) {
         $this->Position_status_list = array();
         // в переменную заложим все статусы
         $this->id_dop_data = $this->position['id_dop_data'];
         // ТЗ на изготовление продукцию для НЕКАТАЛОГА
         // для каталога и НЕкаталога способы хранения и получения данной информации различны
         // $this->no_cat_TZ = '';
         // if(trim($this->position['type'])!='cat'){
         // 	// доп инфо по некаталогу берём из json
         // 	$this->no_cat_TZ = $this->decode_json_no_cat_to_html($this->position);
         // }
         // получаем массив услуг по позиции
         $this->position_services_arr = $this->get_order_dop_uslugi($this->id_dop_data);
         // выборка только массива услуг дизайна
         $this->services_design = $this->get_dop_services_for_production($this->position_services_arr, 9);
         // выборка только массива услуг производства
         $this->services_production = $this->get_dop_services_for_production($this->position_services_arr, 4);
         // выборка услуг оутсорс (которые ведёт снабжение)
         $this->services_production_snab = $this->get_dop_services_for_production($this->position_services_arr, 8);
         $this->services_num = count($this->services_design);
         $n++;
         // если услуг для производства в данной позиции нет - переходм к следующей
         if ($this->services_num == 0) {
             continue;
         }
         if (isset($_GET['subsection']) && $_GET['subsection'] == 'design_films_and_cliches') {
             if ($this->check_the_status_films(array('нужно делать', 'перевывод', 'готовы к отправке', 'отправлены на фотовывод', 'клише заказано'))) {
                 continue;
             }
         }
         // плёнки клише
         $html_row_5 = '<td class="show-backlight" rowspan="' . $this->services_num . '">';
         // подрядчик печати
         $html_row_5 .= $this->position['suppliers_name'];
         // пленки / клише
         $film_and_cliches = $this->get_film_and_cliches();
         $html_row_5 .= $film_and_cliches;
         $html_row_5 .= '</td>';
         // // порядковый номер позиции в заказе
         $html_row_1 = '<td rowspan="' . $this->services_num . '"><span class="orders_info_punct">' . $this->position['sequence_number'] . 'п<br>(' . $this->Order['number_of_positions'] . ')</span></td>';
         // // описание позиции
         $html_row_1 .= '<td  rowspan="' . $this->services_num . '" >';
         $html_row_1 .= '<div style="position:relative">';
         // вставляем номер заказа
         $html_row_1 .= '№ ' . $this->order_num_for_User . '<br>';
         // наименование товара
         $html_row_1 .= '<span class="art_and_name">' . $this->position['art'] . '  ' . $this->position['name'] . '</span>';
         // описание некаталожной продукции
         // $html_row_1 .= $this->no_cat_TZ;
         // места нанесения
         $html_row_1 .= $this->get_service_printing_list();
         $html_row_1 .= 'Тираж: ' . $this->position['quantity'] . ' шт.';
         // добавляем доп описание
         if ($this->position['type'] == 'cat') {
             $html_row_1 .= '<div>';
             $html_row_1 .= '<input type="button" class="get_size_table_read" data-id_dop_data="' . $this->position['quantity'] . '" data-position_id="' . $this->position['id'] . '" value="Подробно" >';
             $html_row_1 .= '</div>';
         } else {
             $disabled_command_edit_tz = $this->user_access != 1 && $this->user_access != 8 && $this->user_access != 9 ? 'disabled ' : '';
             $html_row_1 .= '<div title="необходимо исправить ТЗ" class="' . $disabled_command_edit_tz . 'command_for_edit_tz_for_no_cat ' . ($this->position['flag_need_edit_tz_no_cat'] == 1 ? 'checked' : '') . '"  data-position_id="' . $this->position['id'] . '"></div>';
             if ($this->user_access == 8 || $this->user_access == 1) {
                 $html_row_1 .= '<div class="edit_tz_for_no_cat" data-id_dop_data="' . $this->position['quantity'] . '" data-position_id="' . $this->position['id'] . '" ></div>';
             }
             $html_row_1 .= '<div>';
             $html_row_1 .= '<input class="get_a_detailed_specifications" type="button" value="Подробно" data-position_id="' . $this->position['id'] . '">';
             $html_row_1 .= '</div>';
         }
         $html_row_1 .= '<div class="linked_div">' . identify_supplier_by_prefix($this->position['art']) . '</div>';
         $html_row_1 .= '</div>';
         $html_row_1 .= '</td>';
         // дата сдачи макета
         $html_row_2 = '<td class="show-backlight" rowspan="' . $this->services_num . '">';
         $this->shipping_date_limit = $this->specificate['shipping_date_limit'] != '00.00.0000' ? $this->specificate['shipping_date_limit'] : '';
         $html_row_2 .= '<span class="greyText">' . $this->shipping_date_limit . '</span>';
         $html_row_2 .= '</td>';
         // дата утв. макета
         $html_row_3 = '<td class="show-backlight"  rowspan="' . $this->services_num . '" ><span class="greyText">';
         // проверка на отсутствие пустого значения
         // if($this->position['approval_date']!='' && $this->position['approval_date']!='00.00.0000 00:00:00'){
         // 	$approval_date_timestamp = strtotime($this->position['approval_date']);
         // 	if($approval_date_timestamp != 0){
         // 		// дата
         // 		$this->approval_date = date('d.m.Y',$approval_date_timestamp);
         // 		$html_row_3 .= $this->approval_date;
         // 		// время
         // 		$this->approval_time = date('H:i',$approval_date_timestamp);
         // 		if($this->approval_time != '00:00'){
         // 			$html_row_3 .= '<br>'.$this->approval_time.'';
         // 		}
         // 	}
         // }
         if ($this->position['approval_date'] != '' && $this->position['approval_date'] != '00.00.0000 00:00:00') {
             // дата
             $approval_date_timestamp = strtotime($this->position['approval_date']);
             $this->approval_date = date('d.m.Y', $approval_date_timestamp);
             // $html_row_3 .= $this->approval_date;
             // время
             $this->approval_time = date('H:i', $approval_date_timestamp);
             // if($this->approval_time != '00:00'){
             // 	$html_row_3 .= '<br>'.$this->approval_time.'';
             // }
             //$html_row_3 .= '<span class="greyText">'.$shipping_date_date.(($shipping_date_time!='00:00')?'<br>к '.$shipping_date_time:'').'</span>';
             $html_row_3 .= '<a href="' . $this->link_enter_to_filters('approval_date', $this->approval_date) . '">' . $this->approval_date . '</a>' . ($this->approval_time != '00:00' ? '<br>к ' . $this->approval_time : '');
             // $html .= '<div>'.$this->Order['date_of_delivery_of_the_order'].'</div>';
         }
         $html_row_3 .= '</td>';
         // дата печати
         $html_row_4 = '<td class="show-backlight" rowspan="' . $this->services_num . '" >';
         $html_row_4 .= $this->get_date_printing();
         $html_row_4 .= '</td>';
         $html .= $this->get_service_content_for_designer_operations($this->position, $this->services_design, $html_row_1, $html_row_2, $html_row_3, $html_row_4, $html_row_5);
         // $this->position_item++;
         // $this->position_item = count($positions_rows) * $this->services_num+1;
     }
     return $html;
 }
Ejemplo n.º 4
0
 protected function check_exists_articul_AJAX()
 {
     $html = '';
     if (strlen($_POST['art']) < 2) {
         $html .= '<div class="inform_message red">Количество символов в артикуле должно быть не менее 2 (четырёх) символов.</div>';
         echo '{"response":"OK","html":"' . base64_encode($html) . '"}';
         exit;
     }
     $html .= '<form>';
     // делаем запрос в базу по артикулу
     $art_arr = $this->search_articule_Database($_POST['art']);
     // получаем количесвто найденных совпадений
     $count = count($art_arr);
     switch ($count) {
         case 0:
             // мы ненашли ничего
             $html = '<div class="inform_message red">Такого артикула нет в базе. Попробуйте ввести другое значение.</div>';
             break;
             //
         //
         default:
             // мы нашли более одного совпадения
             $html .= '<div class="inform_message">Найдено <strong>' . $count . '</strong> совпадения(й). Пожалуйста уточните Ваш запрос.</div>';
             $html .= '<table id="choose_one_of_several_articles">';
             $html .= '<tr>';
             $html .= '<th class="admin_checkbox"></th>';
             $html .= '<th>п</th>';
             $html .= '<th>Арт.</th>';
             $html .= '<th>Название</th>';
             $html .= '<th>Поставщик</th>';
             $html .= '<th>Апл</th>';
             $html .= '</tr>';
             $n = 1;
             foreach ($art_arr as $key => $articul) {
                 $html .= '<tr data-art_id="' . $articul['id'] . '" data-art_name="' . $articul['name'] . '" data-art="' . $articul['art'] . '" ' . ($key == 0 ? 'class="checked"' : '') . '>';
                 $html .= '<td class="admin_checkbox">';
                 $html .= '<label style="width:100%;height100%;" for="' . $key . '_checkb">';
                 $html .= '<input name="article[]" type="checkbox" id="' . $key . '_checkb" value="' . $articul['id'] . '" ' . ($key == 0 ? 'checked="checked"' : '') . '>';
                 $html .= '</label>';
                 $html .= '</td>';
                 $html .= '<td>' . $n++ . '</td>';
                 $html .= '<td>' . $articul['art'] . '</td>';
                 $html .= '<td>' . $articul['name'] . '</td>';
                 $html .= '<td>' . identify_supplier_by_prefix($articul['art']) . '</td>';
                 $html .= '<td><a target="_blank" href="http://www.apelburg.ru/description/' . $articul['id'] . '/">на сайт</a></td>';
                 $html .= '</tr>';
             }
             $html .= '</table>';
             // добавляем скрытые поля
             $html .= '<input type="hidden" name="AJAX" value="insert_in_database_new_catalog_position">';
             $html .= '<input type="hidden" name="art_id" value="' . $art_arr[0]['id'] . '">';
             $html .= '<input type="hidden" name="art_name" value="' . $art_arr[0]['name'] . '">';
             $html .= '<input type="hidden" name="art" value="' . $art_arr[0]['art'] . '">';
             $html .= '</form>';
             // if($this->user_access != 1){
             //      $html .= '<style type="text/css">
             //          .admin_checkbox{
             //        display: none;
             //      }
             //      </style>';
             // }
             break;
     }
     echo '{"response":"OK","html":"' . base64_encode($html) . '"}';
     // echo '{"response":"OK","html":"'.base64_encode($html).'","function":"treatment_choose_art_tbl"}';
     exit;
 }
Ejemplo n.º 5
0
				 
				  
			 }
			 //$art_id = get_base_art_id($row['art']);
			  
			 $dop_details = '';
			  //echo $row['row_type'].' = ';
			 if($row['row_type'] == 'cat'){ 
				 $extra_panel = '<div class="pos_plank cat">
								   <a href="?page=client_folder&section=rt_position&id='.$key.'&client_id='.$client_id.'">'.$row['art'].'</a>
								   <div class="pos_link_plank">
									  <div class="catalog">
										  <a id="" href="/description/'.$row['art_id'].'/" target="_blank" onmouseover="change_href(this);return false;">APL</a>
									  </div>
									  <div class="supplier">
										   '.identify_supplier_by_prefix($row['art']).'
									  </div>
								   </div>
								 </div>
								 <div>'.$row['name'].'</div>
								 <div><input type="button" class="getSizesBtn" pos_id="'.$key.'" value="Размеры"></div>';
				 // дополнительная скрытая инфа 
		        if($counter==0 &&  count($row['dop_details'])>0)  $dop_details['allowed_prints'] = $row['dop_details'];
			 }
			 else if($row['row_type'] == 'ext'){
				 $extra_panel = '<div class="pos_plank ext">
								   <a href="?page=client_folder&client_id='.$_GET['client_id'].'&section=rt_position&id='.$key.'">'.$row['name'].'</a>
								 </div>';
			 }
			 else if($row['row_type'] == 'pol'){
				 $extra_panel = '<div class="pos_plank pol">