Project

General

Profile

TR_REQ_GOOD_SEARCH_V2.txt

Truong Nguyen Vu, 03/02/2021 02:50 PM

 
1

    
2

    
3
ALTER PROCEDURE [dbo].[TR_PO_GOODS_Search_v2]
4
	@P_PO_TYPE INT = NULL,
5
	@p_GD_CODE	varchar(20)  = NULL,
6
	@p_GD_NAME	nvarchar(200)  = NULL,
7
	@p_GD_TYPE_ID	varchar(20)  = NULL,
8
	@p_GD_GROUP_ID VARCHAR(20) =NULL,
9
	@p_DESCRIPTION	nvarchar(2000)  = NULL,
10
	@p_SUP_ID	varchar(15)  = NULL,
11
	@p_PRICE	decimal(18)  = NULL,
12
	@p_UNIT_ID	varchar(15)  = NULL,	
13
	@P_PLAN_ID NVARCHAR(15) = NULL,
14
	@P_CONTRACT_ID NVARCHAR(15) = NULL,
15
	@P_CONTRACT_CODE NVARCHAR(15) = NULL,
16
	@P_CONTRACT_NAME NVARCHAR(100) = NULL,
17
	@p_TR_REQ_ID varchar(20)  = NULL,
18
	@P_TOP	INT = null
19
AS
20
BEGIN
21
	DECLARE @PLAN_CODE VARCHAR(15) = (SELECT PLAN_CODE FROM PL_MASTER WHERE PLAN_ID = @P_PLAN_ID)
22
	DECLARE @PLAN_NAME NVARCHAR(1000) = (SELECT PLAN_NAME FROM PL_MASTER WHERE PLAN_ID = @P_PLAN_ID)
23
	DECLARE @BRANCHCODE VARCHAR(15) = (SELECT BRANCH_CODE FROM PL_MASTER T1 INNER JOIN CM_BRANCH T2
24
	ON T1.BRANCH_ID = T2.BRANCH_ID WHERE T1.PLAN_ID = @P_PLAN_ID)
25
	DECLARE @BRANCHNAME NVARCHAR(1000) = (SELECT BRANCH_NAME FROM PL_MASTER T1 INNER JOIN CM_BRANCH T2
26
	ON T1.BRANCH_ID = T2.BRANCH_ID WHERE T1.PLAN_ID = @P_PLAN_ID)	
27
	DECLARE @BRANCH_ADDR NVARCHAR(1000) = (SELECT ADDR FROM PL_MASTER T1 INNER JOIN CM_BRANCH T2
28
	ON T1.BRANCH_ID = T2.BRANCH_ID WHERE T1.PLAN_ID = @P_PLAN_ID)
29
	DECLARE @BRANCHID VARCHAR(100) = (SELECT T1.BRANCH_ID FROM PL_MASTER T1 WHERE T1.PLAN_ID = @P_PLAN_ID)
30
	DECLARE	@l_CONTRACT_DESC NVARCHAR(max)='',
31
	@l_CONTRACT_ID VARCHAR(15)='', @l_CONTRACT_CODE VARCHAR(15)='', @l_CONTRACT_NAME NVARCHAR(200)='',
32
	@l_TRADE_ID VARCHAR(15)='', @l_QUANTITY numeric(18,0) = '1', @l_QUANTITY_EXE decimal(18,0), @l_QUANTITY_REMAIN decimal(18,0)
33

    
34
	SET @l_QUANTITY_EXE = 0
35
	SET @l_QUANTITY_REMAIN = 0
36
	--- IF TOP = 3 TIM KIEM HANG HOA PO - HOP DONG
37
	IF(@p_TR_REQ_ID IS NOT NULL AND @p_TR_REQ_ID <> '' )--Trong ke hoach - lAY TRONG PLAN_TRADEDETAIL
38
	BEGIN
39
				SELECT H.HH_ID AS [GD_ID],H.HH_CODE AS [GD_CODE], H.HH_NAME [GD_NAME], H.HH_TYPE_ID AS [GD_TYPE_ID],
40
				H.USE_BRANCH AS [USE_BRANCH],ISNULL(H.AMORT_RATE,0) AS [AMORT_RATE],H.DESCRIPTION AS [DESCRIPTION],
41
				H.SUP_ID AS [SUP_ID], X.REQDT_ID, X.QUANTITY AS QUANTITY,X.PRICE AS PRICE ,@l_CONTRACT_DESC AS [CONTRAC_DESC], '' TRADE_ID
42
				,F.PLAN_ID AS PLAN_ID,F.PLAN_CODE AS PLAN_CODE,F.PLAN_NAME AS PLAN_NAME,D.UNIT_ID AS UNIT_ID, D.UNIT_CODE AS UNIT_CODE, D.UNIT_NAME AS UNIT_NAME,
43
				@l_CONTRACT_ID AS CONTRACT_ID,@l_CONTRACT_CODE AS CONTRACT_CODE, HH.HH_NAME AS GD_NAME_REAL,
44
				@l_CONTRACT_NAME AS [CONTRACT_NAME]
45
				, 0.0 AS QUANTITY_EXE, 0.0 AS QUANTITY_REMAIN, --THIEUVQ THEM 22/09/2014
46
				'' AS CD_ID, --THIEUVQ LAY CHI TIET HOP DONG 14092016
47
				E.BRANCH_ID AS BRANCH_ID,E.BRANCH_CODE AS BRANCH_CODE, E.BRANCH_NAME AS BRANCH_NAME, @BRANCH_ADDR AS R_ADDR, TY.HH_TYPE_CODE, TY.HH_TYPE_NAME,HG.HH_GROUP_ID,HG.HH_GROUP_CODE,HG.HH_GROUP_NAME
48
			
49
				FROM TR_REQUEST_DOC_DT X
50
				--LEFT JOIN CM_GOODS A   ON A.GD_ID = B.GOODS_ID
51
				
52
				--LEFT JOIN PL_REQUEST_DOC D ON X.PL_REQDT_ID
53
				LEFT JOIN PL_REQUEST_DOC_DT PT ON X.PL_REQDT_ID= PT.REQDT_ID
54
				LEFT JOIN TR_REQUEST_DOC_PL_DT PLDT ON PLDT.REQPL_DT_ID = X.REQPL_DT_ID
55
				LEFT JOIN CM_HANGHOA HH ON HH.HH_ID = PLDT.HH_ID
56
				LEFT JOIN PL_TRADEDETAIL B ON	PT.TRADE_ID = B.TRADE_ID	
57
				LEFT JOIN PL_MASTER F ON F.PLAN_ID = B.PLAN_ID
58
				LEFT JOIN CM_BRANCH E ON E.BRANCH_ID =  F.BRANCH_ID
59
				LEFT JOIN CM_HANGHOA H ON H.HH_ID = X.HANGHOA_ID	
60
				LEFT JOIN CM_HANGHOA_TYPE TY ON H.HH_TYPE_ID = TY.HH_TYPE_ID
61
				LEFT JOIN dbo.CM_HANGHOA_GROUP HG ON HG.HH_GROUP_ID=TY.HH_GROUP_ID	
62
				LEFT JOIN CM_UNIT D ON H.UNIT_ID = D.UNIT_ID	
63
				WHERE 1 = 1
64
				AND (H.HH_CODE LIKE '%' + @p_GD_CODE + '%' OR @p_GD_CODE IS NULL OR @p_GD_CODE = '')
65
				AND (H.HH_NAME LIKE '%' + @p_GD_NAME + '%' OR @p_GD_NAME IS NULL OR @p_GD_NAME = '')
66
				AND (H.HH_TYPE_ID LIKE '%' + @p_GD_TYPE_ID + '%' OR @p_GD_TYPE_ID IS NULL OR @p_GD_TYPE_ID = '')
67
				AND (X.SUP_ID LIKE '%' + @p_SUP_ID + '%' OR @p_SUP_ID IS NULL OR @p_SUP_ID = '')
68
				AND (HG.HH_GROUP_ID LIKE '%' + @p_GD_GROUP_ID + '%' OR @p_GD_GROUP_ID IS NULL OR @p_GD_GROUP_ID = '')
69
				AND (X.REQ_DOC_ID = @p_TR_REQ_ID OR @p_TR_REQ_ID IS NULL OR @p_TR_REQ_ID = '')
70
				 AND (X.TRAN_TYPE_ID NOT IN (SELECT TRN_TYPE FROM dbo.CM_TRAN_TYPE WHERE NOTES='XK') OR X.TRAN_TYPE_ID IS NULL OR X.TRAN_TYPE_ID='')
71
				--AND (B.PLAN_ID = @P_PLAN_ID OR @P_PLAN_ID IS NULL OR @P_PLAN_ID = '')
72
				RETURN
73
	END
74
	IF(@P_CONTRACT_ID IS NOT NULL AND @P_CONTRACT_ID <>'')
75
	BEGIN
76
		SELECT H.HH_ID AS [GD_ID],H.HH_CODE AS [GD_CODE], H.HH_NAME [GD_NAME], H.HH_TYPE_ID AS [GD_TYPE_ID],
77
				H.USE_BRANCH AS [USE_BRANCH],ISNULL(H.AMORT_RATE,0) AS [AMORT_RATE],H.DESCRIPTION AS [DESCRIPTION],
78
				H.SUP_ID AS [SUP_ID],X.QUANTITY AS QUANTITY,X.PRICE AS PRICE ,@l_CONTRACT_DESC AS [CONTRAC_DESC], '' TRADE_ID
79
				,'' AS PLAN_ID,'' AS PLAN_CODE,'' AS PLAN_NAME,D.UNIT_ID AS UNIT_ID, D.UNIT_CODE AS UNIT_CODE, D.UNIT_NAME AS UNIT_NAME,
80
				@l_CONTRACT_ID AS CONTRACT_ID,@l_CONTRACT_CODE AS CONTRACT_CODE, 
81
				@l_CONTRACT_NAME AS [CONTRACT_NAME]
82
				, 0.0 AS QUANTITY_EXE, 0.0 AS QUANTITY_REMAIN, --THIEUVQ THEM 22/09/2014
83
				'' AS CD_ID, --THIEUVQ LAY CHI TIET HOP DONG 14092016
84
				'' AS BRANCH_ID,'' AS BRANCH_CODE, '' AS BRANCH_NAME, @BRANCH_ADDR AS R_ADDR, TY.HH_TYPE_CODE, TY.HH_TYPE_NAME
85
					,HG.HH_GROUP_ID,HG.HH_GROUP_CODE,HG.HH_GROUP_NAME
86
				--E.BRANCH_ID, E.BRANCH_CODE, E.BRANCH_NAME, @BRANCH_ADDR AS R_ADDR
87
				FROM dbo.TR_CONTRACT_DT X
88
				LEFT JOIN CM_HANGHOA H ON H.HH_ID = X.GOODS_ID	
89
				LEFT JOIN CM_HANGHOA_TYPE TY ON H.HH_TYPE_ID = TY.HH_TYPE_ID
90
				LEFT JOIN dbo.CM_HANGHOA_GROUP HG ON HG.HH_GROUP_ID=TY.HH_GROUP_ID
91
					LEFT JOIN CM_UNIT D ON H.UNIT_ID = D.UNIT_ID
92
				WHERE 1 = 1
93
				AND (H.HH_CODE LIKE '%' + @p_GD_CODE + '%' OR @p_GD_CODE IS NULL OR @p_GD_CODE = '')
94
				AND (H.HH_NAME LIKE '%' + @p_GD_NAME + '%' OR @p_GD_NAME IS NULL OR @p_GD_NAME = '')
95
				AND (H.HH_TYPE_ID LIKE '%' + @p_GD_TYPE_ID + '%' OR @p_GD_TYPE_ID IS NULL OR @p_GD_TYPE_ID = '')
96
				--AND (X LIKE '%' + @p_SUP_ID + '%' OR @p_SUP_ID IS NULL OR @p_SUP_ID = '')
97
						AND (HG.HH_GROUP_ID LIKE '%' + @p_GD_GROUP_ID + '%' OR @p_GD_GROUP_ID IS NULL OR @p_GD_GROUP_ID = '')
98
				AND (X.CONTRACT_ID = @P_CONTRACT_ID OR @P_CONTRACT_ID IS NULL OR @P_CONTRACT_ID = '')
99
				--AND (B.PLAN_ID = @P_PLAN_ID OR @P_PLAN_ID IS NULL OR @P_PLAN_ID = '')
100
				RETURN
101
	END
102
	ELSE IF(@p_TR_REQ_ID IS  NULL OR @p_TR_REQ_ID = '' )--Trong ke hoach - lAY TRONG PLAN_TRADEDETAIL
103
	BEGIN
104
				SELECT H.HH_ID AS [GD_ID],H.HH_CODE AS [GD_CODE], H.HH_NAME [GD_NAME], H.HH_TYPE_ID AS [GD_TYPE_ID],
105
				H.USE_BRANCH AS [USE_BRANCH],ISNULL(H.AMORT_RATE,0) AS [AMORT_RATE],H.DESCRIPTION AS [DESCRIPTION],
106
				H.SUP_ID AS [SUP_ID],NULL AS QUANTITY,NULL AS PRICE ,@l_CONTRACT_DESC AS [CONTRAC_DESC], '' TRADE_ID
107
				,'' AS PLAN_ID,'' AS PLAN_CODE,''AS PLAN_NAME,D.UNIT_ID AS UNIT_ID, D.UNIT_CODE AS UNIT_CODE, D.UNIT_NAME AS UNIT_NAME,
108
				@l_CONTRACT_ID AS CONTRACT_ID,@l_CONTRACT_CODE AS CONTRACT_CODE, 
109
				@l_CONTRACT_NAME AS [CONTRACT_NAME]
110
				, 0.0 AS QUANTITY_EXE, 0.0 AS QUANTITY_REMAIN, --THIEUVQ THEM 22/09/2014
111
				'' AS CD_ID, --THIEUVQ LAY CHI TIET HOP DONG 14092016
112
				'' AS BRANCH_ID,'' AS BRANCH_CODE,'' AS BRANCH_NAME, @BRANCH_ADDR AS R_ADDR, TY.HH_TYPE_CODE, TY.HH_TYPE_NAME
113
					,HG.HH_GROUP_ID,HG.HH_GROUP_CODE,HG.HH_GROUP_NAME
114
				--E.BRANCH_ID, E.BRANCH_CODE, E.BRANCH_NAME, @BRANCH_ADDR AS R_ADDR
115
				FROM  CM_HANGHOA H 	
116
				LEFT JOIN CM_HANGHOA_TYPE TY ON H.HH_TYPE_ID = TY.HH_TYPE_ID	
117
					LEFT JOIN dbo.CM_HANGHOA_GROUP HG ON HG.HH_GROUP_ID=TY.HH_GROUP_ID				
118
				LEFT JOIN CM_UNIT D ON H.UNIT_ID = D.UNIT_ID
119
			WHERE 1 = 1
120
				AND (H.HH_CODE LIKE '%' + @p_GD_CODE + '%' OR @p_GD_CODE IS NULL OR @p_GD_CODE = '')
121
				AND (H.HH_NAME LIKE '%' + @p_GD_NAME + '%' OR @p_GD_NAME IS NULL OR @p_GD_NAME = '')
122
				AND (H.HH_TYPE_ID LIKE '%' + @p_GD_TYPE_ID + '%' OR @p_GD_TYPE_ID IS NULL OR @p_GD_TYPE_ID = '')
123
				AND (H.SUP_ID LIKE '%' + @p_SUP_ID + '%' OR @p_SUP_ID IS NULL OR @p_SUP_ID = '')
124
					AND (HG.HH_GROUP_ID LIKE '%' + @p_GD_GROUP_ID + '%' OR @p_GD_GROUP_ID IS NULL OR @p_GD_GROUP_ID = '')
125
				--AND (B.PLAN_ID = @P_PLAN_ID OR @P_PLAN_ID IS NULL OR @P_PLAN_ID = '')
126
				RETURN
127
	END
128
	
129
END
130
--EXEC CM_GOODS_Search '','','','','',0,'','','','','','','','',100s
131

    
132

    
133

    
134

    
135