v1.0.64 Backend / v1.0.58 Frontend - Renombrar cliente a N° de Pedido

Backend (1.0.64):
- Renombrado campo client_name a order_number en modelo Inspection
- Actualizado InspectionBase schema con nuevo campo order_number
- Comentario descriptivo: "Número de pedido asociado a la inspección"

Frontend (1.0.58):
- Renombrado client_name a order_number en toda la aplicación
- Actualizado label: "Nombre del Cliente" → "Nº de Pedido"
- Actualizado placeholder: "Juan Pérez" → "PED-12345"
- Actualizado título sección: "Información del Cliente" → "Información del Pedido"
- Actualizado filtro de búsqueda para incluir número de pedido
- Actualizado texto de búsqueda: "cliente" → "Nº pedido"

Database:
- Script de migración: rename_client_name_to_order_number.sql
- Comando: ALTER TABLE inspections RENAME COLUMN client_name TO order_number

Nota: Ejecutar migración SQL antes de usar esta versión
This commit is contained in:
2025-11-27 01:49:42 -03:00
parent 162b278044
commit fdad7b10ad
6 changed files with 26 additions and 16 deletions

View File

@@ -204,7 +204,7 @@ def send_completed_inspection_to_n8n(inspection, db):
# No lanzamos excepción para no interrumpir el flujo normal
BACKEND_VERSION = "1.0.63"
BACKEND_VERSION = "1.0.64"
app = FastAPI(title="Checklist Inteligente API", version=BACKEND_VERSION)
# S3/MinIO configuration

View File

@@ -108,7 +108,7 @@ class Inspection(Base):
vehicle_brand = Column(String(50))
vehicle_model = Column(String(100))
vehicle_km = Column(Integer)
client_name = Column(String(200))
order_number = Column(String(200)) # Nº de Pedido
# Datos del mecánico
mechanic_employee_code = Column(String(50)) # Código de operario del mecánico

View File

@@ -168,7 +168,7 @@ class InspectionBase(BaseModel):
vehicle_brand: Optional[str] = None
vehicle_model: Optional[str] = None
vehicle_km: Optional[int] = None
client_name: Optional[str] = None
order_number: Optional[str] = None # Nº de Pedido
mechanic_employee_code: Optional[str] = None
class InspectionCreate(InspectionBase):

View File

@@ -0,0 +1,10 @@
-- Migration: Rename client_name to order_number
-- Date: 2025-11-27
-- Description: Cambiar campo client_name a order_number en tabla inspections
-- Renombrar la columna
ALTER TABLE inspections
RENAME COLUMN client_name TO order_number;
-- Actualizar comentario de la columna
COMMENT ON COLUMN inspections.order_number IS 'Número de pedido asociado a la inspección';

View File

@@ -1,7 +1,7 @@
{
"name": "checklist-frontend",
"private": true,
"version": "1.0.57",
"version": "1.0.58",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -2671,13 +2671,13 @@ function InspectionDetailModal({ inspection, user, onClose, onUpdate }) {
</div>
) : (
<>
{/* Client Info */}
{/* Order Info */}
<div className="bg-gray-50 rounded-lg p-4 mb-6">
<h3 className="font-semibold text-gray-900 mb-2">Información del Cliente</h3>
<h3 className="font-semibold text-gray-900 mb-2">Información del Pedido</h3>
<div className="grid grid-cols-2 gap-4 text-sm">
<div>
<span className="text-gray-600">Cliente:</span>
<span className="ml-2 font-medium">{inspection.client_name || 'N/A'}</span>
<span className="text-gray-600"> de Pedido:</span>
<span className="ml-2 font-medium">{inspection.order_number || 'N/A'}</span>
</div>
<div>
<span className="text-gray-600">Fecha:</span>
@@ -3180,7 +3180,7 @@ function InspectionsTab({ inspections, user, onUpdate }) {
inspection.vehicle_plate?.toLowerCase().includes(searchTerm.toLowerCase()) ||
inspection.vehicle_brand?.toLowerCase().includes(searchTerm.toLowerCase()) ||
inspection.vehicle_model?.toLowerCase().includes(searchTerm.toLowerCase()) ||
inspection.client_name?.toLowerCase().includes(searchTerm.toLowerCase()) ||
inspection.order_number?.toLowerCase().includes(searchTerm.toLowerCase()) ||
inspection.or_number?.toLowerCase().includes(searchTerm.toLowerCase()) ||
inspection.id?.toString().includes(searchTerm)
@@ -3210,7 +3210,7 @@ function InspectionsTab({ inspections, user, onUpdate }) {
<div className="flex-1 min-w-[300px]">
<input
type="text"
placeholder="Buscar por placa, marca, modelo, cliente, OR o ID..."
placeholder="Buscar por placa, marca, modelo, Nº pedido, OR o ID..."
value={searchTerm}
onChange={(e) => setSearchTerm(e.target.value)}
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
@@ -3321,7 +3321,7 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
vehicle_brand: '',
vehicle_model: '',
vehicle_km: '',
client_name: '',
order_number: '',
or_number: ''
})
@@ -3395,7 +3395,7 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
vehicle_brand: vehicleData.vehicle_brand || null,
vehicle_model: vehicleData.vehicle_model || null,
vehicle_km: vehicleData.vehicle_km ? parseInt(vehicleData.vehicle_km) : null,
client_name: vehicleData.client_name || null,
order_number: vehicleData.order_number || null,
or_number: vehicleData.or_number || null
}
@@ -4082,14 +4082,14 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
<div className="col-span-2">
<label className="block text-sm font-medium text-gray-700 mb-1">
Nombre del Cliente
Nº de Pedido
</label>
<input
type="text"
value={vehicleData.client_name}
onChange={(e) => setVehicleData({ ...vehicleData, client_name: e.target.value })}
value={vehicleData.order_number}
onChange={(e) => setVehicleData({ ...vehicleData, order_number: e.target.value })}
className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500"
placeholder="Juan Pérez"
placeholder="PED-12345"
/>
</div>
</div>