public function order()
 {
     $data = Input::except('_token');
     $data['oldSeq'] = $data['seqId'];
     sort($data['oldSeq']);
     foreach ($data['oldSeq'] as $key => $val) {
         if ($data['seqId'][$key] != $data['oldSeq'][$key]) {
             ProductionSequence::where('id', '=', $data['seqId'][$key])->update(['seqId' => $data['oldSeq'][$key]]);
         }
     }
     return Response::json(['status' => 'success']);
 }
 /**
  * List of Pl's report for datatable
  * 
  * @return type
  */
 public function orderList($status)
 {
     $baseUrl = \URL::to('/');
     if (Auth::user()->hasRole('admin') || Auth::user()->hasRole('manager')) {
         $tempSequence = 1;
         // Get listing for Admin or Manager
         $skuData = DB::table('order_list')->leftJoin('pcs_made', 'pcs_made.orderlist_id', '=', 'order_list.id')->leftJoin('part_number', 'part_number.id', '=', 'order_list.part_id')->leftJoin('purchase_order', 'purchase_order.id', '=', 'order_list.po_id')->leftJoin('po_images', 'po_images.order_id', '=', 'order_list.id')->leftJoin('customers', 'customers.id', '=', 'order_list.customer_id')->select(array('order_list.adminSequence', 'purchase_order.po_number', 'customers.comp_name', 'part_number.SKU', 'po_images.approved_image as fileName', 'order_list.size_qty', 'purchase_order.require_date', DB::raw("IF(order_list.ESDate IS NULL or order_list.ESDate = '','',order_list.ESDate) as estDate"), 'order_list.qty', DB::raw("IF(SUM(pcs_made.qty) IS NULL or SUM(pcs_made.qty) = '', '0', SUM(pcs_made.qty)) as pcsMade"), DB::raw("(order_list.qty - (IF(SUM(pcs_made.qty) IS NULL or SUM(pcs_made.qty) = '', '0', SUM(pcs_made.qty)))) as amount"), 'order_list.pl_status', 'order_list.production_status', 'order_list.id as orderId'))->where('purchase_order.is_deleted', '!=', 1)->where('order_list.pl_status', '=', $status)->groupBy('order_list.id')->orderBy('order_list.adminSequence', 'ASC');
         // Return datatable
         $statusStr = '<select id="plStatusChange" class="form-control" olId="{{$orderId}}"><option value="0" {{ $pl_status == 0 ? "selected" : "" }}>Open</option><option value="1" {{ $pl_status == 1 ? "selected" : "" }}>Closed</option></select>';
         return Datatables::of($skuData)->editColumn("adminSequence", '@if($pl_status) 0 @else {{$adminSequence}} @endif')->editColumn("fileName", '@if($fileName == NULL) <img height="32" class="img-rounded" src="' . $baseUrl . '/files/poMultiImage/noImage.png"></img> @else <img height="32" class="img-rounded" src="' . $baseUrl . '/images/blog/{{$fileName}}"></img> @endif')->editColumn("pcsMade", '<button type="button" class="btn btn-primary btn-sm btnPcsMade" data-toggle="modal" data-target="#myModal" onclick="getpcsDetails(\'{{$orderId}}\',\'{{$po_number}}\',\'{{$SKU}}\',\'{{$amount}}\')">{{$pcsMade}}</button>')->editColumn("estDate", '<input id="ESDate" type="text" olId="{{$orderId}}" value="{{$estDate}}" size="12" class="form-control default-date-picker ESDate" placeholder="YYYY-MM-DD">')->editColumn("pl_status", $statusStr)->editColumn("production_status", function ($row) {
             $data = ProductionSequence::where('isDelete', '!=', 1)->orWhere('id', '=', $row->production_status)->orWhereNull('isDelete')->lists('title', 'id');
             return \Form::select('production_status', $data, $row->production_status, ['class' => 'production_status form-control', 'id' => $row->orderId]);
         })->editColumn("size_qty", function ($row) {
             $string = '';
             $sizeArray = json_decode($row->size_qty, true);
             if (count($sizeArray) > 0) {
                 foreach ($sizeArray as $size) {
                     foreach ($size as $key => $val) {
                         $string .= $key . ":" . $val . ",";
                     }
                 }
             }
             return trim($string, ",");
         })->make();
     } else {
         // Get listing for Local user
         $customer = DB::table('customers')->where('user_id', Auth::user()->id)->first();
         $skuData = DB::table('order_list')->leftJoin('part_number', 'part_number.id', '=', 'order_list.part_id')->leftJoin('purchase_order', 'purchase_order.id', '=', 'order_list.po_id')->leftJoin('pcs_made', 'pcs_made.orderlist_id', '=', 'order_list.id')->leftJoin('po_images', 'po_images.order_id', '=', 'order_list.id')->leftJoin('customers', 'customers.id', '=', 'order_list.customer_id')->select('order_list.localSequence', 'purchase_order.po_number', 'customers.comp_name', 'part_number.SKU', 'po_images.approved_image as fileName', 'order_list.size_qty', 'purchase_order.require_date', DB::raw("IF(order_list.ESDate IS NULL or order_list.ESDate = '','',order_list.ESDate) as estDate"), 'order_list.qty', DB::raw("IF(SUM(pcs_made.qty) IS NULL or SUM(pcs_made.qty) = '', '0', SUM(pcs_made.qty)) as pcsMade"), 'order_list.amount', 'order_list.pl_status', 'order_list.production_status', 'order_list.id as orderId')->where('order_list.customer_id', '=', $customer->id)->where('purchase_order.is_deleted', '!=', 1)->where('order_list.pl_status', '=', $status)->groupBy('order_list.id')->orderBy('order_list.localSequence', 'ASC');
         // Return datatable
         $statusStr = '{{ $pl_status == 0 ? "Open" : "Close" }}';
         return Datatables::of($skuData)->editColumn("localSequence", '@if($pl_status) 0 @else {{$localSequence}} @endif')->editColumn("fileName", '@if($fileName == NULL) <img height="32" class="img-rounded" src="' . $baseUrl . '/files/poMultiImage/noImage.png"></img> @else <img height="32" class="img-rounded" src="' . $baseUrl . '/images/blog/{{$fileName}}"></img> @endif')->editColumn("pcsMade", '<button type="button" class="btn btn-primary btn-sm">{{$pcsMade}}</button>')->editColumn("size_qty", function ($row) {
             $string = '';
             $sizeArray = json_decode($row->size_qty, true);
             if (count($sizeArray) > 0) {
                 foreach ($sizeArray as $size) {
                     foreach ($size as $key => $val) {
                         $string .= $key . ":" . $val . ",";
                     }
                 }
             }
             return trim($string, ",");
         })->editColumn("estDate", '{{$estDate}}')->editColumn("pl_status", $statusStr)->editColumn("production_status", function ($row) {
             $data = ProductionSequence::where('isDelete', '!=', 1)->orWhere('id', '=', $row->production_status)->orWhereNull('isDelete')->first();
             return \Form::label('', !is_null($data) ? $data->title : '');
         })->make();
     }
 }