pears.NetAgencyCandidateSubmit

Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.

CREATE PROCEDURE "pears"."NetAgencyCandidateSubmit"( IN "pWebUserID" CHAR(20),IN "pPersonID" CHAR(20),IN "pVacancyID" CHAR(20) DEFAULT NULL,IN "pShiftPlanID" CHAR(20) DEFAULT NULL ) 
RESULT( "pResult" CHAR(250) ) 
-- 20120814 modified to check if candidate has already been selected for that vacancy
BEGIN
  DECLARE @SecAgID CHAR(20);
  DECLARE @sname CHAR(100);
  IF "IQXNetHasPermission"("pWebUserID",'SUBMITCANDIDATES') = 0 THEN
    SELECT '99:~Permission denied';
    RETURN
  END IF;
  SET @SecAgID = (SELECT FIRST "employment"."companyid" FROM "employment" KEY JOIN "iqxnetuserlink" WHERE "iqxnetuserlink"."iqxnetuserid" = "pwebuserid");
  IF "trim"("isnull"("pShiftPlanID",'')) <> '' THEN
    IF NOT "pshiftplanid" = any(SELECT "tempshiftplanid" FROM "cascadedshift" WHERE "secondaryagencyid" = @secagid) THEN
      SELECT '99:~Permission denied';
      RETURN
    END IF;
    INSERT INTO "tempshiftprogress"( "tempshiftprogressid","tempshiftplanid","personid","staffid","status" ) VALUES( "uniquekey"("ppersonid"+"pshiftplanid"),"pshiftplanid","ppersonid","userstaffid",'A' ) 
  ELSE
    IF NOT "pvacancyid" = any(SELECT "vacancyid" FROM "cascadedvacancy" WHERE "secondaryagencyid" = @secagid) THEN
      SELECT '99:~Permission denied';
      RETURN
    END IF;
    SET @sname = (SELECT FIRST "name" FROM "person" WHERE "personid" = "ppersonid");
    IF(SELECT(IF "count"() = 0 THEN 'FALSE'
        ELSE 'TRUE'
        endif) AS "IsPresent" FROM "progress" AS "pr" LEFT OUTER JOIN "status" AS "s" ON "s"."status" = "pr"."status" WHERE "pr"."personid" = "pPersonID" AND "pr"."vacancyid" = "pVacancyID" AND "s"."type" = 'R' AND "s"."final" = 0) = 'FALSE' THEN
      INSERT INTO "progress"( "progressid","vacancyid","personid","staffid","status","actiondate" ) VALUES( "uniquekey"("ppersonid"+"pvacancyid"),"pvacancyid","ppersonid","userstaffid",'A',CURRENT DATE ) 
    ELSE
      SELECT '99:~'+@sname+' has already been submitted';
      RETURN
    END IF END IF;
  CALL "IQXNetPopup"("pWebUserID","pPersonID",NULL,"pvacancyid",NULL,NULL,'SUBMITCANDIDATE','Secondary Agency candidate submitted',@sname);
  SELECT '0:~Success'
END
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetAgencyCandidateSubmit" IS 
{CREATE PROCEDURE pears."NetAgencyCandidateSubmit"( IN "pWebUserID" CHAR(20),IN "pPersonID" CHAR(20),IN "pVacancyID" CHAR(20) DEFAULT NULL,IN "pShiftPlanID" CHAR(20) DEFAULT NULL ) 
RESULT( "pResult" CHAR(250) ) 
-- 20120814 modified to check if candidate has already been selected for that vacancy
BEGIN
  DECLARE @SecAgID CHAR(20);
  DECLARE @sname CHAR(100);
  IF "IQXNetHasPermission"("pWebUserID",'SUBMITCANDIDATES') = 0 THEN
    SELECT '99:~Permission denied';
    RETURN
  END IF;
  SET @SecAgID = (SELECT FIRST "employment"."companyid" FROM "employment" KEY JOIN "iqxnetuserlink" WHERE "iqxnetuserlink"."iqxnetuserid" = "pwebuserid");
  IF "trim"("isnull"("pShiftPlanID",'')) <> '' THEN
    IF NOT "pshiftplanid" = any(SELECT "tempshiftplanid" FROM "cascadedshift" WHERE "secondaryagencyid" = @secagid) THEN
      SELECT '99:~Permission denied';
      RETURN
    END IF;
    INSERT INTO "tempshiftprogress"( "tempshiftprogressid","tempshiftplanid","personid","staffid","status" ) VALUES( "uniquekey"("ppersonid"+"pshiftplanid"),"pshiftplanid","ppersonid","userstaffid",'A' ) 
  ELSE
    IF NOT "pvacancyid" = any(SELECT "vacancyid" FROM "cascadedvacancy" WHERE "secondaryagencyid" = @secagid) THEN
      SELECT '99:~Permission denied';
      RETURN
    END IF;
    SET @sname = (SELECT FIRST "name" FROM "person" WHERE "personid" = "ppersonid");
    IF(SELECT(IF "count"() = 0 THEN 'FALSE'
        ELSE 'TRUE'
        endif) AS "IsPresent" FROM "progress" AS "pr" LEFT OUTER JOIN "status" AS "s" ON "s"."status" = "pr"."status" WHERE "pr"."personid" = "pPersonID" AND "pr"."vacancyid" = "pVacancyID" AND "s"."type" = 'R' AND "s"."final" = 0) = 'FALSE' THEN
      INSERT INTO "progress"( "progressid","vacancyid","personid","staffid","status","actiondate" ) VALUES( "uniquekey"("ppersonid"+"pvacancyid"),"pvacancyid","ppersonid","userstaffid",'A',CURRENT DATE ) 
    ELSE
      SELECT '99:~'+@sname+' has already been submitted';
      RETURN
    END IF END IF;
  CALL "IQXNetPopup"("pWebUserID",pPersonID,NULL,"pvacancyid",NULL,NULL,'SUBMITCANDIDATE','Secondary Agency candidate submitted',@sname);
  SELECT '0:~Success'
END
}
  • database/procedures/pears_netagencycandidatesubmit.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1