FZKH#87266 -- Implementatie - Aanpassingen van de Inspecties en MT Assets import zodat de nieuwe werkwijze wordt ondersteund.
svn path=/Customer/trunk/; revision=70481
This commit is contained in:
299
FZKH/FZKH.sql
299
FZKH/FZKH.sql
@@ -1520,24 +1520,36 @@ AS
|
||||
v_maand_bits NUMBER (10);
|
||||
|
||||
v_ctr_ins_discipline_key NUMBER;
|
||||
|
||||
v_ins_srtcontrole_info VARCHAR2(2000);
|
||||
v_ins_srtcontrole_opm VARCHAR2(320);
|
||||
v_taak_omschrijving VARCHAR2(60);
|
||||
|
||||
CURSOR c_inspecties
|
||||
IS
|
||||
|
||||
SELECT fac_imp_csv_col01 INS_DISCIPLINE_OMSCHRIJVING,
|
||||
fac_imp_csv_col02 INS_SRTGROEP_OMSCHRIJVING,
|
||||
fac_imp_csv_col03 INS_SRTDEEL_CODE,
|
||||
fac_imp_csv_col04 INS_SRTCONTROLE_OMSCHRIJVING,
|
||||
fac_imp_csv_col05 INS_SRTCONTROLE_INFO,
|
||||
fac_imp_csv_col06 INS_SRTCONTROLE_PERIODE,
|
||||
fac_imp_csv_col07 INS_SRTCONTROLE_MODE,
|
||||
fac_imp_csv_col08 INS_SRTCONTROLE_EENHEID,
|
||||
fac_imp_csv_col09 INS_SRTCONTROLE_BITS,
|
||||
fac_imp_csv_col10 INS_SRTCONTROLE_OPMERKING
|
||||
fac_imp_csv_col05 INS_SRTCONTROLE_OMSCHRIJVING,
|
||||
fac_imp_csv_col06 INS_SRTCONTROLE_INFO,
|
||||
fac_imp_csv_col07 INS_SRTCONTROLE_OMS,
|
||||
fac_imp_csv_col08 INS_SRTCONTROLE_PERIODE,
|
||||
fac_imp_csv_col09 INS_SRTCONTROLE_EENHEID,
|
||||
fac_imp_csv_col10 INS_SRTCONTROLE_MODE,
|
||||
fac_imp_csv_col11 INS_SRTCONTROLE_BITS,
|
||||
fac_imp_csv_col12 INS_SRTCONTROLE_groep,
|
||||
fac_imp_csv_col13 ins_srtcontrole_leverancier,
|
||||
fac_imp_csv_col14 ins_srtcontrole_doorlooptijd,
|
||||
fac_imp_csv_col15 ins_srtcontrole_uren,
|
||||
fac_imp_csv_col16 ins_srtcontrole_opm
|
||||
FROM fac_imp_csv
|
||||
WHERE fac_import_key=p_import_key;
|
||||
WHERE fac_import_key=p_import_key
|
||||
AND UPPER(fac_imp_csv_col01)<>UPPER('Disciplineomschrijving')
|
||||
ORDER BY fac_imp_csv_key;
|
||||
-- MAIN
|
||||
BEGIN
|
||||
v_count:=0;
|
||||
v_count_tot:=0;
|
||||
FOR rec_ins IN c_inspecties
|
||||
LOOP
|
||||
BEGIN
|
||||
@@ -1550,6 +1562,9 @@ BEGIN
|
||||
|| rec_ins.ins_srtdeel_code;
|
||||
v_errorhint := 'Fout bij bepalen discipline';
|
||||
|
||||
v_ins_srtcontrole_info:='Afdeling : '||rec_ins.ins_srtcontrole_opm||CHR(14)||'Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE||CHR(13)||'Doorlooptijd :'||rec_ins.ins_srtcontrole_doorlooptijd;
|
||||
v_ins_srtcontrole_opm:='Afdeling : '||rec_ins.ins_srtcontrole_opm||CHR(14)||'Standaard taak periode : '||rec_ins.INS_SRTCONTROLE_PERIODE;
|
||||
|
||||
IF rec_ins.ins_discipline_omschrijving IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
@@ -1582,7 +1597,7 @@ BEGIN
|
||||
SELECT ins_srtdeel_key, 'S'
|
||||
INTO v_ins_srtinstallatie_key, v_ins_srtcontrole_niveau
|
||||
FROM ins_srtdeel
|
||||
WHERE UPPER (ins_srtdeel_code) = UPPER (rec_ins.ins_srtdeel_code)
|
||||
WHERE UPPER (ins_srtdeel_code) = UPPER (SUBSTR(rec_ins.ins_srtdeel_code,0,8))
|
||||
AND ins_srtdeel_module = 'INS'
|
||||
AND ins_srtdeel_verwijder IS NULL
|
||||
AND ins_srtgroep_key = v_ins_srtinstallatie_key;
|
||||
@@ -1598,12 +1613,12 @@ BEGIN
|
||||
INTO v_maand_bits
|
||||
FROM DUAL;
|
||||
|
||||
v_aanduiding:='Taak categorie '||rec_ins.ins_srtcontrole_info||' niet gevonden';
|
||||
v_aanduiding:='Taak categorie '||rec_ins.INS_SRTCONTROLE_groep||' niet gevonden';
|
||||
SELECT ctr_ins_discipline_key
|
||||
INTO v_ctr_ins_discipline_key
|
||||
FROM ctr_disc_params csp,
|
||||
ctr_discipline i
|
||||
WHERE i.ins_discipline_omschrijving=rec_ins.ins_srtcontrole_info
|
||||
WHERE i.ins_discipline_omschrijving='MT Onderhoud taken-'||rec_ins.INS_SRTCONTROLE_groep
|
||||
AND i.ins_discipline_verwijder IS NULL
|
||||
AND csp.ctr_ins_discipline_key = i.ins_discipline_key
|
||||
AND csp.ctr_disc_params_controle_type=1 ;
|
||||
@@ -1616,9 +1631,14 @@ BEGIN
|
||||
rec_ins.ins_srtcontrole_mode IS NOT NULL AND
|
||||
(rec_ins.ins_srtcontrole_mode = 1 OR (1=1))
|
||||
THEN
|
||||
|
||||
|
||||
|
||||
|
||||
IF LENGTH(rec_ins.ins_srtcontrole_leverancier)>0
|
||||
THEN
|
||||
v_taak_omschrijving:=rec_ins.ins_srtcontrole_omschrijving||'-'||rec_ins.ins_srtcontrole_leverancier;
|
||||
ELSE
|
||||
v_taak_omschrijving:=rec_ins.ins_srtcontrole_omschrijving;
|
||||
END IF;
|
||||
|
||||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||||
ins_srtcontrole_niveau,
|
||||
ins_srtcontrole_omschrijving,
|
||||
@@ -1628,19 +1648,22 @@ BEGIN
|
||||
ins_srtcontrole_mode, -- 0=moment-modus of 1=interval-modus
|
||||
ins_srtcontrole_bits, -- 1=Jan, 2=Feb, 4=mart, 8=april enz
|
||||
ctr_discipline_key,
|
||||
ins_srtcontrole_uren,
|
||||
ins_srtcontrole_opmerking
|
||||
)
|
||||
VALUES (v_ins_srtinstallatie_key,
|
||||
v_ins_srtcontrole_niveau,
|
||||
rec_ins.ins_srtcontrole_omschrijving,
|
||||
rec_ins.ins_srtcontrole_info,
|
||||
v_taak_omschrijving,
|
||||
v_ins_srtcontrole_info,
|
||||
rec_ins.ins_srtcontrole_periode,
|
||||
rec_ins.ins_srtcontrole_eenheid,
|
||||
rec_ins.ins_srtcontrole_mode,
|
||||
rec_ins.ins_srtcontrole_bits,
|
||||
v_ctr_ins_discipline_key,
|
||||
rec_ins.ins_srtcontrole_opmerking
|
||||
fac.safe_to_number(REPLACE(rec_ins.ins_srtcontrole_uren,',','.')),
|
||||
v_ins_srtcontrole_opm
|
||||
);
|
||||
v_count:=v_count+1;
|
||||
ELSE
|
||||
IF rec_ins.ins_srtcontrole_mode = 0 AND (v_week_bits = 0 OR v_maand_bits = 0)
|
||||
THEN v_errorhint := 'Het verplichte veld "Moment" is niet (goed) ingevuld: inspectie wordt niet toegevoegd.';
|
||||
@@ -1669,6 +1692,11 @@ BEGIN
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'Er zijn '||TO_CHAR(v_count)||' van de '||TO_CHAR(v_count_tot)||' taken aangemaakt',
|
||||
'Verwerking');
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -3583,7 +3611,7 @@ AS
|
||||
WHERE fac_import_key=p_import_key
|
||||
AND fac_imp_csv_col45='ONWAAR'
|
||||
AND fac_imp_csv_col48 IS NOT NULL
|
||||
AND fac_imp_csv_col50='Actief'
|
||||
AND fac_imp_csv_col50='Actief'
|
||||
ORDER BY fac_imp_csv_key;
|
||||
|
||||
CURSOR sel_controle_skip(p_ins_srtdeel_key IN NUMBER, p_ins_srtcontrole_key IN NUMBER)
|
||||
@@ -3604,7 +3632,11 @@ AS
|
||||
v_srtcontrole_key NUMBER;
|
||||
v_count NUMBER;
|
||||
v_counter NUMBER;
|
||||
v_counter_taak NUMBER;
|
||||
v_log_info VARCHAR2(200);
|
||||
v_ins_deelsrtcontrole_key NUMBER;
|
||||
v_ins_srtcontrole_periode NUMBER;
|
||||
v_ins_deel VARCHAR2(100);
|
||||
|
||||
v_maand VARChar2(15);
|
||||
|
||||
@@ -3634,6 +3666,7 @@ BEGIN
|
||||
-- Gaan we nu de objecten aan de juiste afdeling koppelen
|
||||
FOR rec IN sel
|
||||
LOOP
|
||||
v_ins_deel := rec.ins_deel_omschrijving;
|
||||
BEGIN
|
||||
SELECT ins_deel_key
|
||||
INTO v_ins_deel_key
|
||||
@@ -3698,8 +3731,10 @@ BEGIN
|
||||
|
||||
-- gaan we nu de periodiek taken maken en aan de xcp records met de juiste taak start datum
|
||||
v_counter:=0;
|
||||
v_counter_taak:=0;
|
||||
FOR c IN sel_controle
|
||||
LOOP
|
||||
v_ins_deel := c.ins_deel_omschrijving;
|
||||
v_counter:=v_counter+1;
|
||||
-- Welk maand met het onderhoud plaats vinden
|
||||
SELECT CASE TO_CHAR(TO_DATE(c.ctr_onderhoud_datum,'DD-MM-YYYY'),'MM')
|
||||
@@ -3721,27 +3756,27 @@ BEGIN
|
||||
FROM DUAL;
|
||||
|
||||
BEGIN
|
||||
v_aanduiding := 'Ophalen van srtcontrole voor object '|| c.ins_deel_omschrijving||' in '||v_maand||' gaat fout. - '||v_counter;
|
||||
SELECT MIN(isc.ins_srtcontrole_key),
|
||||
i.ins_deel_key,
|
||||
i.ins_srtdeel_key
|
||||
INTO v_srtcontrole_key,
|
||||
v_ins_deel_key,
|
||||
v_ins_srtdeel_key
|
||||
FROM ins_srtcontrole isc,
|
||||
ins_deel i,
|
||||
ins_srtdeel isd,
|
||||
ins_srtgroep isg,
|
||||
ins_discipline id
|
||||
WHERE i.ins_deel_omschrijving=c.ins_deel_omschrijving
|
||||
AND isd.ins_srtdeel_key=i.INS_SRTDEEL_KEY
|
||||
AND isg.ins_srtgroep_key = isd.ins_srtgroep_key
|
||||
AND id.ins_discipline_key=isg.ins_discipline_key
|
||||
AND UPPER(id.ins_discipline_omschrijving)=UPPER('Medische Techniek')
|
||||
AND isc.ins_srtinstallatie_key=i.ins_srtdeel_key
|
||||
AND UPPER(isc.ins_srtcontrole_omschrijving) like UPPER('Onderhoud %'||v_maand||'%')
|
||||
GROUP BY i.ins_deel_key,i.ins_srtdeel_key;
|
||||
|
||||
v_aanduiding := 'Ophalen van srtcontrole voor object '|| c.ins_deel_omschrijving||' in '||v_maand||' gaat fout. - '||v_counter;
|
||||
SELECT MIN(isc.ins_srtcontrole_key),
|
||||
i.ins_deel_key,
|
||||
i.ins_srtdeel_key
|
||||
INTO v_srtcontrole_key,
|
||||
v_ins_deel_key,
|
||||
v_ins_srtdeel_key
|
||||
FROM ins_srtcontrole isc,
|
||||
ins_deel i,
|
||||
ins_srtdeel isd,
|
||||
ins_srtgroep isg,
|
||||
ins_discipline id
|
||||
WHERE i.ins_deel_omschrijving=c.ins_deel_omschrijving
|
||||
AND isd.ins_srtdeel_key=i.INS_SRTDEEL_KEY
|
||||
AND isg.ins_srtgroep_key = isd.ins_srtgroep_key
|
||||
AND id.ins_discipline_key=isg.ins_discipline_key
|
||||
AND UPPER(id.ins_discipline_omschrijving)=UPPER('Medische Techniek')
|
||||
AND isc.ins_srtinstallatie_key=i.ins_srtdeel_key
|
||||
AND UPPER(isc.ins_srtcontrole_omschrijving) like UPPER('Onderhoud %'||v_maand||'%')
|
||||
GROUP BY i.ins_deel_key,i.ins_srtdeel_key;
|
||||
v_log_info:='';
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
@@ -3767,7 +3802,7 @@ BEGIN
|
||||
AND UPPER(isc.ins_srtcontrole_omschrijving) like UPPER('Onderhoud %')
|
||||
GROUP BY i.ins_deel_key,i.ins_srtdeel_key;
|
||||
|
||||
|
||||
v_log_info:='Object '||v_ins_deel|| 'is gekoppeld aan andere taak dan gevraagde: Onderhoud '||v_maand||' omdat deze niet gevonden kon worden';
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
@@ -3778,88 +3813,118 @@ BEGIN
|
||||
'Taak niet toegevoegd');
|
||||
END;
|
||||
END;
|
||||
v_aanduiding:='Uitzonderingstaak niet gevonden';
|
||||
v_count:=0;
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
from ins_srtcontroledl_xcp isx
|
||||
WHERE isx.ins_srtcontrole_key=v_srtcontrole_key
|
||||
AND ins_deel_key=v_ins_deel_key;
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_srtcontroledl_xcp_startdat)
|
||||
VALUES (v_ins_deel_key,
|
||||
v_srtcontrole_key,
|
||||
fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'));
|
||||
END IF;
|
||||
|
||||
|
||||
-- Gaan we nu de srtcontrole die niet gelden voor dit asset een xcp record aanmaken met einddatum
|
||||
FOR c2 IN sel_controle_skip(v_ins_srtdeel_key, v_srtcontrole_key)
|
||||
LOOP
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
from ins_srtcontroledl_xcp isx
|
||||
WHERE isx.ins_srtcontrole_key=c2.ins_srtcontrole_key
|
||||
AND ins_deel_key=v_ins_deel_key;
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_srtcontroledl_xcp_periode,
|
||||
ins_srtcontroledl_xcp_eind)
|
||||
VALUES (v_ins_deel_key,
|
||||
c2.ins_srtcontrole_key,
|
||||
0,
|
||||
fac.safe_to_date('31-12-2024','DD-MM-YYYY'));
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
|
||||
IF v_ins_deel_key>0 AND v_srtcontrole_key>0
|
||||
THEN
|
||||
v_aanduiding:='Uitzonderingstaak niet gevonden';
|
||||
v_count:=0;
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
from ins_srtcontroledl_xcp isx
|
||||
WHERE isx.ins_srtcontrole_key=v_srtcontrole_key
|
||||
AND ins_deel_key=v_ins_deel_key;
|
||||
|
||||
-- Wat is de statdaar periode van deze srtcontrole
|
||||
SELECT ins_srtcontrole_periode
|
||||
INTO v_ins_srtcontrole_periode
|
||||
FROm ins_srtcontrole
|
||||
WHERE ins_srtcontrole_key=v_srtcontrole_key;
|
||||
|
||||
-- gaan we hem ook gelijk inplannen
|
||||
IF v_ins_deel_key>0 AND v_srtcontrole_key>0
|
||||
THEN
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deel_key=v_ins_deel_key
|
||||
AND ins_srtcontrole_key = v_srtcontrole_key
|
||||
AND ins_deelsrtcontrole_plandatum = fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY')
|
||||
AND ins_scenario_key=1;
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
INSERT INTO ins_deelsrtcontrole( ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
ins_deelsrtcontrole_status,
|
||||
ins_scenario_key,
|
||||
prs_perslid_key)
|
||||
VALUES(v_ins_deel_key,
|
||||
v_srtcontrole_key,
|
||||
fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'),
|
||||
0, --status ingepland
|
||||
1, -- sceario
|
||||
3); -- Facilitor
|
||||
ELSIF v_count=1
|
||||
THEN
|
||||
UPDATE ins_deelsrtcontrole
|
||||
SET ins_deelsrtcontrole_plandatum= fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY')
|
||||
WHERE ins_deel_key =v_ins_deel_key
|
||||
AND ins_srtcontrole_key=v_srtcontrole_key;
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_srtcontroledl_xcp_periode,
|
||||
ins_srtcontroledl_xcp_startdat)
|
||||
VALUES (v_ins_deel_key,
|
||||
v_srtcontrole_key,
|
||||
fac.safe_to_number(v_ins_srtcontrole_periode),
|
||||
fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'));
|
||||
IF LENGTH(v_log_info) > 0
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_log_info,
|
||||
'Taak toegevoegd');
|
||||
END IF;
|
||||
v_counter_taak:=v_counter_taak+1;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Gaan we nu de srtcontrole die niet gelden voor dit asset een xcp record aanmaken met einddatum
|
||||
/* FOR c2 IN sel_controle_skip(v_ins_srtdeel_key, v_srtcontrole_key)
|
||||
LOOP
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
from ins_srtcontroledl_xcp isx
|
||||
WHERE isx.ins_srtcontrole_key=c2.ins_srtcontrole_key
|
||||
AND ins_deel_key=v_ins_deel_key;
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_srtcontroledl_xcp_periode,
|
||||
ins_srtcontroledl_xcp_eind)
|
||||
VALUES (v_ins_deel_key,
|
||||
c2.ins_srtcontrole_key,
|
||||
0,
|
||||
fac.safe_to_date('31-12-2024','DD-MM-YYYY'));
|
||||
END IF;
|
||||
END LOOP; */
|
||||
|
||||
|
||||
|
||||
/* -- gaan we hem ook gelijk inplannen
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deel_key=v_ins_deel_key
|
||||
AND ins_srtcontrole_key = v_srtcontrole_key
|
||||
AND ins_deelsrtcontrole_plandatum = fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY')
|
||||
AND ins_scenario_key=1;
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
INSERT INTO ins_deelsrtcontrole( ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
ins_deelsrtcontrole_status,
|
||||
ins_scenario_key,
|
||||
prs_perslid_key)
|
||||
VALUES(v_ins_deel_key,
|
||||
v_srtcontrole_key,
|
||||
fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'),
|
||||
0, --status ingepland
|
||||
1, -- sceario
|
||||
3); -- Facilitor
|
||||
ELSIF v_count=1
|
||||
THEN
|
||||
UPDATE ins_deelsrtcontrole
|
||||
SET ins_deelsrtcontrole_plandatum= fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY')
|
||||
WHERE ins_deel_key =v_ins_deel_key
|
||||
AND ins_srtcontrole_key=v_srtcontrole_key;
|
||||
END IF; */
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Taak niet aangemaakt voor '||c.ins_deel_omschrijving||' in '||v_maand||'('||v_counter||')',
|
||||
'Taak niet aangemaakt');
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
|
||||
END LOOP;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Taken ingelezen :'||v_counter||' , taken teogeveogd :'||v_counter_taak,
|
||||
'Taken rapport');
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -3867,9 +3932,13 @@ EXCEPTION
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||||
v_errormsg :=
|
||||
v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding,
|
||||
v_errormsg);
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Importproces MT assets afgebroken! ('||v_counter||')',
|
||||
'Importproces MT assets afgebroken! Ins_deel='||v_ins_deel||'('||v_counter||')',
|
||||
v_errormsg);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user