Advertisement
Guest User

Untitled

a guest
Jan 15th, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.75 KB | None | 0 0
  1. --Change date: <<<|||20200107|||>>>
  2. ALTER proc [dbo].[r_Manadrapport] (@fradato date, @tildato date, @distrikt int = -1, @region varchar(MAX) = '-1') as
  3. --declare @fradato date = '20180901'
  4. --declare @tildato date = '20190930'
  5. --declare @distrikt int = -1
  6. --declare @region varchar(max) = '-1'
  7.  
  8. select
  9. Bedrift.Navn as Bedriftnavn --A
  10. ,Soknad.SoknadID as 'Løpenr' --B
  11. ,Tinfo.Kode2 as Avsluttende_Tiltak --C
  12. ,isnull(Sinfo.Kode1,30) Sluttårsak --D
  13. ,case
  14. when ISNULL(Sinfo.Kode1,30) in (2,3,4,5,17,18)
  15. then coalesce((select Kode1 from Tekst inner join Tiltak on Tiltak.FormidletTilSektor = Tekst.TekstNr and Tekst.GrpNr = 404 and Tiltak.SoknadID=Soknad.SoknadID)
  16. ,(select Kode1 from Tekst inner join Tiltak on Tiltak.Arbeidsdestinasjon = Tekst.TekstNr and Tekst.GrpNr = 400 and Tiltak.SoknadID=Soknad.SoknadID),'')
  17. else ''
  18. end as Arbeidsdestinasjon --E
  19. ,dbo.Kjonn(actor.Personnr) * -1 + 2 as Kjønn --F
  20. ,dbo.PersonnrTilFdtAr(actor.Personnr) as FødtÅr --G
  21. ,isnull(LandInfo.Kode2,0) as Landskode --H
  22. ,CONVERT(VARCHAR(15),soknad.TiltakOppstartdato, 111) as StartDato --I
  23. ,CONVERT(VARCHAR(15),soknad.TiltakAvsluttdato, 111) as SluttDato --J
  24. --,(case
  25. -- when exists (select * from Soknad s
  26. -- inner join stilling on stilling.SoknadId = soknad.SoknadID
  27. -- inner join actor virksomhet on Stilling.Virksomhet = virksomhet.actno
  28. -- inner join tekst t on t.GrpNr = 47 and t.TekstNr = virksomhet.Kategori
  29. -- where t.kode1 = 1)
  30. -- then 1 else 2 end) as NHOmedlem
  31. --,(case
  32. -- when exists (select * from Soknad s
  33. -- inner join stilling on stilling.SoknadId = soknad.SoknadID
  34. -- inner join actor virksomhet on Stilling.Virksomhet = virksomhet.actno
  35. -- inner join tekst t on t.GrpNr = 47 and t.TekstNr = virksomhet.Kategori
  36. -- where t.kode1 not in(1,2,3,4,5))
  37. -- then 1 else 2 end) as ikkeNHOmedlem
  38. --,(case
  39. -- when exists (select * from Soknad s
  40. -- inner join stilling on stilling.SoknadId = soknad.SoknadID
  41. -- inner join actor virksomhet on Stilling.Virksomhet = virksomhet.actno
  42. -- inner join tekst t on t.GrpNr = 47 and t.TekstNr = virksomhet.Kategori
  43. -- where t.kode1 = 2)
  44. -- then 1 else 2 end) as interesseorganisasjon
  45. --,(case
  46. -- when exists (select * from Soknad s
  47. -- inner join stilling on stilling.SoknadId = soknad.SoknadID
  48. -- inner join actor virksomhet on Stilling.Virksomhet = virksomhet.actno
  49. -- inner join tekst t on t.GrpNr = 47 and t.TekstNr = virksomhet.Kategori
  50. -- where t.kode1 = 3)
  51. -- then 1 else 2 end) as Kommunal
  52. --,(case
  53. -- when exists (select * from Soknad s
  54. -- inner join stilling on stilling.SoknadId = soknad.SoknadID
  55. -- inner join actor virksomhet on Stilling.Virksomhet = virksomhet.actno
  56. -- inner join tekst t on t.GrpNr = 47 and t.TekstNr = virksomhet.Kategori
  57. -- where t.kode1 = 4)
  58. -- then 1 else 2 end) as FylkesKommunal
  59. --,(case
  60. -- when exists (select * from Soknad s
  61. -- inner join stilling on stilling.SoknadId = soknad.SoknadID
  62. -- inner join actor virksomhet on Stilling.Virksomhet = virksomhet.actno
  63. -- inner join tekst t on t.GrpNr = 47 and t.TekstNr = virksomhet.Kategori
  64. -- where t.kode1 = 5)
  65. -- then 1 else 2 end) as Statlig
  66. ,case when ISNULL(Sinfo.Kode1,30) in (2,3,4,5,17,18) and sa.actno is not null
  67. then isnull((select OrgNo from Actor acn where acn.actno = sa.ActNo),'') else
  68. case when ISNULL(Sinfo.Kode1,30) in (2,3,4,5,17,18)
  69. then isnull((select OrgNo from Actor acn where acn.actno = sistestilling.Virksomhet),'') else '' end
  70. end as ArbOrg --K
  71. ,case when ISNULL(Sinfo.Kode1,30) in (2,3,4,5,17,18) and sa.actno is not null
  72. then isnull((select Arbeidstid from Actor acn where acn.actno = sa.ActNo),'') else
  73. case when ISNULL(Sinfo.Kode1,30) in (2,3,4,5,17,18)
  74. then isnull((select Arbeidstid from Actor acn where acn.actno = sistestilling.Virksomhet),'') else '' end
  75. end as ArbBedr --L
  76.  
  77. ,case when ISNULL(Sinfo.Kode1,30) in (2,3,4,5,18)
  78. then case when sa.actno is not null and Finfo.kode2 = 1 then 1 else 0 end
  79. else case when stinfo.kode2 = 1 then 1 else 2 end
  80. end as RingeriVannet --M
  81. --,isnull(substring((select ', '+cast(t.Kode2 as nvarchar(50)) as 'data()'
  82. --from Test
  83. --inner join tekst t on t.GrpNr = 73 and t.TekstNr = test.Provetype
  84. --where Test.SoknadID = soknad.SoknadID and t.kode2 between 1 and 8 for xml path('')),3,50),'') as Arbeidshindring --S
  85. , isnull((SELECT distinct CONVERT(varchar(10), Tekst.Kode2)+',' AS [text()]
  86. FROM Arbeidshindring ARB1
  87. inner join Tekst on ARB1.Arbeidshindring = Tekst.TekstNr and GrpNr = 147
  88. WHERE ARB1.SoknadID = Soknad.SoknadID
  89. -- ORDER BY ARB1.SoknadID
  90. FOR XML PATH ('')
  91. ),'') as Arbeidshindring --N
  92. ,isnull(OrgListe.OrgListe,'') as OrgListe --O
  93. from Soknad
  94. inner join Actor on actor.actno = soknad.ActNo
  95. inner join Tiltak on tiltak.SoknadID = soknad.SoknadID
  96.  
  97. --left join SoknadActor sa on sa.SoknadId = soknad.SoknadID and sa.type = (select TekstNr from Tekst where GrpNr = 68 and Kode1 = 100)
  98. --left join SoknadActor sa on sa.SoknadId = soknad.SoknadID and sa.ActNo = tiltak.FormidletTilAktor
  99. left join actor sa on tiltak.SoknadID = soknad.SoknadID and sa.actno = tiltak.FormidletTilAktor
  100.  
  101. outer apply(select top 1 Virksomhet from Stilling inner join Tekst on Tekst.GrpNr=79 and Tekst.TekstNr=Kategori where SoknadId=Soknad.SoknadID and Virksomhet is not null order by Kode2,Stillingprosent desc,Id desc) sistestilling
  102.  
  103. left join Actor Bedrift on Bedrift.actno=(Select Tekst1 from Tekst where GrpNr=64)
  104. inner join TiltakTilbydt on TiltakTilbydt.ID = Soknad.Tiltak and (@region='-1' or TiltakTilbydt.Distrikt in (select Distrikt.ID from (select B.a.value('.','int') as l from (select cast('<M>'+replace(@region,',','</M><M>')+'</M>' as xml) as r) A cross apply r.nodes('/M') as B(a)) R inner join Distrikt on Distrikt.Region=R.l))
  105. inner join TiltakTilsagn on TiltakTilsagn.id = TiltakTilbydt.Tilsagn
  106. Left join Tekst Tinfo on Tinfo.TekstNr=TiltakTilsagn.TypeTiltak and Tinfo.GrpNr=13
  107. left join Tekst Sinfo on Sinfo.TekstNr=Tiltak.Sluttarsak and Sinfo.GrpNr = 36
  108. Left join Tekst Stinfo on (select kategori from actor where actno = sistestilling.Virksomhet) = Stinfo.TekstNr and Stinfo.GrpNr = 47
  109. Left join Tekst Finfo on (select kategori from actor where actno = sa.actno) = Finfo.TekstNr and Finfo.GrpNr = 47
  110. left join Tekst LandInfo on LandInfo.TekstNr = actor.Fødeland and LandInfo.GrpNr = 194
  111. outer apply (select ((select distinct OrgNo+',' from Actor inner join Stilling on Stilling.Virksomhet=Actor.actno and isnull(Actor.OrgNo,'')<>'' and Stilling.SoknadId=Soknad.SoknadID for xml path(''))) as OrgListe) OrgListe
  112. inner join FirmaView on 1=1
  113. where Soknad.TiltakAvsluttdato between @fradato and @tildato
  114. and ((Tinfo.Kode2 is not null) or (LEN(Tinfo.Kode2) > 0))
  115. and Tinfo.Kode2 != 0
  116. and (@distrikt = -1 or (@distrikt > -1 and TiltakTilbydt.Distrikt = @distrikt))
  117. and dbo.DeltakerMott(soknad.soknadid) = 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement