feat(conciliacion): columnas de regimen en tabla Por conciliar segun tab

This commit is contained in:
Horux Dev
2026-05-24 19:39:21 +00:00
parent c65e3455e6
commit a24947187a
2 changed files with 35 additions and 12 deletions

View File

@@ -13,6 +13,8 @@ export interface ConciliacionCfdi {
nombreEmisor: string;
rfcReceptor: string;
nombreReceptor: string;
regimenFiscalEmisor: string | null;
regimenFiscalReceptor: string | null;
total: number;
totalMxn: number;
subtotal: number;
@@ -98,6 +100,7 @@ export async function getCfdisConConciliacion(
c.fecha_emision as "fechaEmision",
c.rfc_emisor as "rfcEmisor", c.nombre_emisor as "nombreEmisor",
c.rfc_receptor as "rfcReceptor", c.nombre_receptor as "nombreReceptor",
c.regimen_fiscal_emisor as "regimenFiscalEmisor", c.regimen_fiscal_receptor as "regimenFiscalReceptor",
c.total, c.total_mxn as "totalMxn",
c.subtotal, c.descuento,
c.moneda, c.tipo_cambio as "tipoCambio",
@@ -136,6 +139,8 @@ export async function getCfdisConConciliacion(
nombreEmisor: r.nombreEmisor,
rfcReceptor: r.rfcReceptor,
nombreReceptor: r.nombreReceptor,
regimenFiscalEmisor: r.regimenFiscalEmisor,
regimenFiscalReceptor: r.regimenFiscalReceptor,
total: Number(r.total),
totalMxn: Number(r.totalMxn),
subtotal: Number(r.subtotal || 0),

View File

@@ -395,10 +395,19 @@ export default function ConciliacionPage() {
<th className="pb-3 font-medium cursor-pointer select-none" onClick={() => setSortPendientes(prev => prev?.field === 'fecha' ? { field: 'fecha', dir: prev.dir === 'asc' ? 'desc' : 'asc' } : { field: 'fecha', dir: 'asc' })}>
<span className="flex items-center justify-center gap-1">Fecha <ArrowUpDown className="h-3 w-3" /></span>
</th>
<th className="pb-3 font-medium"><FilterHeader label="RFC Emisor" filterKey="rfcEmisor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.rfcEmisor} /></th>
<th className="pb-3 font-medium"><FilterHeader label="Nombre Emisor" filterKey="nombreEmisor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.nombreEmisor} /></th>
<th className="pb-3 font-medium"><FilterHeader label="RFC Receptor" filterKey="rfcReceptor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.rfcReceptor} /></th>
<th className="pb-3 font-medium"><FilterHeader label="Nombre Receptor" filterKey="nombreReceptor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.nombreReceptor} /></th>
{activeTab === 'EMITIDO' ? (
<>
<th className="pb-3 font-medium"><FilterHeader label="RFC Receptor" filterKey="rfcReceptor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.rfcReceptor} /></th>
<th className="pb-3 font-medium"><FilterHeader label="Nombre Receptor" filterKey="nombreReceptor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.nombreReceptor} /></th>
<th className="pb-3 font-medium">Régimen Emisor</th>
</>
) : (
<>
<th className="pb-3 font-medium"><FilterHeader label="RFC Emisor" filterKey="rfcEmisor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.rfcEmisor} /></th>
<th className="pb-3 font-medium"><FilterHeader label="Nombre Emisor" filterKey="nombreEmisor" filters={filtersPendientes} setFilters={setFiltersPendientes} openFilter={openFilterPendientes} setOpenFilter={setOpenFilterPendientes} suggestions={uniqueSuggestions.nombreEmisor} /></th>
<th className="pb-3 font-medium">Régimen Receptor</th>
</>
)}
<th className="pb-3 font-medium cursor-pointer select-none" onClick={() => setSortPendientes(prev => prev?.field === 'total' ? { field: 'total', dir: prev.dir === 'asc' ? 'desc' : 'asc' } : { field: 'total', dir: 'asc' })}>
<span className="flex items-center justify-center gap-1">Total MXN <ArrowUpDown className="h-3 w-3" /></span>
</th>
@@ -431,14 +440,23 @@ export default function ConciliacionPage() {
<td className="py-2 text-xs text-center">
{toCfdiDate(cfdi.fechaPagoP || cfdi.fechaEmision).toLocaleDateString('es-MX')}
</td>
<td className="py-2 font-mono text-xs text-center">{cfdi.rfcEmisor}</td>
<td className="py-2 text-xs truncate max-w-[120px] text-center">
{cfdi.nombreEmisor}
</td>
<td className="py-2 font-mono text-xs text-center">{cfdi.rfcReceptor}</td>
<td className="py-2 text-xs truncate max-w-[120px] text-center">
{cfdi.nombreReceptor}
</td>
{activeTab === 'EMITIDO' ? (
<>
<td className="py-2 font-mono text-xs text-center">{cfdi.rfcReceptor}</td>
<td className="py-2 text-xs truncate max-w-[120px] text-center">
{cfdi.nombreReceptor}
</td>
<td className="py-2 text-xs text-center">{cfdi.regimenFiscalEmisor || '-'}</td>
</>
) : (
<>
<td className="py-2 font-mono text-xs text-center">{cfdi.rfcEmisor}</td>
<td className="py-2 text-xs truncate max-w-[120px] text-center">
{cfdi.nombreEmisor}
</td>
<td className="py-2 text-xs text-center">{cfdi.regimenFiscalReceptor || '-'}</td>
</>
)}
<td className="py-2 text-xs font-medium text-center">
{formatCurrencyConciliacion(getMonto(cfdi))}
</td>