Example #1
0
 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;
 }
Example #2
0
 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;
     }
 }