code
unknown
plain_text
4 years ago
32 kB
5
Indexable
USE [SudBiH] GO /****** Object: StoredProcedure [dbo].[SearchCourtPractices] Script Date: 6/14/2021 3:40:25 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[SearchCourtPractices] -- Add the parameters for the stored procedure here @searchterm [nvarchar](max), @casenumber [nvarchar](max), @casetitle [nvarchar](max), @department int = 0, @crimecategory int = 0, @verdictlevel nvarchar(max), @verdictleveltitle nvarchar(max), @placeofcommittment [nvarchar](max), @datefrom [nvarchar](max), @dateto [nvarchar](max), @tag [nvarchar](2) AS BEGIN DECLARE @exec_sql nvarchar(max) SET NOCOUNT ON; IF (@searchterm = N' ') BEGIN SET @searchterm = NULL END SET @exec_sql = ' SELECT null AS Title, null AS Subtitle, null AS Category, null AS Url WHERE 1 = 2 ' IF(@searchterm IS NOT NULL AND LEN(@searchterm) > 0) BEGIN SET @searchterm = N'"*' + REPLACE(TRIM(@searchterm), N' ', N'*" AND "*') + N'*"' SET @exec_sql += ' UNION SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + '''AND (CONTAINS(mr.CaseTitle, N''' + @searchterm + ''') OR (CONTAINS(m.CaseNumber, N''' + @searchterm + ''') OR m.CaseNumber LIKE N''%' + @searchterm + '%'') OR CONTAINS(m.PlaintiffNumber, N''' + @searchterm + ''') OR CONTAINS(mr.IndictmentSummary, N''' + @searchterm + ''') OR CONTAINS(mr.CourseOfProceedings, N''' + @searchterm + ''') OR CONTAINS(mr.Notes, N''' + @searchterm + ''') OR CONTAINS(mr.CaseSubtitle, N''' + @searchterm + ''') OR CONTAINS(mr.CaseInformation, N''' + @searchterm + ''') ) UNION SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Defendant d on m.Id = d.MatrixId WHERE d.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(d.FullName, N''' + @searchterm + ''') OR CONTAINS(d.Punishment, N''' + @searchterm + ''') OR CONTAINS(d.Payments, N''' + @searchterm + ''') OR CONTAINS(d.PropertyClaim, N''' + @searchterm + ''') OR CONTAINS(d.EducationLevel, N''' + @searchterm + ''')) UNION SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN SafetyMeasure sm on m.Id = sm.MatrixId WHERE sm.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(sm.Defendant, N''' + @searchterm + ''') OR CONTAINS(sm.PMZJ, N''' + @searchterm + ''') OR CONTAINS(sm.Amount, N''' + @searchterm + ''') OR CONTAINS(sm.Period, N''' + @searchterm + ''')) UNION SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN CountOfIndictment coi on m.Id = coi.MatrixId WHERE coi.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(coi.Defendant, N''' + @searchterm + ''') OR CONTAINS(coi.Offense, N''' + @searchterm + ''') OR CONTAINS(coi.PlaceOfCommittment, N''' + @searchterm + ''')) UNION SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(v.Summary, N''' + @searchterm + ''') OR CONTAINS(v.Offense, N''' + @searchterm + ''') OR CONTAINS(v.PrimarySanction, N''' + @searchterm + ''') OR CONTAINS(v.SecondarySancion, N''' + @searchterm + ''') OR CONTAINS(v.Indictment, N''' + @searchterm + ''') OR CONTAINS(v.SuspendedSentence, N''' + @searchterm + ''')) UNION SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND CONTAINS(v.Content, N''' + @searchterm + ''') UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(mr.CaseTitle, N''' + @searchterm + ''') OR (CONTAINS(m.CaseNumber, N''' + @searchterm + ''') OR m.CaseNumber LIKE N''%' + @searchterm + '%'') OR CONTAINS(m.PlaintiffNumber, N''' + @searchterm + ''') OR CONTAINS(mr.IndictmentSummary, N''' + @searchterm + ''') OR CONTAINS(mr.CourseOfProceedings, N''' + @searchterm + ''') OR CONTAINS(mr.Notes, N''' + @searchterm + ''') OR CONTAINS(mr.CaseSubtitle, N''' + @searchterm + ''') OR CONTAINS(mr.CaseInformation, N''' + @searchterm + ''')) UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId INNER JOIN Defendant d on m.Id = d.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND d.LT = N''' + @tag + ''' AND (CONTAINS(d.FullName, N''' + @searchterm + ''') OR CONTAINS(d.Punishment, N''' + @searchterm + ''') OR CONTAINS(d.Payments, N''' + @searchterm + ''') OR CONTAINS(d.PropertyClaim, N''' + @searchterm + ''') OR CONTAINS(d.EducationLevel, N''' + @searchterm + ''')) UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId INNER JOIN CountOfIndictment coi on m.Id = coi.MatrixId INNER JOIN SafetyMeasure sm on m.Id = sm.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND coi.LT = N''' + @tag + ''' AND (CONTAINS(coi.Defendant, N''' + @searchterm + ''') OR CONTAINS(coi.Offense, N''' + @searchterm + ''') OR CONTAINS(coi.PlaceOfCommittment, N''' + @searchterm + ''') OR CONTAINS(coi.DamageDoneTo, N''' + @searchterm + ''')) UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId INNER JOIN SafetyMeasure sm on m.Id = sm.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND sm.LT = N''' + @tag + ''' AND (CONTAINS(sm.Defendant, N''' + @searchterm + ''') OR CONTAINS(sm.PMZJ, N''' + @searchterm + ''') OR CONTAINS(sm.Amount, N''' + @searchterm + ''') OR CONTAINS(sm.Period, N''' + @searchterm + ''')) UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(v.Content, N''' + @searchterm + ''') OR CONTAINS(v.Summary, N''' + @searchterm + ''') OR CONTAINS(v.Offense, N''' + @searchterm + ''') OR CONTAINS(v.PrimarySanction, N''' + @searchterm + ''') OR CONTAINS(v.SecondarySancion, N''' + @searchterm + ''') OR CONTAINS(v.Indictment, N''' + @searchterm + ''') OR CONTAINS(v.SuspendedSentence, N''' + @searchterm + ''')) UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND (CONTAINS(pr.Title, N''' + @searchterm + ''') OR CONTAINS(pr.Subtitle, N''' + @searchterm + ''') OR CONTAINS(pr.HtmlContent, N''' + @searchterm + ''')) UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND (CONTAINS(mr.CaseTitle, N''' + @searchterm + ''') OR CONTAINS(mr.IndictmentSummary, N''' + @searchterm + ''') OR CONTAINS(mr.CourseOfProceedings, N''' + @searchterm + ''') OR CONTAINS(mr.CaseSubtitle, N''' + @searchterm + ''') OR CONTAINS(mr.CaseInformation, N''' + @searchterm + ''')) UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Defendant d on m.Id = d.MatrixId WHERE mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND d.LT = N''' + @tag + ''' AND (CONTAINS(d.Punishment, N''' + @searchterm + ''') OR CONTAINS(d.Payments, N''' + @searchterm + ''') OR CONTAINS(d.PropertyClaim, N''' + @searchterm + ''')) ) AS SEARCHTERM ' END IF (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND (CONTAINS(m.CaseNumber, N''' + N'"*' + REPLACE(TRIM(@casenumber), N' ', N'*" AND "*') + N'*"' + ''') OR m.CaseNumber LIKE N''%' + @casenumber + '%'') UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(m.CaseNumber, N''' + N'"*' + REPLACE(TRIM(@casenumber), N' ', N'*" AND "*') + N'*"' + ''') OR m.CaseNumber LIKE N''%' + @casenumber + '%'') UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND CONTAINS(v.Content, N''' + N'"*' + REPLACE(TRIM(@casenumber), N' ', N'*" AND "*') + N'*"' + ''') UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND (CONTAINS(m.CaseNumber, N''' + N'"*' + REPLACE(TRIM(@casenumber), N' ', N'*" AND "*') + N'*"' + ''') OR m.CaseNumber LIKE N''%' + @casenumber + '%'') ) AS CASENUMBER ' END IF (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND (CONTAINS(mr.CaseTitle, N''' + N'"*' + REPLACE(TRIM(@casetitle), N' ', N'*" AND "*') + N'*"' + ''') OR mr.CaseTitle LIKE N''%' + @casetitle + '%'') UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (CONTAINS(m.CaseNumber, N''' + N'"*' + REPLACE(TRIM(@casetitle), N' ', N'*" AND "*') + N'*"' + ''') OR m.CaseNumber LIKE N''%' + @casetitle + '%'') OR CONTAINS(v.Content, N''' + N'"*' + REPLACE(TRIM(@casetitle), N' ', N'*" AND "*') + N'*"' + ''') UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND (CONTAINS(mr.CaseTitle, N''' + N'"*' + REPLACE(TRIM(@casetitle), N' ', N'*" AND "*') + N'*"' + ''') OR mr.CaseTitle LIKE N''%' + @casetitle + '%'') OR (CONTAINS(pr.Title, N''' + N'"*' + REPLACE(TRIM(@casetitle), N' ', N'*" AND "*') + N'*"' + ''') OR CONTAINS(pr.Subtitle, N''' + N'"*' + REPLACE(TRIM(@casetitle), N' ', N'*" AND "*') + N'*"' + ''') OR CONTAINS(pr.HtmlContent, N''' + N'"*' + REPLACE(TRIM(@casetitle), N' ', N'*" AND "*') + N'*"' + ''')) ) AS CASETITLE ' END IF (@department IS NOT NULL AND @department <> 0) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' WHEN (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND m.DepartmentId = ' + CAST(@department AS nvarchar(max)) + ' UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND m.DepartmentId = ' + CAST(@department AS nvarchar(max)) + ' UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND m.DepartmentId = ' + CAST(@department AS nvarchar(max)) + ' ) AS DEPARTMENT ' END IF (@crimecategory IS NOT NULL AND @crimecategory <> 0) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' WHEN (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) THEN 'INTERSECT' WHEN (@department IS NOT NULL AND @department <> 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND m.CrimeCategoryId = ' + CAST(@crimecategory AS nvarchar(max)) + ' UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND m.CrimeCategoryId = ' + CAST(@crimecategory AS nvarchar(max)) + ' UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId WHERE mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND m.CrimeCategoryId = ' + CAST(@crimecategory AS nvarchar(max)) + ' ) AS CATEGORY ' END IF((@verdictlevel IS NOT NULL AND LEN(@verdictlevel) > 0) AND (@verdictleveltitle IS NOT NULL AND LEN(@verdictleveltitle) > 0)) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' WHEN (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) THEN 'INTERSECT' WHEN (@department IS NOT NULL AND @department <> 0) THEN 'INTERSECT' WHEN (@crimecategory IS NOT NULL AND @crimecategory <> 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND v.VerdictLevelId IN (' + @verdictlevel + ') UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId INNER JOIN VerdictLevelResource vr on v.VerdictLevelId = vr.VerdictLevelId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND vr.LT = N''' + @tag + ''' AND v.VerdictLevelId IN (' + @verdictlevel + ') UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND v.VerdictLevelId IN (' + @verdictlevel + ') AND (CONTAINS(v.Content, N''' + @verdictleveltitle + ''') OR CONTAINS(pr.Title, N''' + @verdictleveltitle + ''') OR CONTAINS(pr.Subtitle, N''' + @verdictleveltitle + ''') OR CONTAINS(pr.HtmlContent, N''' + @verdictleveltitle + ''')) ) AS VERDICT ' END IF(@placeofcommittment IS NOT NULL AND LEN(@placeofcommittment) > 0) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' WHEN (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) THEN 'INTERSECT' WHEN (@department IS NOT NULL AND @department <> 0) THEN 'INTERSECT' WHEN (@crimecategory IS NOT NULL AND @crimecategory <> 0) THEN 'INTERSECT' WHEN ((@verdictlevel IS NOT NULL AND LEN(@verdictlevel) > 0) AND (@verdictleveltitle IS NOT NULL AND LEN(@verdictleveltitle) > 0)) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN CountOfIndictment coi on m.Id = coi.MatrixId WHERE coi.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND CONTAINS(coi.PlaceOfCommittment, N''' + N'"*' + REPLACE(TRIM(@placeofcommittment), N' ', N'*" AND "*') + N'*"' + ''') UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId INNER JOIN CountOfIndictment coi on m.Id = coi.MatrixId INNER JOIN VerdictLevelResource vr on v.VerdictLevelId = vr.VerdictLevelId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND vr.LT = N''' + @tag + ''' AND (CONTAINS(coi.PlaceOfCommittment, N''' + N'"*' + REPLACE(TRIM(@placeofcommittment), N' ', N'*" AND "*') + N'*"' + ''') OR CONTAINS(v.Content, N''' + N'"*' + REPLACE(TRIM(@placeofcommittment), N' ', N'*" AND "*') + N'*"' + ''')) UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN CountOfIndictment coi on m.Id = coi.MatrixId WHERE coi.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND (CONTAINS(coi.PlaceOfCommittment, N''' + N'"*' + REPLACE(TRIM(@placeofcommittment), N' ', N'*" AND "*') + N'*"' + ''') OR CONTAINS(pr.Title, N''' + N'"*' + REPLACE(TRIM(@placeofcommittment), N' ', N'*" AND "*') + N'*"' + ''') OR CONTAINS(pr.Subtitle, N''' + N'"*' + REPLACE(TRIM(@placeofcommittment), N' ', N'*" AND "*') + N'*"' + ''') OR CONTAINS(pr.HtmlContent, N''' + N'"*' + REPLACE(TRIM(@placeofcommittment), N' ', N'*" AND "*') + N'*"' + ''')) ) AS PLACE ' END IF((@dateto IS NULL AND LEN(@dateto) = 0) AND (@datefrom IS NOT NULL AND LEN(@datefrom) > 0)) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' WHEN (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) THEN 'INTERSECT' WHEN (@crimecategory IS NOT NULL AND @crimecategory <> 0) THEN 'INTERSECT' WHEN ((@verdictlevel IS NOT NULL AND LEN(@verdictlevel) > 0) AND (@verdictleveltitle IS NOT NULL AND LEN(@verdictleveltitle) > 0)) THEN 'INTERSECT' WHEN (@placeofcommittment IS NOT NULL AND LEN(@placeofcommittment) > 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE mr.LT = N''' + @tag + ''' AND v.Date >= N''' + @datefrom + ''' UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN CountOfIndictment coi on m.Id = coi.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND coi.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND v.Date >= N''' + @datefrom + ''' UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND p.Date >= N''' + @datefrom + ''' ) AS DATEFROM ' END IF((@dateto IS NOT NULL AND LEN(@dateto) > 0) AND (@datefrom IS NULL AND LEN(@datefrom) = 0)) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' WHEN (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) THEN 'INTERSECT' WHEN (@crimecategory IS NOT NULL AND @crimecategory <> 0) THEN 'INTERSECT' WHEN ((@verdictlevel IS NOT NULL AND LEN(@verdictlevel) > 0) AND (@verdictleveltitle IS NOT NULL AND LEN(@verdictleveltitle) > 0)) THEN 'INTERSECT' WHEN (@placeofcommittment IS NOT NULL AND LEN(@placeofcommittment) > 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE mr.LT = N''' + @tag + ''' AND v.Date <= N''' + @dateto + ''' UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN CountOfIndictment coi on m.Id = coi.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND coi.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND v.Date <= N''' + @dateto + ''' UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND p.Date <= N''' + @dateto + ''' ) AS DATETO ' END IF((@dateto IS NOT NULL AND LEN(@dateto) > 0) AND (@datefrom IS NOT NULL AND LEN(@datefrom) > 0)) BEGIN SET @exec_sql += CASE WHEN (@searchterm IS NOT NULL AND LEN(@searchterm) > 0) THEN 'INTERSECT' WHEN (@casenumber IS NOT NULL AND LEN(@casenumber) > 0) THEN 'INTERSECT' WHEN (@casetitle IS NOT NULL AND LEN(@casetitle) > 0) THEN 'INTERSECT' WHEN (@crimecategory IS NOT NULL AND @crimecategory <> 0) THEN 'INTERSECT' WHEN ((@verdictlevel IS NOT NULL AND LEN(@verdictlevel) > 0) AND (@verdictleveltitle IS NOT NULL AND LEN(@verdictleveltitle) > 0)) THEN 'INTERSECT' WHEN (@placeofcommittment IS NOT NULL AND LEN(@placeofcommittment) > 0) THEN 'INTERSECT' ELSE 'UNION' END SET @exec_sql += ' SELECT Title, Subtitle, Category, Url FROM ( SELECT mr.CaseTitle AS Title, m.CaseNumber AS Subtitle, 1 AS Category, N''/Court/Case/'' + CAST(m.Id AS nvarchar(max)) AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (v.Date >= N''' + @datefrom + ''' AND v.Date <= N''' + @dateto + ''') UNION SELECT m.CaseNumber + N'' '' + mr.CaseTitle AS Title, Cast(v.VerdictLevelId AS nvarchar(max)) AS Subtitle, 2 AS Category, N''/Court/Open/'' + CAST(v.Id AS nvarchar(max)) + N''?n='' + v.FileName AS Url FROM Matrix m INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND (v.Date >= N''' + @datefrom + ''' AND v.Date <= N''' + @dateto + ''') UNION SELECT pr.Title AS Title, pr.Subtitle AS Subtitle, 3 AS Category, N''/Post/Read/'' + p.Link AS Url FROM Post p INNER JOIN PostResource pr on p.Id = pr.PostId INNER JOIN Matrix m on m.Id = p.MatrixId INNER JOIN MatrixResources mr on m.Id = mr.MatrixId INNER JOIN Verdict v on m.Id = v.MatrixId WHERE v.LT = N''' + @tag + ''' AND mr.LT = N''' + @tag + ''' AND pr.LT = N''' + @tag + ''' AND ((p.Date >= N''' + @datefrom + ''' AND p.Date <= N''' + @dateto + ''') OR (v.Date >= N''' + @datefrom + ''' AND v.Date <= N''' + @dateto + ''')) ) AS DATERANGE ' END PRINT(@exec_sql) EXEC(@exec_sql) END
Editor is loading...