From 6e281dfbda65efcfbfe1e10f4c9e43ad51af596e Mon Sep 17 00:00:00 2001 From: Lizandro GD Date: Mon, 13 Jul 2026 02:44:19 +0000 Subject: [PATCH] feat: cuentas por cobrar usa listado de clientes en vez de entidades contables Co-Authored-By: Claude Sonnet 5 --- pkg/models/contabilidad.go | 19 ++++++++-------- .../view/contabilidad/cuentas_cobro.html | 22 +++++++++---------- .../views/contabilidad/cuentas_cobro.html | 22 +++++++++---------- rest/controllers/contabilidad_controller.go | 8 +++---- 4 files changed, 35 insertions(+), 36 deletions(-) diff --git a/pkg/models/contabilidad.go b/pkg/models/contabilidad.go index 6087e7c..36896e9 100644 --- a/pkg/models/contabilidad.go +++ b/pkg/models/contabilidad.go @@ -61,8 +61,10 @@ func (Transaccion) TableName() string { return "contab_transacciones" } type CuentaCobro struct { gorm.Model - EntidadID uint `json:"entidad_id" gorm:"column:entidad_id;index;not null"` - Entidad Entidad `json:"entidad" gorm:"foreignKey:EntidadID"` + ClienteID uint `json:"cliente_id" gorm:"column:cliente_id;index;not null"` + Cliente Cliente `json:"cliente" gorm:"foreignKey:ClienteID"` + EntidadID *uint `json:"entidad_id" gorm:"column:entidad_id;index"` + Entidad *Entidad `json:"entidad" gorm:"foreignKey:EntidadID"` Fecha time.Time `json:"fecha" gorm:"column:fecha;not null"` Descripcion string `json:"descripcion" gorm:"column:descripcion;type:text"` Valor float64 `json:"valor" gorm:"column:valor;not null"` @@ -260,11 +262,11 @@ func DeleteTransaccion(id uint) error { func GetAllCuentasCobro(limit, offset int, search string, estado string) ([]CuentaCobro, int64, error) { var items []CuentaCobro var total int64 - db := app.Http.Database.DB.Model(&CuentaCobro{}).Preload("Entidad").Preload("Transaccion") + db := app.Http.Database.DB.Model(&CuentaCobro{}).Preload("Cliente").Preload("Entidad").Preload("Transaccion") if search != "" { - db = db.Joins("JOIN contab_entidades ON contab_entidades.id = contab_cuentas_cobro.entidad_id"). - Where("contab_entidades.nombre ILIKE ? OR contab_cuentas_cobro.descripcion ILIKE ?", - "%"+search+"%", "%"+search+"%") + db = db.Joins("JOIN clientes ON clientes.id = contab_cuentas_cobro.cliente_id"). + Where("clientes.nombre ILIKE ? OR clientes.empresa ILIKE ? OR contab_cuentas_cobro.descripcion ILIKE ?", + "%"+search+"%", "%"+search+"%", "%"+search+"%") } if estado != "" { db = db.Where("contab_cuentas_cobro.estado = ?", estado) @@ -463,10 +465,7 @@ func CreateCuentaCobro(cc *CuentaCobro) error { func UpdateCuentaCobro(cc *CuentaCobro) error { return app.Http.Database.DB.Model(&CuentaCobro{}).Where("id = ?", cc.ID).Updates(map[string]interface{}{ - "entidad_id": cc.EntidadID, - "fecha": cc.Fecha, - "descripcion": cc.Descripcion, - "valor": cc.Valor, + "cliente_id": cc.ClienteID, "estado": cc.Estado, "fecha_vencimiento": cc.FechaVencimiento, "fecha_pago": cc.FechaPago, diff --git a/resources/view/contabilidad/cuentas_cobro.html b/resources/view/contabilidad/cuentas_cobro.html index 951a365..7ecfb8e 100644 --- a/resources/view/contabilidad/cuentas_cobro.html +++ b/resources/view/contabilidad/cuentas_cobro.html @@ -26,7 +26,7 @@ Fecha - Entidad + Cliente Descripción Valor Vence @@ -41,7 +41,7 @@