cqpCow 2 år sedan
förälder
incheckning
e37fc7485a
1 ändrade filer med 26 tillägg och 2 borttagningar
  1. 26 2
      app/Service/FinishedOrderService.php

+ 26 - 2
app/Service/FinishedOrderService.php

@@ -76,7 +76,7 @@ class FinishedOrderService extends Service
 
                 $process_model = new OrdersProductProcess(['channel' => date("Ymd",$value['out_order_no_time'])]);
                 $process_model->where('order_product_id',$value['order_product_id'])
-                    ->where('process_id',$data['process_id'])
+                    ->where('process_id',$value['process_id'])
                     ->where('dispatch_no',$value['dispatch_no'])
                     ->take($quantity_tmp)
                     ->update([
@@ -147,7 +147,7 @@ class FinishedOrderService extends Service
 
     public function orderList($data){
         $model = FinishedOrderSub::where('del_time',0)
-            ->select('id','order_no','table_header_mark','product_no','product_title','product_size','product_unit','order_quantity','technology_material','technology_name','wood_name','process_mark','table_body_mark','dispatch_quantity','finished_num','waste_quantity','production_no','status','crt_id','process_id','equipment_id','team_id','dispatch_time_start','dispatch_time_end','dispatch_time')
+            ->select('id','order_no','table_header_mark','product_no','product_title','product_size','product_unit','dispatch_quantity','technology_material','technology_name','wood_name','process_mark','table_body_mark','dispatch_quantity','finished_num','status','crt_id','process_id','equipment_id','team_id','dispatch_time_start','dispatch_time_end','dispatch_time','crt_time')
             ->orderBy('id','desc');
 
         if(! empty($data['order_no'])) $model->where('order_no', 'LIKE', '%'.$data['order_no'].'%');
@@ -195,6 +195,25 @@ class FinishedOrderService extends Service
     public function fillData($data){
         if(empty($data['data'])) return $data;
 
+        $waste_map = $waste_map_2 = [];
+        $waste = FinishedOrderScrapp::where('del_time',0)
+            ->whereIn('finished_order_id',array_column($data['data'],'id'))
+            ->select('finished_order_id','num','scrapp_id')
+            ->get()->toArray();
+        if(! empty($waste)){
+            foreach ($waste as $value){
+                $waste_map[$value['finished_order_id']][] = [
+                    'num' => $value['num'],
+                    'scrapp_id' => $value['scrapp_id']
+                ];
+                if(isset($waste_map_2[$value['finished_order_id']])){
+                    $waste_map_2[$value['finished_order_id']] += $value['num'];
+                }else{
+                    $waste_map_2[$value['finished_order_id']] = $value['num'];
+                }
+            }
+        }
+
         $team = EmployeeTeamPermission::from('employee_team_permission as a')
             ->leftJoin('employee as b','b.id','a.employee_id')
             ->whereIn('a.team_id',array_column($data['data'],'team_id'))
@@ -234,9 +253,14 @@ class FinishedOrderService extends Service
             $data['data'][$key]['process_name'] = $process_map[$value['process_id']] ?? '';
             $data['data'][$key]['team_name'] = $team_maps[$value['team_id']] ?? '';
             $data['data'][$key]['equipment_name'] = $equipment_map[$value['equipment_id']] ?? '';
+            $data['data'][$key]['waste'] = $waste_map[$value['id']] ?? [];
+            $data['data'][$key]['waste_quantity'] = $waste_map_2[$value['id']] ?? 0;
+            $data['data'][$key]['not_finished_num'] = $value['dispatch_quantity'] - $value['finished_num'];
         }
         $data['finished_num'] = array_sum(array_column($data['data'], 'finished_num'));
+        $data['dispatch_quantity'] = array_sum(array_column($data['data'], 'dispatch_quantity'));
         $data['waste_quantity'] = array_sum(array_column($data['data'], 'waste_quantity'));
+        $data['not_finished_num'] = array_sum(array_column($data['data'], 'not_finished_num'));
 
         return $data;
     }