-- Stored Procedure ALTER PROC [dbo].[TR_REQUEST_JOB_FORM_Search] @p_REF_ID varchar(15) = NULL, @p_REQ_ID varchar(15) = NULL, @p_REQ_CODE varchar(15) = NULL, @p_MAKER_ID varchar(15) = NULL, @p_AUTH_STATUS varchar(1) = NULL, @p_REQ_REASON nvarchar(MAX) = NULL, @p_REQ_DESC nvarchar(MAX) = NULL, @p_NOTES nvarchar(MAX) = NULL, @p_REQ_TYPE_TRANS varchar(15) = NULL, @p_REQ_TYPE_GROUP varchar(15) = NULL, @p_REQ_TYPE_BOOKING_HOTEL varchar(15) = NULL, --@p_COST_AMOUNT decimal(18) = NULL, @p_REQ_TYPE_BOOKING_AIR varchar(15) = NULL, @p_REQ_TYPE_BOOKING_TRAIN varchar(15) = NULL, @p_SENDER_ID varchar(15) = NULL, @p_SEND_DT VARCHAR(20) = NULL, @p_SIGN_USER varchar(15) = NULL, @p_SIGN_DT VARCHAR(20) = NULL, @p_PROCESS_ID varchar(15) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_DEP_ID varchar(15) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_CHECKER_ID varchar(15) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_FRMDATE VARCHAR(20)= NULL, @p_TODATE VARCHAR(20) = NULL, @p_USER_LOGIN VARCHAR(50) =NULL, @p_DEP_CREATE VARCHAR(15) = NULL, @p_BRANCH_CREATE VARCHAR(15) = NULL, @p_TOP INT = 10 AS BEGIN -- PAGING DECLARE @p_USER_LOGIN_ROLE VARCHAR(15) = (SELECT RoleName FROM TL_USER WHERE TLNANME = @p_USER_LOGIN) IF(@p_TOP IS NULL OR @p_TOP = 0) BEGIN -- PAGING BEGIN SELECT A.REQ_ID, A.REQ_CODE, A.REQ_DT, A.REF_ID, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.REQ_REASON, A.REQ_DESC, A.NOTES, A.REQ_TYPE_TRANS, A.REQ_TYPE_GROUP, A.REQ_TYPE_BOOKING_HOTEL, A.COST_AMOUNT, A.REQ_TYPE_BOOKING_AIR, A.REQ_TYPE_BOOKING_TRAIN, A.SENDER_ID, A.SEND_DT, A.SIGN_USER, A.SIGN_DT, A.PROCESS_ID, A.BRANCH_CREATE, A.DEP_CREATE, A.BRANCH_ID, A.DEP_ID, BR_CR.BRANCH_NAME AS BRANCH_CREATE_NAME, DP_CR.DEP_NAME AS DEP_CREATE_NAME, A.FRMDATE, A.TODATE -- SELECT END FROM TR_REQUEST_JOB_FORM A LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE WHERE 1 = 1 AND (A.REF_ID LIKE '%' + @p_REF_ID + '%' OR @p_REF_ID IS NULL OR @p_REF_ID = '') AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '') AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '') AND (A.REQ_DESC LIKE '%' + @p_REQ_DESC + '%' OR @p_REQ_DESC IS NULL OR @p_REQ_DESC = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.REQ_TYPE_TRANS LIKE '%' + @p_REQ_TYPE_TRANS + '%' OR @p_REQ_TYPE_TRANS IS NULL OR @p_REQ_TYPE_TRANS = '') AND (A.REQ_TYPE_GROUP LIKE '%' + @p_REQ_TYPE_GROUP + '%' OR @p_REQ_TYPE_GROUP IS NULL OR @p_REQ_TYPE_GROUP = '') AND (A.REQ_TYPE_BOOKING_HOTEL LIKE '%' + @p_REQ_TYPE_BOOKING_HOTEL + '%' OR @p_REQ_TYPE_BOOKING_HOTEL IS NULL OR @p_REQ_TYPE_BOOKING_HOTEL = '') --AND (A.COST_AMOUNT = @p_COST_AMOUNT OR @p_COST_AMOUNT IS NULL) AND (A.REQ_TYPE_BOOKING_AIR LIKE '%' + @p_REQ_TYPE_BOOKING_AIR + '%' OR @p_REQ_TYPE_BOOKING_AIR IS NULL OR @p_REQ_TYPE_BOOKING_AIR = '') AND (A.REQ_TYPE_BOOKING_TRAIN LIKE '%' + @p_REQ_TYPE_BOOKING_TRAIN + '%' OR @p_REQ_TYPE_BOOKING_TRAIN IS NULL OR @p_REQ_TYPE_BOOKING_TRAIN = '') AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') 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.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '') AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '') ORDER BY A.CREATE_DT DESC -- PAGING END END ELSE BEGIN -- PAGING BEGIN SELECT TOP(@p_TOP) A.REQ_ID, A.REQ_CODE, A.REQ_DT, A.REF_ID, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.REQ_REASON, A.REQ_DESC, A.NOTES, A.REQ_TYPE_TRANS, A.REQ_TYPE_GROUP, A.REQ_TYPE_BOOKING_HOTEL, A.COST_AMOUNT, A.REQ_TYPE_BOOKING_AIR, A.REQ_TYPE_BOOKING_TRAIN, A.SENDER_ID, A.SEND_DT, A.SIGN_USER, A.SIGN_DT, A.PROCESS_ID, A.BRANCH_CREATE, A.DEP_CREATE, A.BRANCH_ID, A.DEP_ID, BR_CR.BRANCH_NAME AS BRANCH_CREATE_NAME, DP_CR.DEP_NAME AS DEP_CREATE_NAME, A.FRMDATE, A.TODATE -- SELECT END FROM TR_REQUEST_JOB_FORM A LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE WHERE 1 = 1 AND (A.REF_ID LIKE '%' + @p_REF_ID + '%' OR @p_REF_ID IS NULL OR @p_REF_ID = '') AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '') AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '') AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '') AND (A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '') AND (A.REQ_REASON LIKE '%' + @p_REQ_REASON + '%' OR @p_REQ_REASON IS NULL OR @p_REQ_REASON = '') AND (A.REQ_DESC LIKE '%' + @p_REQ_DESC + '%' OR @p_REQ_DESC IS NULL OR @p_REQ_DESC = '') AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '') AND (A.REQ_TYPE_TRANS LIKE '%' + @p_REQ_TYPE_TRANS + '%' OR @p_REQ_TYPE_TRANS IS NULL OR @p_REQ_TYPE_TRANS = '') AND (A.REQ_TYPE_GROUP LIKE '%' + @p_REQ_TYPE_GROUP + '%' OR @p_REQ_TYPE_GROUP IS NULL OR @p_REQ_TYPE_GROUP = '') AND (A.REQ_TYPE_BOOKING_HOTEL LIKE '%' + @p_REQ_TYPE_BOOKING_HOTEL + '%' OR @p_REQ_TYPE_BOOKING_HOTEL IS NULL OR @p_REQ_TYPE_BOOKING_HOTEL = '') --AND (A.COST_AMOUNT = @p_COST_AMOUNT OR @p_COST_AMOUNT IS NULL) AND (A.REQ_TYPE_BOOKING_AIR LIKE '%' + @p_REQ_TYPE_BOOKING_AIR + '%' OR @p_REQ_TYPE_BOOKING_AIR IS NULL OR @p_REQ_TYPE_BOOKING_AIR = '') AND (A.REQ_TYPE_BOOKING_TRAIN LIKE '%' + @p_REQ_TYPE_BOOKING_TRAIN + '%' OR @p_REQ_TYPE_BOOKING_TRAIN IS NULL OR @p_REQ_TYPE_BOOKING_TRAIN = '') AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '') AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '') AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '') 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.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '') AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '') ORDER BY A.CREATE_DT DESC -- PAGING END END END -- PAGING