Project

General

Profile

[PL_REQUEST_TRANSFER_MOBILE_Search].txt

Luc Tran Van, 02/24/2025 02:13 PM

 
1
ALTER PROCEDURE [dbo].[PL_REQUEST_TRANSFER_MOBILE_Search] @p_REQ_ID VARCHAR(15) = NULL,
2
@p_REQ_CODE NVARCHAR(100) = NULL,
3
@p_REQ_NAME NVARCHAR(200) = NULL,
4
@p_REQ_DT VARCHAR(20) = NULL,
5
@p_REQ_TYPE INT = NULL,
6
@p_REQ_CONTENT NVARCHAR(1000) = NULL,
7
@p_REQ_REASON NVARCHAR(500) = NULL,
8
@p_TOTAL_AMT DECIMAL = NULL,
9
@p_NOTES NVARCHAR(1000) = NULL,
10
@p_RECORD_STATUS VARCHAR(1) = NULL,
11
@p_MAKER_ID VARCHAR(12) = NULL,
12
@p_CREATE_DT VARCHAR(20) = NULL,
13
@p_AUTH_STATUS VARCHAR(50) = NULL,
14
@p_CHECKER_ID VARCHAR(12) = NULL,
15
@p_APPROVE_DT VARCHAR(20) = NULL,
16
@p_PROCESS_ID VARCHAR(15) = NULL,
17
@p_BRANCH_ID VARCHAR(15) = NULL,
18
@p_DEP_ID VARCHAR(15) = NULL,
19
@p_BRANCH_LOGIN VARCHAR(15),
20
@p_ROLE_USER VARCHAR(20),
21
@p_TLNAME_USER VARCHAR(15),
22
@p_FR_DATE VARCHAR(20) = NULL,
23
@p_TO_DATE VARCHAR(20) = NULL,
24
@p_TYPE_TRANFER VARCHAR(15),
25
@p_TYPE VARCHAR(15),
26
@p_YEAR INT,
27
@p_TOP INT = 10,
28
@p_IS_TRANSFER VARCHAR(10) = NULL,
29
@p_NGUOIXULY NVARCHAR(15) = NULL,
30

    
31
@p_TO_DEP_ID VARCHAR(15) = NULL,
32
@p_TO_BRANCH_ID VARCHAR(15) = NULL,
33
@p_FROM_DEP_ID VARCHAR(15) = NULL,
34
@p_FROM_BRANCH_ID VARCHAR(15) = NULL,
35
@p_TO_GD_NAME NVARCHAR(1000) = NULL,
36
@p_FROM_GD_NAME NVARCHAR(1000) = NULL
37

    
38
AS
39
BEGIN -- PAGING
40
  --	DECLARE @TABLE_ROLE TABLE 
41
  --	( ROLE_ID VARCHAR(20))
42
  --	INSERT INTO @TABLE_ROLE VALUES(@p_ROLE_USER)
43
  --
44
  --	
45
  --	INSERT INTO @TABLE_ROLE
46
  --	SELECT ROLE_NEW FROM dbo.TL_SYS_ROLE_MAPPING WHERE ROLE_OLD=@p_ROLE_USER
47

    
48
  DECLARE @MENU_PERMISSION NVARCHAR(500) = ''--permission chức năng call store, chưa check được mobile nên gán = ''
49

    
50

    
51
  DECLARE @DEP_ID VARCHAR(15)
52
         ,@BRANCH_TYPE VARCHAR(15)
53
         ,@TO_BRANCH_TYPE VARCHAR(15)
54
         ,@FROM_BRANCH_TYPE VARCHAR(15)
55

    
56
  DECLARE @COST_ID TABLE (
57
    COST_ID VARCHAR(15)
58
  )
59

    
60
  DECLARE @DVDM_ID TABLE (
61
    DVDM_ID VARCHAR(15)
62
  )
63
  SET @DEP_ID = (SELECT
64
      SECUR_CODE
65
    FROM dbo.TL_USER
66
    WHERE TLNANME = @p_TLNAME_USER)
67
  SET @BRANCH_TYPE = (SELECT
68
      BRANCH_TYPE
69
    FROM dbo.CM_BRANCH
70
    WHERE BRANCH_ID = @p_BRANCH_LOGIN)
71

    
72
  -- ĐƠN VỊ CHUYỂN
73
  SET @FROM_BRANCH_TYPE = (SELECT
74
      BRANCH_TYPE
75
    FROM dbo.CM_BRANCH
76
    WHERE BRANCH_ID = @p_FROM_BRANCH_ID)
77
  -- ĐƠN VỊ NHẬN
78
  SET @TO_BRANCH_TYPE = (SELECT
79
      BRANCH_TYPE
80
    FROM dbo.CM_BRANCH
81
    WHERE BRANCH_ID = @p_TO_BRANCH_ID)
82

    
83

    
84
  IF (EXISTS (SELECT
85
        DEP_CODE
86
      FROM dbo.CM_DEPARTMENT
87
      WHERE DEP_ID = @DEP_ID
88
      AND DEP_CODE LIKE '069%')
89
    )
90
  BEGIN
91
    SET @BRANCH_TYPE = 'HS'
92
  END
93

    
94

    
95

    
96
  SELECT
97
    * INTO #AUTHOR
98
  FROM [dbo].[FN_GET_ROLE_USER_BY_TLNAME](@p_TLNAME_USER, @MENU_PERMISSION)
99

    
100
  SELECT
101
    * INTO #AUTHOR_DVDM
102
  FROM [dbo].[FN_GET_ROLE_DVDM_USER_BY_TLNAME](@p_TLNAME_USER, @MENU_PERMISSION)
103

    
104
  INSERT INTO @COST_ID
105
    SELECT
106
      COST_ID
107
    FROM dbo.PL_COSTCENTER_DT
108
    WHERE DEP_ID = @DEP_ID
109
    AND BRANCH_ID = @p_BRANCH_LOGIN
110
  INSERT INTO @DVDM_ID
111
    SELECT
112
      DVDM_ID
113
    FROM dbo.PL_COSTCENTER
114
    WHERE COST_ID IN (SELECT
115
        COST_ID
116
      FROM @COST_ID)
117
    GROUP BY DVDM_ID
118

    
119

    
120
  -- PAGING BEGIN
121
  SELECT
122
    A.REQ_ID
123
   ,A.REQ_CODE
124
   ,G.BRANCH_NAME
125
   ,A.REQ_NAME
126
   ,A.TOTAL_AMT
127
   ,N'Chờ duyệt' AS AUTH_STATUS_NAME
128
   ,'U' AS AUTH_STATUS --A.AUTH_STATUS
129
  -- SELECT END
130
  FROM PL_REQUEST_DOC A
131
  INNER JOIN dbo.PL_REQUEST_PROCESS PLRP
132
    ON PLRP.REQ_ID = A.REQ_ID
133
      AND PLRP.STATUS = 'C'
134
  LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
135
    ON RPN.ID IN (SELECT TOP 1
136
          Temp.ID
137
        FROM dbo.PL_REQUEST_PROCESS Temp
138
        WHERE Temp.REQ_ID = A.REQ_ID
139
        AND (Temp.STATUS = 'C'
140
        OR Temp.STATUS = 'R')
141
        AND (Temp.IS_HAS_CHILD IS NULL
142
        OR Temp.IS_HAS_CHILD = 0))
143

    
144
  LEFT JOIN CM_BRANCH G
145
    ON A.BRANCH_ID = G.BRANCH_ID
146
  LEFT JOIN dbo.PL_REQUEST_PROCESS_CHILD RPNC
147
    ON RPNC.PROCESS_ID IN (SELECT TOP 1
148
          Temp.ID
149
        FROM dbo.PL_REQUEST_PROCESS Temp
150
        WHERE Temp.REQ_ID = A.REQ_ID
151
        AND (Temp.STATUS = 'C'
152
        OR Temp.STATUS = 'R')
153
        AND Temp.IS_HAS_CHILD = 1)
154
      AND (RPNC.STATUS_JOB = 'C'
155
        OR RPNC.STATUS_JOB = 'R')
156
  OUTER APPLY (SELECT
157
      [dbo].[FN_PL_REQUEST_DOC_GET_NEXT_USER](A.REQ_ID, @MENU_PERMISSION) NGUOIXULY
158
     ,'' NGUOIXULYTLNAME) NXL
159
  WHERE 1 = 1
160
  --    AND (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' OR A.AUTH_STATUS = @p_AUTH_STATUS)
161
  AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
162
  OR @p_REQ_CODE IS NULL
163
  OR @p_REQ_CODE = '')
164
  AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%'
165
  OR @p_REQ_NAME IS NULL
166
  OR @p_REQ_NAME = '')
167
  AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%'
168
  OR @p_MAKER_ID IS NULL
169
  OR @p_MAKER_ID = '')
170
  AND (@p_FR_DATE IS NULL
171
  OR @p_REQ_CODE IS NOT NULL
172
  OR CONVERT(DATETIME, A.REQ_DT, 103) >= CONVERT(DATETIME, @p_FR_DATE, 103))
173
  AND (@p_TO_DATE IS NULL
174
  OR @p_REQ_CODE IS NOT NULL
175
  OR CONVERT(DATETIME, A.REQ_DT, 103) <= CONVERT(DATETIME, @p_TO_DATE, 103))
176

    
177
  AND (A.REQ_TYPE = @p_REQ_TYPE
178
  OR @p_REQ_TYPE IS NULL
179
  OR @p_REQ_TYPE = -1)
180
  AND A.RECORD_STATUS = '1'
181

    
182
  --PHONGNT 12/02/2023 Thêm điều kiện TĐV thấy phiếu
183
  AND ((RPN.PROCESS_ID = 'APPNEW'
184
  AND RPN.STATUS = 'C'
185
  AND EXISTS (SELECT
186
      1
187
    FROM #AUTHOR_DVDM
188
    WHERE ROLE_DISPLAYNAME = RPN.ROLE_USER
189
    AND BRANCH_ID = RPN.BRANCH_ID
190
    AND ((BRANCH_ID = 'DV0001'
191
    AND DEP_ID = RPN.DEP_ID)
192
    OR (BRANCH_ID <> 'DV0001')))
193
  AND (PLRP.IS_HAS_CHILD = 0
194
  OR PLRP.IS_HAS_CHILD IS NULL))
195
  OR (RPNC.TLNAME = @p_TLNAME_USER
196
  AND RPNC.STATUS_JOB = 'C'
197
  AND RPNC.TYPE_JOB = 'TP')
198
  --        OR (RPN.PROCESS_ID='TC' AND EXISTS(SELECT 1 FROM #AUTHOR_DVDM WHERE ROLE_ID=RPN.ROLE_USER AND BRANCH_ID =RPN.BRANCH_ID AND DEP_ID=RPN.DEP_ID))
199
  --   
200
  --        OR (RPN.PROCESS_ID IN ('DVDC','DVCM') AND EXISTS(SELECT 1 FROM #AUTHOR_DVDM WHERE ROLE_ID=RPN.ROLE_USER AND DVDM_ID= RPN.DVDM_ID)AND (PLRP.IS_HAS_CHILD=0 OR PLRP.IS_HAS_CHILD IS NULL))
201
  --END
202
  OR
203
  EXISTS (SELECT
204
      AUTH.ROLE_DISPLAYNAME
205
    FROM #AUTHOR_DVDM AUTH
206
    WHERE AUTH.ROLE_DISPLAYNAME = PLRP.ROLE_USER
207
    AND (
208
    (PLRP.PROCESS_ID = 'DVDC'
209
    AND PLRP.BRANCH_ID = AUTH.BRANCH_ID
210
    AND (PLRP.DEP_ID = AUTH.DEP_ID
211
    OR PLRP.DEP_ID IS NULL
212
    OR PLRP.DEP_ID = ''))
213
    OR PLRP.DVDM_ID = AUTH.DVDM_ID
214
    OR ((PLRP.DVDM_ID = ''
215
    OR PLRP.DVDM_ID IS NULL)
216
    AND (PLRP.BRANCH_ID IS NULL
217
    OR PLRP.BRANCH_ID = ''))
218
    ))
219
  )
220
  AND (PLRP.IS_HAS_CHILD = 0
221
  OR PLRP.IS_HAS_CHILD IS NULL)
222

    
223

    
224
  -- GiaNT 20/10/2021
225
  AND (A.REQ_ID IN (SELECT
226
      REQ_DOC_ID
227
    FROM PL_REQUEST_TRANSFER)
228
  )
229
  AND (NOT EXISTS (SELECT
230
      *
231
    FROM dbo.PL_REQUEST_DOC_DT
232
    WHERE REQ_ID = A.REQ_ID)
233
  )
234
  ORDER BY A.CREATE_DT DESC
235
-- PAGING END
236
END -- PAGING