fix: view contract (#949)

Reviewed-on: daoyoucloud/tachybase#949
This commit is contained in:
sealday 2024-05-09 15:34:40 +08:00
parent 882a1a95a5
commit 3bf232d952
3 changed files with 18 additions and 10 deletions

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE VIEW CREATE OR REPLACE VIEW
public.view_effect_contract_fee_items AS public.view_effect_contract_fee_items AS
SELECT SELECT
('C'::TEXT || contract_plan_fee_items.contract_id)::CHARACTER VARYING AS effect_contract_id, ('S-'::TEXT || contract_plan_fee_items.contract_id)::CHARACTER VARYING AS effect_contract_id,
contract_plan_fee_items.id contract_plan_fee_items.id
FROM FROM
contract_plan_fee_items contract_plan_fee_items
@ -11,11 +11,16 @@ WHERE
UNION ALL UNION ALL
SELECT SELECT
( (
'P'::TEXT || contract_plan_fee_items.contract_plan_id (
('L-'::TEXT || contract_items.contract_id) || '-'::TEXT
) || contract_items.id
)::CHARACTER VARYING AS effect_contract_id, )::CHARACTER VARYING AS effect_contract_id,
contract_plan_fee_items.id contract_plan_fee_items.id
FROM FROM
contract_plan_fee_items contract_plan_fee_items
JOIN contract_plans ON contract_plans.id = contract_plan_fee_items.contract_plan_id
JOIN contract_items ON contract_items.contract_plan_id = contract_plans.id
WHERE WHERE
contract_plan_fee_items.lease_item_id IS NULL contract_plan_fee_items.lease_item_id IS NULL
AND contract_plan_fee_items.contract_plan_id IS NOT NULL; AND contract_plan_fee_items.contract_plan_id IS NOT NULL
AND contract_items.contract_id IS NOT NULL;

View File

@ -2,7 +2,7 @@ CREATE OR REPLACE VIEW
public.view_effect_contract_lease_items AS public.view_effect_contract_lease_items AS
SELECT SELECT
( (
'C'::TEXT || contract_plan_lease_items.contract_id 'S-'::TEXT || contract_plan_lease_items.contract_id
)::CHARACTER VARYING AS effect_contract_id, )::CHARACTER VARYING AS effect_contract_id,
contract_plan_lease_items.id contract_plan_lease_items.id
FROM FROM
@ -12,10 +12,15 @@ WHERE
UNION ALL UNION ALL
SELECT SELECT
( (
'P'::TEXT || contract_plan_lease_items.contract_plan_id (
('L-'::TEXT || contract_items.contract_id) || '-'::TEXT
) || contract_items.id
)::CHARACTER VARYING AS effect_contract_id, )::CHARACTER VARYING AS effect_contract_id,
contract_plan_lease_items.id contract_plan_lease_items.id
FROM FROM
contract_plan_lease_items contract_plan_lease_items
JOIN contract_plans ON contract_plans.id = contract_plan_lease_items.contract_plan_id
JOIN contract_items ON contract_items.contract_plan_id = contract_plans.id
WHERE WHERE
contract_plan_lease_items.contract_plan_id IS NOT NULL; contract_plan_lease_items.contract_plan_id IS NOT NULL
AND contract_items.contract_id IS NOT NULL;

View File

@ -4,7 +4,6 @@ SELECT
contracts.name, contracts.name,
('S-'::TEXT || contracts.id)::CHARACTER VARYING AS id, ('S-'::TEXT || contracts.id)::CHARACTER VARYING AS id,
contracts.id AS contract_id, contracts.id AS contract_id,
('C'::TEXT || contracts.id)::CHARACTER VARYING AS effect_contract_id,
contracts.project_id, contracts.project_id,
contracts.tax_rate, contracts.tax_rate,
contracts.calc_type, contracts.calc_type,
@ -26,10 +25,9 @@ SELECT
(contracts.name::TEXT || '-'::TEXT) || contract_plans.name::TEXT (contracts.name::TEXT || '-'::TEXT) || contract_plans.name::TEXT
)::CHARACTER VARYING AS NAME, )::CHARACTER VARYING AS NAME,
( (
(('L-'::TEXT || contracts.id) || '-'::TEXT) || contract_plans.id (('L-'::TEXT || contracts.id) || '-'::TEXT) || contract_items.id
)::CHARACTER VARYING AS id, )::CHARACTER VARYING AS id,
contracts.id AS contract_id, contracts.id AS contract_id,
('P'::TEXT || contract_plans.id)::CHARACTER VARYING AS effect_contract_id,
contracts.project_id, contracts.project_id,
contracts.tax_rate, contracts.tax_rate,
contracts.calc_type, contracts.calc_type,
@ -43,7 +41,7 @@ SELECT
UPPER(contract_items.date_range) - '1 day'::INTERVAL AS end_date UPPER(contract_items.date_range) - '1 day'::INTERVAL AS end_date
FROM FROM
contracts contracts
JOIN contract_items ON contracts.id = contract_items.id JOIN contract_items ON contracts.id = contract_items.contract_id
JOIN contract_plans ON contract_plans.id = contract_items.contract_plan_id JOIN contract_plans ON contract_plans.id = contract_items.contract_plan_id
WHERE WHERE
contracts.effectiveness::TEXT = '0'::TEXT; contracts.effectiveness::TEXT = '0'::TEXT;