Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 11.76 KB | None | 0 0
  1. USE [SDS_DevSchoolDistrict]
  2. GO
  3.  
  4. ALTER FUNCTION [dbo].[EvaluationTasksByEducatorEvaluationYear]
  5. (@EducatorEvaluationYearId int = 1)
  6. --DECLARE @EducatorEvaluationYearId int SET @EducatorEvaluationYearId = 1
  7. --DECLARE @OutputTable TABLE
  8. RETURNS @OutputTable TABLE
  9. (       -------------------------------------
  10.         EducatorEvaluationYearId    int,
  11.         -------------------------------------
  12.         EvaluatorId                 int,
  13.         EvaluatorFirstName          varchar(100),
  14.         EvaluatorLastName           varchar(100),
  15.         -------------------------------------------
  16.         EducatorId                  int,
  17.         EducatorFirstName           varchar(100),
  18.         EducatorLastName            varchar(100),
  19.         EducatorPositionId          int,
  20.         EducatorPosition            varchar(100),
  21.         EducatorPositionLevelId     int,
  22.         EducatorPositionLevel       varchar(100),
  23.         -------------------------------------
  24.         EducatorEvaluationTaskCategoryId        int,
  25.         EducatorEvaluationTaskCategory          varchar(100),
  26.         EducatorEvaluationTaskCategoryOrdinal   int,
  27.         -------------------------------------
  28.         EducatorEvaluationTaskId                        int,
  29.         EducatorEvaluationTask                          varchar(100),
  30.         EducatorEvaluationTaskDueDate                   XsltDate,
  31.         EducatorEvaluationTaskIsMeeting                 bit,
  32.         EducatorEvaluationTaskOrdinal                   int,
  33.         EducatorEvaluationTaskStatus                    varchar(100), -- Late, Required, Completed, In-Process
  34.         EducatorEvaluationTaskMayBeCompletedByEducator  bit,
  35.         EducatorEvaluationTaskMayBeCompletedByEvaluator bit,
  36.         -------------------------------------
  37.         EducatorEvaluationCompletedTaskId               [dbo].[ElementId] NULL,
  38.         EducatorEvaluationTaskCompletionDate            [date] NULL,
  39.         EducatorEvaluationTaskScheduledDate             [date] NULL,
  40.         EducatorEvaluationTaskScheduledTime             [time] NULL,
  41.         EducatorEvaluationTaskScheduledLocation         varchar(500) NULL,
  42.         EducatorEvaluationCompletedTaskNotes            varchar(max) NULL,
  43.         EducatorEvaluationTaskStatusId                  [dbo].[ElementReference] NULL
  44. )       -------------------------------------
  45. AS
  46. BEGIN   -- =================================================================================
  47.  
  48.  
  49.  
  50.         ---------------------------------------------
  51.         --
  52.         ---------------------------------------------
  53.         DECLARE @Educators TABLE
  54.         (       -------------------------------------------
  55.                 EducatorId              int,
  56.                 EducatorFirstName       varchar(100),
  57.                 EducatorLastName        varchar(100),
  58.                 EducatorPositionId      int,
  59.                 EducatorPosition        varchar(100),
  60.                 EducatorPositionLevelId int,
  61.                 EducatorPositionLevel   varchar(100),
  62.                 -------------------------------------------
  63.                 PRIMARY KEY (EducatorId)
  64.         )
  65.         ---------------------------------------------
  66.         INSERT  @Educators
  67.         (       -------------------------------------------
  68.                 EducatorId,
  69.                 EducatorFirstName,
  70.                 EducatorLastName,
  71.                 EducatorPositionId,
  72.                 EducatorPosition,
  73.                 EducatorPositionLevelId,
  74.                 EducatorPositionLevel
  75.         )       -------------------------------------------
  76.         SELECT  P.PersonId,
  77.                 P.FirstName,
  78.                 P.LastName,
  79.                 EP.EducatorPositionId,
  80.                 EP.EducatorPosition,
  81.                 L.EducatorPositionLevelId,
  82.                 L.EducatorPositionLevel
  83.         FROM    EducatorEvaluationYears Y
  84.         JOIN    Persons P
  85.           ON    Y.EducatorEvaluationYearId = @EducatorEvaluationYearId  
  86.          AND    Y.EducatorId = P.PersonId
  87.         JOIN    EducatorPositionLevels L
  88.           ON    Y.EducatorPositionLevelId = L.EducatorPositionLevelId
  89.         JOIN    EducatorPositions EP
  90.           ON    L.EducatorPositionId = EP.EducatorPositionId
  91.         ---------------------------------------------
  92.         -- SELECT * FROM @Educators
  93.         ---------------------------------------------
  94.  
  95.  
  96.  
  97.  
  98.         ---------------------------------------------
  99.         --
  100.         ---------------------------------------------
  101.         DECLARE @EducatorPositionLevelId int
  102.         ---------------------------------------------
  103.         SELECT  @EducatorPositionLevelId = EducatorPositionLevelId
  104.         FROM    @Educators
  105.         ---------------------------------------------
  106.         -- SELECT  @EducatorPositionLevelId AS '@EducatorPositionLevelId'
  107.         ---------------------------------------------
  108.        
  109.        
  110.        
  111.  
  112.         ---------------------------------------------
  113.         --
  114.         ---------------------------------------------
  115.         DECLARE @SchoolYearId int
  116.         ---------------------------------------------
  117.         SELECT  @SchoolYearId =Y. SchoolYearId
  118.         FROM    EducatorEvaluationYears Y
  119.         WHERE   Y.EducatorEvaluationYearId = @EducatorEvaluationYearId  
  120.         ---------------------------------------------
  121.         -- SELECT  @SchoolYearId AS '@SchoolYearId'
  122.         ---------------------------------------------
  123.        
  124.  
  125.  
  126.  
  127.  
  128.  
  129.         ---------------------------------------------
  130.         --
  131.         ---------------------------------------------
  132.         DECLARE @Evaluators TABLE
  133.         (       -------------------------------------------
  134.                 EvaluatorId             int,
  135.                 EvaluatorFirstName      varchar(100),
  136.                 EvaluatorLastName       varchar(100),
  137.                 -------------------------------------------
  138.                 PRIMARY KEY (EvaluatorId)
  139.         )
  140.         ---------------------------------------------
  141.         INSERT  @Evaluators
  142.         (       -------------------------------------------
  143.                 EvaluatorId,
  144.                 EvaluatorFirstName,
  145.                 EvaluatorLastName
  146.         )       -------------------------------------------
  147.         SELECT  P.PersonId,
  148.                 P.FirstName,
  149.                 P.LastName
  150.         FROM    EducatorEvaluationYears Y
  151.         JOIN    Persons P
  152.           ON    Y.EducatorEvaluationYearId = @EducatorEvaluationYearId  
  153.          AND    Y.EvaluatorId = P.PersonId
  154.         ---------------------------------------------
  155.         -- SELECT * FROM @Evaluators
  156.         ---------------------------------------------
  157.  
  158.  
  159.  
  160.  
  161.  
  162.         DECLARE @Today date
  163.         SET @Today = GETDATE()
  164.  
  165.  
  166.  
  167.  
  168.  
  169.         ---------------------------------------------
  170.         DECLARE @EducatorTasks TABLE
  171.         (       -------------------------------------------
  172.                 EducatorEvaluationTaskId    int,
  173.                 EducatorEvaluationTask          varchar(100),
  174.                 EducatorEvaluationTaskDueDate   XsltDate,
  175.                 EducatorEvaluationTaskIsMeeting bit,
  176.                 EducatorEvaluationTaskCategoryId int,
  177.                 EducatorEvaluationTaskCategory  varchar(100),
  178.                 EducatorEvaluationTaskStatus    varchar(100),
  179.                 EducatorEvaluationTaskMayBeCompletedByEducator      bit,
  180.                 EducatorEvaluationTaskMayBeCompletedByEvaluator bit,
  181.                 -------------------------------------
  182.                 EducatorEvaluationCompletedTaskId               [dbo].[ElementId] NULL,
  183.                 EducatorEvaluationTaskCompletionDate            [date] NULL,
  184.                 EducatorEvaluationTaskScheduledDate             [date] NULL,
  185.                 EducatorEvaluationTaskScheduledTime             [time] NULL,
  186.                 EducatorEvaluationTaskScheduledLocation         varchar(500) NULL,
  187.                 EducatorEvaluationCompletedTaskNotes            varchar(max) NULL,
  188.                 EducatorEvaluationYearId                        [dbo].[ElementReference] NULL,
  189.                 EducatorEvaluationTaskStatusId                  [dbo].[ElementReference] NULL
  190.                 -------------------------------------------
  191.                 PRIMARY KEY (EducatorEvaluationTaskId)
  192.         )
  193.         ---------------------------------------------
  194.         INSERT  @EducatorTasks
  195.         (       -------------------------------------------
  196.                 EducatorEvaluationTaskId,
  197.                 EducatorEvaluationTask,
  198.                 EducatorEvaluationTaskDueDate,
  199.                 EducatorEvaluationTaskIsMeeting,
  200.                 EducatorEvaluationTaskCategoryId,
  201.                 EducatorEvaluationTaskCategory,
  202.                 EducatorEvaluationTaskStatus,
  203.                 EducatorEvaluationTaskMayBeCompletedByEducator,
  204.                 EducatorEvaluationTaskMayBeCompletedByEvaluator,
  205.                 -------------------------------------------
  206.                 EducatorEvaluationCompletedTaskId,
  207.                 EducatorEvaluationTaskCompletionDate,
  208.                 EducatorEvaluationTaskScheduledDate,
  209.                 EducatorEvaluationTaskScheduledTime,
  210.                 EducatorEvaluationTaskScheduledLocation,
  211.                 EducatorEvaluationCompletedTaskNotes,
  212.                 EducatorEvaluationYearId,
  213.                 EducatorEvaluationTaskStatusId
  214.         )       -------------------------------------------
  215.         SELECT  T.EducatorEvaluationTaskId,
  216.                 T.EducatorEvaluationTask,
  217.                 dbo.XsltDate(T.EducatorEvaluationTaskDueDate),
  218.                 T.EducatorEvaluationTaskIsMeeting,
  219.                 C.EducatorEvaluationTaskCategoryId,
  220.                 C.EducatorEvaluationTaskCategory,
  221.                 CASE
  222.                     WHEN(CT.EducatorEvaluationTaskCompletionDate IS NOT NULL) THEN 'Completed'
  223.                     WHEN(@Today > T.EducatorEvaluationTaskDueDate) THEN 'Late'
  224.                     WHEN(CT.EducatorEvaluationCompletedTaskId IS NOT NULL) THEN 'In-Process'
  225.                     ELSE 'Required'
  226.                 END ,  
  227.                 T.EducatorEvaluationTaskMayBeCompletedByEducator,
  228.                 T.EducatorEvaluationTaskMayBeCompletedByEvaluator,
  229.                 -------------------------------------------
  230.                 CT.EducatorEvaluationCompletedTaskId,
  231.                 CT.EducatorEvaluationTaskCompletionDate,
  232.                 CT.EducatorEvaluationTaskScheduledDate,
  233.                 CT.EducatorEvaluationTaskScheduledTime,
  234.                 CT.EducatorEvaluationTaskScheduledLocation,
  235.                 CT.EducatorEvaluationCompletedTaskNotes,
  236.                 CT.EducatorEvaluationYearId,
  237.                 CT.EducatorEvaluationTaskStatusId
  238.         FROM    EducatorEvaluationTasks T
  239.         LEFT
  240.         JOIN    dbo.EducatorEvaluationTaskCategories C
  241.           ON    T.EducatorEvaluationTaskCategoryId = C.EducatorEvaluationTaskCategoryId
  242.         LEFT
  243.         JOIN    EducatorEvaluationCompletedTasks CT
  244.           ON    T.EducatorEvaluationTaskId = CT.EducatorEvaluationTaskId
  245.          AND    CT.EducatorEvaluationYearId = @EducatorEvaluationYearId
  246.         WHERE   EducatorPositionLevelId = @EducatorPositionLevelId
  247.           AND   SchoolYearId = @SchoolYearId
  248.         ---------------------------------------------
  249.         -- SELECT * FROM @EducatorTasks
  250.         ---------------------------------------------
  251.  
  252.  
  253.  
  254.  
  255.         ----------------------------------------------------
  256.         --
  257.         ----------------------------------------------------
  258.         INSERT @OutputTable
  259.         (       -------------------------------------------
  260.                 EducatorEvaluationYearId,
  261.                 -------------------------------------------
  262.                 EvaluatorId,
  263.                 EvaluatorFirstName,
  264.                 EvaluatorLastName,
  265.                 -------------------------------------------
  266.                 EducatorId,
  267.                 EducatorFirstName,
  268.                 EducatorLastName,
  269.                 EducatorPositionId,
  270.                 EducatorPosition,
  271.                 EducatorPositionLevelId,
  272.                 EducatorPositionLevel,
  273.                 -------------------------------------------
  274.                 EducatorEvaluationTaskId,
  275.                 EducatorEvaluationTask,
  276.                 EducatorEvaluationTaskDueDate,
  277.                 EducatorEvaluationTaskIsMeeting,
  278.                 EducatorEvaluationTaskStatus,
  279.                 EducatorEvaluationTaskMayBeCompletedByEducator,
  280.                 EducatorEvaluationTaskMayBeCompletedByEvaluator,
  281.                 -------------------------------------------
  282.                 EducatorEvaluationTaskCategoryId,
  283.                 EducatorEvaluationTaskCategory,
  284.                 -------------------------------------------
  285.                 EducatorEvaluationCompletedTaskId,
  286.                 EducatorEvaluationTaskCompletionDate,
  287.                 EducatorEvaluationTaskScheduledDate,
  288.                 EducatorEvaluationTaskScheduledTime,
  289.                 EducatorEvaluationTaskScheduledLocation,
  290.                 EducatorEvaluationCompletedTaskNotes,
  291.                 EducatorEvaluationTaskStatusId
  292.         )       -------------------------------------------
  293.         SELECT  @EducatorEvaluationYearId,
  294.                 -------------------------------------------
  295.                 EvaluatorId,
  296.                 EvaluatorFirstName,
  297.                 EvaluatorLastName,
  298.                 -------------------------------------------
  299.                 EducatorId,
  300.                 EducatorFirstName,
  301.                 EducatorLastName,
  302.                 EducatorPositionId,
  303.                 EducatorPosition,
  304.                 EducatorPositionLevelId,
  305.                 EducatorPositionLevel,
  306.                 -------------------------------------------
  307.                 EducatorEvaluationTaskId,
  308.                 EducatorEvaluationTask,
  309.                 EducatorEvaluationTaskDueDate,
  310.                 EducatorEvaluationTaskIsMeeting,
  311.                 EducatorEvaluationTaskStatus,
  312.                 EducatorEvaluationTaskMayBeCompletedByEducator,
  313.                 EducatorEvaluationTaskMayBeCompletedByEvaluator,
  314.                 -------------------------------------------
  315.                 EducatorEvaluationTaskCategoryId,
  316.                 EducatorEvaluationTaskCategory,
  317.                 -------------------------------------------
  318.                 EducatorEvaluationCompletedTaskId,
  319.                 EducatorEvaluationTaskCompletionDate,
  320.                 EducatorEvaluationTaskScheduledDate,
  321.                 EducatorEvaluationTaskScheduledTime,
  322.                 EducatorEvaluationTaskScheduledLocation,
  323.                 EducatorEvaluationCompletedTaskNotes,
  324.                 EducatorEvaluationTaskStatusId
  325.         FROM    @Educators
  326.         CROSS
  327.         JOIN    @Evaluators
  328.         CROSS
  329.         JOIN    @EducatorTasks
  330.         ----------------------------------------------------
  331.         -- SELECT * FROM @EducatorTasks
  332.         ---------------------------------------------
  333.  
  334.  
  335. RETURN
  336. END     -- =================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement