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
|
|