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