gogs 2 anni fa
parent
commit
d6b3964009
1 ha cambiato i file con 25 aggiunte e 6 eliminazioni
  1. 25 6
      app/Service/FyyOrderService.php

+ 25 - 6
app/Service/FyyOrderService.php

@@ -115,8 +115,16 @@ class FyyOrderService extends Service
         }
         if(! empty($data['customer_name'])) $model->where('customer_name', 'LIKE', '%'.$data['customer_name'].'%');
         if(! empty($data['shipment_order_no'])) {
-            $out_order_nos = Box::where('shipment_order_no','like','%'.$data['shipment_order_no'].'%')->pluck('out_order_no')->toArray();
-            $model->wherein('out_order_no', $out_order_nos);
+            //$data['product_no'].'_'.$data['technology_material'].'_'.$data['technology_name'].'_'.$data['wood_name'].'_'.$data['process_mark'];
+            $out_order_nos = Box::where('shipment_order_no','like','%'.$data['shipment_order_no'].'%')->select('*')->get()->toArray();
+            $model->where(function ($query) use($out_order_nos){
+                foreach ($out_order_nos as $v){
+                    $query->orwhere(function ($query) use ($v){
+                        $query->where('out_order_no',$v['out_order_no'])->where('product_no',$v['ext_1'])->where('technology_material',$v['ext_2'])->where('technology_name',$v['ext_3'])->where('wood_name',$v['ext_4'])->where('process_mark',$v['ext_5']);
+                    });
+                }
+
+            });
         }
         if(! empty($data['product_no'])) $model->where('product_no', 'LIKE', '%'.$data['product_no'].'%');
         if(! empty($data['product_title'])) $model->where('product_title', 'LIKE', '%'.$data['product_title'].'%');
@@ -147,15 +155,17 @@ class FyyOrderService extends Service
                 $out_order_nos[] = $v['out_order_no'];
             }
 
-            $transport_nos = Box::wherein('out_order_no',$out_order_nos)->select('shipment_order_no','out_order_no')->get()->toArray();
+            $transport_nos = Box::wherein('out_order_no',$out_order_nos)->select('*')->get()->toArray();
             $transport_key_nos = [];
             foreach ($transport_nos as $v){
-                if(!isset($transport_key_nos[$v['out_order_no']])) $transport_key_nos[$v['out_order_no']] = [];
-                $transport_key_nos[$v['out_order_no']][] = $v['shipment_order_no'];
+                $key = $this->getBoxKey($v);
+                if(!isset($transport_key_nos[$key])) $transport_key_nos[$v['out_order_no']] = [];
+                $transport_key_nos[$key][] = $v['shipment_order_no'];
             }
 
             foreach ($list['data'] as &$v){
-                if(isset($transport_key_nos[$v['out_order_no']])) $v['shipment_order_no'] = implode(',',$transport_key_nos[$v['out_order_no']]);
+                $key = $this->getKey($v);
+                if(isset($transport_key_nos[$key])) $v['shipment_order_no'] = implode(',',$transport_key_nos[$key]);
 
                 $v['shipment_order_no'] = '';
             }
@@ -164,6 +174,15 @@ class FyyOrderService extends Service
 
         return [true, $list];
     }
+    protected function getKey($data){
+
+        return $data['product_no'].'_'.$data['technology_material'].'_'.$data['technology_name'].'_'.$data['wood_name'].'_'.$data['process_mark'];
+    }
+    protected function getBoxKey($data){
+
+        return $data['ext_1'].'_'.$data['ext_2'].'_'.$data['ext_3'].'_'.$data['ext_4'].'_'.$data['ext_5'];
+    }
+
 
     public function fillData($data){
         if(empty($data['data'])) return $data;