1
|
SET QUOTED_IDENTIFIER ON
|
2
|
SET ANSI_NULLS ON
|
3
|
GO
|
4
|
ALTER PROCEDURE [dbo].[MW_OUT_Search] @p_TRN_Date VARCHAR(20) =NULL, @p_TRN_TIME VARCHAR(50) =NULL, @p_BRN_ID VARCHAR(15) =NULL,
|
5
|
@p_DEPT_ID VARCHAR(15) =NULL, @p_QTY VARCHAR(20)=NULL, @p_PRICE VARCHAR(25) =NULL, @p_TOTAL_AMT NUMERIC(18,2)=NULL, @p_NOTES NVARCHAR(1000) =NULL,
|
6
|
@p_OUT_DESC NVARCHAR(500) =NULL, @p_AUTH_STATUS VARCHAR(1) =NULL, @p_MAKER_ID VARCHAR(15) =NULL, @p_CREATE_DT varchar(25)=NULL,
|
7
|
@p_CHECKER_ID VARCHAR(15) =NULL, @p_APPROVE_DT varchar(25)=NULL, @p_KT_AUTH_STATUS VARCHAR(1) =NULL, @p_KT_MAKER_ID VARCHAR(15) =NULL,
|
8
|
@p_KT_CREATE_DT varchar(25)=NULL, @p_KT_CHECKER_ID VARCHAR(15) =NULL, @p_KT_APPROVE_DT varchar(25)=NULL, @p_RECORD_STATUS VARCHAR(1) =NULL,
|
9
|
@p_MAKER_LOGIN VARCHAR(15) =NULL, @p_LEVEL VARCHAR(50) ='UNIT', @p_CORE_NOTE NVARCHAR(500) =NULL, @p_FR_BUY_DATE VARCHAR(10) =NULL, --Tu ngay nhap
|
10
|
@p_TO_BUY_DATE VARCHAR(10) =NULL, @p_KT_IS_DO VARCHAR(1) =NULL, @p_TOP INT=NULL, @p_BRANCH_CREATE VARCHAR(15) =NULL,@p_WARE_HOUSE VARCHAR(15) = NULL,@p_OUT_CODE NVARCHAR(30) = NULL,
|
11
|
@p_TYPE_SEARCH NVARCHAR(30) = NULL,@p_IS_CONFIRM VARCHAR(2) = NULL
|
12
|
AS
|
13
|
SET NOCOUNT ON;
|
14
|
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
|
15
|
BEGIN -- PAGING
|
16
|
DECLARE @MENU_PERMISSION NVARCHAR(500) = 'Pages.Administration.MaterialOutHCQT'--permission chức năng call store
|
17
|
IF(@p_TYPE_SEARCH = 'KT')
|
18
|
BEGIN
|
19
|
SET @MENU_PERMISSION = 'Pages.Administration.MaterialOutKT'
|
20
|
END
|
21
|
IF(@p_TYPE_SEARCH = 'XN')
|
22
|
BEGIN
|
23
|
SET @MENU_PERMISSION = 'Pages.Administration.MaterialOutConfirm'
|
24
|
END
|
25
|
DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))
|
26
|
INSERT INTO @tmp
|
27
|
SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE)
|
28
|
|
29
|
DECLARE @BRANCH_LOGIN VARCHAR(20), @DEP_LOGIN VARCHAR(20)
|
30
|
SELECT TOP 1 @BRANCH_LOGIN = TLSUBBRID, @DEP_LOGIN = DEP_ID
|
31
|
FROM TL_USER
|
32
|
WHERE TLNANME = @p_MAKER_LOGIN
|
33
|
|
34
|
IF(@p_TOP IS NULL OR @p_TOP='' OR @p_TOP=0)
|
35
|
-- PAGING BEGIN
|
36
|
SELECT A.*, B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AS KT_STATUS, TL.TLFullName EMP_NAME, TL1.TLFullName APPROVE_NAME, TL2.TLFullName KT_EMP_NAME,
|
37
|
TL3.TLFullName KT_APPROVE_NAME, BR.BRANCH_ID AS FRM_BRANCH_ID, DP.DEP_ID AS FRM_DEP_ID, BR.BRANCH_NAME FRM_BRANCH_NAME,
|
38
|
DP.DEP_NAME FRM_DEP_NAME, AL.CONTENT WARE_HOUSE_NAME, BRC.BRANCH_CODE BRANCH_CODE_CR, BRC.BRANCH_NAME BRANCH_NAME_CR
|
39
|
-- SELECT END
|
40
|
FROM MW_OUT A
|
41
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
42
|
LEFT JOIN CM_AUTH_STATUS C ON A.KT_AUTH_STATUS=C.AUTH_STATUS
|
43
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
44
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
45
|
LEFT JOIN TL_USER TL2 ON A.KT_MAKER_ID=TL2.TLNANME
|
46
|
LEFT JOIN TL_USER TL3 ON A.KT_CHECKER_ID=TL3.TLNANME
|
47
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRN_ID=BR.BRANCH_ID
|
48
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEPT_ID
|
49
|
LEFT JOIN CM_ALLCODE AL ON A.WARE_HOUSE = AL.CDVAL AND AL.CDNAME='WARE_HOUSE_IN'
|
50
|
LEFT JOIN CM_BRANCH BRC ON A.BRANCH_CREATE = BRC.BRANCH_ID
|
51
|
WHERE 1=1
|
52
|
AND(A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
53
|
AND(A.KT_AUTH_STATUS=@p_KT_AUTH_STATUS OR @p_KT_AUTH_STATUS='' OR @p_KT_AUTH_STATUS IS NULL)
|
54
|
AND(CONVERT(DATE, A.TRN_Date, 103)>=CONVERT(DATE, @p_FR_BUY_DATE, 103)OR @p_FR_BUY_DATE IS NULL OR @p_FR_BUY_DATE='')
|
55
|
AND(CONVERT(DATE, A.TRN_Date, 103)<=CONVERT(DATE, @p_TO_BUY_DATE, 103)OR @p_TO_BUY_DATE IS NULL OR @p_TO_BUY_DATE='')
|
56
|
AND(((A.KT_MAKER_ID IS NOT NULL AND @p_KT_IS_DO='Y'AND NOT EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF WHERE A.OUT_ID = CF.OUT_ID AND ISNULL(CONFIRM_STATUS,'N') = 'N')
|
57
|
) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
58
|
OR((A.KT_MAKER_ID IS NULL AND @p_KT_IS_DO='N'AND NOT EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF WHERE A.OUT_ID = CF.OUT_ID AND ISNULL(CONFIRM_STATUS,'N') = 'N')
|
59
|
))OR ((@p_KT_IS_DO IS NULL OR @p_KT_IS_DO='') AND ((@p_TYPE_SEARCH = 'KT' AND NOT EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF WHERE A.OUT_ID = CF.OUT_ID AND ISNULL(CONFIRM_STATUS,'N') = 'N')) OR @p_TYPE_SEARCH <> 'KT')))
|
60
|
AND ((A.AUTH_STATUS = 'A' AND @p_IS_CONFIRM = 'N' AND EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF
|
61
|
WHERE A.OUT_ID = CF.OUT_ID AND ((CF.BRANCH_ID = @BRANCH_LOGIN AND CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = @DEP_LOGIN) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = @BRANCH_LOGIN)) AND CF.CONFIRM_STATUS = 'N' ))
|
62
|
OR A.AUTH_STATUS = 'A' AND @p_IS_CONFIRM = 'Y' AND EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF
|
63
|
WHERE A.OUT_ID = CF.OUT_ID AND ((CF.BRANCH_ID = @BRANCH_LOGIN AND CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = @DEP_LOGIN) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = @BRANCH_LOGIN)) AND CF.CONFIRM_STATUS = 'Y' )OR @p_IS_CONFIRM IS NULL OR @p_IS_CONFIRM = '')
|
64
|
AND ( (@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp))
|
65
|
OR((@p_LEVEL='UNIT' AND (A.BRANCH_CREATE=@p_BRANCH_CREATE OR (@p_TYPE_SEARCH = 'XN' AND EXISTS (
|
66
|
SELECT 1
|
67
|
FROM dbo.MW_OUT_CONF CF
|
68
|
CROSS APPLY dbo.FN_GET_USER_BY_ROLE('GDDV,TPGD', CF.BRANCH_ID, CF.DEP_ID, @MENU_PERMISSION) RL
|
69
|
WHERE ((CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = RL.DEP_ID) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = RL.BRANCH_ID))
|
70
|
AND RL.TLNANME = @p_MAKER_LOGIN
|
71
|
)))))
|
72
|
OR @p_BRANCH_CREATE = ''
|
73
|
OR @p_BRANCH_CREATE IS NULL
|
74
|
OR(@BRANCH_LOGIN = 'DV0001' AND @DEP_LOGIN = 'DEP000000000022')
|
75
|
--- NANG CAP GIAI DOAN 3: Them xu ly UY QUYEN KIEM NHIEM
|
76
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE('GDDV', A.BRANCH_CREATE, A.DEPT_ID, @MENU_PERMISSION) US WHERE US.TLNANME = @p_MAKER_LOGIN)
|
77
|
OR (@p_TYPE_SEARCH = 'XN' AND EXISTS (
|
78
|
SELECT 1
|
79
|
FROM dbo.MW_OUT_CONF CF
|
80
|
CROSS APPLY dbo.FN_GET_USER_BY_ROLE('GDDV,TPGD', CF.BRANCH_ID, CF.DEP_ID, @MENU_PERMISSION) RL
|
81
|
WHERE ((CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = RL.DEP_ID) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = RL.BRANCH_ID))
|
82
|
AND RL.TLNANME = @p_MAKER_LOGIN
|
83
|
)
|
84
|
)
|
85
|
)
|
86
|
)
|
87
|
--AND(A.OUT_ID=@p_OUT_ID OR @p_OUT_ID='' OR @p_OUT_ID IS NULL)
|
88
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
89
|
AND(A.WARE_HOUSE=@p_WARE_HOUSE OR @p_WARE_HOUSE='' OR @p_WARE_HOUSE IS NULL)
|
90
|
AND(A.OUT_CODE LIKE N'%'+@p_OUT_CODE+'%' OR @p_OUT_CODE IS NULL OR @p_OUT_CODE='')
|
91
|
AND (A.RECORD_STATUS='1')
|
92
|
ORDER BY A.CREATE_DT DESC
|
93
|
-- PAGING END
|
94
|
ELSE
|
95
|
-- PAGING BEGIN
|
96
|
SELECT TOP(CONVERT(INT, @p_TOP))A.*, B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AS KT_STATUS, TL.TLFullName EMP_NAME, TL1.TLFullName APPROVE_NAME,
|
97
|
TL2.TLFullName KT_EMP_NAME, TL3.TLFullName KT_APPROVE_NAME, BR.BRANCH_ID AS FRM_BRANCH_ID, DP.DEP_ID AS FRM_DEP_ID, BR.BRANCH_NAME FRM_BRANCH_NAME,
|
98
|
DP.DEP_NAME FRM_DEP_NAME,AL.CONTENT WARE_HOUSE_NAME, BRC.BRANCH_CODE BRANCH_CODE_CR, BRC.BRANCH_NAME BRANCH_NAME_CR
|
99
|
-- SELECT END
|
100
|
FROM MW_OUT A
|
101
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
102
|
LEFT JOIN CM_AUTH_STATUS C ON A.KT_AUTH_STATUS=C.AUTH_STATUS
|
103
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
104
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
105
|
LEFT JOIN TL_USER TL2 ON A.KT_MAKER_ID=TL2.TLNANME
|
106
|
LEFT JOIN TL_USER TL3 ON A.KT_CHECKER_ID=TL3.TLNANME
|
107
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRN_ID=BR.BRANCH_ID
|
108
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEPT_ID
|
109
|
LEFT JOIN CM_ALLCODE AL ON A.WARE_HOUSE = AL.CDVAL AND AL.CDNAME='WARE_HOUSE_IN'
|
110
|
LEFT JOIN CM_BRANCH BRC ON A.BRANCH_CREATE = BRC.BRANCH_ID
|
111
|
|
112
|
WHERE 1=1
|
113
|
AND(A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
114
|
AND(A.KT_AUTH_STATUS=@p_KT_AUTH_STATUS OR @p_KT_AUTH_STATUS='' OR @p_KT_AUTH_STATUS IS NULL)
|
115
|
AND(CONVERT(DATE, A.TRN_Date, 103)>=CONVERT(DATE, @p_FR_BUY_DATE, 103)OR @p_FR_BUY_DATE IS NULL OR @p_FR_BUY_DATE='')
|
116
|
AND(CONVERT(DATE, A.TRN_Date, 103)<=CONVERT(DATE, @p_TO_BUY_DATE, 103)OR @p_TO_BUY_DATE IS NULL OR @p_TO_BUY_DATE='')
|
117
|
AND(((A.KT_MAKER_ID IS NOT NULL AND @p_KT_IS_DO='Y'AND NOT EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF WHERE A.OUT_ID = CF.OUT_ID AND ISNULL(CONFIRM_STATUS,'N') = 'N')
|
118
|
) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
119
|
OR((A.KT_MAKER_ID IS NULL AND @p_KT_IS_DO='N'AND NOT EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF WHERE A.OUT_ID = CF.OUT_ID AND ISNULL(CONFIRM_STATUS,'N') = 'N')
|
120
|
))OR ((@p_KT_IS_DO IS NULL OR @p_KT_IS_DO='') AND ((@p_TYPE_SEARCH = 'KT' AND NOT EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF WHERE A.OUT_ID = CF.OUT_ID AND ISNULL(CONFIRM_STATUS,'N') = 'N')) OR @p_TYPE_SEARCH <> 'KT')))
|
121
|
AND ((A.AUTH_STATUS = 'A' AND @p_IS_CONFIRM = 'N' AND EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF
|
122
|
WHERE A.OUT_ID = CF.OUT_ID AND ((CF.BRANCH_ID = @BRANCH_LOGIN AND CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = @DEP_LOGIN) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = @BRANCH_LOGIN)) AND CF.CONFIRM_STATUS = 'N' ))
|
123
|
OR A.AUTH_STATUS = 'A' AND @p_IS_CONFIRM = 'Y' AND EXISTS(SELECT 1 FROM dbo.MW_OUT_CONF CF
|
124
|
WHERE A.OUT_ID = CF.OUT_ID AND ((CF.BRANCH_ID = @BRANCH_LOGIN AND CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = @DEP_LOGIN) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = @BRANCH_LOGIN)) AND CF.CONFIRM_STATUS = 'Y' )OR @p_IS_CONFIRM IS NULL OR @p_IS_CONFIRM = '')
|
125
|
AND ( (@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp))
|
126
|
OR((@p_LEVEL='UNIT' AND (A.BRANCH_CREATE=@p_BRANCH_CREATE OR (@p_TYPE_SEARCH = 'XN' AND EXISTS (
|
127
|
SELECT 1
|
128
|
FROM dbo.MW_OUT_CONF CF
|
129
|
CROSS APPLY dbo.FN_GET_USER_BY_ROLE('GDDV,TPGD', CF.BRANCH_ID, CF.DEP_ID, @MENU_PERMISSION) RL
|
130
|
WHERE ((CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = RL.DEP_ID) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = RL.BRANCH_ID))
|
131
|
AND RL.TLNANME = @p_MAKER_LOGIN
|
132
|
)))))
|
133
|
OR @p_BRANCH_CREATE = ''
|
134
|
OR @p_BRANCH_CREATE IS NULL
|
135
|
OR(@BRANCH_LOGIN = 'DV0001' AND @DEP_LOGIN = 'DEP000000000022')
|
136
|
--- NANG CAP GIAI DOAN 3: Them xu ly UY QUYEN KIEM NHIEM
|
137
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE('GDDV', A.BRANCH_CREATE, A.DEPT_ID, @MENU_PERMISSION) US WHERE US.TLNANME = @p_MAKER_LOGIN)
|
138
|
OR (@p_TYPE_SEARCH = 'XN' AND EXISTS (
|
139
|
SELECT 1
|
140
|
FROM dbo.MW_OUT_CONF CF
|
141
|
CROSS APPLY dbo.FN_GET_USER_BY_ROLE('GDDV,TPGD', CF.BRANCH_ID, CF.DEP_ID, @MENU_PERMISSION) RL
|
142
|
WHERE ((CF.BRANCH_ID = 'DV0001' AND CF.DEP_ID = RL.DEP_ID) OR (CF.BRANCH_ID <> 'DV0001' AND CF.BRANCH_ID = RL.BRANCH_ID))
|
143
|
AND RL.TLNANME = @p_MAKER_LOGIN
|
144
|
)
|
145
|
)
|
146
|
)
|
147
|
)
|
148
|
--AND(A.OUT_ID=@p_OUT_ID OR @p_OUT_ID='' OR @p_OUT_ID IS NULL)
|
149
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
150
|
AND(A.WARE_HOUSE=@p_WARE_HOUSE OR @p_WARE_HOUSE='' OR @p_WARE_HOUSE IS NULL)
|
151
|
AND(A.OUT_CODE LIKE N'%'+@p_OUT_CODE+'%' OR @p_OUT_CODE IS NULL OR @p_OUT_CODE='')
|
152
|
AND (A.RECORD_STATUS='1')
|
153
|
ORDER BY A.CREATE_DT DESC
|
154
|
-- PAGING END
|
155
|
END -- PAGING
|
156
|
GO
|