From 0d8f12aa5b4a7013d357fe9a11767ad28c38ab31 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Thu, 19 May 2022 17:26:06 +0200 Subject: [PATCH] MS Sprint --- 00_DD/DD_ECM.sql | 4 +- 00_DD/Microsoft Publisher Document (neu).pub | Bin 0 -> 59904 bytes 00_DD/SQL_JOB1.sql | 68 +++ 00_DD/Update/1.9.0.8.sql | 5 + 00_DD/Update/1.9.0.9.sql | 23 + 00_IDB/CreateDBObjects.sql | 427 +++++++++++++++++-- 00_IDB/Update/1.1.1.sql | 125 ++++++ 00_IDB/Update/g1hxflhb.tpr~ | 167 ++++++++ 01_PM/Updates/2.2.0.0.sql | 38 +- 01_PM/Updates/2.2.1.1.sql | 28 ++ 02_GI/Updates/2.5.2.1.sql | 8 + 04_APPSERV/INSERT_JOBS.sql | 5 + 09_ZooFlow/Update/1.0.0.1.sql | Bin 33326 -> 34712 bytes 09_ZooFlow/Update/1.0.1.0.sql | Bin 0 -> 30440 bytes 14 files changed, 845 insertions(+), 53 deletions(-) create mode 100644 00_DD/Microsoft Publisher Document (neu).pub create mode 100644 00_DD/SQL_JOB1.sql create mode 100644 00_DD/Update/1.9.0.8.sql create mode 100644 00_DD/Update/1.9.0.9.sql create mode 100644 00_IDB/Update/g1hxflhb.tpr~ create mode 100644 01_PM/Updates/2.2.1.1.sql create mode 100644 02_GI/Updates/2.5.2.1.sql create mode 100644 09_ZooFlow/Update/1.0.1.0.sql diff --git a/00_DD/DD_ECM.sql b/00_DD/DD_ECM.sql index a79e272..f70d073 100644 --- a/00_DD/DD_ECM.sql +++ b/00_DD/DD_ECM.sql @@ -311,8 +311,8 @@ CREATE TABLE TBDD_CLIENT CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID) ) GO -INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES -('DEFAULT','DEF') +INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME,ACTIVE) VALUES +('DEFAULT','DEF',1) GO CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT diff --git a/00_DD/Microsoft Publisher Document (neu).pub b/00_DD/Microsoft Publisher Document (neu).pub new file mode 100644 index 0000000000000000000000000000000000000000..56b6e97311e22944a9a89146c4401cb2e06ec2d9 GIT binary patch literal 59904 zcmeHNYiu0Xbv`r8T@D{2mk&v+_lS~hS(atmaumsNWJ#pnZ;_TIOL0WWlt_yr*Q6v% zZt6&~Y%`7{C~c6sMT@9tn-*I(2>hc6nA&KQ!WH{{ z_s-4^SG&XIt%D@!9rD~gd%t_`<2&choSE78{<`VrZ~oETf0m+Soh0PeM2(~(^$v83 zI?^IlQ271U#KeTI6oG1wpCbnT2Xl4dyaeQQ;LAaLRzo~U4Wt%Q2dRh5fHXiFAqW9! zf;2-~Agz#@kXew~kPKuFWG-YLWIkj8WFce`#D^?~v_Y0YmO}1;+zGi0vJ7%JWI5y> z$O_24kd=`8AnlO*ArC-SK^}yB3bGpVX~-JLTF66?&p;lAd=|0}@(5%-WCLU)qyy3k z*#y}P*#g-L*#_AT*#X%J*#+4R*#p@N*$3GV>4J1a9)%o$JO()kIRxSUIE>FDkk3J$ zfP5Zu6w(7Z200FS64DDf0XYfjgY-k5f}Da3K-d>$2znOsG-Mbu0%84hkNq-)zccW~ zCK<%%uv|b-l^?St8SeQ6%$#Od8|TyqsSJ&%p8OADH*$|n=V-!^JDX~lJOr$qi&vT zaX2{h4dKk64R)fgt-Qqej)UgBUQ{|h&l5Zc@<`&$c^2cJ2KPMo&>JT(qhVEZ278nI zls}eX{1jkbqbePr?ce%c-DeVK{UPi?&Y@R%VtVsgW57R0>QC)-CM+E<^yY!P7Yq ze-78p>+*Eg{~bC32Ytu$2d^DGkL9l~^rz|dpMCr^um2pM*MEN6Bc6d+;9}a5&sPV$6Szc$0Mri@T?E7Y58kg@uveXC$Ras%HrIE`RA_w%4D=pZdQcH`YpHGijah6%?5 zd*%Iq^M!Bx$B*~)rT^fo@c&)k{)cvS@CweG`FZ*H&be~lO%UearTn@D^}At5AJNv6 z@78{Z6PClfi^Mm&s6CBRueweJqq;`AFX8-;b;!r4gE2IYcP~}~OIeUwEaSp9Jn{&8 zT3_SKn5xaAoFm)41aZ`ziO6q%Q#G-LW#DIl0d5a_OoxGj*QR4-+mZpxop~Hs?ksoa z447NmxU<}uGhl9M4R zrHwnwojC*MmNxDzcjgS3TiUp@+?g|AZfWDra%awfxuuOe%bhs`=9V_@EO+J%m|NPo zv)q|8U~XyS&T?nYfVriOJIkFp1Ll@C?ksoa447NmxU<}uGhl9M4RrHwnwojC*MmNxDzcjgS3TiUp@+?g|A zZfWDra%awfxuuOe%bhs`=9V_@EO+J%m|NPov)q|8U~XyS&T?nYfVriOJIkFp1Ll@C z?ksoa447NmxU<}uGhl9M4RrHwnwojC*MmNxDzcjgS3TiUp@+?g|AZfWDra%awfxuuOe%bhs`=9V_@EO+J% zm|NPov)q|8U~XyS&T?nYfVriOJIkFp1Ll@C?ksoa447NmxU<}uGhl9M4RrHwnwojC*MmNxDzcjgS3TiUp@ z+?g|AZfWDra%awfxuuOe%bhs`=9V_@EO+J%m|NPov)q|8U~XyS&T?nYfVriOJIkFp z1Ll@C?mh|b3M^V}S_~vq>-XQEmQk6;AADg4tsLHe|A8171 z{#Dqxs+YtyA2l*MAB6+EgfAE^<#}FB+8L|&)kFi-jYSi&XjLqlj73wiXmu>=#iBK_ zXl*Q77mL=%qBCOAhFG+*3_4eNFdd+I|GB7@QH?dlV9haDOAOW;gUyV=X2oE$W3WsN zHYWy~8-vY@!RE(c3u3T^G1#J#*evBgKg8;Nb^Zx_w>Ye?NmpTCYE0X-h1lf!C1vWD zmZ`s^O#Pi@>hCI3zpPCC-DT>Rm#M#}O#O;7_4k&kUs zeWdaGr@$YW0$()+{@@h&r>4MHPl11W3Vh8J_}VG(ho-SSz}HQIKT;Og zSHblGuFs)$UcH}G-uF~=Y{2@E7oe_-rLbT6a5v+K;-4U$V zZchYr!#*|Vdqej3h1&km4_$$!&R^WI+R%5JneMRX{7f^7$47&DeQu4e;Xr6nlP>1v zu?SXJpC0L8h~-Dpk#H!ekDgofcp85^#2I~wG5U}<0WzxlJ$zfg+DAvidY!jL*YLRr zR=kEMVzAFgu)_NEct=ZOdjIqUSl$bH2DAr{!CShIiJF`!#L8Mf+;v?@e{?%_lP zE1u!W7_6@(rWx)JvHZOCSWkuZw@1mT7;GSd6|;Z3B&Hb{4C8wUnr1c|v@d2>qfbYA zi^jf2hhx!^GN@krnFw0oS@(N3z>4Rj**q6oPG<9&u>N*7&&OaFVz6gpuwRJ5z7T`` zVo6M|{J8+rD=$Q_-pOAK(Lxpx-IW(3Js09y+g_T&_Hx9w;1BJq=Ycii9**aaV(bdA zrT{Cn}R zF+Ji}fH{-yaHBrC8ld{huOs#?ULkzmWxLmxp_FVjZ;G?Es+^(9v?^OvIU8jny9i}f zb_q()Yw(&!(=c)T@mJ5`zWe&KzbdWSJAh@f36yiPNtAQ54oW{e7v!n z9(?&4bTH{ykx9zExMRP+Zx&iTtXi%2Hu!ARnO%yytsb-1sGP(1M0PQ-WH6(f?;UYm zpJhrdj@C6<4=w7lH7FZ$JR5C*H0FGiyQD`(s#Pvs7a@>uZWel0%@^7@H_J~jp*-~L3Q{fSkD zdOkKt<#->q5&6_vP5T@0(-W+7(fs7%bg_U~vRqr)ip2FQK2I9E+%8YP*QG29vC z9z?61D!)06ylGfYiI4n<*~>7#`^bwPl>4O}+A`=}ayQzC@2G;Tq~W4|XZ6zt6P3-nf&X}4lkl&9vr4M`4*^zt zHU33>*80o`>wNeD`R&Pi*^z)Auw7FS9o8>WW z$hLYG;lB>8DtjmVU*~@tI%8Q>95`z2T5t7zRL@fNcdGIs^@_Ac=_WP@5$=x9eB1Sz zwh7lT{qJK?8PFij){YM0_kRs0{>Xyyx-)UqUbX~Q%#)l zWVF!tN}N=p>(SPl3HE(e;e58jzVoB9-(Q-9XuCqcZ?=@`m)BuE=T^{~?Bmm#QgdEd z0xk5td1idy*A>oZK&ATr{Ss)Q@9*H$bUPn~d9RpFoKKcY^}V_TI#;dvi(u>t&>HPq zzpc_fK30T9y+}X2rEosWDmCsqB~ZPl!?69qoXO+rzV*C%fY(Az_VGCv`}T0v(^xOC zhTAaR?-5|l3X{-I^^5(WTkJrKYqz!FZqoQ3;IGZ&$b2@ZM~+6(PT(mJUx;1qMr_P* zgzaeYHPxbM4#E6i2L3F5g;R?2gTS6E!t`F(zTU;Y6@Ev^Ip96+{y0dqNn?5>hyp}3+)*JUL(x6m}-&XEq}kbJVc2djT7 zUtRHMv$$&g{IMEmP>JDcG&&G8?7+CYao@K|m0gvXPilklr@ek=ox&SD_2Ib4M7=AC zo45&hL6tA6@+DRNmbCrwVYFM%*Ad>vWHri*O24f1oYHS7U6?(3Zi;QzD}AHZW#JET zY39j^qw-GE`!75Qck!iB-0^<_&@SFMLH>To#eE8XO*a1LsBe_2@nxuUq-LCb6d$hC zDm(s2kyBy&ck$UA)H|pb+_L_w)QxvTy(C=cWmP_}$}6h8q`dexnlF+Z#ue{|!*xtJ z9wr^n(Vv2&tuT2Tc1LBxSugneKk&8PNssgHfWr0Mz~@Fsuan$VvL4PQjg>Ga^-BJN ztHSKCs43R-N%)*=;FALVw17iX=qB zk(S9NCzs1fRiXy^BMAp{Xo0U7n%YZH)SR~BGaZ=|sh{?oV8c00@95aNd&jojJ8x3QW|jP4Z5By()9~b{~EsNdN-^e!-nGiMg5^|ok2g) z)F#yRTlV@vJ+w4dfq%5;taLrK*06r_p553;9G6-K^{p5qBYSuHL3?T|uz7f%vqwAw zYJZ>!o|}!4cPi>rdH>fyGXsJsK`ICixr+K5av5cP8=r|Refc1CNB#Z_t`IlW5}{TV zYRN#ulbEosI@G*C!;_gnOGs^?RY_f-C8a*lQZggZs-+>&JZTKH8c7FQtuzH%oiqnp zy|e_{3~3ECM`i|EgUkxFMwuOGX~_gylgtUxxq;R!3j?i176n?XEDp4p(iUj5WJ#dS zmZgD~k!684M^*%y$Xdm3=gahyw6WM4(Z|M;+^o{xoE&rTWU;ij;1KL??q(=zca4n| ze<#9&zULcTUI=;jLC@#oq7UC+fn0~Y4*4_4-$K3*`ELkwa6Ug>3E2pF0&)ey^Fj{t z_mCez7*ew!>md6fS;$4mYmo0j8j+9mBPZgUYae+@FWyD-O*ZqS9=xsQQLUc94dBgn z5AZ>C-A>`jD)Eyj2NW+Ui)qB7vu|7UO?vfd3)eMdG!(fBI5;%eWeY|-mU$kWQ z+QUl_R<;ouXUGwGWvEfTurD>anKH+r#e_blpj;vmayg3PonvEA#R}@XgD@A=LP) zU;fgdAF~l@Lhi_4KJYm=M`8{=gjSotAU(*nGLot>#sOu`XQusvTTaY#8}L(T&pPt4 z7aHf>05l2Tb2UWp@C4r3tMozDf+O+Q5nO*qkiie3uU`By8*ar6&LXd7ZciVvcm5jU zBx>0sf2Yv_&bz=oV{R8l=KS^SxR&Tj>(Iu5@V=ABa){H0!gJfWvl7((Dy1h?nYv6C zMgH*38RI{@;>fLu1VWQ*D86^1*Y=(59~fA>+V46uGvs(FjEpD?GQ#7d MwXZ*|wdt1s3stqbTL1t6 literal 0 HcmV?d00001 diff --git a/00_DD/SQL_JOB1.sql b/00_DD/SQL_JOB1.sql new file mode 100644 index 0000000..49f07f1 --- /dev/null +++ b/00_DD/SQL_JOB1.sql @@ -0,0 +1,68 @@ +USE [msdb] +GO + +/****** Object: Job [DD_DAILY] Script Date: 05.05.2022 16:42:48 ******/ +BEGIN TRANSACTION +DECLARE @ReturnCode INT +SELECT @ReturnCode = 0 +/****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 05.05.2022 16:42:48 ******/ +IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) +BEGIN +EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback + +END + +DECLARE @jobId BINARY(16) +EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_DAILY', + @enabled=1, + @notify_level_eventlog=0, + @notify_level_email=0, + @notify_level_netsend=0, + @notify_level_page=0, + @delete_level=0, + @description=N'Es ist keine Beschreibung verfügbar.', + @category_name=N'[Uncategorized (Local)]', + @owner_login_name=N'sa', @job_id = @jobId OUTPUT +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +/****** Object: Step [PRAPPSERV_FILL_TBDD_USER_MODULE] Script Date: 05.05.2022 16:42:48 ******/ +EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRAPPSERV_FILL_TBDD_USER_MODULE', + @step_id=1, + @cmdexec_success_code=0, + @on_success_action=1, + @on_success_step_id=0, + @on_fail_action=2, + @on_fail_step_id=0, + @retry_attempts=0, + @retry_interval=0, + @os_run_priority=0, @subsystem=N'TSQL', + @command=N'EXEC PRAPPSERV_FILL_TBDD_USER_MODULE;', + @database_name=N'DD_ECM', + @flags=0 +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'DAILY08_12_16', + @enabled=1, + @freq_type=8, + @freq_interval=62, + @freq_subday_type=8, + @freq_subday_interval=4, + @freq_relative_interval=0, + @freq_recurrence_factor=1, + @active_start_date=20220505, + @active_end_date=99991231, + @active_start_time=80000, + @active_end_time=160259, + @schedule_uid=N'42f54c9f-e4f2-466c-9543-d454d6fb6c03' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +COMMIT TRANSACTION +GOTO EndSave +QuitWithRollback: + IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION +EndSave: +GO + + diff --git a/00_DD/Update/1.9.0.8.sql b/00_DD/Update/1.9.0.8.sql new file mode 100644 index 0000000..36041b4 --- /dev/null +++ b/00_DD/Update/1.9.0.8.sql @@ -0,0 +1,5 @@ +UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.8' +GO +ALTER TABLE TBDD_USER +ADD ACTIVE BIT NOT NULL DEFAULT 1 +GO \ No newline at end of file diff --git a/00_DD/Update/1.9.0.9.sql b/00_DD/Update/1.9.0.9.sql new file mode 100644 index 0000000..a56df7b --- /dev/null +++ b/00_DD/Update/1.9.0.9.sql @@ -0,0 +1,23 @@ +UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.9' +GO +DELETE FROM TBDD_SQL_COMMANDS WHERE TITLE IN ('ZF_DISPLAY_PM_JOBS_INDIVIDUAL','ZF_DISPLAY_PM_JOBS_GROUP') +INSERT INTO [dbo].[TBDD_SQL_COMMANDS] + ([TITLE] + ,[SQL_COMMAND] + ) + VALUES + ('ZF_DISPLAY_PM_JOBS_INDIVIDUAL' + ,'SELECT COUNT(A.DOC_ID) FROM +(SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = 1) A' + ) +GO +INSERT INTO [dbo].[TBDD_SQL_COMMANDS] + ([TITLE] + ,[SQL_COMMAND] + ) + VALUES + ('ZF_DISPLAY_PM_JOBS_GROUP' + ,'SELECT COUNT(A.DOC_ID) FROM +(SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USR_ID))) A' + ) +GO \ No newline at end of file diff --git a/00_IDB/CreateDBObjects.sql b/00_IDB/CreateDBObjects.sql index d120d96..aa01b61 100644 --- a/00_IDB/CreateDBObjects.sql +++ b/00_IDB/CreateDBObjects.sql @@ -1198,6 +1198,8 @@ from INNER JOIN TBIDB_LANGUAGE LANG ON AL.LANGUAGE_ID = LANG.GUID INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON AL.TERM_ID = TERM.GUID INNER JOIN TBIDB_ATTRIBUTE_TYPE ATY ON ATTR.TYP_ID = ATY.GUID +WHERE + ATTR.DELETED = 0 GO CREATE OR ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS @@ -1384,8 +1386,19 @@ UNION RES.USR_ID = @USER_ID AND VWDT.LANG_CODE = ''@LANG_CODE'' AND CHK.CHECKED_IN_WHEN IS NULL','SYSTEM') GO - - +DROP TABLE TBIDB_SEARCH_INPUT_USER +CREATE TABLE TBIDB_SEARCH_INPUT_USER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + USR_ID INTEGER, + ATTR_ID INT, + ATTR_TITLE VARCHAR(100), + TERM_ID BIGINT, + OPERATOR VARCHAR(20) NOT NULL DEFAULT 'AND', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_SEARCH_INPUT_USER PRIMARY KEY (GUID), +) +GO CREATE TABLE TBIDB_SEARCH_RESULT_TERM_USER ( GUID BIGINT NOT NULL IDENTITY (1, 1), @@ -1394,6 +1407,25 @@ CREATE TABLE TBIDB_SEARCH_RESULT_TERM_USER CONSTRAINT FK_TBIDB_SEARCH_RESULT_USER_MD_GUID FOREIGN KEY (MD_GUID) REFERENCES TBIDB_OBJECT_METADATA (GUID) ) GO +DROP TABLE TBIDB_SEARCH_RESULT_TOKEN +CREATE TABLE TBIDB_SEARCH_RESULT_TOKEN +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + DocID BIGINT NOT NULL, + USR_ID INTEGER NOT NULL, + TOKEN_ID TINYINT NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +) +GO +DROP TABLE TBIDB_SEARCH_RESULT_DOCS +CREATE TABLE TBIDB_SEARCH_RESULT_DOCS +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + DocID BIGINT NOT NULL, + USR_ID INTEGER NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE() +) +GO CREATE TABLE TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER ( GUID BIGINT NOT NULL IDENTITY (1, 1), @@ -1423,21 +1455,333 @@ BEGIN END GO -CREATE PROCEDURE PRIDB_SEARCH_AUTOSUGGEST @pLANGCODE VARCHAR(5),@pUSRID INT +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_AUTOSUGGEST] @pLANGCODE VARCHAR(5),@pUSRID INT AS -DECLARE @TBRESULT TABLE(TERM VARCHAR(900)) -INSERT INTO @TBRESULT (TERM) -select DISTINCT TERM.TERM_VALUE - FROM TBIDB_TERM_VALUE_VARCHAR TERM - INNER JOIN TBIDB_LANGUAGE_TERM TLANG ON TLANG.TERM_ID = TERM.GUID - INNER JOIN TBIDB_LANGUAGE LANG ON LANG.GUID = TLANG.LANG_ID - INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.OBJECT_ID = MD.GUID - INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID +BEGIN + DECLARE @TBRESULT TABLE(TERM VARCHAR(900),TERM_ID BIGINT, ATTR_TITLE VARCHAR(100),ATTR_ID INT) + INSERT INTO @TBRESULT (TERM, TERM_ID, ATTR_ID,ATTR_TITLE) + select DISTINCT TERM.TERM_VALUE, TERM.GUID, ATTR.ATTR_ID, ATTR.ATTR_TITLE + FROM TBIDB_TERM_VALUE_VARCHAR TERM + INNER JOIN TBIDB_LANGUAGE_TERM TLANG ON TLANG.TERM_ID = TERM.GUID + INNER JOIN TBIDB_LANGUAGE LANG ON LANG.GUID = TLANG.LANG_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.OBJECT_ID = MD.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + INNER JOIN VWIDB_BE_ATTRIBUTE ATTR ON MD.ATTR_ID = ATTR.ATTR_ID + WHERE + OBJ.ACTIVE = 1 AND LANG.LANG_CODE = @pLANGCODE + AND ATTR.LANG_CODE = @pLANGCODE + AND ATTR.VIEW_VISIBLE = 1; + INSERT INTO @TBRESULT (TERM, TERM_ID, ATTR_ID,ATTR_TITLE) + select DISTINCT TERM.TERM_VALUE, TERM.GUID, ATTR.ATTR_ID, ATTR.ATTR_TITLE + FROM TBIDB_TERM_VALUE_INTEGER TERM + INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + INNER JOIN VWIDB_BE_ATTRIBUTE ATTR ON MD.ATTR_ID = ATTR.ATTR_ID + WHERE + OBJ.ACTIVE = 1 + AND ATTR.LANG_CODE = @pLANGCODE + AND ATTR.VIEW_VISIBLE = 1; + INSERT INTO @TBRESULT (TERM,ATTR_ID,ATTR_TITLE) + select DISTINCT Doctype,Doctype_ID,'DOCTYPE' FROM VWIDB_DOC_DOCTYPE where LANG_CODE = @pLANGCODE; + SELECT * FROM @TBRESULT +END +GO + +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TOKEN_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pTERM_ID BIGINT, @pTOKENID TINYINT = 0, @pLANG_CODE as VARCHAR(5) = 'de-DE') +AS +BEGIN + DECLARE @DYNSQL_INSERT NVARCHAR(MAX) + DECLARE @DATE1 DATE,@DATE2 DATE + SET @DYNSQL_INSERT = 'INSERT INTO TBIDB_SEARCH_RESULT_TOKEN(DocID,TOKEN_ID,USR_ID)' + char(10) + + 'SELECT DISTINCT MD.IDB_OBJ_ID,' + CONVERT(VARCHAR(2),@pTOKENID) + ',' + CONVERT(VARCHAR(10),@pUSR_ID) + char(10) + + IF @pType = 'BIG INTEGER' + SET @DYNSQL_INSERT += 'FROM ' + char(10) + CHAR(9) + 'TBIDB_TERM_VALUE_INTEGER TERM' + char(10) + + CHAR(9) + 'INNER JOIN JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID' + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10) + ELSE IF @pType = 'VARCHAR' + SET @DYNSQL_INSERT += 'FROM ' + char(10) + CHAR(9) + 'TBIDB_TERM_VALUE_VARCHAR TERM' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_LANGUAGE_TERM TLANG ON TLANG.TERM_ID = TERM.GUID' + + CHAR(9) + 'INNER JOIN TBIDB_LANGUAGE LANG ON LANG.GUID = TLANG.LANG_ID' + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.OBJECT_ID = MD.GUID' + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10) + ELSE IF @pType = 'DOCTYPE' + SET @DYNSQL_INSERT = 'INSERT INTO TBIDB_SEARCH_RESULT_TOKEN(DocID,TOKEN_ID,USR_ID)' + char(10) + + 'SELECT DISTINCT DT.IDB_OBJ_ID,' + CONVERT(VARCHAR(2),@pTOKENID) + ',' + CONVERT(VARCHAR(10),@pUSR_ID) + char(10) + + 'FROM' + char(10) + CHAR(9) + 'VWIDB_DOC_DOCTYPE DT' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON DT.TERM_ID = TERM.GUID' + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON DT.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10) + + SET @DYNSQL_INSERT += 'WHERE ' + char(10)+ CHAR(9) + 'OBJ.ACTIVE = 1' + IF @DateStr = 'DATEPART' + BEGIN + SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID; + SET @DYNSQL_INSERT += 'AND CONVERT(DATE,OBJ.ADDED_WHEN) >= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE1) + ''') AND CONVERT(DATE,OBJ.ADDED_WHEN) <= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE2) + ''')' + char(10) + END + ELSE IF @DateStr = 'ECM_CREATED_TODAY' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 0' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_YESTERDAY' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 1' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_LAST7DAYS' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) <= 7' + char(10) + ELSE IF @DateStr = 'ECM_YEAR_CURRENT' + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + ELSE IF @DateStr = 'ECM_YEAR_LAST' + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_MONTH_CURRENT' + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())' + char(10) + END + ELSE IF @DateStr = 'ECM_CREATED_MONTH_LAST' + BEGIN + IF DATEPART(MONTH,GETDATE()) = 1 + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = 12' + char(10) + END + ELSE + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())-1' + char(10) + END + END + + SET @DYNSQL_INSERT += 'AND TERM.guid = ' + CONVERT(VARCHAR(20),@pTERM_ID) + char(10) + + DECLARE @LANGUAGE AS VARCHAR(100) + IF @pType <> 'DOCTYPE' + SET @LANGUAGE = 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + '''' + ELSE + SET @LANGUAGE = 'AND DT.LANG_CODE = ''' + @pLANG_CODE + '''' + SET @DYNSQL_INSERT += @LANGUAGE + char(10) + PRINT @DYNSQL_INSERT + EXEC sp_executesql @DYNSQL_INSERT +END +GO +USE [IDB] +GO +USE [IDB] +GO +-- ============================================= +-- Author: DD MS +-- Changed: 19.05.2022 +-- ============================================= +ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TOKEN_RESULT_DOCS] (@pUSR_ID as INTEGER,@pDATE_RESTRICTION VARCHAR(500), @pLANG_CODE as VARCHAR(5) = 'de-DE') +AS +BEGIN + DECLARE @SRCH_VAR VARCHAR(900), @DYNSQL_INSERT NVARCHAR(MAX),@DateStr VARCHAR(100) + DECLARE @DATE1 DATE,@DATE2 DATE + + DELETE FROM TBIDB_SEARCH_RESULT_TOKEN WHERE USR_ID = @pUSR_ID; + IF LEN(@pDATE_RESTRICTION) > 0 + BEGIN + PRINT '@pDATE_RESTRICTION....' + DECLARE @IDX TINYINT, @ATTR_ID_DATE VARCHAR(100) + SET @IDX = CHARINDEX('~',@pDATE_RESTRICTION) + PRINT '@IDX: ' + CONVERT(VARCHAR(10),@IDX) + SET @ATTR_ID_DATE = LEFT(@pDATE_RESTRICTION,@IDX-1) + SET @DateStr = SUBSTRING(@pDATE_RESTRICTION,@IDX + 1,LEN(@pDATE_RESTRICTION)-@IDX) + PRINT @DateStr + END + --############################################################################### + --SUCHE NACH TERM-WERTEN + DECLARE @DOC_RESULTS TABLE (DocID BIGINT) + DECLARE @DOC_RESULTS_TEMP TABLE (DocID BIGINT) + DECLARE @ATTR_ID INT, @ATTR_TITLE VARCHAR(100),@TERM_ID BIGINT,@OPERATOR VARCHAR(10),@TOKEN_ID TINYINT ,@TYPE_ATTR VARCHAR(50) + SET @TOKEN_ID = 0 + DECLARE curs_Tokens CURSOR LOCAL FOR + SELECT A.ATTR_ID, A.ATTR_TITLE,A.TERM_ID,A.OPERATOR,B.TYPE_NAME + FROM TBIDB_SEARCH_INPUT_USER A INNER JOIN VWIDB_BE_ATTRIBUTE B ON A.ATTR_ID = B.ATTR_ID WHERE A.USR_ID = @pUSR_ID AND B.LANG_CODE = @pLANG_CODE + UNION + SELECT B.Doctype_ID, B.Doctype,B.TERM_ID,A.OPERATOR,A.ATTR_TITLE + FROM TBIDB_SEARCH_INPUT_USER A INNER JOIN VWIDB_DOCTYPE_LANGUAGE B ON A.ATTR_ID = B.Doctype_ID WHERE A.USR_ID = @pUSR_ID AND B.LANG_CODE = @pLANG_CODE AND A.ATTR_TITLE = 'DOCTYPE' + OPEN curs_Tokens + FETCH NEXT FROM curs_Tokens INTO @ATTR_ID, @ATTR_TITLE,@TERM_ID,@OPERATOR,@TYPE_ATTR + WHILE @@FETCH_STATUS = 0 + BEGIN + --IF @TOKEN_ID > 0 + -- BEGIN + -- DELETE FROM @DOC_RESULTS; + -- END + SET @TOKEN_ID += 1 + + EXEC PRIDB_SEARCH_GET_TOKEN_RESULT @pUSR_ID,@TYPE_ATTR,@DateStr,@TERM_ID,@TOKEN_ID,@pLANG_CODE + + IF @TOKEN_ID > 1 AND @OPERATOR = 'AND' + BEGIN + DELETE FROM @DOC_RESULTS; + INSERT INTO @DOC_RESULTS(DocID) + SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID < @TOKEN_ID) + END + ELSE + INSERT INTO @DOC_RESULTS(DocID) + SELECT DocID FROM TBIDB_SEARCH_RESULT_TOKEN WHERE TOKEN_ID = @TOKEN_ID AND DocID NOT IN (SELECT DocID FROM @DOC_RESULTS) + FETCH NEXT FROM curs_Tokens INTO @ATTR_ID, @ATTR_TITLE,@TERM_ID,@OPERATOR,@TYPE_ATTR + END + CLOSE curs_Tokens + DEALLOCATE curs_Tokens + DELETE FROM TBIDB_SEARCH_RESULT_DOCS WHERE USR_ID = @pUSR_ID; + INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID) + SELECT DISTINCT DocID,@pUSR_ID FROM @DOC_RESULTS; +END +GO +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_ATTRIBUTE_RESULT] (@pUSR_ID as INTEGER,@pType AS VARCHAR(20), @DateStr VARCHAR(500), @pSEARCH_TERM as VARCHAR(900), @pLANG_CODE as VARCHAR(5) = 'de-DE') +AS +BEGIN + PRINT '##############################################################' + PRINT '######### [PRIDB_SEARCH_GET_ATTRIBUTE_RESULT] ################' + PRINT '##############################################################' + DECLARE @DYNSQL_INSERT NVARCHAR(MAX) + DECLARE @DATE1 DATE,@DATE2 DATE + SET @DYNSQL_INSERT = 'INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID,USR_ID)' + char(10) + + 'SELECT DISTINCT MD.IDB_OBJ_ID,' + CONVERT(VARCHAR(10),@pUSR_ID) + char(10) + + IF @pType = 'BIG INTEGER' + SET @DYNSQL_INSERT += 'FROM' + char(10) + CHAR(9) + 'TBIDB_TERM_VALUE_INTEGER TERM' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10) + ELSE IF @pType = 'VARCHAR' + SET @DYNSQL_INSERT += 'FROM' + char(10) + CHAR(9) + 'TBIDB_TERM_VALUE_VARCHAR TERM' + char(10) + + 'INNER JOIN TBIDB_LANGUAGE_TERM TLANG ON TLANG.TERM_ID = TERM.GUID' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_LANGUAGE LANG ON LANG.GUID = TLANG.LANG_ID' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.OBJECT_ID = MD.GUID' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID' + char(10) + SET @DYNSQL_INSERT += 'WHERE ' + char(10) + CHAR(9) + 'OBJ.ACTIVE = 1' + char(10) + + IF @DateStr = 'DATEPART' + BEGIN + SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID; + SET @DYNSQL_INSERT += 'AND CONVERT(DATE,OBJ.ADDED_WHEN) >= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE1) + ''') AND CONVERT(DATE,OBJ.ADDED_WHEN) <= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE2) + ''')' + char(10) + END + ELSE IF @DateStr = 'ECM_CREATED_TODAY' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 0' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_YESTERDAY' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) = 1' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_LAST7DAYS' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ.ADDED_WHEN,GETDATE()) <= 7' + char(10) + ELSE IF @DateStr = 'ECM_YEAR_CURRENT' + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + ELSE IF @DateStr = 'ECM_YEAR_LAST' + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_MONTH_CURRENT' + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())' + char(10) + END + ELSE IF @DateStr = 'ECM_CREATED_MONTH_LAST' + BEGIN + IF DATEPART(MONTH,GETDATE()) = 1 + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = 12' + char(10) + END + ELSE + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ.ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ.ADDED_WHEN) = DATEPART(MONTH,GETDATE())-1' + char(10) + END + END + + IF LEN(@pSEARCH_TERM) > 0 + BEGIN + IF @pSEARCH_TERM like '%*%' AND @pType = 'VARCHAR' + SET @DYNSQL_INSERT += 'AND CONTAINS(TERM.TERM_VALUE,''' + @pSEARCH_TERM + ''')' + char(10) + ELSE + SET @DYNSQL_INSERT += 'AND TERM.TERM_VALUE = ''' + @pSEARCH_TERM + '''' + char(10) + END + + IF @pType = 'VARCHAR' + SET @DYNSQL_INSERT += 'AND LANG.LANG_CODE = ''' + @pLANG_CODE + '''' + char(10) + PRINT @DYNSQL_INSERT + EXEC sp_executesql @DYNSQL_INSERT +END +GO + +CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SEARCH_GET_TEXT_RESULTS] (@pUSR_ID as INTEGER,@pSEARCH_TERM as VARCHAR(900),@pDATE_RESTRICTION VARCHAR(500), @pLANG_CODE as VARCHAR(5) = 'de-DE') +AS +BEGIN + DECLARE @SRCH_VAR VARCHAR(900), @DYNSQL_INSERT NVARCHAR(MAX),@DateStr VARCHAR(100) + DECLARE @DATE1 DATE,@DATE2 DATE + IF @pSEARCH_TERM like '%*%' + SET @SRCH_VAR = ' "' + @pSEARCH_TERM + '" ' + ELSE + SET @SRCH_VAR = @pSEARCH_TERM + PRINT '@SRCH_VAR [' + @SRCH_VAR + ']' + DELETE FROM TBIDB_SEARCH_RESULT_DOCS WHERE USR_ID = @pUSR_ID; + + IF LEN(@pDATE_RESTRICTION) > 0 + BEGIN + PRINT '@pDATE_RESTRICTION....' + DECLARE @IDX TINYINT, @ATTR_ID VARCHAR(100) + SET @IDX = CHARINDEX('~',@pDATE_RESTRICTION) + PRINT '@IDX: ' + CONVERT(VARCHAR(10),@IDX) + SET @ATTR_ID = LEFT(@pDATE_RESTRICTION,@IDX-1) + PRINT CONVERT(VARCHAR(10),@ATTR_ID) + SET @DateStr = SUBSTRING(@pDATE_RESTRICTION,@IDX + 1,LEN(@pDATE_RESTRICTION)-@IDX) + PRINT @DateStr + END + --############################################################################### + --SUCHE NACH TERM-WERTEN + EXEC PRIDB_SEARCH_GET_ATTRIBUTE_RESULT @pUSR_ID,'VARCHAR', @DateStr,@pSEARCH_TERM, @pLANG_CODE; + EXEC PRIDB_SEARCH_GET_ATTRIBUTE_RESULT @pUSR_ID,'BIG INTEGER', @DateStr,@pSEARCH_TERM, @pLANG_CODE; + --############################################################################### + --SUCHE NACH STRUCTURE/DOCTYPE-WERTEN + SET @DYNSQL_INSERT = 'INSERT INTO TBIDB_SEARCH_RESULT_DOCS(DocID, USR_ID) + select A.IDB_OBJ_ID, ' + CONVERT(VARCHAR(10),@pUSR_ID) + char(10) + + 'FROM VWIDB_DOC_DOCTYPE A' + char(10) + + CHAR(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON A.TERM_ID = TERM.GUID WHERE - OBJ.ACTIVE = 1 AND LANG.LANG_CODE = @pLANGCODE; -INSERT INTO @TBRESULT (TERM) -select Doctype FROM VWIDB_DOC_DOCTYPE where LANG_CODE = @pLANGCODE; -SELECT * FROM @TBRESULT; + A.OBJ_ACTIVE = 1' + char(10) + IF @DateStr = 'DATEPART' + BEGIN + + SELECT @DATE1 = DATE_FROM ,@DATE2 = DATE_TILL FROM TBIDB_SEARCH_DATE_VALUE_USER WHERE USR_ID = @pUSR_ID; + SET @DYNSQL_INSERT += 'AND CONVERT(DATE,OBJ.ADDED_WHEN) >= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE1) + ''') AND CONVERT(DATE,OBJ.ADDED_WHEN) <= CONVERT(DATE,''' + CONVERT(VARCHAR(10),@DATE2) + ''')' + char(10) + END + ELSE IF @DateStr = 'ECM_CREATED_TODAY' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ_ADDED_WHEN,GETDATE()) = 0' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_YESTERDAY' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ_ADDED_WHEN,GETDATE()) = 1' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_LAST7DAYS' + SET @DYNSQL_INSERT += 'AND DATEDIFF(DAY,OBJ_ADDED_WHEN,GETDATE()) <= 7' + char(10) + ELSE IF @DateStr = 'ECM_YEAR_CURRENT' + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ_ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + ELSE IF @DateStr = 'ECM_YEAR_LAST' + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ_ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) + ELSE IF @DateStr = 'ECM_CREATED_MONTH_CURRENT' + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ_ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ_ADDED_WHEN) = DATEPART(MONTH,GETDATE())' + char(10) + END + ELSE IF @DateStr = 'ECM_CREATED_MONTH_LAST' + BEGIN + IF DATEPART(MONTH,GETDATE()) = 1 + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ_ADDED_WHEN) = DATEPART(YEAR,GETDATE())-1' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ_ADDED_WHEN) = 12' + char(10) + END + ELSE + BEGIN + SET @DYNSQL_INSERT += 'AND DATEPART(YEAR,OBJ_ADDED_WHEN) = DATEPART(YEAR,GETDATE())' + char(10) + SET @DYNSQL_INSERT += 'AND DATEPART(MONTH,OBJ_ADDED_WHEN) = DATEPART(MONTH,GETDATE())-1' + char(10) + END + END + + + IF LEN(@SRCH_VAR) > 0 + BEGIN + IF @pSEARCH_TERM like '%*%' + SET @DYNSQL_INSERT += 'AND CONTAINS(TERM.TERM_VALUE,''' + @SRCH_VAR + ''')' + char(10) + ELSE + SET @DYNSQL_INSERT += 'AND TERM.TERM_VALUE = ''' + @SRCH_VAR + '''' + char(10) + END + + SET @DYNSQL_INSERT += 'AND LANG_CODE = ''' + @pLANG_CODE + '''' + char(10) + + 'AND A.IDB_OBJ_ID NOT IN (SELECT DocID FROM TBIDB_SEARCH_RESULT_DOCS WHERE USR_ID = ' + CONVERT(VARCHAR(10),@pUSR_ID) + ')' + PRINT @DYNSQL_INSERT + EXEC sp_executesql @DYNSQL_INSERT +END GO --DROP TABLE TBIDB_SEARCH_PROFILE --DROP TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT @@ -4017,7 +4361,7 @@ BEGIN SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID END GO -CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX), +ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX), @LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT AS BEGIN @@ -4082,11 +4426,22 @@ BEGIN BEGIN PRINT 'INSERT LANGUAGE-TERM...' INSERT INTO TBIDB_LANGUAGE_TERM (KIND_TYPE, [OBJECT_ID],TERM_ID,LANG_ID,ADDED_WHO) VALUES(1, @OMD_ID,@MY_TERM_ID,@LANG_ID,@WHO_TERM_ID); + EXEC PRIDB_OBJECT_SUBSTRUCTURE_CHANGED @IDB_OBJ_ID,@WHO; END ELSE BEGIN PRINT 'UPDATE LANGUAGE-TERM...' - UPDATE TBIDB_LANGUAGE_TERM SET ADDED_WHO = @WHO_TERM_ID, TERM_ID = @MY_TERM_ID WHERE [OBJECT_ID] = @OMD_ID AND LANG_ID = @LANG_ID; + DECLARE @OLD_TERM_ID BIGINT + SELECT @OLD_TERM_ID = TERM_ID FROM TBIDB_LANGUAGE_TERM WHERE LANG_ID = @LANG_ID AND [OBJECT_ID] = @OMD_ID; + IF @OLD_TERM_ID <> @MY_TERM_ID + BEGIN + UPDATE TBIDB_LANGUAGE_TERM SET ADDED_WHO = @WHO_TERM_ID, TERM_ID = @MY_TERM_ID WHERE [OBJECT_ID] = @OMD_ID AND LANG_ID = @LANG_ID; + EXEC PRIDB_OBJECT_SUBSTRUCTURE_CHANGED @IDB_OBJ_ID,@WHO; + INSERT INTO TBIDB_OBJECT_METADATA_CHANGE ( + IDB_OBJ_ID, ATTR_ID, OLD_TEXT_TERM, NEW_TEXT_TERM, CHANGED_WHO) VALUES ( + @IDB_OBJ_ID,@ATTR_ID, @OLD_TERM_ID, @MY_TERM_ID, @WHO); + END + END END END @@ -4192,7 +4547,6 @@ BEGIN END --PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID) END - GO CREATE OR ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT' AS @@ -4225,7 +4579,6 @@ BEGIN DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE AND ATTR_ID IS NOT NULL - AND SYS_ATTRIBUTE = 0 ORDER BY VIEW_SEQUENCE OPEN c_PRIDB_CREATE_VIEW_DOC_DATA @@ -5719,19 +6072,19 @@ GO --INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('Doctype',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginFileName',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginCreationDatetime',6,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginChangedDatetime',6,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName1',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('Dynamic Folder',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailMessageID',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailSubject',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailFrom',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailDate',5,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,MULTI_CONTEXT) VALUES ('PM-LOGGING',8,0,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('VIRTUAL_FOLDER',1,1); -INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('VIRTUAL_FOLDER_PART',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('OriginFileName',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('OriginCreationDatetime',6,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('OriginChangedDatetime',6,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('DisplayFileName',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('DisplayFileName1',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('Dynamic Folder',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('EmailMessageID',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('EmailSubject',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('EmailFrom',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('EmailDate',5,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,MULTI_CONTEXT,VIEW_VISIBLE) VALUES ('PM-LOGGING',8,0,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('VIRTUAL_FOLDER',1,1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,VIEW_VISIBLE) VALUES ('VIRTUAL_FOLDER_PART',1,1,0); --INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,MULTI_CONTEXT) VALUES ('ObjectEvents',1,1,1); INSERT INTO TBIDB_BE_ATTRIBUTE (BE_ID,ATTR_ID,DEFAULT_SEARCH_ATTRIBUTE) SELECT 1,GUID, 1 FROM TBIDB_ATTRIBUTE WHERE TITLE NOT IN ('PM-LOGGING','ObjectEvents') ; @@ -5799,7 +6152,6 @@ BEGIN WHERE OBJECT_ID = @DOCTYPE_ID AND LANG_ID = @LANG_ID AND KIND_TYPE = 2 AND TERM_ID <> @MY_DOCTYPE_TERM_ID; END END - GO EXEC PRIDB_NEW_DOCTYPE 'Ausgangsrechnung','Ausgangsrechnung','System','de-DE'; EXEC PRIDB_NEW_DOCTYPE 'Ausgangsrechnung','Outgoing invoice','System','en-EN'; @@ -5809,6 +6161,15 @@ EXEC PRIDB_NEW_DOCTYPE 'Gutschrift','Gutschrift','System','de-DE'; EXEC PRIDB_NEW_DOCTYPE 'Gutschrift','Credit note','System','en-EN'; EXEC PRIDB_NEW_DOCTYPE 'Quittung','Quittung','System','de-DE'; GO +CREATE PROCEDURE [dbo].[PRIDB_OBJECT_SUBSTRUCTURE_CHANGED] @IDB_OBJ_ID BIGINT,@WHO VARCHAR(100) +AS +BEGIN + UPDATE TBIDB_OBJECT + SET CHANGED_WHO_SUBSTRUCTURE = @WHO, CHANGED_WHEN_SUBSTRUCTURE = GETDATE() + WHERE + IDB_OBJ_ID = @IDB_OBJ_ID +END +GO CREATE VIEW [dbo].[VWGI_ADMIN_OVERVIEW] AS SELECT T3.GUID as ID, diff --git a/00_IDB/Update/1.1.1.sql b/00_IDB/Update/1.1.1.sql index 40c4a07..85b2235 100644 --- a/00_IDB/Update/1.1.1.sql +++ b/00_IDB/Update/1.1.1.sql @@ -48,4 +48,129 @@ SELECT FROM GO +ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT' +AS +DECLARE + @ATTR_ID INT, + @TITLE VARCHAR(100), + @TYPID INT, + @SQL1 NVARCHAR(MAX), + @Date Varchar(20), + @Bool4 Varchar(1), + @Integer24 Varchar(20), + @Float Varchar(20), + @RELPATH Varchar(200), + @SEQUENCE Integer, + @NAME_VIEW VARCHAR(20) + IF @pVar = 'DEFAULT' + SET @NAME_VIEW = 'VWIDB_DOC_DATA_' + ELSE + SET @NAME_VIEW = 'VWIDB_DOCRESULT_' + SET @SQL1 = 'CREATE VIEW ' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + char(9) + + IF @pVar = 'DEFAULT' + SET @SQL1 += +'T.IDB_OBJ_ID' + char(10) + ELSE + SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10) + + SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10) +BEGIN + DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR + SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE + FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE AND ATTR_ID IS NOT NULL + ORDER BY VIEW_SEQUENCE + + OPEN c_PRIDB_CREATE_VIEW_DOC_DATA + FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50) + IF @TYPID IN (1,8) + BEGIN + SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID,''@LANG_CODE''))' + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@LANG_CODE',@pLANGCODE) + END + ELSE + SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))' + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID') + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID) + + + IF @TYPID = 1 + SET @FN_TYP = 'TEXT' + ELSE IF @TYPID = 2 + SET @FN_TYP = 'INTEGER' + ELSE IF @TYPID = 3 + SET @FN_TYP = 'FLOAT' + ELSE IF @TYPID = 4 + SET @FN_TYP = 'DECIMAL' + ELSE IF @TYPID = 5 + SET @FN_TYP = 'DATE' + ELSE IF @TYPID = 6 + SET @FN_TYP = 'DATE_TIME' + ELSE IF @TYPID = 7 + SET @FN_TYP = 'BIT' + ELSE IF @TYPID = 8 + SET @FN_TYP = 'TEXT_VECTOR' + ELSE IF @TYPID = 8 + SET @FN_TYP = 'INTEGER_VECTOR' + + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP) + + --PRINT '@FN_COMMAND: ' + @FN_COMMAND + SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10) + --PRINT @SQL1 + FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE + END + CLOSE c_PRIDB_CREATE_VIEW_DOC_DATA + DEALLOCATE c_PRIDB_CREATE_VIEW_DOC_DATA + IF @pVar = 'DEFAULT' + BEGIN + SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10) + + char(9) + ',T5.TERM_VALUE AS DocName' + char(10) + + char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10) + + char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10) + END + SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10) + + char(9) + ',T.ADDED_WHO AS [Added who]' + char(10) + + char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10) + + char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10) + + SET @SQL1 += 'FROM' + char(10) + IF @pVar = 'DEFAULT' + SET @SQL1 += char(9)+'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10) + + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + + char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10) + + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10) + + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10) + ELSE + SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10) + + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + + SET @SQL1 += 'WHERE' + char(10) + + char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10) + + char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1' + PRINT @SQL1 + IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2))) + BEGIN + DECLARE @DELETE NVARCHAR(100) + SET @DELETE = 'DROP VIEW [dbo].[' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ']' + EXEC sp_executesql @DELETE + END + EXEC sp_executesql @SQL1 +END +GO +DELETE FROM TBIDB_CATALOG WHERE CAT_TITLE IN ('AHWF_CMD_LAYOUT_SELECT','AHWF_CMD_USR_SELECT'); +DELETE FROM TBIDB_COMMON_SQL WHERE TITLE IN ('AHWF_CMD_LAYOUT_SELECT','AHWF_CMD_USR_SELECT','RECENT_FILES_USER'); +INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('AHWF_CMD_LAYOUT_SELECT','SELECT NAME + '', '' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM DD_ECM.dbo.TBDD_USER WHERE ACTIVE = 1') +GO +INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('AHWF_CMD_USR_SELECT','SELECT NAME + '', '' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM TBDD_USER') +GO +INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('RECENT_FILES_USER','--3 Columns are needed: 1 DocID, 2 Description1, 3 Description2 +SELECT TOP 10 DocID,Doctype,DisplayFileName FROM VWIDB_DOCRESULT_DE WHERE [Changed who] = ''@UserName'' ORDER BY [Changed when] DESC') +GO +INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('ZF_DISPLAY_PM_JOBS_INDIVIDUAL','SELECT COUNT(A.DOC_ID) FROM (SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = 1) A') +GO +INSERT INTO TBIDB_COMMON_SQL (TITLE,SQL_COMMAND) VALUES ('ZF_DISPLAY_PM_JOBS_GROUP','SELECT COUNT(A.DOC_ID) FROM (SELECT DISTINCT DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USR_ID))) A') +GO diff --git a/00_IDB/Update/g1hxflhb.tpr~ b/00_IDB/Update/g1hxflhb.tpr~ new file mode 100644 index 0000000..71a1ed0 --- /dev/null +++ b/00_IDB/Update/g1hxflhb.tpr~ @@ -0,0 +1,167 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.1' where CONFIG_NAME = 'DB_VERSION' +GO +ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS +SELECT + T.[BE_ID] + ,T2.TITLE AS BE + ,[ATTR_ID] + ,T.DEFAULT_SEARCH_ATTRIBUTE + ,T6.TERM_VALUE AS ATTR_TITLE + ,T1.TYP_ID + ,T1.TYP_ID AS [TYPE_ID] + ,T3.NAME_TYPE AS [TYPE_NAME] + ,T1.VIEW_VISIBLE + ,T1.VIEW_SEQUENCE + ,T5.GUID AS LANG_ID + ,T5.LANG_CODE + ,T.ADDED_WHEN + ,T.ADDED_WHO + ,T.CHANGED_WHEN + ,T.CHANGED_WHO + FROM + [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID + INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID + INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID + WHERE + T1.DELETED = 0 +UNION +SELECT + T.[BE_ID] + ,T2.TITLE AS BE + ,[ATTR_ID] + ,T.DEFAULT_SEARCH_ATTRIBUTE + ,T6.TERM_VALUE AS ATTR_TITLE + ,T1.TYP_ID + ,T1.TYP_ID AS [TYPE_ID] + ,T3.NAME_TYPE AS [TYPE_NAME] + ,T1.VIEW_VISIBLE + ,T1.VIEW_SEQUENCE + ,T5.GUID AS LANG_ID + ,T5.LANG_CODE + ,T.ADDED_WHEN + ,T.ADDED_WHO + ,T.CHANGED_WHEN + ,T.CHANGED_WHO + FROM +GO + +ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT' +AS +DECLARE + @ATTR_ID INT, + @TITLE VARCHAR(100), + @TYPID INT, + @SQL1 NVARCHAR(MAX), + @Date Varchar(20), + @Bool4 Varchar(1), + @Integer24 Varchar(20), + @Float Varchar(20), + @RELPATH Varchar(200), + @SEQUENCE Integer, + @NAME_VIEW VARCHAR(20) + + IF @pVar = 'DEFAULT' + SET @NAME_VIEW = 'VWIDB_DOC_DATA_' + ELSE + SET @NAME_VIEW = 'VWIDB_DOCRESULT_' + SET @SQL1 = 'CREATE VIEW ' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + char(9) + + IF @pVar = 'DEFAULT' + SET @SQL1 += +'T.IDB_OBJ_ID' + char(10) + ELSE + SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10) + + SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10) +BEGIN + DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR + SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE + FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE AND ATTR_ID IS NOT NULL + ORDER BY VIEW_SEQUENCE + + OPEN c_PRIDB_CREATE_VIEW_DOC_DATA + FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50) + IF @TYPID IN (1,8) + BEGIN + SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID,''@LANG_CODE''))' + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@LANG_CODE',@pLANGCODE) + END + ELSE + SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))' + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID') + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID) + + + IF @TYPID = 1 + SET @FN_TYP = 'TEXT' + ELSE IF @TYPID = 2 + SET @FN_TYP = 'INTEGER' + ELSE IF @TYPID = 3 + SET @FN_TYP = 'FLOAT' + ELSE IF @TYPID = 4 + SET @FN_TYP = 'DECIMAL' + ELSE IF @TYPID = 5 + SET @FN_TYP = 'DATE' + ELSE IF @TYPID = 6 + SET @FN_TYP = 'DATE_TIME' + ELSE IF @TYPID = 7 + SET @FN_TYP = 'BIT' + ELSE IF @TYPID = 8 + SET @FN_TYP = 'TEXT_VECTOR' + ELSE IF @TYPID = 8 + SET @FN_TYP = 'INTEGER_VECTOR' + + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP) + + --PRINT '@FN_COMMAND: ' + @FN_COMMAND + SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10) + --PRINT @SQL1 + FETCH NEXT FROM c_PRIDB_CREATE_VIEW_DOC_DATA INTO @ATTR_ID,@TITLE,@TYPID,@SEQUENCE + END + CLOSE c_PRIDB_CREATE_VIEW_DOC_DATA + DEALLOCATE c_PRIDB_CREATE_VIEW_DOC_DATA + IF @pVar = 'DEFAULT' + BEGIN + SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10) + + char(9) + ',T5.TERM_VALUE AS DocName' + char(10) + + char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10) + + char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10) + END + SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10) + + char(9) + ',T.ADDED_WHO AS [Added who]' + char(10) + + char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10) + + char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10) + + SET @SQL1 += 'FROM' + char(10) + IF @pVar = 'DEFAULT' + SET @SQL1 += char(9)+'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10) + + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + + char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10) + + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10) + + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10) + ELSE + SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10) + + char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10) + + SET @SQL1 += 'WHERE' + char(10) + + char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10) + + char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1' + PRINT @SQL1 + IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2))) + BEGIN + DECLARE @DELETE NVARCHAR(100) + SET @DELETE = 'DROP VIEW [dbo].[' + @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)) + ']' + EXEC sp_executesql @DELETE + END + EXEC sp_executesql @SQL1 +END +GO +INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AHWF_CMD_LAYOUT_SELECT','') +GO +INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('AHWF_CMD_USR_SELECT','SELECT NAME + ', ' + PRENAME AS FULLNAME,EMAIL,USERNAME FROM TBDD_USER') +GO diff --git a/01_PM/Updates/2.2.0.0.sql b/01_PM/Updates/2.2.0.0.sql index 83fdeca..c2d52ca 100644 --- a/01_PM/Updates/2.2.0.0.sql +++ b/01_PM/Updates/2.2.0.0.sql @@ -5,60 +5,62 @@ UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Metadata based' where BEZEICHNUNG = 'Man. Va GO UPDATE TBPM_TYPE SET BEZEICHNUNG = 'Serially' where BEZEICHNUNG = 'Automatism' GO -DROP TABLE TBPM_SERIELL_PARTIES_STATE -DROP TABLE TBPM_PROFILE_SERIELL_PARTIES -CREATE TABLE TBPM_SERIELL_DOC + +--Ein Object wird einem Profil zugeordnet +CREATE TABLE TBPM_WF_ADHOC_OBJECT ( GUID BIGINT IDENTITY(1,1), PROFIL_ID INTEGER NOT NULL, OBJ_ID BIGINT NOT NULL, + WORK_INSTRUCTION VARCHAR(250) NOT NULL, + CMD_WF_SELECT NVARCHAR(MAX) NOT NULL, WF_FINISHED DATETIME, ADDED_WHO VARCHAR(100) DEFAULT 'SYSTEM' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(100), CHANGED_WHEN DATETIME, - CONSTRAINT PK_TBPM_SERIELL_DOC PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_SERIELL_DOC_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) + CONSTRAINT PK_TBPM_WF_ADHOC_OBJECT PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_WF_ADHOC_OBJECT_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) ) GO -CREATE TRIGGER TBPM_SERIELL_DOC_AFT_UPD ON TBPM_SERIELL_DOC +CREATE TRIGGER TBPM_WF_ADHOC_OBJECT_AFT_UPD ON TBPM_WF_ADHOC_OBJECT FOR UPDATE AS - UPDATE TBPM_SERIELL_DOC SET CHANGED_WHEN = GETDATE() + UPDATE TBPM_WF_ADHOC_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED - WHERE TBPM_SERIELL_DOC.GUID = INSERTED.GUID + WHERE TBPM_WF_ADHOC_OBJECT.GUID = INSERTED.GUID GO -CREATE TABLE TBPM_PROFILE_SERIELL_PARTIES +CREATE TABLE TBPM_WF_ADHOC_OBJECT_PARTIES ( GUID BIGINT IDENTITY(1,1), - PROFIL_ID INTEGER NOT NULL, + AH_WF_ID BIGINT NOT NULL, ENTITY_TYPE VARCHAR(50) NOT NULL, USER_OR_GROUP_ID INTEGER NOT NULL, - CRITERIA_NEXT_STEP VARCHAR(500), + CRITERIA_NEXT_STEP NVARCHAR(MAX), SEQUENCE TINYINT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, - CONSTRAINT PK_TBPM_PROFILE_SERIELL_PARTIES PRIMARY KEY(GUID), - CONSTRAINT FK_TBPM_PROFILE_SERIELL_PARTIES_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) + CONSTRAINT PK_TBPM_WF_ADHOC_OBJECT_PARTIES PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_WF_ADHOC_OBJECT_PARTIES_PROFIL_ID FOREIGN KEY (AH_WF_ID) REFERENCES TBPM_WF_ADHOC_OBJECT (GUID) ) GO -CREATE TRIGGER TBPM_PROFILE_SERIELL_PARTIES_AFT_UPD ON TBPM_PROFILE_SERIELL_PARTIES +CREATE TRIGGER TBPM_PROFILE_SERIELL_PARTIES_AFT_UPD ON TBPM_WF_ADHOC_OBJECT_PARTIES FOR UPDATE AS - UPDATE TBPM_PROFILE_SERIELL_PARTIES SET CHANGED_WHEN = GETDATE() + UPDATE TBPM_WF_ADHOC_OBJECT_PARTIES SET CHANGED_WHEN = GETDATE() FROM INSERTED - WHERE TBPM_PROFILE_SERIELL_PARTIES.GUID = INSERTED.GUID + WHERE TBPM_WF_ADHOC_OBJECT_PARTIES.GUID = INSERTED.GUID GO CREATE TABLE TBPM_SERIELL_PARTIES_STATE ( GUID BIGINT IDENTITY(1,1), SPID_ID BIGINT NOT NULL, - ENTITY_TYPE VARCHAR(50) NOT NULL, - USER_OR_GROUP_ID INTEGER NOT NULL, + --ENTITY_TYPE VARCHAR(50) NOT NULL, + --USER_OR_GROUP_ID INTEGER NOT NULL, STATE_DESC VARCHAR(500) NOT NULL, COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL, diff --git a/01_PM/Updates/2.2.1.1.sql b/01_PM/Updates/2.2.1.1.sql new file mode 100644 index 0000000..9e3a2a9 --- /dev/null +++ b/01_PM/Updates/2.2.1.1.sql @@ -0,0 +1,28 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.1' where NAME = 'Process-Manager' +GO +-- ============================================= +-- Author: Digital Data MS +-- Created: 11.06.2021 +-- Description: Gets the next DocumentID +-- Changed: 05.05.2022 Insert only when <> 0 +-- ============================================= +ALTER PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO] +( + @PROFIL_ID Integer, + @DocID BigInt, + @UserID Integer +) +AS +BEGIN + IF @DocID <> 0 + BEGIN + INSERT INTO TBPM_DOCWALKOVER (DocID,UserID) VALUES (@DocID,@UserID); + END + + SELECT GUID as DocGUID, DOC_ID as DocID + ,(SELECT COUNT(GUID) FROM TBPM_VALIDATION_PROFILE_GROUP_USER WHERE UserID = @UserID) - (SELECT COUNT(DocID) + 1 FROM TBPM_DOCWALKOVER WHERE UserID = @UserID) REMAINING + FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = @PROFIL_ID AND DOC_ID = ( + SELECT MIN(DocID) FROM TBPM_VALIDATION_PROFILE_GROUP_USER WHERE UserID = @UserID AND DocID not in (SELECT DISTINCT DocID FROM TBPM_DOCWALKOVER WHERE UserID = @UserID)) + + RETURN +END diff --git a/02_GI/Updates/2.5.2.1.sql b/02_GI/Updates/2.5.2.1.sql new file mode 100644 index 0000000..17260e9 --- /dev/null +++ b/02_GI/Updates/2.5.2.1.sql @@ -0,0 +1,8 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5.2.1' where NAME = 'Global-Indexer' +GO + + +ALTER TABLE TBGI_FILES_USER ADD DocID BIGINT NOT NULL DEFAULT 0 +GO + + diff --git a/04_APPSERV/INSERT_JOBS.sql b/04_APPSERV/INSERT_JOBS.sql index 0cc08ca..4e1f7bd 100644 --- a/04_APPSERV/INSERT_JOBS.sql +++ b/04_APPSERV/INSERT_JOBS.sql @@ -266,6 +266,11 @@ CRON_ID, CON_ID, TITLE ,DT_NAME, RUN_ON_STARTUP, COMMAND) VALUES ( FROM VWGI_DOCTYPE_USER A INNER JOIN TBDD_DOKUMENTART DT ON A.DOCTYPE_ID = DT.GUID INNER JOIN IDB.dbo.VWIDB_DOCTYPE_LANGUAGE DL ON DT.IDB_DOCTYPE_ID = DL.Doctype_ID WHERE A.AKTIV = 1'); GO +Insert Into TBAPPSERV_CRON_DETAIL ( +CRON_ID, CON_ID, TITLE, DT_NAME, RUN_ON_STARTUP, COMMAND) VALUES ( +1, 1, 'TBZF_USER_DISPLAY_JOBS', 'TBZF_USER_DISPLAY_JOBS', 1, +'SELECT * from TBZF_USER_DISPLAY_JOBS'); + diff --git a/09_ZooFlow/Update/1.0.0.1.sql b/09_ZooFlow/Update/1.0.0.1.sql index 80ac3d06563e20a9b75f3f301cff1c5b48668147..f22698d800336bee9c6cd204023f1544659c49d8 100644 GIT binary patch delta 918 zcmb7DyGjF55FOHFR}e`cO~R5Z7A6uB5L=ZzcH?T?S2lW9Ls00&;n4BCp3x4Vr?4|By9 zKhtXW%sV7m#@G;*O42*#=;^zA=FR)>f3~Uz)vao=+N@Tpo_?2fcB|@F_p1B)->UBF z`iAao=zmlHw^X8E{Z(h{x^_pU)^zozzO&VQb+Njnul>*J+TW`e)zfNUUt0J^rPtL; zUv(DM13g;JpQ_uc|J&*})vC(yzmCW%Wh&>8a+E>Sy(}UA?Vt zsBQXuTkWO(cQnp@9dGOYPW5g8(?cCU(bY$S`k_j!S3uI&(LMdH3&Pv!7ufrPTyX|9;LplziqX=TfI@g;OepdpC(x5t3M>{T+{DmVd=6yJz?s)?q1P3 zzhCJ}KB6zvXdUy5!WtL{d(h>s&KUDrffFzNoyy!#RE3&%1j~v_ZtCc^zEH1O_d<0+ zS8tx!2fA7xi=x0=@dmWHQOzV8_k{C}G!`qfoM>bi+!^4|I4j3tw0W{{FACqt2zcWI zuiO_;t_b$6#3S(PhvFtiwK%}WlKNN`&5X|A3R!>$;m=;RkYr_jK;>R4xtZ|TR(7NM zPIcjkHMMj{k_>NbskOUmYfb00yDWa^e@--6tbVA@Rp-@@*Im_}`>OL`Xbr|N41#5~ zaWAzGB*XfqC2Q?K()4m5;f&lNY99@{#Y@zCyDje8t6r%D<6n|g8tpEM%1eW5ec{1i zM9TVuwo0vrL~ROpr7mmg3ezaAG1~EO8gQoS8fA|6vplwd(?`_g*`S!~(SFiSj>|e9 zUXzYAE{xWXQq%aywc~=Q=KSB@irFQjT9gf0@mfB@Xn7QTdCSeR-d+=9%i`B})oba^ zbxFX1j$i8dKpea&8C@Fi;GB3iFZVXty4R|)lXx8)aIQl;Y^SmZl599|U%$6x%MN7C zUdocam%ZDQwWP;omBIdF&wH{c_HQ_z(e;%C&9eIHNq21}d7>P8^ru7oH01Gw^egfEq|lhYdZcRK^?G; z-y(dnsS(z7viHPT?hNR(Ang@Bqg$Zjrf`K-hes|A#x^6`mKI<}dKLR){o#52?(hS~ zpvJf9?yA}`56v+O2b*s+Tm4>l(Qs&eaJ(sfUzfZ2L%E{`w=(BcliK)r(KkoVzrY9& zqZ!S&42+^-&ChbEn)=c;Wyt|K42GrB`u*_`XWhLoXw12Uge2v)@soN9`ZZx?xTOIb zf7UlB#^~Fq#`Vw?UA7785AV@AiuP=zrAGi&w-PtzmIlAYc&4mB9z@8X`M!8PIZoV4 z;-TJ>r!Xt%b4tx7?;*e98pz=^y$cn|Rm<)!(F}a;(*1 zLbmI0IW~Zgx;cbx+*M*Nm%yM_*>70`+=FW*%|_YIhh?o9)iBI-QLav14;DIMcH!1CVO3F+hh$sDzR&PjxH{}@}uY;i#DA{`8VHx zPHpDA(pB!f%9$R^eVbvW(U=>e#`+-AZT3x@i^+ZxdGwQgysy%A+|MLUephhPVu{}v zN6GW;rSSa0rbP?x_v9n$uGh|eUFBz!RhuLNpRJ7_U*J|Y>Ml#v&CBE1g7DssW&v`| zG23CUqitk}nC)Wv+ye$JV9qDOeFo_l|xjL+-pxnisC-1|(bMP7zB@JGpu-%EJ*9DcK%EAnG5X|BWP zK`zNA(RPm0m^s%MJo_B4wG<*dbzm*u}Lxm!z-kfJ=1`7f_Ny)1LY~vSc_MByLhI@Y{4D6~u`+OEz{{*3__5f;?CDd*!|zmz zY~ilzyc8V!q9j>8_gMIcYBnphsTr*~%|{Ul&#V9Q1Mm5v`utH;UC}r^8mU9=xmlo? zQGDX#8@~oETC6gx&b;Q#95?N=Bg_Z_#ir(#$XxcsLF7!C5!@9gz1EfOG$*-T{gUp3 z8!`v)bOv@V=xcKfza|M_9?z~Y6J>4CF493yUsN_rSI@#2E@nhCsJJ02GJoV4wCF6K zX90(n;f|WbnCN|Y>DFOgi)_gVa?j~RPf;FA17&TN)p{LHwX#0&!gZ6^_qpE5+gOo2 zEo$U<4@Z8K5imctmU7RF2~+Jj@a$$A&V5$AKge$bjZv@;$FNo`$DLEKn|{nLo8BmO zNjvPPseLRuolu?Qk{(Qs&drmGG>X%+mM+hgF`-(nXWc|%cFd3^=iVn z%{v1}_lQf4Ih*5+%XJ_+vz$qZQgvCea;aa*{pNZdxT=)Saq2onhf7Kqw7CWG-V8q1TX`PH`)cP$aO!Pv+&{D$K4SPFMm-LV z%J!nh#vvBVHitu)^S8I0Upp?ud0Xx6A9n=EfVa%?aUpKD*M!hG!EzRB(m2d8FmC{- zZ|Ymmvbe6yXJupcms6-d`}QDtf~*Vi60YgUfRfE&RS4c9W!ijR_ut?MWC>2Q`4H3B zHhY@;xpRWwJkawhZyw3{EW1t5Xb8`B;{nee!e?_kv#A%f^SbU4<2(FB!iFtmb1m6D zaD&XDKWt|E?f{Qmi(E5y5%^sS+h+W@pU;1IzvdAb&YTu83uRtk?mIYk4PWRsZ1lJK zHN5rJ4=d#AZIqs%wNhRSiw;e44O)7ERyQc%GiC;BtnTv?R=#ioIF+XdxfnlRT(oCUZ;N7UhsJ7)pTb{$iPxxLg`fWNL?>yX#)p9Pq6n^}i9 zzgNNHT18AtU~q`W%tXiE5V zuQDHJyVseQi1AX^RwzMNJUYvL=AM|ZCxnLNn^_eI*L{R{1NNl_dTEA&6|T_go%Dpo9=0}eobmZ8%5#MT z0?|0Ua#1qY&M85uoIj0gn!FIDje^7J3N7 zZwnTUTO*dY_3c58Vfk2>+lz`+J!^}cx9N>&F{jSyaYJZCu*%AkaudB z7Jm}Ua1>n-Wyi6OJS*5`AH(1HJUpqeA-U&yJYTA*J;%4br6c&9692!K-Daqns7%&T4dfR=LNFWac@9c0aUidpr zs*LZOefYdcz%?nqO(QCB=qo)VPkqu66?iAxQm$j*+GyR<}wNz=@C()+eQaj53 z>dIgr1^#XiEHsT-`)Jku!_l*Bllci{)@9~!-QCHqoyw_7T>WX}U)rFq)9bYJFl{h~ zhaNHXr<0Fq8&PhL$H~it{w*^!whH+FDKo=}rx_X3s?(Jzw&P%P&WU-R&>G{cU^wo| z6!`L}_I)yoH#5|)&*QBRnTat?WBYqGXI-Wl7*;*yTHPeHe$DXraaN|(eKKZt${g1y z-;5Y?y1r$afdKiAwd z=-J36Hg|-2B~O^$;LEp7P>YOAe0Vyz{>BO0BRhX@g{=hVeG#@V2kTndO~?1^+0gp* zu6IT>-*>?7JiIO9vUX6qQC+RRRyzTaKZO+eW}g38PtUz<=-2ko<~e6Z!_FS%zQOD) z?)$#78!S5p*^@5zMgcTYzOJXeJZpz-FXVCYwVa-+daCvLybOa(HEA8B4Z-B5n zyVXAjtM}&w2XFIWHv62gd9wI4d+bk&=TGq1eoHx4UJIsI32(7V$vG*XDw$=;^(UK9u8wVu*zs_}$c&!sP_Q75 zUf0K-^Z(OeA8&u|pP0T)BD@@Hc+elV>-%?ldSqA7f1iF|sP3L{{8BpNu}1t$!m#1h zpLgJ_DTP0)-V?#dQ!4BngP*fL*q`hAfKt9Ew8b55Fd~ILaiZz6obz((SYNbaM}5hh z@vmXucj|A~Vnz{0fwo-`uBdH0luy3S7rg3aaFIc_&`I{fNfXuMCxcT>BG@CzTDp45)EW4vkVX?gty8QoY9mE{4h2nHd)YcCuz$m3yR4QvCE7O#Y!AcG8{5)> z$fdn6pfCA(Ckf&`VAwwFp!qpX8D+n~W_fhE?*xeDETL(yQ-`sxYpm9@ffmDd=6zgl z?ITK$Y8_qiR&t5X#TLVQzP@{a9kg2k@)x05h~?ZPKQdzZS= z?I3&X)a$ZKDHg%7dAgb^aMb0ypl7?JoM)H~6JVg}8z5mm+hKQ0Ik)Gckr~s5rWNuT z%+u51$HRn8!S*IW+l|%rUbh}B`DsHE&btx)iR1YOSB>(ec+!`BUi(SX%wPVh zrYWLKQ%9 z1#}}C6iw9B(XL&sH+a?g)_MP?aAWUiyi{G2j;}*swqPD)|4?#nDk`@RJJwzqQ9JJ+ z91uI+RCLd7mwZYZwf7wLc+X^e%{tHarIF2IqFb*@^L-_pJ<%H}zZTRNbbMWSd90(W zI=-T-7j$-6qr9%8r#il_kx}-E{taI{YUxwfe|0H0%g1l{rnydYsn4}w)Cn768W23s ziPs}2Fmat|lgD Z@AsvYw_*ntFW<~$l~7rap4S7${{acJXPE#1 literal 0 HcmV?d00001