-- 1/3 : Création de la table temporaire
|
|
DROP TABLE IF EXISTS w_dbsetup
|
|
;
|
|
|
|
CREATE TEMP TABLE w_dbsetup AS
|
|
SELECT
|
|
CASE WHEN oid = 0 THEN oid ELSE 1 END AS oid,
|
|
code,
|
|
texte
|
|
FROM activite.t_etat_sejour
|
|
ORDER BY code LIMIT 0
|
|
;
|
|
|
|
-- 2/3 : Peuplement de la table temporaire
|
|
INSERT INTO w_dbsetup(
|
|
oid,
|
|
code,
|
|
texte
|
|
)
|
|
VALUES
|
|
(0, '0', 'Prévu(s)'),
|
|
(1, '1', 'Présent(s)'),
|
|
(1, '2', 'Présent(s) avec facturation partielle'),
|
|
(1, '3', 'Sorti(s) non groupé(s)'),
|
|
(1, '4', 'Sorti(s) facturable(s)'),
|
|
(1, '5', 'Sorti(s) non facturé(s) avec facturation partielle'),
|
|
(1, '6', 'Facturé(s) non soldé(s)'),
|
|
(1, '7', 'Soldé(s)'),
|
|
(1, '8', 'Non facturable(s) ou récusé(s)'),
|
|
(1, '9', 'Fictif(s)'),
|
|
(1, '?', '???'),
|
|
(1, 'A', 'Annulé(s)'),
|
|
(1, 'C', 'Suspendu(s)'),
|
|
(1, 'R', 'Récusé(s)')
|
|
;
|
|
|
|
-- 3/3 : Màj de la table iCTI
|
|
UPDATE activite.t_etat_sejour SET
|
|
code = w_dbsetup.code,
|
|
texte = w_dbsetup.texte
|
|
FROM w_dbsetup
|
|
WHERE w_dbsetup.oid = t_etat_sejour.oid AND w_dbsetup.oid = 0;
|
|
|
|
UPDATE activite.t_etat_sejour SET
|
|
texte = w_dbsetup.texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND activite.t_etat_sejour.code = w_dbsetup.code
|
|
AND activite.t_etat_sejour.texte IS DISTINCT FROM w_dbsetup.texte
|
|
;
|
|
|
|
INSERT INTO activite.t_etat_sejour(oid, code, texte)
|
|
SELECT oid, code, texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND oid = 0
|
|
AND oid NOT IN (SELECT oid FROM activite.t_etat_sejour)
|
|
;
|
|
|
|
INSERT INTO activite.t_etat_sejour(code, texte)
|
|
SELECT code, texte
|
|
FROM w_dbsetup
|
|
WHERE 1=1
|
|
AND oid <> 0
|
|
AND code NOT IN (SELECT code FROM activite.t_etat_sejour)
|
|
;
|