002
This commit is contained in:
+5
-1
@@ -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);
|
||||
|
||||
@@ -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 изменения строки, можно соглашению сделать суррогатный ключ, а номер соглашения для версии строки убрать из первичного ключа
|
||||
|
||||
Reference in New Issue
Block a user