11 lines
1.3 KiB
Diff
11 lines
1.3 KiB
Diff
--- a/resources/js/lib/iva-import-exemptions.ts
|
|
+++ b/resources/js/lib/iva-import-exemptions.ts
|
|
@@ -102,6 +102,7 @@
|
|
}
|
|
export function importExemptionCurrent(draft:Record<string,unknown>,book:ImportExemptionBook):boolean {return !!book.result&&book.result.sourceKey===key(draft,book);}
|
|
export function recordImportExemptions(draft:Record<string,unknown>,book:ImportExemptionBook):ImportExemptionBook {
|
|
+ if(book.rows.some(row=>row.treatment==='authorized_investment_equipment'))throw new Error('Novas classificações P056 temporariamente suspensas; dados, histórico, relatórios e restantes ramos preservados.');
|
|
if(!book.rows.length||new Set(book.rows.map(r=>r.id)).size!==book.rows.length)throw new Error('Indique importações com identificadores distintos; versões anteriores conservadas.');
|
|
const result:ImportExemptionCalculation={version:importExemptionVersion,revision:(book.result?.revision??0)+1,calculatedAt:new Date().toISOString(),opportunity:acquisitionScope(draft),location:JSON.stringify(draft.selection_labels??{}),sourceKey:key(draft,book),source:[...new Set(book.rows.map(row=>importRuleSource(row.treatment)))].join(' | '),inputs:structuredClone(book.rows),rows:book.rows.map(row=>evaluateImportExemption(row,draft.currency))};
|
|
return {...book,result,history:[...(book.history??[]),...(book.result?[book.result]:[])]};
|