Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.09 KB | None | 0 0
  1. SELECT
  2.     vh.Id,
  3.     IIF(vh.VorhabensartId = 2, DATEDIFF(day, vh.Beginn, GETDATE()), DATEDIFF(day, GETDATE(), vh.Ende)) as DaysCount,
  4.     CASE
  5.       WHEN vh.VorhabensartId = 1 THEN 'Tage bis Projektende'
  6.       WHEN vh.VorhabensartId = 2 THEN 'Tage seit Verfahrensbeginn'
  7.       WHEN vh.VorhabensartId = 3 THEN 'Tage bis Programmende'
  8.     END as DaysPhrase,
  9.  
  10.     COUNT(af.Id) as Anforderungen,
  11.     COUNT(CASE WHEN af.StatusId = 1 THEN af.Id END) as ErfasstAnf,
  12.     COUNT(CASE WHEN af.StatusId = 2 THEN af.Id END) as AufgenommenAnf,
  13.     COUNT(CASE WHEN af.StatusId = 3 THEN af.Id END) as UmgesetztAnf,
  14.     COUNT(CASE WHEN af.StatusId = 4 THEN af.Id END) as NichtUmgesetztAnf,
  15.     COUNT(CASE WHEN af.StatusId = 5 THEN af.Id END) as ZurueckAnf,
  16.  
  17.     COUNT(aa.Id) as Aenderungsantraegen,
  18.     COUNT(CASE WHEN aa.EntscheidungId is null THEN aa.Id END) as ErfasstAen,
  19.     COUNT(CASE WHEN aa.EntscheidungId = 1 THEN aa.Id END) as BearbeitungAen,
  20.     COUNT(CASE WHEN aa.EntscheidungId = 2 THEN aa.Id END) as VorgelegtAen,
  21.     COUNT(CASE WHEN aa.EntscheidungId = 3 THEN aa.Id END) as GenehmigtAen,
  22.     COUNT(CASE WHEN aa.EntscheidungId = 4 THEN aa.Id END) as AbgelehntAen,
  23.  
  24.     COUNT(ri.Id) as Risiken,
  25.     COUNT(CASE WHEN ri.StatusId = 1 THEN ri.Id END) as ErstelltRis,
  26.     COUNT(CASE WHEN ri.StatusId = 2 THEN ri.Id END) as AnalysiertRis,
  27.     COUNT(CASE WHEN ri.StatusId = 3 THEN ri.Id END) as RegistriertRis,
  28.     COUNT(CASE WHEN ri.StatusId = 4 THEN ri.Id END) as AktiviertRis,
  29.     COUNT(CASE WHEN ri.StatusId = 5 THEN ri.Id END) as GeschlossenRis,
  30.     COUNT(CASE WHEN ri.StatusId = 2 and ri.SystemUpdatedOn <= DATEADD(week,-2,GETDATE()) THEN ri.Id END) as LaengerAlsAnalysiertRis,
  31.     COUNT(CASE WHEN ri.StatusId != 5 and ri.SystemUpdatedOn <= DATEADD(month,-1,GETDATE()) THEN ri.Id END) as LaengerAlsBearbeitetRis,
  32.    
  33.     COUNT(DISTINCT ugm.UserId) as Mitarbeiter,
  34.     ISNULL(SUM(CASE WHEN eb.KostenartId = 2 and vh.IsBudgetRequired = 1 THEN eb.Verbrauch END), 0) as Personalkosten,
  35.     ISNULL(SUM(CASE WHEN eb.KostenartId = 3 and vh.IsBudgetRequired = 1 THEN eb.Verbrauch END), 0) as Fremdleistung
  36. FROM dbo.Vorhaben vh
  37. left join dbo.Anforderung af on af.VorhabenId = vh.Id
  38. left join dbo.Aenderungsantrag aa on aa.VorhabenId = vh.Id
  39. left join dbo.Risiko ri on ri.VorhabenId = vh.Id
  40. left join dbo.Usergroupmembership ugm on ugm.SiteUrl = vh.SystemSPSiteUrl
  41. left join dbo.[User] u on u.Id = ugm.UserId
  42. left join dbo.Usergroup ug on ug.Id = ugm.UsergroupId
  43. left join dbo.ExtendedBudget eb on eb.VorhabenId = vh.Id
  44. WHERE vh.SystemIsActive = 1
  45. and (af.SystemIsActive is null or af.SystemIsActive = 1)
  46. and (aa.SystemIsActive is null or aa.SystemIsActive = 1)
  47. and (ri.SystemIsActive is null or ri.SystemIsActive = 1)
  48. and (ugm.SystemIsActive is null or ugm.SystemIsActive = 1)
  49. and (u.SystemIsActive is null or u.SystemIsActive = 1)
  50. and (ug.SystemIsActive is null or ug.SystemIsActive = 1)
  51. and (eb.SystemIsActive is null or eb.SystemIsActive = 1)
  52.  
  53. and (eb.SystemCrudStatus is null or eb.SystemCrudStatus = 1)
  54. and (ugm.UsergroupId is null or ugm.UsergroupId = 1 or ugm.UsergroupId = 2 or ugm.UsergroupId = 3)
  55. GROUP BY vh.Id, vh.VorhabensartId, vh.Beginn, vh.Ende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement