From 92113c0374c9af3f12456ed9f3bbe77f5ec24b68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Fri, 19 Jun 2026 08:07:21 +0400 Subject: [PATCH] =?UTF-8?q?v1.0.47:=20differ=20=E2=80=94=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=87=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20vs=20=D0=B2=D1=81?= =?UTF-8?q?=D0=B5=20=D0=B4=D0=BE=D0=BF=D0=BD=D0=B8=D0=BA=D0=B8=20(=D0=BA?= =?UTF-8?q?=D0=B0=D0=BA=20Flask)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- differ.cfm | 211 +++++++++++++++----------------------------------- extractor.cfm | 3 - index.cfm | 42 ++++++---- 3 files changed, 87 insertions(+), 169 deletions(-) diff --git a/differ.cfm b/differ.cfm index f899c9e..93dc2b8 100644 --- a/differ.cfm +++ b/differ.cfm @@ -2,167 +2,80 @@ - - - - SELECT id, type, created_at - FROM supplements - WHERE contract_id = - ORDER BY created_at DESC - LIMIT 2 + + SELECT id FROM supplements WHERE contract_id= AND type='initial' ORDER BY created_at LIMIT 1 - - - + + + SELECT id FROM supplements WHERE contract_id= ORDER BY created_at LIMIT 1 + + + + SELECT id, type FROM supplements WHERE contract_id= AND id!= ORDER BY created_at + + + - - - - - - SELECT row_num, name, price, qty, sum, date_start - FROM spec_rows - WHERE supplement_id = - ORDER BY row_num + + SELECT row_num, name, price, qty, sum, date_start FROM spec_rows WHERE supplement_id= ORDER BY row_num - - - SELECT row_num, name, price, qty, sum, date_start - FROM spec_rows - WHERE supplement_id = - ORDER BY row_num - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO spec_history (contract_id, supplement_id, row_num, change_type, old_values, new_values) - VALUES ( - , - , - , - , - ::jsonb, - ::jsonb - ) + + + + + SELECT row_num, name, price, qty, sum, date_start FROM spec_rows WHERE supplement_id= ORDER BY row_num + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + - - - - + - -#serializeJSON(result)# +#serializeJSON(result)# \ No newline at end of file diff --git a/extractor.cfm b/extractor.cfm index dae559a..5c3cb18 100644 --- a/extractor.cfm +++ b/extractor.cfm @@ -49,9 +49,6 @@ - - '; + diffBody.innerHTML += '
+' + (s.ADDED||0) + ' ~' + (s.CHANGED||0) + ' -' + (s.DELETED||0) + '
'; + diffStatus.textContent = 'изм:' + (s.CHANGED||0) + ' +' + (s.ADDED||0) + ' -' + (s.DELETED||0); - var changes = data.CHANGES || []; - if (changes.length === 0) { - diffBody.innerHTML += '
Нет изменений
'; - } else { - var tbl = '
'; - changes.forEach(function(c) { - var cls = c.CHANGE_TYPE === 'added' ? 'diff-added' : c.CHANGE_TYPE === 'deleted' ? 'diff-deleted' : c.CHANGE_TYPE === 'changed' ? 'diff-changed' : ''; - var vals = c.NEW_VALUES && Object.keys(c.NEW_VALUES).length > 0 ? c.NEW_VALUES : (c.OLD_VALUES || {}); - tbl += ''; - }); - tbl += '
УслугаЦенаОбъёмСуммаНачало
' + (c.ROW_NUM||'') + '' + (vals.NAME||'') + '' + _dc(c,'PRICE') + '' + _dc(c,'QTY') + '' + _dc(c,'SUM') + '' + (vals.DATE_START||'') + '
'; - diffBody.innerHTML += tbl; - } + var changes = ch.CHANGES || []; + if (changes.length === 0) { + diffBody.innerHTML += '
Нет изменений
'; + } else { + var tbl = '
'; + changes.forEach(function(c) { + var cls = c.CHANGE_TYPE === 'added' ? 'diff-added' : c.CHANGE_TYPE === 'deleted' ? 'diff-deleted' : c.CHANGE_TYPE === 'changed' ? 'diff-changed' : ''; + var vals = c.NEW_VALUES && Object.keys(c.NEW_VALUES).length > 0 ? c.NEW_VALUES : (c.OLD_VALUES || {}); + tbl += ''; + }); + tbl += '
УслугаЦенаОбъёмСуммаНачало
' + (c.ROW_NUM||'') + '' + (vals.NAME||'') + '' + _dc(c,'PRICE') + '' + _dc(c,'QTY') + '' + _dc(c,'SUM') + '' + (vals.DATE_START||'') + '
'; + diffBody.innerHTML += tbl; + } + }); + } else { + diffBody.innerHTML += '
✗ ' + (data.ERROR||'') + '
'; } } catch(e) { diffBody.innerHTML += '
✗ ' + e.message + '
'; }