1
|
|
2
|
ALTER PROCEDURE [dbo].[PL_REQ_GOOD_GetById]
|
3
|
@p_REQ_ID VARCHAR(15)
|
4
|
AS
|
5
|
BEGIN
|
6
|
DECLARE
|
7
|
@l_QUANTITY numeric(18,0)=0, @l_QUANTITY_EXE decimal(18,0)=0, @l_QUANTITY_REMAIN decimal(18,0)=0,
|
8
|
@l_AMT numeric(18,0)=0, @l_AMT_EXE decimal(18,0)=0, @l_AMT_REMAIN decimal(18,0)=0
|
9
|
|
10
|
|
11
|
|
12
|
|
13
|
SELECT DISTINCT PM.PLAN_ID,PM.PLAN_CODE,DT.TRADE_ID,DT.GOODS_ID,CG.GD_CODE,CG.GD_NAME,PM.BRANCH_ID,PM.DEPT_ID,
|
14
|
ISNULL(DT.QUANTITY,0) AS QUANTITY,
|
15
|
ISNULL(DT.QUANTITY_EXE,0) AS QUANTITY_EXE,
|
16
|
ISNULL(DT.QUANTITY_ETM,0) AS QUANTITY_ETM,
|
17
|
ISNULL(DT.QUANTITY,0)- ISNULL(DT.QUANTITY_EXE,0) AS QUANTITY_REMAIN,
|
18
|
ISNULL(DT.QUANTITY,0)-ISNULL(DT.QUANTITY_ETM,0) AS QUANTITY_REMAIN_ETM,
|
19
|
ISNULL( DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0) AS AMT_APP,
|
20
|
ISNULL( DT.AMT_EXE,0) AS AMT_EXE,
|
21
|
ISNULL( DT.AMT_ETM,0) AS AMT_ETM,
|
22
|
ISNULL( DT.AMT_TF,0) AS AMT_TF,
|
23
|
ISNULL( DT.AMT_RECEIVE_TF,0) AS AMT_RECEIVE_TF,
|
24
|
ISNULL(DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0)- ISNULL( DT.AMT_TF,0)- ISNULL(DT.AMT_EXE,0) AS AMT_REMAIN,
|
25
|
ISNULL(DT.AMT_APP,0) + ISNULL( DT.AMT_RECEIVE_TF,0)- ISNULL( DT.AMT_TF,0)-ISNULL(DT.AMT_ETM,0) AS AMT_REMAIN_ETM,
|
26
|
CB.BRANCH_CODE,CB.BRANCH_NAME,'I' AS REQDT_TYPE,
|
27
|
DT.NOTES,CM.DVDM_ID AS COST_ID,CM.DVDM_CODE AS COST_CODE,CM.DVDM_NAME AS COST_NAME,CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_ID AS KHOI_ID,CK.DVDM_NAME AS KHOI_NAME,
|
28
|
DM.DVDM_ID,DM.DVDM_CODE,DM.DVDM_NAME,GT.GD_TYPE_NAME,GT.GD_TYPE_CODE,GT.GD_TYPE_ID
|
29
|
FROM dbo.PL_MASTER PM
|
30
|
LEFT JOIN dbo.PL_TRADEDETAIL DT ON DT.PLAN_ID=PM.PLAN_ID
|
31
|
LEFT JOIN dbo.CM_GOODS CG ON CG.GD_ID=DT.GOODS_ID
|
32
|
LEFT JOIN dbo.CM_GOODSTYPE GT ON CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%'
|
33
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=PM.BRANCH_ID
|
34
|
LEFT JOIN dbo.CM_GOOD_DVDM CGDM ON CGDM.GD_ID=CG.GD_ID
|
35
|
LEFT JOIN dbo.CM_DVDM DM ON DM.DVDM_ID=CGDM.DVDM_ID
|
36
|
LEFT JOIN dbo.CM_DVDM CM ON CM.DVDM_ID=CGDM.DVCM_ID
|
37
|
LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=CGDM.KHOI_ID
|
38
|
LEFT JOIN dbo.PL_REQUEST_DOC_DT RD ON RD.GOODS_ID=DT.GOODS_ID AND RD.TRADE_ID=DT.TRADE_ID
|
39
|
LEFT JOIN dbo.PL_REQUEST_DOC PD ON PD.REQ_ID=RD.REQ_ID
|
40
|
WHERE (1=1)
|
41
|
AND RD.REQ_ID=@p_REQ_ID
|
42
|
|
43
|
|
44
|
|
45
|
UNION ALL
|
46
|
|
47
|
SELECT '' AS PLAN_ID,'' AS PLAN_CODE,'' AS TRADE_ID, CG.GD_ID AS GOODS_ID, CG.GD_CODE ,CG.GD_NAME ,'' AS BRANCH_ID,'' AS DEPT_ID,
|
48
|
@l_QUANTITY AS QUANTITY,
|
49
|
@l_QUANTITY_EXE AS QUANTITY_EXE,
|
50
|
@l_QUANTITY_EXE AS QUANTITY_ETM,
|
51
|
@l_QUANTITY_REMAIN AS QUANTITY_REMAIN,
|
52
|
@l_QUANTITY_REMAIN AS QUANTITY_REMAIN_ETM,
|
53
|
@l_AMT AS AMT_APP,
|
54
|
@l_AMT_EXE AS AMT_EXE,
|
55
|
@l_AMT_EXE AS AMT_ETM,
|
56
|
@l_AMT_EXE AS AMT_TF,
|
57
|
@l_AMT_EXE AS AMT_RECEIVE_TF,
|
58
|
@l_AMT_REMAIN AS AMT_REMAIN,
|
59
|
@l_AMT_REMAIN AS AMT_REMAIN_ETM,
|
60
|
'' AS BRANCH_CODE,
|
61
|
N'Ngoài kế hoạch' AS BRANCH_NAME,
|
62
|
'O' AS REQDT_TYPE,
|
63
|
'' AS NOTES,CM.DVDM_ID AS COST_ID,CM.DVDM_CODE AS COST_CODE,CM.DVDM_NAME AS COST_NAME,CK.DVDM_CODE AS KHOI_CODE,CK.DVDM_ID AS KHOI_ID,CK.DVDM_NAME AS KHOI_NAME,
|
64
|
DM.DVDM_ID,DM.DVDM_CODE,DM.DVDM_NAME,GT.GD_TYPE_NAME,GT.GD_TYPE_CODE,GT.GD_TYPE_ID
|
65
|
FROM dbo.CM_GOODS CG
|
66
|
LEFT JOIN dbo.CM_GOOD_DVDM CGDM ON CGDM.GD_ID=CG.GD_ID
|
67
|
LEFT JOIN dbo.CM_DVDM DM ON DM.DVDM_ID=CGDM.DVDM_ID
|
68
|
LEFT JOIN dbo.CM_DVDM CM ON CM.DVDM_ID=CGDM.DVCM_ID
|
69
|
LEFT JOIN dbo.CM_DVDM CK ON CK.DVDM_ID=CGDM.KHOI_ID
|
70
|
LEFT JOIN dbo.CM_GOODSTYPE GT ON CG.GD_CODE LIKE '%.' + GT.GD_TYPE_CODE +'.%'
|
71
|
WHERE (1=1)
|
72
|
AND EXISTS(SELECT RD.REQDT_ID FROM dbo.PL_REQUEST_DOC_DT RD WHERE RD.REQ_ID=@p_REQ_ID AND RD.GOODS_ID=CG.GD_ID AND RD.REQDT_TYPE='O')
|
73
|
|
74
|
END
|
75
|
--EXEC CM_GOODS_Search '','','','','',0,'','','','','','','','',100s
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
|