Show tender source changes against saved preparation metadata
This commit is contained in:
@@ -32,6 +32,7 @@ export function bidSourceSnapshot(tender, results, rows = sourceRows(tender, res
|
||||
tender: tender?.ikn || tender?.id,
|
||||
announcement: tender?.aciklama || '',
|
||||
deadline: [tender?.tarih || '', tender?.saat || ''],
|
||||
status: tender?.durum || '',
|
||||
documentVersion: results?.documentVersion ?? tender?.documentVersion ?? null,
|
||||
procurementTerms: results?.procurementTerms || null,
|
||||
analysis: preparationAnalysisSource(results),
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
export const tenderStateKey = t => String(t?.ikn || t?.id || '').trim();
|
||||
export const TENDER_SOURCE_FIELDS = [['tarih','İhale tarihi'],['saat','İhale saati'],['durum','İhale durumu'],['baslik','İhale başlığı'],['kurum','İdare'],['alimTuru','Alım türü'],['documentVersion','Doküman sürümü']];
|
||||
export function tenderSourceChanges(previous = {}, current = {}) {
|
||||
return TENDER_SOURCE_FIELDS.flatMap(([field,label]) => {
|
||||
const before = previous[field], after = current[field];
|
||||
if (before == null || before === '' || after == null || after === '' || String(before) === String(after)) return [];
|
||||
return [{field,label,before:String(before),after:String(after)}];
|
||||
});
|
||||
}
|
||||
export const USER_STATE_FIELDS = ['takipte', 'incelendi', 'kanbanStatus', 'atananPersonel', 'gorev', 'notes', 'checklist', 'bidDraft'];
|
||||
export function applyTenderStates(tenders, records = {}) {
|
||||
const seen = new Set();
|
||||
const result = tenders.map(t => {
|
||||
const key = tenderStateKey(t); seen.add(key);
|
||||
const record = records[key];
|
||||
return record ? { ...t, ...record.data } : t;
|
||||
return record ? { ...t, ...record.data, sourceChanges:tenderSourceChanges(record.snapshot,t) } : t;
|
||||
});
|
||||
for (const [key, record] of Object.entries(records)) {
|
||||
if (!seen.has(key) && record.snapshot && (record.data.takipte || record.data.gorev || record.data.incelendi || record.data.bidDraft || record.data.notes?.length))
|
||||
@@ -14,7 +22,7 @@ export function applyTenderStates(tenders, records = {}) {
|
||||
return result;
|
||||
}
|
||||
export function tenderSnapshot(t) {
|
||||
return Object.fromEntries(['id','ikn','baslik','kurum','tarih','saat','sehir','alimTuru'].map(k => [k,t[k] ?? '']));
|
||||
return Object.fromEntries(['id','ikn','baslik','kurum','tarih','saat','sehir','alimTuru','durum','documentVersion'].map(k => [k,t[k] ?? '']));
|
||||
}
|
||||
|
||||
export function publicTender(tender) {
|
||||
|
||||
Reference in New Issue
Block a user