UFN_JOB_TRAITS

Returns all traits for a given job

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@JOBID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_JOB_TRAITS(@JOBID uniqueidentifier)
            returns @TRAITS table 
                (
                    ID uniqueidentifier, 
                    TRAITTYPEID tinyint,
                    TRAITTYPE nvarchar(25),
                    SKILL nvarchar(100),
                    SKILLLEVEL nvarchar(100),
                    SKILLLEVELSEQUENCE int,
                    INTEREST nvarchar(100),
                    SPECIALNEED nvarchar(100),
                    CERTIFICATION nvarchar(100),
                    COURSE nvarchar(100),
                    LICENSE nvarchar(100),
                    MEDICAL nvarchar(100),
                    ADMINISTRATIVE nvarchar(100),
                    ISREQUIRED bit
                ) with execute as caller
            as begin
                --Administrative

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, ADMINISTRATIVE, ISREQUIRED)
                    select    JA.ID, 
                            0,
                            'Administrative',
                            ADMINISTRATIVE.DESCRIPTION,
                            JA.ISREQUIRED
                    from JOBADMINISTRATIVE JA
                    inner join VOLUNTEERADMINISTRATIVECODE ADMINISTRATIVE on ADMINISTRATIVE.ID = JA.ADMINISTRATIVECODEID
                    where JA.JOBID= @JOBID;

                --Certification

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, CERTIFICATION, ISREQUIRED)
                    select    JC.ID, 
                            1,
                            'Certification',
                            CERTIFICATION.DESCRIPTION,
                            JC.ISREQUIRED
                    from JOBCERTIFICATION JC
                    inner join VOLUNTEERCERTIFICATIONCODE CERTIFICATION on CERTIFICATION.ID = JC.CERTIFICATIONCODEID
                    where JC.JOBID= @JOBID;

                --Course

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, COURSE, ISREQUIRED)
                    select    JC.ID, 
                            2,
                            'Course',
                            COURSE.DESCRIPTION,
                            JC.ISREQUIRED
                    from JOBCOURSE JC
                    inner join VOLUNTEERCOURSECODE COURSE on COURSE.ID = JC.COURSECODEID
                    where JC.JOBID = @JOBID;

                --Interest

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, INTEREST, ISREQUIRED)
                    select    JI.ID, 
                            3,
                            'Interest',
                            INTEREST.DESCRIPTION,
                            JI.ISREQUIRED
                    from JOBINTEREST JI
                    inner join VOLUNTEERINTERESTCODE INTEREST on INTEREST.ID = JI.VOLUNTEERINTERESTCODEID
                    where JI.JOBID= @JOBID;

                --License

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, LICENSE, ISREQUIRED)
                    select    JL.ID, 
                            4,
                            'License',
                            LICENSE.DESCRIPTION,
                            JL.ISREQUIRED
                    from JOBLICENSE JL
                    inner join VOLUNTEERLICENSECODE LICENSE on LICENSE.ID = JL.LICENSECODEID
                    where JL.JOBID = @JOBID;

                --Medical

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, MEDICAL, ISREQUIRED)
                    select    JM.ID, 
                            5,
                            'Medical',
                            MEDICAL.DESCRIPTION,
                            JM.ISREQUIRED
                    from JOBMEDICAL JM
                    inner join VOLUNTEERMEDICALCODE MEDICAL on MEDICAL.ID = JM.MEDICALCODEID
                    where JM.JOBID = @JOBID;

                --Skills

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, SKILL, SKILLLEVEL, SKILLLEVELSEQUENCE, ISREQUIRED)
                    select    JS.ID,
                            6,
                            'Skill',
                            SKILL.DESCRIPTION,
                            SKILLLEVEL.DESCRIPTION,
                            SKILLLEVEL.SEQUENCE,
                            JS.ISREQUIRED
                    from JOBSKILL JS
                    inner join VOLUNTEERSKILLCODE SKILL on SKILL.ID = JS.SKILLCODEID
                    inner join VOLUNTEERSKILLLEVEL SKILLLEVEL on SKILLLEVEL.ID = JS.SKILLLEVELID
                    where JS.JOBID=@JOBID;

                --Special need

                insert into @TRAITS(ID, TRAITTYPEID, TRAITTYPE, SPECIALNEED, ISREQUIRED)
                    select    JS.ID, 
                            7,
                            'Special Need',
                            SPECIALNEED.DESCRIPTION,
                            0
                    from JOBSPECIALNEED JS
                    inner join VOLUNTEERSPECIALNEEDCODE SPECIALNEED on SPECIALNEED.ID = JS.SPECIALNEEDCODEID
                    where JS.JOBID= @JOBID;

                return;
            end