USP_DATALIST_JOBVACANCY
This datalist returns all occurrences with vacancies.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@JOBID | uniqueidentifier | IN | Job |
@DAYSOUT | tinyint | IN | For |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_JOBVACANCY (@JOBID uniqueidentifier = null, @DAYSOUT tinyint = null, @CURRENTAPPUSERID uniqueidentifier = null)
as
set nocount on;
declare @FROM datetime;
declare @TO datetime;
set @FROM = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
set @TO =
case COALESCE(@DAYSOUT, 2)
when 1 then --week
dateadd(d, 7, @FROM)
when 2 then --month
dateadd(m, 1, @FROM)
when 3 then --6 months
dateadd(m, 6, @FROM)
when 4 then --1 year
dateadd(yy, 1, @FROM)
else
@FROM
end
select VACANCIES.OCCURRENCEID,
JOB.ID,
JOB.NAME,
JOBOCCURRENCE.DESCRIPTION,
VACANCIES.MINDATE,
(select top 1 SUBNEEDED.OPENINGS
from dbo.[UFN_JOBOCCURRENCE_VACANTDAYS](VACANCIES.MINDATE,VACANCIES.MINDATE,null,@JOBID) SUBNEEDED
where SUBNEEDED.OCCURRENCEID = VACANCIES.OCCURRENCEID) OPENINGS,
VACANCIES.OCCURRENCEID,
JOBOCCURRENCE.STARTTIME,
JOBOCCURRENCE.ENDTIME,
VOLUNTEERLOCATIONCODE.DESCRIPTION,
DEPARTMENTCODE.DESCRIPTION
from
(select OCCURRENCEID, min(ASSIGNMENTDATE) MINDATE
from dbo.[UFN_JOBOCCURRENCE_VACANTDAYS](@FROM,@TO,null,@JOBID) SUB
group by OCCURRENCEID) VACANCIES
inner join dbo.JOBOCCURRENCE on VACANCIES.OCCURRENCEID = JOBOCCURRENCE.ID
inner join dbo.JOB on JOB.ID = JOBOCCURRENCE.JOBID
left outer join VOLUNTEERLOCATIONCODE
on JOBOCCURRENCE.LOCATIONCODEID = VOLUNTEERLOCATIONCODE.ID
left outer join DEPARTMENTCODE
on JOBOCCURRENCE.DEPARTMENTCODEID = DEPARTMENTCODE.ID
where dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, JOBOCCURRENCE.SITEID)=1
and JOBOCCURRENCE.ISACTIVE = 1
order by VACANCIES.MINDATE, JOB.NAME, OPENINGS, STARTTIME