|
|
@@ -707,8 +707,8 @@ class CorrectiveMaintenanceController extends Controller
|
|
|
return $this->responseController->makeResponse(true, 'La orden no está registrada.', [], 404);
|
|
|
}
|
|
|
|
|
|
- if ($order->OTCO_ESOR !== 'CP') {
|
|
|
- return $this->responseController->makeResponse(true, 'Solo se puede consultar análisis de costos en órdenes con estado "Cerrado pendiente".', [], 400);
|
|
|
+ if (!in_array($order->OTCO_ESOR, ['CP', 'CE'])) {
|
|
|
+ return $this->responseController->makeResponse(true, 'Solo se puede consultar análisis de costos en órdenes con estado "Cerrado pendiente" o "Cerrado".', [], 400);
|
|
|
}
|
|
|
|
|
|
$historial = json_decode($order->OTCO_HIES, true);
|
|
|
@@ -851,12 +851,14 @@ class CorrectiveMaintenanceController extends Controller
|
|
|
$analisisPrevio = json_decode($order->OTCO_ANCO, true);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
$response = [
|
|
|
'USUARIOS' => $usuariosParticipantes,
|
|
|
'TIENE_HERRAMIENTAS' => $tieneHerramientas,
|
|
|
'TIENE_REFACCIONES' => $tieneRefacciones,
|
|
|
'TIENE_ANALISIS_PREVIO' => $tieneAnalisisPrevio,
|
|
|
- 'ANALISIS_PREVIO' => $analisisPrevio
|
|
|
+ 'ANALISIS_PREVIO' => $analisisPrevio,
|
|
|
+ 'ESTADO' => $order->OTCO_ESOR
|
|
|
];
|
|
|
|
|
|
if ($tieneHerramientas) {
|
|
|
@@ -949,6 +951,16 @@ class CorrectiveMaintenanceController extends Controller
|
|
|
'TOTAL' => $form['TOTAL']
|
|
|
];
|
|
|
|
|
|
+ // Verificar si ya existe análisis previo para determinar acción
|
|
|
+ $analisisPrevio = DB::table('S002V01TOTCO')
|
|
|
+ ->select(['OTCO_ANCO'])
|
|
|
+ ->where([
|
|
|
+ ['OTCO_IDOT', '=', $idOrder],
|
|
|
+ ['OTCO_NULI', '=', $form['linea']]
|
|
|
+ ])->first();
|
|
|
+
|
|
|
+ $esActualizacion = !is_null($analisisPrevio->OTCO_ANCO) && $analisisPrevio->OTCO_ANCO !== '';
|
|
|
+
|
|
|
$updated = DB::table('S002V01TOTCO')
|
|
|
->where([
|
|
|
['OTCO_IDOT', '=', $idOrder],
|
|
|
@@ -969,13 +981,17 @@ class CorrectiveMaintenanceController extends Controller
|
|
|
$actions = DB::getQueryLog();
|
|
|
$name = $this->functionsController->joinName($usr->USUA_NOMB, $usr->USUA_APPA, $usr->USUA_APMA);
|
|
|
|
|
|
+ $accion = $esActualizacion ? 'Actualización' : 'Registro';
|
|
|
+ $verbo = $esActualizacion ? 'actualizó' : 'registró';
|
|
|
+ $mensaje = $esActualizacion ? 'Análisis de costos actualizado exitosamente.' : 'Análisis de costos registrado exitosamente.';
|
|
|
+
|
|
|
$idac = $this->functionsController->registerActivity(
|
|
|
$form['linea'],
|
|
|
'S002V01M09GMCO',
|
|
|
'S002V01F01GEOP',
|
|
|
'S002V01P01COOP',
|
|
|
- 'Registro',
|
|
|
- "El usuario $name (" . $usr->USUA_IDUS . ") registró el análisis de costos de la orden $idOrder.",
|
|
|
+ $accion,
|
|
|
+ "El usuario $name (" . $usr->USUA_IDUS . ") $verbo el análisis de costos de la orden $idOrder.",
|
|
|
$idUser,
|
|
|
$nowStr,
|
|
|
'S002V01S01ORTR'
|
|
|
@@ -983,7 +999,7 @@ class CorrectiveMaintenanceController extends Controller
|
|
|
|
|
|
$this->functionsController->registerLog($actions, $idUser, $nowStr, $idac, $form['linea']);
|
|
|
|
|
|
- return $this->responseController->makeResponse(false, 'Análisis de costos guardado exitosamente.', []);
|
|
|
+ return $this->responseController->makeResponse(false, $mensaje, []);
|
|
|
}
|
|
|
|
|
|
public function updateWorkOrder(Request $request)
|