1
|
ALTER PROCEDURE dbo.MW_OUT_Search @p_TRN_Date VARCHAR(20) =NULL, @p_TRN_TIME VARCHAR(50) =NULL, @p_BRN_ID VARCHAR(15) =NULL,
|
2
|
@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,
|
3
|
@p_OUT_DESC NVARCHAR(500) =NULL, @p_AUTH_STATUS VARCHAR(1) =NULL, @p_MAKER_ID VARCHAR(100) =NULL, @p_CREATE_DT varchar(25)=NULL,
|
4
|
@p_CHECKER_ID VARCHAR(100) =NULL, @p_APPROVE_DT varchar(25)=NULL, @p_KT_AUTH_STATUS VARCHAR(1) =NULL, @p_KT_MAKER_ID VARCHAR(100) =NULL,
|
5
|
@p_KT_CREATE_DT varchar(25)=NULL, @p_KT_CHECKER_ID VARCHAR(100) =NULL, @p_KT_APPROVE_DT varchar(25)=NULL, @p_RECORD_STATUS VARCHAR(1) =NULL,
|
6
|
@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
|
7
|
@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_ID VARCHAR(15) = NULL,@p_OUT_CODE NVARCHAR(30) = NULL
|
8
|
,@p_STATUS VARCHAR(15) = NULL, @p_IS_CANCEL VARCHAR(1), @p_MW_REQ_ID VARCHAR(50)
|
9
|
AS
|
10
|
BEGIN -- PAGING
|
11
|
DECLARE @tmp TABLE(BRANCH_ID VARCHAR(15))
|
12
|
INSERT INTO @tmp
|
13
|
SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE)
|
14
|
|
15
|
|
16
|
DECLARE @DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20)
|
17
|
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
|
18
|
|
19
|
INSERT INTO @ROLE_LOGIN
|
20
|
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_CHECKER_ID) tugr --WHERE tugr.ROLE_ID IN ('GDDV','GDDV_QLTS','TBP_QLTS')
|
21
|
|
22
|
SET @DEP_ID= (SELECT DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_LOGIN)
|
23
|
SET @BRANCH_ID= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_MAKER_LOGIN)
|
24
|
IF(EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV,KSV','DV0001','DEP000000000068') FGUBRV WHERE FGUBRV.TLNANME = @p_MAKER_LOGIN)) SET @p_LEVEL='ALL'
|
25
|
IF(@p_TOP IS NULL OR @p_TOP='' OR @p_TOP=0)
|
26
|
-- PAGING BEGIN
|
27
|
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,
|
28
|
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,
|
29
|
DP.DEP_NAME FRM_DEP_NAME, BRC.BRANCH_CODE BRANCH_CODE_CR, BRC.BRANCH_NAME BRANCH_NAME_CR
|
30
|
, AL.WARE_CODE, AL.WARE_NAME AS WARE_HOUSE_NAME
|
31
|
, CASE WHEN A.IS_CANCEL = '1' THEN N'Phiếu bị huỷ' ELSE AA.CONTENT END STATUS_NAME
|
32
|
,A.MW_REQ_ID AS MW_REQ_NAME
|
33
|
-- SELECT END
|
34
|
FROM MW_OUT A
|
35
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
36
|
LEFT JOIN CM_AUTH_STATUS C ON A.KT_AUTH_STATUS=C.AUTH_STATUS
|
37
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
38
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
39
|
LEFT JOIN TL_USER TL2 ON A.KT_MAKER_ID=TL2.TLNANME
|
40
|
LEFT JOIN TL_USER TL3 ON A.KT_CHECKER_ID=TL3.TLNANME
|
41
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRN_ID=BR.BRANCH_ID
|
42
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEPT_ID
|
43
|
LEFT JOIN CM_ALLCODE AA ON A.STATUS = AA.CDVAL AND AA.CDNAME='MW_OUT_STATUS'
|
44
|
LEFT JOIN CM_BRANCH BRC ON A.BRANCH_CREATE = BRC.BRANCH_ID
|
45
|
LEFT JOIN CM_WARE AL ON A.WARE_ID = AL.WARE_ID
|
46
|
WHERE 1=1 AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
47
|
AND(A.KT_AUTH_STATUS=@p_KT_AUTH_STATUS OR @p_KT_AUTH_STATUS='' OR @p_KT_AUTH_STATUS IS NULL)
|
48
|
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='')
|
49
|
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='')
|
50
|
AND((A.KT_MAKER_ID IS NOT NULL AND @p_KT_IS_DO='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
51
|
OR((A.KT_MAKER_ID IS NULL AND @p_KT_IS_DO='N'))OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO='')
|
52
|
AND((@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp))
|
53
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_CREATE=@p_BRANCH_CREATE)OR(@p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)))
|
54
|
--AND(A.OUT_ID=@p_OUT_ID OR @p_OUT_ID='' OR @p_OUT_ID IS NULL)
|
55
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
56
|
AND(A.MAKER_ID LIKE N'%'+@p_MAKER_ID+'%' OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
|
57
|
AND(((A.BRN_ID =@BRANCH_ID) AND ISNULL(A.DEPT_ID,'') = ISNULL(@DEP_ID,''))
|
58
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV,KSV','DV0001','DEP000000000068') FGUBRV WHERE FGUBRV.TLNANME = @p_MAKER_LOGIN)
|
59
|
--OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',A.BRN_ID,A.DEPT_ID) FGUBRV WHERE FGUBRV.TLNANME = @p_CHECKER_ID)
|
60
|
)
|
61
|
AND(A.WARE_ID=@p_WARE_ID OR @p_WARE_ID='' OR @p_WARE_ID IS NULL)
|
62
|
AND(A.OUT_CODE LIKE N'%'+@p_OUT_CODE+'%' OR @p_OUT_CODE IS NULL OR @p_OUT_CODE='')
|
63
|
AND(A.STATUS = @p_STATUS OR @p_STATUS IS NULL OR @p_STATUS='')
|
64
|
AND(A.IS_CANCEL = @p_IS_CANCEL OR @p_IS_CANCEL IS NULL OR @p_IS_CANCEL='')
|
65
|
AND (A.RECORD_STATUS='1')
|
66
|
AND(A.MW_REQ_ID LIKE N'%'+@p_MW_REQ_ID+'%' OR @p_MW_REQ_ID='' OR @p_MW_REQ_ID IS NULL)
|
67
|
OR A.MAKER_ID = @p_MAKER_ID OR A.MAKER_ID = @p_MAKER_LOGIN
|
68
|
ORDER BY A.CREATE_DT DESC
|
69
|
-- PAGING END@p_IS_CANCEL
|
70
|
ELSE
|
71
|
-- PAGING BEGIN
|
72
|
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,
|
73
|
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,
|
74
|
DP.DEP_NAME FRM_DEP_NAME, BRC.BRANCH_CODE BRANCH_CODE_CR, BRC.BRANCH_NAME BRANCH_NAME_CR
|
75
|
, AL.WARE_CODE, AL.WARE_NAME AS WARE_HOUSE_NAME
|
76
|
, CASE WHEN A.IS_CANCEL = '1' THEN N'Phiếu bị huỷ' ELSE AA.CONTENT END STATUS_NAME
|
77
|
,A.MW_REQ_ID AS MW_REQ_NAME
|
78
|
-- SELECT END
|
79
|
FROM MW_OUT A
|
80
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
81
|
LEFT JOIN CM_AUTH_STATUS C ON A.KT_AUTH_STATUS=C.AUTH_STATUS
|
82
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
83
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
84
|
LEFT JOIN TL_USER TL2 ON A.KT_MAKER_ID=TL2.TLNANME
|
85
|
LEFT JOIN TL_USER TL3 ON A.KT_CHECKER_ID=TL3.TLNANME
|
86
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRN_ID=BR.BRANCH_ID
|
87
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEPT_ID
|
88
|
LEFT JOIN CM_ALLCODE AA ON A.STATUS = AA.CDVAL AND AA.CDNAME='MW_OUT_STATUS'
|
89
|
LEFT JOIN CM_BRANCH BRC ON A.BRANCH_CREATE = BRC.BRANCH_ID
|
90
|
LEFT JOIN CM_WARE AL ON A.WARE_ID = AL.WARE_ID
|
91
|
WHERE 1=1 AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
92
|
AND(A.KT_AUTH_STATUS=@p_KT_AUTH_STATUS OR @p_KT_AUTH_STATUS='' OR @p_KT_AUTH_STATUS IS NULL)
|
93
|
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='')
|
94
|
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='')
|
95
|
AND((A.KT_MAKER_ID IS NOT NULL AND @p_KT_IS_DO='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
96
|
OR((A.KT_MAKER_ID IS NULL AND @p_KT_IS_DO='N'))OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO='')
|
97
|
AND((@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp))
|
98
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_CREATE=@p_BRANCH_CREATE)OR(@p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)))
|
99
|
--AND(A.OUT_ID=@p_OUT_ID OR @p_OUT_ID='' OR @p_OUT_ID IS NULL)
|
100
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
101
|
AND(A.MAKER_ID LIKE N'%'+@p_MAKER_ID+'%' OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
|
102
|
AND(((A.BRN_ID =@BRANCH_ID) AND ISNULL(A.DEPT_ID,'') = ISNULL(@DEP_ID,''))
|
103
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('GDV,KSV','DV0001','DEP000000000068') FGUBRV WHERE FGUBRV.TLNANME = @p_MAKER_LOGIN)
|
104
|
--OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('KSV',A.BRN_ID,A.DEPT_ID) FGUBRV WHERE FGUBRV.TLNANME = @p_CHECKER_ID)
|
105
|
)
|
106
|
AND(A.WARE_ID=@p_WARE_ID OR @p_WARE_ID='' OR @p_WARE_ID IS NULL)
|
107
|
AND(A.OUT_CODE LIKE N'%'+@p_OUT_CODE+'%' OR @p_OUT_CODE IS NULL OR @p_OUT_CODE='')
|
108
|
AND(A.STATUS = @p_STATUS OR @p_STATUS IS NULL OR @p_STATUS='')
|
109
|
AND(A.IS_CANCEL = @p_IS_CANCEL OR @p_IS_CANCEL IS NULL OR @p_IS_CANCEL='')
|
110
|
AND (A.RECORD_STATUS='1')
|
111
|
AND(A.MW_REQ_ID LIKE N'%'+@p_MW_REQ_ID+'%' OR @p_MW_REQ_ID='' OR @p_MW_REQ_ID IS NULL)
|
112
|
OR A.MAKER_ID = @p_MAKER_ID OR A.MAKER_ID = @p_MAKER_LOGIN
|
113
|
ORDER BY A.CREATE_DT DESC
|
114
|
-- PAGING END
|
115
|
END -- PAGING
|