====== pears.NetCandidateGetRegistrationComplete ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
create procedure "pears"."NetCandidateGetRegistrationComplete"( in "pWebUserID" char(20),in "pPersonID" char(20) default null )
result( "isComplete" integer,"wizardID" char(20),"personid" char(20) )
// IQXWeb
begin
declare "unregstat" char(1);
declare "actualstat" char(1);
declare "wizID" char(20);
set "pPersonID" = "nullif"("trim"("pPersonID"),'');
if "pPersonID" is null then
if(select "count"() from "iqxnetuserlink" as "l" key join "person" as "p"
where "l"."iqxnetuserid" = "pWebUserID" and "p"."status" <> '.') > 1 then
select 2,null,null;
return
end if end if;
set "pPersonID" = "NetCandidateValidPersonID"("pWebUserID","pPersonID");
if "pPersonID" is null then
select-1,null,null;
return
end if;
select "IQXNetSwitchValue"("pwebuserid",'UNREGCANDSTATE'),"person"."status",
(select first "wizardID" from "IQXNetWizardState" where "IQXNetUserID" = "pWebUserID" order by 1 asc)
into "unregstat","actualstat","wizID"
from "person" where "personid" = "pPersonID";
if "actualstat" = "unregstat" then
select 0,"wizID","pPersonID"
else
select 1,"wizID","pPersonID"
end if
end /* DOC
2018-10-22 MHS IW-456 multi-cand fix
2018-10-31 MHS return 2 if ambiguous link. Return -1 if no valid link. Tests.
2018-12-19 MHS now exclude archived records
2019-04-10 MHS added look up of uncompleted soft wizard
2019-04-16 GJ Now returns personID when '1' is returned.
*/
/* TEST
call NetTestSetup('');
delete from iqxnetuserlink where iqxnetuserid='test.candidate' and iqxnetuserlinkid='TESTXXX';
select * from NetCandidateGetRegistrationComplete('test.client');
expect isComplete=-1;
select * from NetCandidateGetRegistrationComplete('test.candidate');
expect ROW;
insert into iqxnetuserlink (iqxnetuserlinkid,iqxnetuserid,personid) values ('TESTXXX','test.candidate','TEST');
select * from NetCandidateGetRegistrationComplete('test.candidate');
expect isComplete=2;
delete from iqxnetuserlink where iqxnetuserlinkid='TESTXXX';
*/
go
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetCandidateGetRegistrationComplete" IS
{create PROCEDURE pears."NetCandidateGetRegistrationComplete"(pWebUserID char(20),in pPersonID char(20) default null)
RESULT(isComplete integer, wizardID char(20), personid char(20) )
// IQXWeb
BEGIN
declare unregstat char(1);
declare actualstat char(1);
declare wizID char(20);
set pPersonID=nullif(trim(pPersonID),'');
if pPersonID is null then
if (select count(*) from iqxnetuserlink l key join person p where
l.iqxnetuserid=pWebUserID and p.status<>'.') > 1 then
select 2, null, null;
return;
end if;
end if;
set pPersonID=NetCandidateValidPersonID(pWebUserID,pPersonID);
if pPersonID is null then
select -1, null, null;
return;
end if;
select IQXNetSwitchValue(pwebuserid,'UNREGCANDSTATE'), person.status,
(select first wizardID from IQXNetWizardState where IQXNetUserID=pWebUserID order by 1)
into unregstat, actualstat, wizID
from person where personid=pPersonID;
if actualstat=unregstat then
select 0, wizID, pPersonID;
else
select 1, wizID, pPersonID;
end if;
END
/* DOC
2018-10-22 MHS IW-456 multi-cand fix
2018-10-31 MHS return 2 if ambiguous link. Return -1 if no valid link. Tests.
2018-12-19 MHS now exclude archived records
2019-04-10 MHS added look up of uncompleted soft wizard
2019-04-16 GJ Now returns personID when '1' is returned.
*/
/* TEST
call NetTestSetup('');
delete from iqxnetuserlink where iqxnetuserid='test.candidate' and iqxnetuserlinkid='TESTXXX';
select * from NetCandidateGetRegistrationComplete('test.client');
expect isComplete=-1;
select * from NetCandidateGetRegistrationComplete('test.candidate');
expect ROW;
insert into iqxnetuserlink (iqxnetuserlinkid,iqxnetuserid,personid) values ('TESTXXX','test.candidate','TEST');
select * from NetCandidateGetRegistrationComplete('test.candidate');
expect isComplete=2;
delete from iqxnetuserlink where iqxnetuserlinkid='TESTXXX';
*/
}