Project

General

Profile

f4.txt

Luc Tran Van, 11/16/2023 05:59 PM

 
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