public function pdf() { $fileDestinationPDF = 'storage/po/test2.pdf'; GenPDF::generatePO('test', $fileDestinationPDF); // $html = <<<BLOCK // <style type="text/css"> // table { vertical-align: top; } // tr { vertical-align: top; } // td { vertical-align: top; } // div {padding:0px;margin:0px;} // </style> // <page style="font-family:freeserif;width:80%;" orientation="portrait" format="A4"> // <table style="width: 100%;border: 1px solid black" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> // <tbody> // <tr> // <td> // <div style="font-size: 18pt">TYREPLUS NTP Purchase Order</div> // <div>ใบสั่งซื้อสินค้า</div> // </td> // <td><img style="width: 150px;" src="pdf/examples/res/logo.gif" alt="Logo"><br></td> // </tr> // </tbody> // </table> // // <table style="width: 100%;border: 1px solid black" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> // <tbody> // <tr> // <td > // <table border="0.5" cellspacing="0" > // <tbody> // <tr bgcolor="#CCC" cellpadding="3" > // <td colspan="2" style="padding:3px;" >Supplier (บริษัทผู้ขายสินค้า)</td> // </tr> // <tr > // <td style="width: 400px;padding:3px;" >Supplier Code (รหัสบริษัทผู้ขายสินค้า)</td> // <td style="padding:3px;" >510001</td> // </tr> // <tr > // <td colspan="2" style="padding:3px;" > // บจก.โททาล ออยล์ (ประเทศไทย)<br /> // 173/5 อาคารเอเชียเนต์เตอร์ ชั้น 12 ถ.สาทรใต้ แขวงสาทร กทม. 10120<br /> // Tel : 02-163-6364 Fax : 02-163-6364<br /> // สาขา สำนักงานใหญ่<br /> // เลขประจำตัวผู้เสียภาษี (Tax Registration Number) :. xxxxxxxxxxxxxxxxxxx<br /> // </td> // </tr> // </tbody> // </table> // </td> // <td style="width: 50px;"></td> // <td> // <table style="border:1px solid;" cellspacing="0" > // <tbody> // <tr> // <td align="left">P/O. No:</td> // <td align="right" bgcolor="#FBF303" >309320001</td> // </tr> // <tr > // <td align="left" height="50">Date</td> // <td align="right" bgcolor="#FBF303" >Sunday, December 20, 2015</td> // </tr> // <tr> // <td align="left">Currency</td> // <td align="right" bgcolor="#FBF303" >300 บาท (THB)</td> // </tr> // <tr> // <td align="left">Credit Terms</td> // <td align="right" bgcolor="#FBF303" >Cash</td> // </tr> // </tbody> // </table> // </td> // </tr> // </tbody> // </table> // <br /> // <table border="0.5" cellspacing="0" > // <tbody> // <tr bgcolor="#CCC" cellpadding="3" > // <td colspan="2" style="padding:3px;" >Purchase From </td> // </tr> // <tr > // <td style="width: 400px;padding:3px;" >TYREPLUS Code (รหัสศูนย์บริการไทร์พลัส)</td> // <td style="padding:3px;" >6013093</td> // </tr> // <tr > // <td colspan="2" style="padding:3px;" ></td> // </tr> // <tr > // <td colspan="2"> // <table height="100%" border="0.5" cellspacing="0" > // <tbody> // <tr bgcolor="#CCC" cellpadding="3" > // <td style="width: 50%;padding:3px;" >TYREPLUS Customer Name<br />(ศูนย์บริการไทร์พลัสที่สั่งซื้อสินค้า)</td> // <td style="width: 50%;padding:3px;" >Deliver To<br />(สถานที่ส่งสินค้าและเอกสาร)</td> // </tr> // <tr > // <td style="width: 50%;padding:3px;" > // บจก. พระราม 5 ยางทอง<br /> // 22/55 หมู่ 5 ต.บางศรีเมือง อ.เมืองนนทบุรี<br /> // จ.นนทบุรี 11000<br /> // Tel : 02-4467337-8 Fax : 02-4467339</td> // <td style="width: 50%;padding:3px;" > // บจก. พระราม 5 ยางทอง<br /> // 22/55 หมู่ 5 ต.บางศรีเมือง อ.เมืองนนทบุรี<br /> // จ.นนทบุรี 11000<br /> // Tel : 02-4467337-8 Fax : 02-4467339</td> // </tr> // <tr > // <td style="width: 50%;padding:3px;" > // Attention To : คุณสิทธิพร เอกโอฬาร (081-8327508) // </td> // <td style="width: 50%;padding:3px;" > // Attention To : คุณสิทธิพร เอกโอฬาร (081-8327508) // </td> // </tr> // </tbody> // </table> // </td> // </tr> // <tr> // <td colspan="2" style="padding:3px;" > // สาขา สำนักงานใหญ่<br /> // เลขประจำตัวผู้เสียภาษี (Tax Registration Number) :. 0125549005327 // </td> // </tr> // </tbody> // </table> // <br /> // <table border="0.5" cellspacing="0" > // <tbody> // <tr> // <td align="right" style="padding:3px;">TYREPLUS Order by:</td> // <td align="right" style="padding:3px;" bgcolor="#FBF303" ></td> // </tr> // <tr > // <td align="right" style="padding:3px;">Date</td> // <td align="right" style="padding:3px;" bgcolor="#FBF303" >Sunday, December 20, 2015</td> // </tr> // <tr > // <td align="right" style="padding:3px;" >Supplier's Key Account / Saleman:</td> // <td align="right" style="padding:3px;" bgcolor="#FBF303" >300 บาท (THB)</td> // </tr> // <tr> // <td align="right" style="padding:3px;" >Supplier's confirmation:</td> // <td align="right" style="padding:3px;" bgcolor="#FBF303" ></td> // </tr> // <tr > // <td align="right" style="padding:3px;" >Date</td> // <td align="right" style="padding:3px;" bgcolor="#FBF303" >Sunday, December 20, 2015</td> // </tr> // </tbody> // </table> // <br /> // // <table border="0.5" cellspacing="0" > // <tr bgcolor="#A2E3E4" > // <td align="center" style="padding:3px;" >Items<br />ลำดับที่</td> // <td align="center" width="100" style="padding:3px;" >Code<br />รหัส</td> // <td align="center" width="200" style="padding:3px;" >Description<br />รายการ</td> // <td align="center" width="50" style="padding:3px;" >Quantity<br />จำนวน</td> // <td align="center" style="padding:3px;" >Unit<br />หน่วย</td> // <td align="center" width="70" style="padding:3px;" >Unit Price<br />หน่วยละ</td> // <td align="center" width="70" style="padding:3px;" >Item Value<br />ราคารวม</td> // <td align="center" style="padding:3px;" >Requested Delivery<br />คำขอการส่งสินค้า</td> // </tr> // BLOCK; // // for($i = 0;$i < 10;$i++){ // $html .= <<<BLOCK // <tr> // <td align="center" style="padding:3px;" >1</td> // <td align="left" width="100" style="padding:3px;" >2314254</td> // <td align="left" width="200" style="padding:3px;" >Product A</td> // <td align="center" width="50" style="padding:3px;" >2</td> // <td align="center" style="padding:3px;" >ชุด</td> // <td align="right" width="70" style="padding:3px;" >1,200.00</td> // <td align="right" bgcolor="#CCC" width="70" style="padding:3px;" >2,400.00</td> // <td align="center" style="padding:3px;" ></td> // </tr> // BLOCK; // } // // $html .= <<<BLOCK // <tr> // <td colspan="3" border="0" style="padding:3px;" ></td> // <td colspan="3" align="right" style="padding:3px;" >Sub Total</td> // <td align="right" bgcolor="#CCC" width="70" style="padding:3px;" >3,600.00</td> // <td align="center" border="0" style="padding:3px;" ></td> // </tr> // <tr> // <td colspan="3" border="0" style="padding:3px;" ></td> // <td colspan="3" align="right" style="padding:3px;" >Special Discount</td> // <td align="right" bgcolor="#CCC" width="70" style="padding:3px;" >3,600.00</td> // <td align="center" border="0" style="padding:3px;" ></td> // </tr> // <tr> // <td colspan="3" border="0" style="padding:3px;" ></td> // <td colspan="3" align="right" style="padding:3px;" >VAT 7%</td> // <td align="right" bgcolor="#CCC" width="70" style="padding:3px;" >3,600.00</td> // <td align="center" border="0" style="padding:3px;" ></td> // </tr> // <tr> // <td colspan="3" border="0" style="padding:3px;" ></td> // <td colspan="3" align="right" style="padding:3px;" >Total Order Value</td> // <td align="right" bgcolor="#CCC" width="70" style="padding:3px;" >3,600.00</td> // <td align="center" border="0" style="padding:3px;" ></td> // </tr> // // </table> // <br /> // <div style="font-weight:bold;"> // Comments / Any others special conditions // </div> // <div style="width:500px;border:1px solid; padding:5px; word-break: break-word;"> // Testkasnkjvnklasddfljsa<br /> // test // </div> // <br /> // <div style="font-weight:bold;"> // Remark หมายเหตุ // </div> // <div> // Purchase order number must appreat on all invoices, B/L, AWB, Packing List, Packing Slip, etc.<br /> // The supply goods are totally free of the following materials: All forms of Asbestos / Lead compounds / Refracory Ceramic Fibers<br /> // Invoice must be issued under Head Office s name and address only - by aligned with customer account registeration.<br /> // </div> // </page> // // BLOCK; // // // require_once('pdf/html2pdf.class.php'); // $html2pdf = new \HTML2PDF('P', 'A4', 'en'); // // $html2pdf = new \HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(10, 10, 10, 10)); // $html2pdf->pdf->SetDisplayMode('real'); // $html2pdf->writeHTML($html); // $html2pdf->Output($fileDestinationPDF,'F'); //$html2pdf->Output(); // $data = array('test'=>9); // $pdf = \App::make('dompdf.wrapper'); // $pdf = $pdf->loadHTML($html,'UTF-8')->setPaper('a4')->setOrientation('landscape')->setWarnings(false); // // $pdf = $pdf->loadView('pdf.po',$data)->setPaper('a4')->setOrientation('landscape')->setWarnings(false); // // $pdf->save('storage/po/test.pdf'); // return $pdf->stream(); //return $html; }
public function orderSystem(Request $request, $page = 0) { if (empty($this->authUser)) { return 'Permission denied'; } elseif ($this->authUser->role_id != 1 && $this->authUser->role_id != 4) { return 'Permission denied'; } $order_sys = $request->session()->get('orderSystem', ''); if (empty($page)) { if (empty($order_sys['dealerData'])) { $page = 1; } elseif (empty($order_sys['itemData'])) { $page = 2; } elseif (empty($order_sys['checkOutData'])) { $page = 3; } else { $page = 4; } } switch ($page) { case 1: $limit = 30; if ($request->ajax()) { return view('admin.ajax.goods.orderSDealer', compact('limit', 'order_sys')); } return view('admin.page.goods.orderSDealer', compact('limit', 'order_sys')); break; case 2: if (empty($order_sys['dealerData'])) { $url = \URL::to('admin') . '#admin/orderSystem/1'; return \Redirect::to($url); } $dataObj = \DB::table('tp_sub_group')->where('subg_parent', '=', 0)->get(); $product_filter = ''; foreach ($dataObj as $key => $value) { $product_filter .= '<option value="' . $value->subg_val . '">' . $value->subg_name . '</option>'; } $limit = 30; if ($request->ajax()) { return view('admin.ajax.goods.orderSGoods', compact('limit', 'order_sys', 'product_filter')); } return view('admin.page.goods.orderSGoods', compact('limit', 'order_sys', 'product_filter')); break; case 3: if (empty($order_sys['itemData'])) { $url = \URL::to('admin') . '#admin/orderSystem/2'; return \Redirect::to($url); } $order_sys['checkOutData'] = array(); foreach ($order_sys['itemData'] as $key => $value) { $order_sys['checkOutData'][$value['owner_id']]['itemData'][] = $value; } foreach ($order_sys['checkOutData'] as $key => $value) { $ba = User::find($key); if ($ba) { $order_sys['checkOutData'][$key]['baData'] = $ba->toArray(); } } $request->session()->put('orderSystem', $order_sys); $limit = 30; if ($request->ajax()) { return view('admin.ajax.goods.orderSCheckout', compact('limit', 'order_sys')); } return view('admin.page.goods.orderSCheckout', compact('limit', 'order_sys')); break; case 4: if (!empty($order_sys['checkOutData'])) { foreach ($order_sys['checkOutData'] as $key => $value) { $order = new Order(); $order->order_po = 'PO' . date('YmdHis') . $value['baData']['contact_no']; $order->dealer_id = $order_sys['dealerData']['user_id']; $order->ba_id = $key; $order->created_by = $this->authUser->user_id; $order->save(); foreach ($value['itemData'] as $item) { $orderList = new OrderList(); $orderList->order_id = $order->order_id; $orderList->goods_id = $item['goods_id']; $orderList->goods_num = $item['bucket_unit']; $orderList->cost = $item['bucket_unit'] * $item['based_price_price_list_exvat']; $order->order_total_cost = $order->order_total_cost + $orderList->cost; $orderList->save(); } $order->save(); $pathToFile = 'storage/po/' . $order->ba_id . '/'; $fileName = $order->order_po . '.pdf'; if (!is_dir($pathToFile)) { mkdir('storage/po/' . $order->ba_id); } $pdfInput = array(); $pdfInput['dealerData'] = $order_sys['dealerData']; $pdfInput['checkOutData'] = $value; GenPDF::generatePO($pdfInput, $pathToFile . $fileName); $data = array('ss' => $order->order_po); $param = array('pathToFile' => $pathToFile . $fileName, 'ba_email' => $value['baData']['user_email'], 'dealer_email' => $order_sys['dealerData']['user_email'], 'admin_email' => '*****@*****.**'); \Mail::send('emails.welcome', $data, function ($message) use($param) { $message->from('*****@*****.**', 'TyrePlus')->subject('Pre-Order!'); $message->to($param['ba_email'])->cc($param['dealer_email'])->cc($param['admin_email']); $message->attach($param['pathToFile']); }); } $request->session()->forget('orderSystem'); } if ($request->ajax()) { return view('admin.ajax.goods.orderSSuccess', compact('order_sys')); } return view('admin.page.goods.orderSSuccess', compact('order_sys')); break; } }