pears.NetClientVacancies2

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

CREATE PROCEDURE "pears"."NetClientVacancies2"( IN "pWebUserID" CHAR(20),IN "pStartDate" DATE DEFAULT NULL,IN "pEndDate" DATE DEFAULT NULL ) 
RESULT( "RowID__H" CHAR(30),"Position" CHAR(200),"Start_Date__D" DATE,"Start_Time" TIME,"Finish_Date__D" DATE,"Finish_Time" TIME,"VacancyID__H" CHAR(20),"TempShiftPlanID__H" CHAR(20),"Our_Ref" CHAR(20),"Their_Ref" CHAR(50),"Contract_Ref" CHAR(20),"Filled_By" CHAR(250),"IsShift__H" SMALLINT,"Filled__H" SMALLINT,"Unconfirmed__H" SMALLINT,"GroupID__H" SMALLINT ) 
BEGIN
  DECLARE @DateRangeStart DATE;
  DECLARE @DateRangeEnd DATE;
  SET @DateRangeStart = "isnull"("pStartDate","dateadd"("week",-1,CURRENT DATE));
  SET @DateRangeEnd = "isnull"("pEndDate","dateadd"("year",1,CURRENT DATE));
  SELECT 'V'+"v"."VacancyID" AS "RowID",
    "v"."Position" AS "Position",
    "v"."StartDate",
    CAST(NULL AS TIME) AS "StartTime",
    "v"."FinishDate",
    CAST(NULL AS TIME) AS "FinishTime",
    "v"."VacancyID",
    CAST(NULL AS CHAR(20)) AS "TempShiftPlanID",
    "v"."RefCode" AS "OurRef",
    "v"."TheirRef",
    "v"."ContractRef",
    (SELECT "list"("person"."name") FROM "vacancy" KEY JOIN "placement" KEY JOIN "employment" KEY JOIN "person" WHERE "vacancy"."vacancyid" = "v"."vacancyid") AS "FilledBy",
    0 AS "IsShift",
    "ifnull"("nullif"("FilledBy",''),0,1) AS "Filled",
    (IF "v"."status" = ']' THEN 1 ELSE 0 endif) AS "UnConfirmed",
    0 AS "GroupID" FROM "Vacancy" AS "v" KEY JOIN "Employment" KEY JOIN("Company","Person")
    WHERE "Company"."CompanyID" = any(SELECT "companyid" FROM "employment" KEY JOIN "iqxnetuserlink" WHERE "iqxnetuserid" = "pWebUserID")
    AND "v"."StartDate" <= @DateRangeEnd AND "isnull"("v"."FinishDate",@DateRangeEnd) >= @DateRangeStart AND "v"."temp" = 1
    AND "v"."Status" IN( 'C','F',']' ) AND "isnull"((SELECT "desktype" FROM "tempdesk" WHERE "tempdeskid" = "v"."tempdeskid"),'') <> 'S'
    AND "v"."StartDate" >= "IQXNetCompanyStartDate"("Company"."companyid") UNION ALL
  SELECT 'P'+"p"."TempShiftPlanID" AS "RowID",
    "string"("v"."Position",' ',"p"."Description") AS "Position",
    "p"."ShiftDate" AS "StartDate",
    "p"."TimeFrom" AS "StartTime",
    (IF "p"."TimeFrom" < "p"."TimeTo" THEN "p"."ShiftDate" ELSE "p"."ShiftDate"+1 endif) AS "FinishDate",
    "p"."TimeTo" AS "FinishTime",
    "v"."VacancyID",
    "p"."TempShiftPlanID",
    CAST("p"."ShiftSerialNumber" AS CHAR(20)) AS "OurRef",
    "p"."ReferenceCode" AS "TheirRef",
    "v"."ContractRef",
    (SELECT FIRST "person"."name" FROM "person" KEY JOIN "tempshift" WHERE "tempshift"."tempshiftplanid" = "p"."tempshiftplanid" AND "tempshift"."state" <> 'C') AS "FilledBy",
    1 AS "IsShift",
    "ifnull"("FilledBy",0,1) AS "Filled",
    "isnull"((SELECT FIRST 1 FROM "tempshift" WHERE "tempshiftplanid" = "p"."tempshiftplanid" AND "state" = 'C' AND "cancelreason" = '~'),0) AS "UnConfirmed",0 AS "GroupID"
    FROM "TempShiftPlan" AS "p" KEY JOIN "Vacancy" AS "v" KEY JOIN "Employment" KEY JOIN("Company","Person")
    WHERE "Company"."CompanyID" = any(SELECT "companyid" FROM "employment" KEY JOIN "iqxnetuserlink" WHERE "iqxnetuserid" = "pWebUserID")
    AND "p"."ShiftDate" BETWEEN @DateRangeStart AND @DateRangeEnd
    AND NOT EXISTS(SELECT * FROM "tempshift" WHERE "tempshiftplanid" = "p"."tempshiftplanid" AND "state" = 'C' AND "cancelreason" <> '~' AND "isnull"("crefill",0) = 0)
    AND "StartDate" >= "IQXNetCompanyStartDate"("Company"."companyid")
END
GO
 
COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."NetClientVacancies2" IS 
{CREATE PROCEDURE pears."NetClientVacancies2"( IN "pWebUserID" CHAR(20),IN "pStartDate" DATE DEFAULT NULL,IN "pEndDate" DATE DEFAULT NULL ) 
RESULT( "RowID__H" CHAR(30),"Position" CHAR(200),"Start_Date__D" DATE,"Start_Time" TIME,"Finish_Date__D" DATE,"Finish_Time" TIME,"VacancyID__H" CHAR(20),"TempShiftPlanID__H" CHAR(20),"Our_Ref" CHAR(20),"Their_Ref" CHAR(50),"Contract_Ref" CHAR(20),"Filled_By" CHAR(250),"IsShift__H" SMALLINT,"Filled__H" SMALLINT,"Unconfirmed__H" SMALLINT,"GroupID__H" SMALLINT ) 
BEGIN
  DECLARE @DateRangeStart DATE;
  DECLARE @DateRangeEnd DATE;
  SET @DateRangeStart = "isnull"("pStartDate","dateadd"("week",-1,CURRENT DATE));
  SET @DateRangeEnd = "isnull"("pEndDate","dateadd"("year",1,CURRENT DATE));
  SELECT 'V'+"v"."VacancyID" AS "RowID",
    "v"."Position" AS "Position",
    "v"."StartDate",
    CAST(NULL AS TIME) AS "StartTime",
    "v"."FinishDate",
    CAST(NULL AS TIME) AS "FinishTime",
    "v"."VacancyID",
    CAST(NULL AS CHAR(20)) AS "TempShiftPlanID",
    "v"."RefCode" AS "OurRef",
    "v"."TheirRef",
    "v"."ContractRef",
    (SELECT "list"("person"."name") FROM "vacancy" KEY JOIN "placement" KEY JOIN "employment" KEY JOIN "person" WHERE "vacancy"."vacancyid" = "v"."vacancyid") AS "FilledBy",
    0 AS "IsShift",
    "ifnull"("nullif"("FilledBy",''),0,1) AS "Filled",
    (IF "v"."status" = ']' THEN 1 ELSE 0 endif) AS "UnConfirmed",
    0 AS "GroupID" FROM "Vacancy" AS "v" KEY JOIN "Employment" KEY JOIN("Company","Person")
    WHERE "Company"."CompanyID" = any(SELECT "companyid" FROM "employment" KEY JOIN "iqxnetuserlink" WHERE "iqxnetuserid" = "pWebUserID")
    AND "v"."StartDate" <= @DateRangeEnd AND "isnull"("v"."FinishDate",@DateRangeEnd) >= @DateRangeStart AND "v"."temp" = 1
    AND "v"."Status" IN( 'C','F',']' ) AND "isnull"((SELECT "desktype" FROM "tempdesk" WHERE "tempdeskid" = "v"."tempdeskid"),'') <> 'S'
    AND "v"."StartDate" >= "IQXNetCompanyStartDate"("Company"."companyid") UNION ALL
  SELECT 'P'+"p"."TempShiftPlanID" AS "RowID",
    "string"("v"."Position",' ',"p"."Description") AS "Position",
    "p"."ShiftDate" AS "StartDate",
    "p"."TimeFrom" AS "StartTime",
    (IF "p"."TimeFrom" < "p"."TimeTo" THEN "p"."ShiftDate" ELSE "p"."ShiftDate"+1 endif) AS "FinishDate",
    "p"."TimeTo" AS "FinishTime",
    "v"."VacancyID",
    "p"."TempShiftPlanID",
    CAST("p"."ShiftSerialNumber" AS CHAR(20)) AS "OurRef",
    "p"."ReferenceCode" AS "TheirRef",
    "v"."ContractRef",
    (SELECT FIRST "person"."name" FROM "person" KEY JOIN "tempshift" WHERE "tempshift"."tempshiftplanid" = "p"."tempshiftplanid" AND "tempshift"."state" <> 'C') AS "FilledBy",
    1 AS "IsShift",
    "ifnull"("FilledBy",0,1) AS "Filled",
    "isnull"((SELECT FIRST 1 FROM "tempshift" WHERE "tempshiftplanid" = "p"."tempshiftplanid" AND "state" = 'C' AND "cancelreason" = '~'),0) AS "UnConfirmed",0 AS "GroupID"
    FROM "TempShiftPlan" AS "p" KEY JOIN "Vacancy" AS "v" KEY JOIN "Employment" KEY JOIN("Company","Person")
    WHERE "Company"."CompanyID" = any(SELECT "companyid" FROM "employment" KEY JOIN "iqxnetuserlink" WHERE "iqxnetuserid" = "pWebUserID")
    AND "p"."ShiftDate" BETWEEN @DateRangeStart AND @DateRangeEnd
    AND NOT EXISTS(SELECT * FROM "tempshift" WHERE "tempshiftplanid" = "p"."tempshiftplanid" AND "state" = 'C' AND "cancelreason" <> '~' AND "isnull"("crefill",0) = 0)
    AND "StartDate" >= "IQXNetCompanyStartDate"("Company"."companyid")
END
}
  • database/procedures/pears_netclientvacancies2.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1