ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_AUTO_TRANSFER_Search] @p_REQ_PAY_AUTO_ID VARCHAR(20)= NULL, @p_REQ_PAY_AUTO_CODE VARCHAR(20)= NULL, @p_REQ_PAY_AUTO_NAME VARCHAR(20)= NULL, @p_REQ_PAY_AUTO_DT VARCHAR(20)= NULL, @p_REQ_PAY_AUTO_TYPE VARCHAR(20)= NULL, @p_REQ_PAY_AUTO_SERVICE_TYPE VARCHAR(20)= NULL, @p_REQ_PAY_AUTO_STATUS VARCHAR(20)= NULL, @p_REQ_PAY_AUTO_EFFECTIVE_DT VARCHAR(20)= NULL, @p_BRANCH_ID VARCHAR(20)= NULL, @p_BRANCH_CODE VARCHAR(20)= NULL, @p_BRANCH_NAME VARCHAR(20)= NULL, @p_DEP_ID VARCHAR(20)= NULL, @p_DEP_CODE VARCHAR(20)= NULL, @p_DEP_NAME VARCHAR(20)= NULL, @p_BRANCH_CREATE VARCHAR(20)= NULL, @p_BRANCH_CREATE_CODE VARCHAR(20)= NULL, @p_BRANCH_CREATE_NAME VARCHAR(20)= NULL, @p_TRANSFER_USER_RECEIVE VARCHAR(20)= NULL, @p_TRANSFER_USER_RECEIVE_NAME VARCHAR(20)= NULL, @p_CONFIRM_NOTE VARCHAR(20)= NULL, @p_CONTRACT_ID VARCHAR(20)= NULL, @p_CONTRACT_CODE VARCHAR(20)= NULL, @p_CONTRACT_NAME VARCHAR(20)= NULL, @p_PROCESS VARCHAR(20)= NULL, @p_TRANSFER_MAKER VARCHAR(20)= NULL, @p_TRANSFER_DT VARCHAR(20)= NULL, @p_MAKER_ID VARCHAR(20)= NULL, @p_MAKER_NAME VARCHAR(20)= NULL, @p_CREATE_DT VARCHAR(20)= NULL, @p_EDITOR_ID VARCHAR(20)= NULL, @p_EDITOR_NAME VARCHAR(20)= NULL, @p_EDIT_DT VARCHAR(20)= NULL, @p_CHECKER_ID VARCHAR(20)= NULL, @p_CHECKER_NAME VARCHAR(20)= NULL, @p_APPROVE_DT VARCHAR(20)= NULL, @p_AUTH_STATUS VARCHAR(20)= NULL, @p_MAKER_ID_KT VARCHAR(20)= NULL, @p_MAKER_KT_NAME VARCHAR(20)= NULL, @p_CREATE_DT_KT VARCHAR(20)= NULL, @p_CHECKER_ID_KT VARCHAR(20)= NULL, @p_CHECKER_KT_NAME VARCHAR(20)= NULL, @p_APPROVE_DT_KT VARCHAR(20)= NULL, @p_AUTH_STATUS_KT VARCHAR(20)= NULL, @p_AUTH_STATUS_KT_DESC VARCHAR(20)= NULL, @p_RECORD_STATUS VARCHAR(20)= NULL, @p_FRMDATE VARCHAR(20)= NULL, @p_TODATE VARCHAR(20)= NULL, @p_LEVEL VARCHAR(20)= NULL, @p_USER_LOGIN VARCHAR(20)= NULL, @p_IS_SEND_APPR VARCHAR(20)= NULL, @p_TYPE_SEARCH VARCHAR(20)= NULL, @p_BRANCH_LOGIN VARCHAR(20)= NULL, @p_IS_TRANSFER VARCHAR(20)= NULL, @p_TOP INT = NULL AS BEGIN -- PAGING -- BEGIN KHAI BÁO -- ĐƠN VỊ YÊU CẦU DECLARE @tmp_branch TABLE(BRANCH_ID VARCHAR(15)) DECLARE @tmp_dep TABLE(DEP_ID VARCHAR(15)) DECLARE @DEP_ID VARCHAR(15) = NULL INSERT INTO @tmp_branch SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID) DECLARE @BRANCH_TYPE VARCHAR(15) SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_AUTO_ID)) -- ĐƠN VỊ ĐĂNG NHẬP DECLARE @tmp_branch_login TABLE(BRANCH_ID VARCHAR(15)) DECLARE @tmp_dep_login TABLE(DEP_ID VARCHAR(15)) INSERT INTO @tmp_branch_login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN) INSERT INTO @tmp_branch_login VALUES (@p_BRANCH_LOGIN) INSERT INTO @tmp_branch_login SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) DECLARE @BRANCH_TYPE_LG VARCHAR(15) SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN) -- PHÒNG BAN ĐĂNG NHẬP DECLARE @DEP_ID_LG VARCHAR(15) = NULL SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN) INSERT INTO @tmp_dep_login VALUES (@DEP_ID_LG) INSERT INTO @tmp_dep_login SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG INSERT INTO @tmp_dep_login SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) -- ROLE DECLARE @ROLE_ID VARCHAR(20) SET @ROLE_ID = (SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME=@p_USER_LOGIN) DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50)) INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID) INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@P_USER_LOGIN AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='') AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='') -- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116 DECLARE @DATE DATE IF ((@p_FRMDATE IS NULL OR @p_FRMDATE ='') AND ISNULL(@p_REQ_PAY_AUTO_ID,'')='' AND @p_AUTH_STATUS ='') -- MỤC ĐÍCH NẾU NHƯ XEM CHI TIẾT 1 PĐN THANH TOÁN DẠNG POPUP THÌ BỎ QUA ĐIỀU KIỆN NÀY, TỪ NGÀY VẪN LÀ NULL BEGIN SET @DATE = CONVERT(DATE,GETDATE(),103) SET @DATE = DATEADD(MONTH,-2,@DATE) END ELSE BEGIN SET @DATE = CONVERT(DATE,@p_FRMDATE,103) END -- END KHAI BÁO IF(@p_TOP IS NULL OR @p_TOP=0) BEGIN -- PAGING BEGIN SELECT A.*, B.TLNAME AS TRANSFER_USER_RECEIVE, CASE WHEN ( SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID = A.CONTRACT_ID ) <> 'DV0001' THEN C.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID = A.CONTRACT_ID ) ),'' ) ELSE C.BRANCH_NAME END BRANCH_NAME, CASE WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN I.CONTENT ELSE J.CONTENT END REQ_PAY_AUTO_TYPE_NAME, D.DEP_NAME, E.TLFullName AS MAKER_NAME, G.CONTENT AS AUTH_STATUS_NAME, H.CONTENT AS AUTH_STATUS_KT_NAME -- SELECT END FROM TR_REQ_PAYMENT_AUTO A LEFT JOIN PL_REQUEST_PROCESS_CHILD B ON A.REQ_PAY_AUTO_ID = B.REQ_ID AND B.TYPE_JOB = 'XL' LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID = D.DEP_ID LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_ALLCODE F ON A.REQ_PAY_AUTO_TYPE = F.CDVAL AND F.CDNAME = 'PAY_TYPE_AUTO' AND F.CDTYPE = 'REQ_AUTO' LEFT JOIN CM_ALLCODE G ON A.AUTH_STATUS = G.CDVAL AND G.CDNAME = 'AUTH_STATUS' AND G.CDTYPE = 'TR_REQ_PAYMENT' LEFT JOIN CM_ALLCODE H ON A.AUTH_STATUS_KT = H.CDVAL AND H.CDNAME = 'AUTH_STATUS_KT' AND H.CDTYPE = 'TR_REQ_PAYMENT' LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_SERVICE_TYPE = I.CDVAL AND I.CDNAME = 'PAY_SER_AUTO_TS' AND I.CDTYPE = 'REQ_AUTO' LEFT JOIN CM_ALLCODE J ON A.REQ_PAY_AUTO_SERVICE_TYPE = J.CDVAL AND J.CDNAME = 'PAY_SER_AUTO' AND J.CDTYPE = 'REQ_AUTO' WHERE 1=1 AND ( A.AUTH_STATUS = 'A' OR A.AUTH_STATUS = 'N') -- BEGIN FILTER AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '') AND ( A.PROCESS = @p_PROCESS OR ISNULL(@p_PROCESS, '') = '') AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '') AND ( A.REQ_PAY_AUTO_SERVICE_TYPE = @p_REQ_PAY_AUTO_SERVICE_TYPE OR ISNULL(@p_REQ_PAY_AUTO_SERVICE_TYPE, '') = '') AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '') AND ( ( @p_IS_TRANSFER = 'Y' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID) ) OR ( @p_IS_TRANSFER='N' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID ) AND A.PROCESS IN ('2', '11', '17') ) OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='' ) AND (CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR @p_FRMDATE IS NULL OR @p_FRMDATE = '' OR A.CREATE_DT IS NULL) AND (CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE = '' OR A.CREATE_DT IS NULL) --AND ( A.BRANCH_ID = @p_BRANCH_ID OR ISNULL(@p_BRANCH_ID, '') = '') AND ( A.DEP_ID = @p_DEP_ID OR ISNULL(@p_DEP_ID, '') = '') AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '') AND ( B.TLNAME = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '') -- END FILTER ORDER BY A.CREATE_DT DESC -- PAGING END END; ELSE BEGIN -- PAGING BEGIN SELECT A.*, B.TLNAME AS TRANSFER_USER_RECEIVE, CASE WHEN ( SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID = A.CONTRACT_ID ) <> 'DV0001' THEN C.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID FROM TR_CONTRACT WHERE CONTRACT_ID = A.CONTRACT_ID ) ),'' ) ELSE C.BRANCH_NAME END BRANCH_NAME, CASE WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN I.CONTENT ELSE J.CONTENT END REQ_PAY_AUTO_TYPE_NAME, D.DEP_NAME, E.TLFullName AS MAKER_NAME, G.CONTENT AS AUTH_STATUS_NAME, H.CONTENT AS AUTH_STATUS_KT_NAME -- SELECT END FROM TR_REQ_PAYMENT_AUTO A LEFT JOIN PL_REQUEST_PROCESS_CHILD B ON A.REQ_PAY_AUTO_ID = B.REQ_ID AND B.TYPE_JOB = 'XL' LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID = D.DEP_ID LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME LEFT JOIN CM_ALLCODE F ON A.REQ_PAY_AUTO_TYPE = F.CDVAL AND F.CDNAME = 'PAY_TYPE_AUTO' AND F.CDTYPE = 'REQ_AUTO' LEFT JOIN CM_ALLCODE G ON A.AUTH_STATUS = G.CDVAL AND G.CDNAME = 'AUTH_STATUS' AND G.CDTYPE = 'TR_REQ_PAYMENT' LEFT JOIN CM_ALLCODE H ON A.AUTH_STATUS_KT = H.CDVAL AND H.CDNAME = 'AUTH_STATUS_KT' AND H.CDTYPE = 'TR_REQ_PAYMENT' LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_SERVICE_TYPE = I.CDVAL AND I.CDNAME = 'PAY_SER_AUTO_TS' AND I.CDTYPE = 'REQ_AUTO' LEFT JOIN CM_ALLCODE J ON A.REQ_PAY_AUTO_SERVICE_TYPE = J.CDVAL AND J.CDNAME = 'PAY_SER_AUTO' AND J.CDTYPE = 'REQ_AUTO' WHERE 1=1 AND ( A.AUTH_STATUS = 'A' OR A.AUTH_STATUS = 'N') -- BEGIN FILTER AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '') AND ( A.PROCESS = @p_PROCESS OR ISNULL(@p_PROCESS, '') = '') AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '') AND ( A.REQ_PAY_AUTO_SERVICE_TYPE = @p_REQ_PAY_AUTO_SERVICE_TYPE OR ISNULL(@p_REQ_PAY_AUTO_SERVICE_TYPE, '') = '') AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '') AND ( ( @p_IS_TRANSFER = 'Y' AND ( EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID) ) ) OR ( @p_IS_TRANSFER='N' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID ) AND A.PROCESS IN ('2', '11', '17') ) OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='' ) AND (CONVERT(DATE, A.CREATE_DT) >= CONVERT(DATE, @p_FRMDATE, 103) OR @p_FRMDATE IS NULL OR @p_FRMDATE = '' OR A.CREATE_DT IS NULL) AND (CONVERT(DATE, A.CREATE_DT) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE = '' OR A.CREATE_DT IS NULL) --AND ( A.BRANCH_ID = @p_BRANCH_ID OR ISNULL(@p_BRANCH_ID, '') = '') AND ( A.DEP_ID = @p_DEP_ID OR ISNULL(@p_DEP_ID, '') = '') AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '') AND ( B.TLNAME = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '') -- END FILTER ORDER BY A.CREATE_DT DESC -- PAGING END END; END -- PAGING