feat: Implementación módulos Empresas, Plantas, Tipos y Estados Bobina
Backend API: - Implementado CRUD completo para Empresas (DE001-DE004): - EmpresaRepository, EmpresaService, EmpresasController. - Lógica de creación/eliminación de saldos iniciales en EmpresaService. - Transacciones y registro en tablas _H. - Verificación de permisos específicos. - Implementado CRUD completo para Plantas de Impresión (IP001-IP004): - PlantaRepository, PlantaService, PlantasController. - Transacciones y registro en tablas _H. - Verificación de permisos. - Implementado CRUD completo para Tipos de Bobina (IB006-IB009): - TipoBobinaRepository, TipoBobinaService, TiposBobinaController. - Transacciones y registro en tablas _H. - Verificación de permisos. - Implementado CRUD completo para Estados de Bobina (IB010-IB013): - EstadoBobinaRepository, EstadoBobinaService, EstadosBobinaController. - Transacciones y registro en tablas _H. - Verificación de permisos. Frontend React: - Módulo Empresas: - empresaService.ts para interactuar con la API. - EmpresaFormModal.tsx para crear/editar empresas. - GestionarEmpresasPage.tsx con tabla, filtro, paginación y menú de acciones. - Integración con el hook usePermissions para control de acceso. - Módulo Plantas de Impresión: - plantaService.ts. - PlantaFormModal.tsx. - GestionarPlantasPage.tsx con tabla, filtro, paginación y acciones. - Integración con usePermissions. - Módulo Tipos de Bobina: - tipoBobinaService.ts. - TipoBobinaFormModal.tsx. - GestionarTiposBobinaPage.tsx con tabla, filtro, paginación y acciones. - Integración con usePermissions. - Módulo Estados de Bobina: - estadoBobinaService.ts. - EstadoBobinaFormModal.tsx. - GestionarEstadosBobinaPage.tsx con tabla, filtro, paginación y acciones. - Integración con usePermissions. - Navegación: - Añadidas sub-pestañas y rutas para los nuevos módulos dentro de "Distribución" (Empresas) e "Impresión" (Plantas, Tipos Bobina, Estados Bobina). - Creado ImpresionIndexPage.tsx para la navegación interna del módulo de Impresión. Correcciones: - Corregido el uso de CommitAsync/RollbackAsync a Commit/Rollback síncronos en PlantaService.cs debido a que IDbTransaction no los soporta asíncronamente.
This commit is contained in:
		
							
								
								
									
										14
									
								
								Backend/GestionIntegral.Api/Models/Impresion/EstadoBobina.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								Backend/GestionIntegral.Api/Models/Impresion/EstadoBobina.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| namespace GestionIntegral.Api.Models.Impresion | ||||
| { | ||||
|     public class EstadoBobina | ||||
|     { | ||||
|         // Columna: Id_EstadoBobina (PK, Identity) | ||||
|         public int IdEstadoBobina { get; set; } | ||||
|  | ||||
|         // Columna: Denominacion (varchar(50), NOT NULL) | ||||
|         public string Denominacion { get; set; } = string.Empty; | ||||
|  | ||||
|         // Columna: Obs (varchar(150), NULL) | ||||
|         public string? Obs { get; set; } // Permite nulos | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| namespace GestionIntegral.Api.Models.Impresion | ||||
| { | ||||
|     public class EstadoBobinaHistorico | ||||
|     { | ||||
|         // Columna: Id_EstadoBobina (int, FK) | ||||
|         public int IdEstadoBobina { get; set; } | ||||
|  | ||||
|         // Columna: Denominacion (varchar(50), NOT NULL) | ||||
|         public string Denominacion { get; set; } = string.Empty; | ||||
|  | ||||
|         // Columna: Obs (varchar(150), NULL) | ||||
|         public string? Obs { get; set; } | ||||
|  | ||||
|         // Columnas de Auditoría | ||||
|         public int IdUsuario { get; set; } | ||||
|         public DateTime FechaMod { get; set; } | ||||
|         public string TipoMod { get; set; } = string.Empty; // "Insertada", "Modificada", "Eliminada" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										9
									
								
								Backend/GestionIntegral.Api/Models/Impresion/Planta.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								Backend/GestionIntegral.Api/Models/Impresion/Planta.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| namespace GestionIntegral.Api.Models.Impresion | ||||
| { | ||||
|     public class Planta | ||||
|     { | ||||
|         public int IdPlanta { get; set; } // Coincide con PK de bob_dtPlantas | ||||
|         public string Nombre { get; set; } = string.Empty; | ||||
|         public string Detalle { get; set; } = string.Empty; // Asumiendo que no es null en BD según script | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,12 @@ | ||||
| namespace GestionIntegral.Api.Models.Impresion | ||||
| { | ||||
|     public class PlantaHistorico | ||||
|     { | ||||
|         public int IdPlanta { get; set; } // FK a bob_dtPlantas | ||||
|         public string Nombre { get; set; } = string.Empty; | ||||
|         public string Detalle { get; set; } = string.Empty; | ||||
|         public int IdUsuario { get; set; } | ||||
|         public DateTime FechaMod { get; set; } | ||||
|         public string TipoMod { get; set; } = string.Empty; // "Insertada", "Modificada", "Eliminada" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										11
									
								
								Backend/GestionIntegral.Api/Models/Impresion/TipoBobina.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Backend/GestionIntegral.Api/Models/Impresion/TipoBobina.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| namespace GestionIntegral.Api.Models.Impresion | ||||
| { | ||||
|     public class TipoBobina | ||||
|     { | ||||
|         // Columna: Id_TipoBobina (PK, Identity) | ||||
|         public int IdTipoBobina { get; set; } | ||||
|  | ||||
|         // Columna: Denominacion (varchar(150), NOT NULL) | ||||
|         public string Denominacion { get; set; } = string.Empty; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,16 @@ | ||||
| namespace GestionIntegral.Api.Models.Impresion | ||||
| { | ||||
|     public class TipoBobinaHistorico | ||||
|     { | ||||
|         // Columna: Id_TipoBobina (int, FK) | ||||
|         public int IdTipoBobina { get; set; } | ||||
|  | ||||
|         // Columna: Denominacion (varchar(150), NOT NULL) | ||||
|         public string Denominacion { get; set; } = string.Empty; | ||||
|  | ||||
|         // Columnas de Auditoría | ||||
|         public int IdUsuario { get; set; } | ||||
|         public DateTime FechaMod { get; set; } | ||||
|         public string TipoMod { get; set; } = string.Empty; // "Insertada", "Modificada", "Eliminada" | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user