This commit is contained in:
msyu
2025-06-18 09:56:04 +03:00
parent 96c669df04
commit a07522702c
8 changed files with 262 additions and 13 deletions
+5 -1
View File
@@ -1,6 +1,8 @@
/*
Ñïåöèôèêàöèè ñ âåðñèîííîñòüþ
Òåìïîðàëüíîñòü çàäåéñòâîâàíà äëÿ 2 ñóùíîñòåé, ðàçíàÿ:
Èñòîðèÿ èíñòàíñà - íà÷àëî îêàçàíèÿ, èçìåíåíèå êîëè÷åñòâà è öåíû, çàâåðøåíèå
Èñòîðèÿ ñäåëêè - êàê ìåíÿåòñÿ ñî âðåìåíåì ñîñòàâ ñäåëêè, ñóììà è âåðîÿòíîñòü. Â òåïåðåøíåé âûãðóçêå ýòà âòîðàÿ òåìïîðàëüíîñòü íå ïðîñìàòðèâàåòñÿ
*/
/*
@@ -101,6 +103,7 @@ create table agreement (
,dt_agreement timestamptz NOT NULL -- ôîðìàëüíàÿ äàòà, íå ñâÿçàíà ñ âåðñèîííîñòüþ (ìîæåò áûòü, ïîðÿäîê)
,is_actual boolean NOT NULL -- ñ÷èòàåì, ÷òî íà äîãîâîð 1 äåéñòâóþùåå ñîãëàøåíèå - êîòîðûå äî íåãî, òå óñòàðåëè, êîòîðûå ïîñëå, òå â ïðîåêòå
,deal_uid uuid NOT NULL DEFAULT gen_random_uuid() -- ýòî ìîã áûòü ïåðâè÷íûé êëþ÷, ïîêà îí íå èñïîëüçóåòñÿ - òîëüêî èìèòèðóåò êëþ÷ ñäåëêè
,probability_perc int NULL
,descr text NULL
,dt_created timestamptz NOT NULL default CURRENT_TIMESTAMP --
@@ -110,6 +113,7 @@ create table agreement (
,CONSTRAINT PK_agreement PRIMARY KEY (contract_id, agreement_version)
);
ALTER TABLE agreement OWNER TO dbo;
--ALTER TABLE agreement ADD probability_perc int NULL;
insert into agreement (contract_id,agreement_version,dt_agreement,is_actual) values (1,0,CURRENT_TIMESTAMP,true);
-- alter table agreement add deal_uid uuid NOT NULL DEFAULT gen_random_uuid();
CREATE INDEX IF NOT EXISTS UX_deal_uid ON agreement(deal_uid);
+26
View File
@@ -1,4 +1,25 @@
2025-06-17 09:07:46
2025-06-16 10:58:02
select
a.deal_uid
,k.contract
,a.agreement_version
,k.contragent_id
,case when a.agreement_version = 0 then 'New sale' else 'Up sale' as deal_type
from specification_item_version siv
join specification_item si on (siv.specification_item_uid=si.specification_item_uid)
join specification s on (si.specification_id=s.specification_id)
join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agreement_version)
join contract k on s.contract_id=k.contract_id
change:
new
change quantity+dicount
delete
change quantity
change dicount
git remote add origin https://gitea.services.ngcloud.ru/smishchuk/spec.git
root@dat-n-smishch1 MINGW64 /d/wwwroot/spec (master)
@@ -20,6 +41,10 @@ origin gitea@gitea.services.ngcloud.ru:smishchuk/spec.git (push)
Локально, чтобы не загаживать окружение, поместим переменные окружения в реестр [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lucee] "Environment"
Опубликовал на тестовой платформе
выпустил багфикс
2025-06-14 11:02:46
Центральный селект
select * from specification_item_version siv
@@ -31,6 +56,7 @@ join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agr
Как вообще учитывать дату в диффе? Или никак, просто передавать.
*** Вероятно, dt_from или dt_to должны быть заполнены (check)
16:12 12.06.2025
Предлагается использовать конечную дату только для завершения действия всей строки спеки. Тогда ее просто убрать из версии? Некорректно, она же возникает в какой-то версии.
Если захочется делать одним соглашением 2 изменения строки, можно соглашению сделать суррогатный ключ, а номер соглашения для версии строки убрать из первичного ключа