agreement list added
This commit is contained in:
+5
-5
@@ -1,8 +1,8 @@
|
||||
REM set Windows env
|
||||
setx datasource_svc_class org.postgresql.Driver /M
|
||||
setx datasource_svc_connectionString jdbc:postgresql://localhost:5432/svc /M
|
||||
setx datasource_svc_username postgres /M
|
||||
setx datasource_svc_password encrypted:8ea2101f286dfcf2947cb2162e927cb769b3f845b6d4c57ef2ae89463d72d97842a2228c7ba562a24ee8eaf728350ab6 /M
|
||||
setx datasource_svc_connectionLimit 5 /M
|
||||
setx datasource_spec_class org.postgresql.Driver /M
|
||||
setx datasource_spec_connectionString jdbc:postgresql://localhost:5432/spec /M
|
||||
setx datasource_spec_username postgres /M
|
||||
setx datasource_spec_password encrypted:8ea2101f286dfcf2947cb2162e927cb769b3f845b6d4c57ef2ae89463d72d97842a2228c7ba562a24ee8eaf728350ab6 /M
|
||||
setx datasource_spec_connectionLimit 5 /M
|
||||
|
||||
pause
|
||||
|
||||
+3
-2
@@ -65,13 +65,12 @@ insert into contract (contragent_id,contract,dt_contract) values (2,'test',CURRE
|
||||
-- ñîãëàøåíèå îáåñïå÷èâàåò ÿâíóþ ïðèêëàäíóþ âåðñèîííîñòü
|
||||
drop table if exists agreement CASCADE;
|
||||
create table agreement (
|
||||
--agreement_id int GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY
|
||||
--,
|
||||
contract_id int NOT NULL
|
||||
,agreement_version int NOT NULL -- èìåíîâàíèå ïîñòðîåíî íå òàê, êàê äëÿ âåðñèè ñòðîêè ñïåöèôèêàöèè
|
||||
,agreement varchar(255) NULL -- íàçâàíèå ñîãëàøåíèÿ
|
||||
,dt_agreement timestamptz NOT NULL -- ôîðìàëüíàÿ äàòà, íå ñâÿçàíà ñ âåðñèîííîñòüþ (ìîæåò áûòü, ïîðÿäîê)
|
||||
,is_actual boolean NOT NULL -- ñ÷èòàåì, ÷òî íà äîãîâîð 1 äåéñòâóþùåå ñîãëàøåíèå - êîòîðûå äî íåãî, òå óñòàðåëè, êîòîðûå ïîñëå, òå â ïðîåêòå
|
||||
,deal_uid uuid NOT NULL DEFAULT gen_random_uuid() -- ýòî ìîã áûòü ïåðâè÷íûé êëþ÷, ïîêà îí íå èñïîëüçóåòñÿ - òîëüêî èìèòèðóåò êëþ÷ ñäåëêè
|
||||
|
||||
,descr text NULL
|
||||
,dt_created timestamptz NOT NULL default CURRENT_TIMESTAMP --
|
||||
@@ -82,6 +81,8 @@ create table agreement (
|
||||
);
|
||||
ALTER TABLE agreement OWNER TO dbo;
|
||||
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);
|
||||
|
||||
-- øàïêà ñïåöèôèêàöèè, íå âåðñèîííàÿ (íå òåìïîðàëüíàÿ)
|
||||
drop table if exists specification CASCADE;
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
2025-06-14 11:02:46
|
||||
Центральный селект
|
||||
select * 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)
|
||||
Теперь дифференциальный вариант. Для каждого варианта строки можно найти предыдущий (если он есть) и с ним сравнивать.
|
||||
Нужно ли добавить типы экземпляров инсталл и пейг? С пейгом чтобы получить дифф, нужно количество - иначе мы можем дифф только на цену. Если мы хотим брать во внимание дату НОУ, то без количества разницу в стоимости мы не получим.
|
||||
Как вообще учитывать дату в диффе? Или никак, просто передавать.
|
||||
|
||||
16:12 12.06.2025
|
||||
Предлагается использовать конечную дату только для завершения действия всей строки спеки. Тогда ее просто убрать из версии? Некорректно, она же возникает в какой-то версии.
|
||||
Если захочется делать одним соглашением 2 изменения строки, можно соглашению сделать суррогатный ключ, а номер соглашения для версии строки убрать из первичного ключа
|
||||
2025-06-10
|
||||
Отчет-дифф
|
||||
Сделать автосоздание нового соглашения (например, если самое новое не действует - аттачить изменения к нему, если действует - создать новое не действующее)
|
||||
Сделать прозрачно-версионное редактирование спецификации
|
||||
Форма-отчет версии спецификации доделать
|
||||
|
||||
2025-06-02
|
||||
можно отметить, что тут смешаны версионность допника и темпоральность строки
|
||||
Можно сделать таблицу, собирающую версии строк, чтобы не искать каждый раз (а может, нам не нужен снапшот на произвольную дату? или версию допника - вот, я уже запутался)
|
||||
|
||||
Reference in New Issue
Block a user