Quellcode durchsuchen

modificacion de newUnprogrammedOrder para adaptar los campos necesarios

EmilianoOrtiz vor 3 Tagen
Ursprung
Commit
03d14ff260

+ 26 - 1
sistema-mantenimiento-back/app/Http/Controllers/PreventiveMaintenanceController.php

@@ -2233,6 +2233,7 @@ class PreventiveMaintenanceController extends Controller
     // Visitas técnicas no programadas (Preventivas)
     public function newUnprogrammedOrder(Request $request)
     {
+        Log::info($request->all());
         DB::enableQueryLog();
 
         $validator = Validator::make($request->all(), [
@@ -2242,6 +2243,10 @@ class PreventiveMaintenanceController extends Controller
             'resources' => 'required|json',
             'comments' => 'required|string|min:35',
             'staff' => 'required|json',
+            'priority' => 'required|integer',
+            'description' => 'required|string',
+            'estimated' => 'required|numeric',
+            'clasification' => 'required|string'
         ]);
 
         if ($validator->fails()) {
@@ -2343,7 +2348,7 @@ class PreventiveMaintenanceController extends Controller
         }
 
         $commentsArr = [
-            'CI' => $form['comments']
+            'COMENTARIO_REGISTRO' => $form['comments']
         ];
 
 
@@ -2367,6 +2372,9 @@ class PreventiveMaintenanceController extends Controller
             'RVTN_TIAC' => 'M',
             'RVTN_PEIN' => $staffStr,
             'RVTN_MAUT' => $form['resources'],
+            'RVTN_PRIO' => $form['priority'],
+            'RVTN_TESO' => $form['estimated'],
+            'RVTN_CLAS' => $form['clasification'],
             'RVTN_ESTA' => 'PE',
             'RVTN_HIES' => $statusHistoryStr,
             'RVTN_COME' => $commentsStr,
@@ -2797,6 +2805,23 @@ class PreventiveMaintenanceController extends Controller
             if ($newStatus == 'CE') {
                 $updateArr['RVTN_USFI'] = $idUser;
                 $updateArr['RVTN_FEFI'] = $nowStr;
+
+                // Calcular tiempo de duración de la intervención
+                $epDate = null;
+                $ceDate = $nowStr;
+
+                foreach ($statusHistoryArr as $historyItem) {
+                    if ($historyItem['ESTADO'] === 'EP') {
+                        $epDate = $historyItem['FECHA'];
+                    }
+                }
+
+                if ($epDate) {
+                    $startTime = new \Carbon\Carbon($epDate);
+                    $endTime = new \Carbon\Carbon($ceDate);
+                    $durationHours = $endTime->diffInMinutes($startTime) / 60.0;
+                    $updateArr['RVTN_DTIN'] = $durationHours;
+                }
             }
         }