Files
Customer/onces/PCHP/PCHP#53258.sql

117 lines
5.4 KiB
SQL

--
-- $Id$
--
-- Opschonen technisch adressen tbv opdrachten. Alles op 'Geen/Overige opdrachten' & dubbelingen verwijderd.
DEFINE thisfile = 'PCHP#53258'
DEFINE dbuser = '^PCHP'
DEFINE custid = '^PCHP'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
-- Dit zet de instelling op 'Geen/Overige opdrachten' wanneer 1 technische adressen is obv Opdracht
UPDATE prs_bedrijfadres
SET mld_typeopdr_key = NULL
WHERE prs_bedrijf_key IN
(SELECT a.prs_bedrijf_key
FROM ( SELECT ta.prs_bedrijf_key,
COUNT (ta.prs_bedrijf_key) AS aantal
FROM prs_bedrijfadres ta
WHERE ta.prs_bedrijfadres_type = 'O'
GROUP BY ta.prs_bedrijf_key
ORDER BY ta.prs_bedrijf_key) telling,
prs_bedrijfadres a
WHERE a.prs_bedrijf_key = telling.prs_bedrijf_key
AND telling.aantal = 1
AND a.prs_bedrijfadres_type = 'O'
AND mld_typeopdr_key IS NOT NULL);
-- Dit verwijder de technische adressen die ingesteld staan op anders dan 'Geen/Overige opdrachten' wanneer er meer dan 1 technische adressen is obv Opdracht
DELETE FROM prs_bedrijfadres
WHERE prs_bedrijf_key IN
(SELECT a.prs_bedrijf_key
FROM ( SELECT ta.prs_bedrijf_key,
COUNT (ta.prs_bedrijf_key) AS aantal
FROM prs_bedrijfadres ta
WHERE ta.prs_bedrijfadres_type = 'O'
GROUP BY ta.prs_bedrijf_key
ORDER BY ta.prs_bedrijf_key) telling,
( SELECT ta.prs_bedrijf_key,
COUNT (ta.prs_bedrijfadres_xsl) AS aantal,
ta.prs_bedrijfadres_xsl
FROM prs_bedrijfadres ta
WHERE ta.prs_bedrijfadres_type = 'O'
GROUP BY ta.prs_bedrijf_key,
ta.prs_bedrijfadres_xsl
ORDER BY prs_bedrijf_key) xsl,
( SELECT ta.prs_bedrijf_key,
COUNT (ta.prs_bedrijfadres_attachfile)
AS aantal,
ta.prs_bedrijfadres_attachfile
FROM prs_bedrijfadres ta
WHERE ta.prs_bedrijfadres_type = 'O'
GROUP BY ta.prs_bedrijf_key,
ta.prs_bedrijfadres_attachfile
ORDER BY prs_bedrijf_key) attachfile,
( SELECT ta.prs_bedrijf_key,
COUNT (ta.prs_bedrijfadres_ordermode)
AS aantal,
ta.prs_bedrijfadres_ordermode
FROM prs_bedrijfadres ta
WHERE ta.prs_bedrijfadres_type = 'O'
GROUP BY ta.prs_bedrijf_key,
ta.prs_bedrijfadres_ordermode
ORDER BY prs_bedrijf_key) ordermode,
( SELECT ta.prs_bedrijf_key,
COUNT (ta.prs_bedrijfadres_url) AS aantal,
ta.prs_bedrijfadres_url
FROM prs_bedrijfadres ta
WHERE ta.prs_bedrijfadres_type = 'O'
GROUP BY ta.prs_bedrijf_key,
ta.prs_bedrijfadres_url
ORDER BY prs_bedrijf_key) url,
prs_bedrijfadres a
WHERE a.prs_bedrijf_key = telling.prs_bedrijf_key
AND telling.aantal > 1
AND a.prs_bedrijfadres_type = 'O'
AND a.mld_typeopdr_key IS NOT NULL
AND url.prs_bedrijf_key = a.prs_bedrijf_key
AND url.aantal > 1
AND xsl.prs_bedrijf_key = a.prs_bedrijf_key
AND xsl.aantal > 1
AND ordermode.prs_bedrijf_key = a.prs_bedrijf_key
AND ordermode.aantal > 1
AND attachfile.prs_bedrijf_key = a.prs_bedrijf_key
AND attachfile.aantal > 1)
AND prs_bedrijfadres_type = 'O'
AND mld_typeopdr_key IS NOT NULL;
UPDATE prs_bedrijfadres
SET prs_bedrijfadres_attachfile = 'Alg. inkoopvoorwaarden PCH PFS.pdf'
WHERE prs_bedrijfadres_type = 'O'
AND SUBSTR (prs_bedrijfadres_url, 1, 7) = 'mailto:'
AND (prs_bedrijfadres_attachfile <>
'Alg. inkoopvoorwaarden PCH PFS.pdf'
OR prs_bedrijfadres_attachfile IS NULL);
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptid('$Id$'); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile