ALTER PROCEDURE [dbo].[TR_ROLE_NOTIFI_ID] @PO_ID varchar(500), @TYPE VARCHAR(100) AS PRINT @TYPE DECLARE @BRANCH_CREATE VARCHAR(15), @DEP_CREATE VARCHAR(15), @BRANCH_TYPE VARCHAR(15), @FATHER_ID VARCHAR(15), @FLAG VARCHAR(1), -- FLAG = 1: THANH TOÁN / TẠM ỨNG @AUTH_STATUS VARCHAR(10), @PROCESS VARCHAR(10), @MAKER_ID VARCHAR(15), @DEP_CODE VARCHAR(15) DECLARE @ROLE_CURRENT VARCHAR(15), @USER_RECIVE_MAIL VARCHAR(15), @REQ_TYPE VARCHAR(15) DECLARE @l_LST_REQ_ID TABLE ( [ID] [int] IDENTITY(1,1) NOT NULL, [REQ_PAY_ID] [VARCHAR](15) NULL) INSERT INTO @l_LST_REQ_ID SELECT VALUE FROM WSISPLIT(@PO_ID,',') DECLARE @LST_POID TABLE(ID VARCHAR(15)) DECLARE @LST_USER_RECIVE TABLE (TLNAME VARCHAR(10)) --- DECLARE TABLE NHAN DU LIEU LA USER NAME DANG O BUOC PHE DUYET HIEN TAI DECLARE @PL_PROCESS_CURRENT_SEARCH_TEMP TABLE ( REQ_ID varchar(15), PROCESS_ID varchar(10), DVDM_NAME nvarchar(500), TLNAME nvarchar(255), TLFullName nvarchar(255), NOTES nvarchar(500) ) IF @TYPE = 'PO' BEGIN INSERT INTO @LST_POID VALUES(@PO_ID) SET @FLAG = 0 END ELSE IF @TYPE = 'USE' BEGIN INSERT INTO @LST_POID SELECT B.PO_ID FROM ASS_MASTER_PO B WHERE B.ASSET_ID = (SELECT A.ASSET_ID FROM ASS_USE A WHERE A.USE_ID = @PO_ID) SET @FLAG = 0 END ELSE IF @TYPE = 'USE_MUILT' BEGIN INSERT INTO @LST_POID SELECT B.PO_ID FROM ASS_MASTER_PO B WHERE B.ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @PO_ID) GROUP BY B.PO_ID SET @FLAG = 0 END ELSE IF @TYPE = 'USE_ADDNEW' BEGIN INSERT INTO @LST_POID SELECT B.PO_ID FROM ASS_ADDNEW_PO B WHERE B.ADDNEW_ID = @PO_ID SET @FLAG = 0 END -- Tạm ứng ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_SEND_APR') BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) --IF(@AUTH_STATUS = 'U') --BEGIN -- INSERT INTO @LST_USER_RECIVE (TLNAME) -- (SELECT TRASFER_USER_RECIVE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) -- SET @FLAG = 1 --END IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>''))) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) (SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) END ELSE BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) IF(@BRANCH_TYPE = 'PGD' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP'))) END ELSE IF(@BRANCH_TYPE = 'CN' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD'))) END ELSE IF(@BRANCH_TYPE = 'HS' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND SECUR_CODE = @DEP_CREATE AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP'))) END END SET @FLAG = 1 END ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_CONFIRM') BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID) SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_CREATE) IF(@BRANCH_TYPE = 'PGD' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @FATHER_ID AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP'))) END ELSE IF(@BRANCH_TYPE = 'CN' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD'))) END ELSE IF(@BRANCH_TYPE = 'HS' ) BEGIN IF(EXISTS(SELECT PROCESS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (PROCESS ='' OR PROCESS IS NULL))) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND SECUR_CODE = @DEP_CREATE AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP'))) END ELSE BEGIN IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I')) BEGIN IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06909%')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06921%')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='cuongpv2') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06907%')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END END -- NEU CAP TIEP THEO LA PTGD ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I')) BEGIN IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06908%' OR @DEP_CODE ='0690605')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END END END END SET @FLAG = 1 END ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_APR') BEGIN SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID) --SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_CREATE = (SELECT TOP 1 BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @DEP_CREATE = (SELECT TOP 1 DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_CREATE) IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TGD' AND @REQ_TYPE ='I')) BEGIN --SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='TGD') --INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TGD' END IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I')) BEGIN IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06909%')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06921%')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='cuongpv2') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06907%')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END END IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I')) BEGIN IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END ELSE IF((@DEP_CODE LIKE'%06908%' OR @DEP_CODE ='0690605')) BEGIN SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa') INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL) END END IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND AUTH_STATUS ='A')) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID --INSERT INTO @LST_USER_RECIVE (TLNAME) --SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID END SET @FLAG = 1 END -- Điều phối tạm ứng/ thanh toán PL_REQUEST_PROCESS_CHILD --ELSE IF (@TYPE = 'TR_REQ_PAYMENT_TRANSFER') --BEGIN -- --INSERT INTO @LST_USER_RECIVE (TLNAME) -- --SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID IN (SELECT REQ_PAY_ID FROM @l_LST_REQ_ID) AND TYPE_JOB = 'XL' --END ---- ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_SEND_APR') BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS' END ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_APPR') BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID SET @FLAG = 1 END -- Thanh toán ELSE IF (@TYPE = 'TR_REQ_PAYMENT_SEND_APR') BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>''))) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) (SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) END ELSE BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) IF(@BRANCH_TYPE = 'PGD' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP'))) END ELSE IF(@BRANCH_TYPE = 'CN' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD'))) END ELSE IF(@BRANCH_TYPE = 'HS' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND SECUR_CODE = @DEP_CREATE AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP'))) END END SET @FLAG = 1 END ELSE IF(@TYPE = 'TR_REQ_PAYMENT_APR') BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) IF(@AUTH_STATUS = 'A') BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 --AND TLSUBBRID = @BRANCH_CREATE AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW = 'KSV')) AND TLSUBBRID = 'DV0001' AND SECUR_CODE ='DEP000000000022' --IF (@BRANCH_TYPE <> 'HS') --BEGIN -- INSERT INTO @LST_USER_RECIVE (TLNAME) -- SELECT TLNANME FROM TL_USER -- WHERE 1=1 -- AND TLSUBBRID = @FATHER_ID -- AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW = 'KSV')) --END --ELSE IF (@BRANCH_TYPE = 'HS') --BEGIN -- INSERT INTO @LST_USER_RECIVE (TLNAME) -- SELECT TLNANME FROM TL_USER -- WHERE 1=1 -- AND TLSUBBRID = @BRANCH_CREATE -- AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW = 'KSV')) --END SET @FLAG = 1 END END ELSE IF(@TYPE = 'TR_REQ_PAYMENT_CONFIRM') BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @PROCESS = ( SELECT TOP 1 PROCESS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) IF(@AUTH_STATUS = 'U' AND @PROCESS = '0') BEGIN SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID) SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE) IF(@BRANCH_TYPE = 'PGD' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @FATHER_ID AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP'))) END ELSE IF(@BRANCH_TYPE = 'CN' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD'))) END ELSE IF(@BRANCH_TYPE = 'HS' ) BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TLNANME FROM TL_USER WHERE 1=1 AND TLSUBBRID = @BRANCH_CREATE AND SECUR_CODE = @DEP_CREATE AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP'))) END SET @FLAG = 1 END END ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_SEND_APR') BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS' SET @FLAG = 1 END ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_APR') BEGIN INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID INSERT INTO @LST_USER_RECIVE (TLNAME) SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID SET @FLAG = 1 END -- Tờ trình chủ trương ELSE IF(@TYPE = 'PL_SEND_APP' OR @TYPE ='PL_REQUEST_DOC_App' OR @TYPE ='REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App') BEGIN SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID) INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD' SET @FLAG = 2 END ELSE IF(@TYPE='PL_REQ_PROCESS_CHILD_Ins') BEGIN DECLARE @PLREQ_ID VARCHAR(15) WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0) BEGIN SET @PLREQ_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID) SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID) INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PLREQ_ID,@MAKER_ID,'TTCT-DVKD' DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@PLREQ_ID END SET @FLAG = 2 END ELSE IF(@TYPE='REQUEST_DOC_PROCESS_Approve') BEGIN --DECLARE @REQ_ID VARCHAR(15) --WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0) --BEGIN --SET @REQ_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID) --SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID) --INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP --EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_ID,@MAKER_ID,'TTCT-DVKD' --DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@REQ_ID --END -- NEU TOI TGD THI GUI MAIL CHO ANH THIEU, ANH HUNG --IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID=@PO_ID AND PROCESS_ID ='TGD')) --BEGIN -- INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP SELECT @PO_ID,'','','thieuvq','','' -- INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP SELECT @PO_ID,'','','hungdv','','' --END IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE')) BEGIN IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='TGD')) BEGIN SET @FLAG = 2 --SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID) INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD' END ELSE BEGIN SET @FLAG = 2 --SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID) INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD' END END ELSE BEGIN SET @FLAG = 3 SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID) --INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP --EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_ID,@MAKER_ID,'TTCT-DVKD' END END ------------------------------------------------------------------------------------------------------- ----- PHIẾU YÊU CẦU MUA SẮM -------------- ELSE IF(@TYPE = 'TR_REQUEST_DOC_SendApp' OR @TYPE ='TR_REQUEST_DOC_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App') BEGIN SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID) INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD' SET @FLAG = 2 END ELSE IF(@TYPE='TR_REQ_PROCESS_CHILD_Ins') BEGIN DECLARE @REQ_DOC_ID VARCHAR(15) WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0) BEGIN SET @REQ_DOC_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID) SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID) INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_DOC_ID,@MAKER_ID,'PYCMS-DVKD' DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@REQ_DOC_ID END SET @FLAG = 2 END ELSE IF(@TYPE='TR_REQUEST_DOC_PROCESS_Approve') BEGIN IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE')) BEGIN --SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID) INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD' SET @FLAG = 3 END ELSE BEGIN SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID) END END ----- END PYC MUA SẮM -------------------- IF(@FLAG = 0) BEGIN SELECT A.*,B.TLFullName,B.EMAIL FROM TL_ROLE_NOTIFICATION A LEFT JOIN TL_USER B ON A.TL_NAME=B.TLNANME WHERE EXISTS(SELECT * FROM @LST_POID WHERE ID = A.PO_ID) --AND B.TLNANME <>'trungnq1' END ELSE IF(@FLAG = 1) BEGIN SELECT B.*,A.TLFullName,A.EMAIL FROM TL_USER A LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME WHERE (A.TLNANME IN (SELECT * FROM @LST_USER_RECIVE)) END -- NEU LA TO TRINH CHU TRUONG, PYC MS THÌ TRA VE FLAG =2 ELSE IF(@FLAG = 2) BEGIN SELECT B.*,A.TLFullName,A.EMAIL FROM TL_USER A LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME WHERE (A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP)) --AND A.TLNANME ='trungnq1') END -- SAU KHI TT CHU TRUONG DUOC PHE DUYET THI THONG BAO CHO NGUOI TAO TO TRINH ELSE IF(@FLAG = 3) BEGIN SELECT B.*,A.TLFullName,A.EMAIL FROM TL_USER A LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME WHERE (A.TLNANME =@MAKER_ID OR A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP)) --AND A.TLNANME = 'trungnq1') END