public function generatePickList() { App::import('Helper', 'Soap'); $SoapHelper = new SoapHelper(new View(null)); $test = $this->request->data['Linnworksapis']['orderid']; $skus = explode("---", $test); asort($skus); $skus = array_count_values($skus); $this->autoRender = false; $this->layout = ''; $data = array(); $index = 0; foreach ($skus as $key => $value) { $getData = $SoapHelper->getOrderById($key); foreach ($getData->GetFilteredOrdersResponse->GetFilteredOrdersResult->Orders->Order as $order) { foreach ($order->OrderItems->OrderItem as $item) { $data[$index]['Qty'] = $item->Qty; $data[$index]['ItemTitle'] = $item->ItemTitle; $data[$index]['binrack'] = $item->Binrack; $data[$index]['barcode'] = $item->Barcode; $data[$index]['category'] = $item->Category; $data[$index]['ChannelSKU'] = $item->SKU; $data[$index]['PostalServiceName'] = $getData->GetFilteredOrdersResponse->GetFilteredOrdersResult->Orders->Order->PostalServiceName; $index++; } } } $json = json_encode($data); $arrays = json_decode($json, TRUE); $ind = 0; foreach ($arrays as $array) { $dataNew[$ind]['Qty'] = $array['Qty'][0]; $dataNew[$ind]['ItemTitle'] = $array['ItemTitle'][0]; $dataNew[$ind]['binrack'] = isset($array['binrack'][0]) ? $array['binrack'][0] : 'null'; $dataNew[$ind]['barcode'] = isset($array['barcode'][0]) ? $array['barcode'][0] : 'null'; $dataNew[$ind]['ChannelSKU'] = isset($array['ChannelSKU'][0]) ? $array['ChannelSKU'][0] : 'null'; $dataNew[$ind]['PostalServiceName'] = $array['PostalServiceName'][0]; $ind++; } /* get the duplicaate value */ $duplicatedata = $dataNew; foreach ($dataNew as $dataNewOuter => $dataNewOutervalue) { foreach ($dataNew as $dataNewInner => $dataNewInnervalue) { if ($dataNewOutervalue['ChannelSKU'] === $dataNewInnervalue['ChannelSKU']) { if ($dataNewOuter != $dataNewInner) { $duplicateValue[$dataNewInner] = $dataNewInnervalue['ChannelSKU']; } } } } if (isset($duplicateValue) && count($duplicateValue) > 0) { $a = array_unique($duplicateValue); $duplicateArray = $dataNew; foreach ($duplicateValue as $key => $value) { unset($dataNew[$key]); } sort($dataNew); $result = array_merge($dataNew, $a); } else { $result = $duplicatedata; } $e = 0; $r = 0; foreach ($result as $keyIndex => $keyValue) { $csvData[$r]['Qty'] = 0; foreach ($duplicatedata as $dupIndex => $dupValue) { if (isset($keyValue['ChannelSKU'])) { if ($keyValue['ChannelSKU'] == $dupValue['ChannelSKU']) { $csvData[$r]['Qty'] = $dupValue['Qty']; $csvData[$r]['ItemTitle'] = $dupValue['ItemTitle']; $csvData[$r]['binrack'] = $dupValue['binrack']; $csvData[$r]['barcode'] = $dupValue['barcode']; $csvData[$r]['ChannelSKU'] = $dupValue['ChannelSKU']; } } if (isset($keyValue)) { if ($keyValue == $dupValue['ChannelSKU']) { $csvData[$r]['Qty'] = $csvData[$r]['Qty'] + $dupValue['Qty']; $csvData[$r]['ItemTitle'] = $dupValue['ItemTitle']; $csvData[$r]['binrack'] = $dupValue['binrack']; $csvData[$r]['barcode'] = $dupValue['barcode']; $csvData[$r]['ChannelSKU'] = $dupValue['ChannelSKU']; } } } $r++; } App::import('Vendor', 'tcpdf/tcpdf'); $pdf = new tcpdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $date = date("Y-m-d"); $pdf->SetCreator(PDF_CREATOR); //$pdf->SetAuthor('Nicola Asuni'); //$pdf->SetTitle('TCPDF Example 006'); //$pdf->SetSubject('TCPDF Tutorial'); //$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); // set default header data //$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, 'Pick List '.$date, PDF_HEADER_STRING); $pdf->SetHeaderData('', '', 'Pick List ' . $date, ''); // set header and footer fonts $pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); // set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); // set margins $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); // set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); if (@file_exists(dirname(__FILE__) . '/lang/eng.php')) { require_once dirname(__FILE__) . '/lang/eng.php'; $pdf->setLanguageArray($l); } $pdf->SetFont('times', '', 8); $pdf->AddPage(); $j = 0; foreach ($csvData as $csvdata) { $j = $j + $csvdata['Qty']; } $html = '<h2>Total SKU : - ' . $j . '</h2> <table border="1" width="110%" > <tr> <th width="5%" align="center">S.No</th> <th width="20%" align="center">SKU</th> <th width="45%" align="center">Qty / Item Title</th> <th width="5%" align="center">Qty</th> <th width="5%" align="center">Bin Rack</th> <th width="10%" align="center" >BarCode</th> </tr>'; $i = 1; foreach ($csvData as $csvdata) { $html .= '<tr> <td align="center">' . $i . '</td> <td>' . $csvdata['ChannelSKU'] . '</td> <td align="left"><b>' . $csvdata['Qty'] . '</b> X ' . $csvdata['ItemTitle'] . '</td> <td align="center">' . $csvdata['Qty'] . '</td> <td >' . $csvdata['binrack'] . '</td> <td>' . $csvdata['barcode'] . '</td> </tr>'; $i++; } $html .= '</table>'; $pdf->writeHTML($html, true, false, true, false, ''); $js = 'print(true);'; $pdf->IncludeJS($js); $pdf->Output('Pick_List_' . $date . '.pdf', 'D'); }
<?php require 'modules/config.php'; if (!isset($_GET["id"])) { exit("Missing Parameters..."); } require_once 'pdf/tcpdf.php'; $pdf = new tcpdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('shuttleconcierge'); $pdf->SetTitle('confirmacion'); $pdf->SetSubject('confirmacion'); $pdf->SetHeaderData('logo.jpg', 100, 'Reservation Confirmation', "www.shuttleconcierge.com\nPhone. 01800 890 5878\nemail: contacto@shuttleconcierge.com", array(0, 64, 255), array(0, 64, 128)); $pdf->setFooterData(array(0, 64, 0), array(0, 64, 128)); $pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); $pdf->setFontSubsetting(true); $pdf->SetFont('dejavusans', '', 14, '', true); $pdf->AddPage(); $mysqli = new mysqli($db_host, $db_user, $db_password, $db_name); if ($mysqli->connect_errno) { printf("Connection Failure: %s\n", $mysqli->connect_error); exit; } $mysqli->set_charset("utf8");