fix(config): align branch column names with DB schema v4.0

- Use cp instead of codigo_postal
- Use folio_inicio/folio_actual instead of folio_inicial
- Add direccion_fiscal and email fields
- Remove non-existent certificado_pem, llave_pem, licencia_fiscal
- Fixes 500 error on /api/config/branches
This commit is contained in:
2026-06-11 09:33:59 +00:00
parent efbfadd17a
commit 98b3b1c8c1

View File

@@ -15,8 +15,8 @@ def list_branches():
cur = conn.cursor() cur = conn.cursor()
cur.execute(""" cur.execute("""
SELECT id, name, address, phone, is_active, is_main, SELECT id, name, address, phone, is_active, is_main,
rfc, razon_social, regimen_fiscal, codigo_postal, rfc, razon_social, regimen_fiscal, cp,
serie_cfdi, folio_inicial, licencia_fiscal direccion_fiscal, serie_cfdi, folio_inicio, folio_actual, email
FROM branches ORDER BY id FROM branches ORDER BY id
""") """)
branches = [] branches = []
@@ -25,8 +25,8 @@ def list_branches():
'id': r[0], 'name': r[1], 'address': r[2], 'phone': r[3], 'id': r[0], 'name': r[1], 'address': r[2], 'phone': r[3],
'is_active': r[4], 'is_main': r[5], 'is_active': r[4], 'is_main': r[5],
'rfc': r[6], 'razon_social': r[7], 'regimen_fiscal': r[8], 'rfc': r[6], 'razon_social': r[7], 'regimen_fiscal': r[8],
'codigo_postal': r[9], 'serie_cfdi': r[10], 'cp': r[9], 'direccion_fiscal': r[10], 'serie_cfdi': r[11],
'folio_inicial': r[11], 'licencia_fiscal': r[12], 'folio_inicio': r[12], 'folio_actual': r[13], 'email': r[14],
}) })
cur.close() cur.close()
conn.close() conn.close()
@@ -40,9 +40,8 @@ def get_branch(branch_id):
cur = conn.cursor() cur = conn.cursor()
cur.execute(""" cur.execute("""
SELECT id, name, address, phone, is_active, is_main, SELECT id, name, address, phone, is_active, is_main,
rfc, razon_social, regimen_fiscal, codigo_postal, rfc, razon_social, regimen_fiscal, cp,
serie_cfdi, folio_inicial, licencia_fiscal, direccion_fiscal, serie_cfdi, folio_inicio, folio_actual, email
certificado_pem, llave_pem
FROM branches WHERE id = %s FROM branches WHERE id = %s
""", (branch_id,)) """, (branch_id,))
r = cur.fetchone() r = cur.fetchone()
@@ -54,9 +53,8 @@ def get_branch(branch_id):
'id': r[0], 'name': r[1], 'address': r[2], 'phone': r[3], 'id': r[0], 'name': r[1], 'address': r[2], 'phone': r[3],
'is_active': r[4], 'is_main': r[5], 'is_active': r[4], 'is_main': r[5],
'rfc': r[6], 'razon_social': r[7], 'regimen_fiscal': r[8], 'rfc': r[6], 'razon_social': r[7], 'regimen_fiscal': r[8],
'codigo_postal': r[9], 'serie_cfdi': r[10], 'cp': r[9], 'direccion_fiscal': r[10], 'serie_cfdi': r[11],
'folio_inicial': r[11], 'licencia_fiscal': r[12], 'folio_inicio': r[12], 'folio_actual': r[13], 'email': r[14],
'certificado_pem': r[13], 'llave_pem': r[14],
}) })
@@ -93,16 +91,14 @@ def create_branch():
cur.execute(""" cur.execute("""
INSERT INTO branches ( INSERT INTO branches (
name, address, phone, is_main, name, address, phone, is_main,
rfc, razon_social, regimen_fiscal, codigo_postal, rfc, razon_social, regimen_fiscal, cp,
serie_cfdi, folio_inicial, licencia_fiscal, direccion_fiscal, serie_cfdi, folio_inicio, folio_actual, email
certificado_pem, llave_pem
) )
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING id
""", ( """, (
data['name'], data.get('address'), data.get('phone'), bool(data.get('is_main')), data['name'], data.get('address'), data.get('phone'), bool(data.get('is_main')),
data.get('rfc'), data.get('razon_social'), data.get('regimen_fiscal'), data.get('codigo_postal'), data.get('rfc'), data.get('razon_social'), data.get('regimen_fiscal'), data.get('cp'),
data.get('serie_cfdi'), data.get('folio_inicial'), data.get('licencia_fiscal'), data.get('direccion_fiscal'), data.get('serie_cfdi'), data.get('folio_inicio'), data.get('folio_actual'), data.get('email'),
data.get('certificado_pem'), data.get('llave_pem'),
)) ))
branch_id = cur.fetchone()[0] branch_id = cur.fetchone()[0]
conn.commit() conn.commit()
@@ -133,10 +129,9 @@ def update_branch(branch_id):
'name': 'name', 'address': 'address', 'phone': 'phone', 'name': 'name', 'address': 'address', 'phone': 'phone',
'is_active': 'is_active', 'is_main': 'is_main', 'is_active': 'is_active', 'is_main': 'is_main',
'rfc': 'rfc', 'razon_social': 'razon_social', 'rfc': 'rfc', 'razon_social': 'razon_social',
'regimen_fiscal': 'regimen_fiscal', 'codigo_postal': 'codigo_postal', 'regimen_fiscal': 'regimen_fiscal', 'cp': 'cp',
'serie_cfdi': 'serie_cfdi', 'folio_inicial': 'folio_inicial', 'direccion_fiscal': 'direccion_fiscal', 'serie_cfdi': 'serie_cfdi',
'licencia_fiscal': 'licencia_fiscal', 'folio_inicio': 'folio_inicio', 'folio_actual': 'folio_actual', 'email': 'email',
'certificado_pem': 'certificado_pem', 'llave_pem': 'llave_pem',
} }
for json_key, col in field_map.items(): for json_key, col in field_map.items():
if json_key in data: if json_key in data: