fix: cancelar constancia no asignada arreglado
This commit is contained in:
parent
3bde46589b
commit
1b2522c4f0
@ -245,7 +245,6 @@ public function cancelarTagNoAsignado(Request $request)
|
||||
'folio' => 'required|string|exists:tags,folio',
|
||||
'cancellation_reason_id' => 'required|exists:catalog_cancellation_reasons,id',
|
||||
'cancellation_observations' => 'nullable|string',
|
||||
'id_chip' => 'nullable|string|max:255',
|
||||
'module_id' => 'nullable|exists:modules,id',
|
||||
]);
|
||||
|
||||
@ -263,6 +262,7 @@ public function cancelarTagNoAsignado(Request $request)
|
||||
|
||||
// Validar que el tag NO esté asignado
|
||||
if ($tag->isAssigned()) {
|
||||
DB::rollBack();
|
||||
return ApiResponse::BAD_REQUEST->response([
|
||||
'message' => 'Este tag está asignado a un vehículo. Usa el endpoint de cancelación de constancia.',
|
||||
'tag_status' => $tag->status->name,
|
||||
@ -271,21 +271,13 @@ public function cancelarTagNoAsignado(Request $request)
|
||||
|
||||
// Validar que no esté ya cancelado
|
||||
if ($tag->isCancelled()) {
|
||||
DB::rollBack();
|
||||
return ApiResponse::BAD_REQUEST->response([
|
||||
'message' => 'El tag ya está cancelado.',
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$additionalInfo = [];
|
||||
if ($request->filled('id_chip')) {
|
||||
$additionalInfo[] = "ID CHIP: {$request->id_chip}";
|
||||
}
|
||||
|
||||
$observations = $request->cancellation_observations;
|
||||
if (!empty($additionalInfo)) {
|
||||
$observations = ($observations ? $observations . ' | ' : '') . implode(' | ', $additionalInfo);
|
||||
}
|
||||
|
||||
$cancellationLog = TagCancellationLog::create([
|
||||
'tag_id' => $tag->id,
|
||||
@ -295,6 +287,9 @@ public function cancelarTagNoAsignado(Request $request)
|
||||
'cancelled_by' => Auth::id(),
|
||||
]);
|
||||
|
||||
// Cargar las relaciones necesarias
|
||||
$cancellationLog->load(['cancellationReason', 'cancelledBy']);
|
||||
|
||||
// Actualizar el módulo del tag si se proporciona
|
||||
if ($request->filled('module_id')) {
|
||||
$tag->module_id = $request->module_id;
|
||||
@ -320,7 +315,7 @@ public function cancelarTagNoAsignado(Request $request)
|
||||
$cancellationData = [
|
||||
'fecha' => $lastCancellation ? $lastCancellation->cancellation_at->format('d/m/Y') : now()->format('d/m/Y'),
|
||||
'folio' => $tag->folio ?? '',
|
||||
'id_chip' => $request->id_chip ?? '',
|
||||
'tag_number' => $tag->tag_number ?? 'N/A',
|
||||
'motivo' => $lastCancellation && $lastCancellation->cancellationReason
|
||||
? $lastCancellation->cancellationReason->name
|
||||
: 'No especificado',
|
||||
|
||||
@ -121,8 +121,8 @@
|
||||
<td class="data-value">{{ $cancellation['folio'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr class="data-row">
|
||||
<td class="data-label">ID CHIP:</td>
|
||||
<td class="data-value">{{ $cancellation['id_chip'] ?? '' }}</td>
|
||||
<td class="data-label">TAG NUMBER:</td>
|
||||
<td class="data-value">{{ $cancellation['tag_number'] ?? 'N/A' }}</td>
|
||||
</tr>
|
||||
<tr class="data-row">
|
||||
<td class="data-label">MOTIVO:</td>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user