Piolot_RepotForm_PeiHao/系统产品线业绩报表存储过程.sql

365 lines
9.4 KiB
MySQL
Raw Normal View History

2025-03-14 10:00:24 +08:00
ALTER Proc [dbo].[Get_XTCPXYJBB]
(
@FSaleOrgId nvarchar(1000),--<EFBFBD><EFBFBD>֯
@FCZZHTH nvarchar(1000),--ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
--@FStartDate nvarchar(1000),
--@FEndDate nvarchar(1000),
@FStartDate2 nvarchar(1000),
@FEndDate2 nvarchar(1000)
)
as
Select
A.FID as 'FFID',
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY A.FId) != 1
Then ''
ELSE A.F_contractnumber
END as 'PaperContract', --ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY A.FId) != 1
Then null
ELSE A.FAPPROVEDATE
END as 'FDate', --<EFBFBD>µ<EFBFBD>ʱ<EFBFBD><EFBFBD>
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY A.FId) != 1
Then ''
ELSE W2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
END as 'SBU', --SBU(<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY A.FId) != 1
Then ''
ELSE W1.FNAME
END as 'Salesman', --ҵ<EFBFBD><EFBFBD>Ա
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY A.FId) != 1
Then ''
ELSE
(Select FNAME From T_BAS_PREBDONE_L Where FID = A.F_projectname)
END as 'ProjectName', --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY B.FSEQ) != 1
Then null
ELSE
(Select SUM(a1.FALLAMOUNT_LC) From T_SAL_ORDERENTRY_F a1 JOIN T_SAL_ORDERENTRY a2 on
a1.FENTRYID = a2.FENTRYID Where a1.FID = A.FID AND a2.FMANUALROWCLOSE != '1')
END as 'ContractTotal', --<EFBFBD><EFBFBD>ͬ<EFBFBD>ܶ<EFBFBD>
CASE WHEN C.FIsSoftware = 1
THEN ISNULL(BB.FALLAMOUNT_LC,0)
ELSE null
END as 'SoftwarePrice', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
C.FNAME as 'SystemName', --<EFBFBD><EFBFBD>ע(ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
C.F_114 as 'ModelCategories', --<EFBFBD>ͺŴ<EFBFBD><EFBFBD><EFBFBD>
C.F_116 as 'IndustryLine', --<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>
CASE WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 1
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¥<EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 2
THEN 'ҽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 3
THEN 'ѧУ'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>4
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 4
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>5
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 5
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>6
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 6
THEN '<EFBFBD><EFBFBD>Դ'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>7
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 7
THEN '<EFBFBD><EFBFBD>ҵ'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>8
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 8
THEN '<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
ELSE ''
END as 'ProjectField', --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
B.FNOTE as 'Remark', --<EFBFBD><EFBFBD>ע
CASE WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
(Select F_Authorization From T_BD_CUSTOMER where FCUSTID = A.FCustId) = 'Y'
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN (Select F_Authorization From T_BD_CUSTOMER where FCUSTID = A.FCustId) = 'N'
THEN 'ֱ<EFBFBD><EFBFBD>'
ELSE ''
END as 'DirectAgent', --ֱ<EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(A.F_contractnumber+C.FSPECIFICATION) as 'ProductsSizeModel' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
Into #TempTable1
From--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
T_SAL_ORDER A
JOIN
T_SAL_ORDERFIN AA
on AA.FID = A.FID
LEFT JOIN
T_ORG_ORGANIZATIONS_L AAA
on A.FSALEORGID = AAA.FORGID
JOIN
T_SAL_ORDERENTRY B
on B.FID = A.FID
JOIN
T_SAL_ORDERENTRY_F BB
on BB.FENTRYID = B.FENTRYID
LEFT JOIN
V_BD_SALESMAN_L W1
on A.FSalerId = W1.fid
LEFT JOIN
(Select <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> From ERPTOHR.HYHRV3.dbo.v_erp_empinfo Where ISNULL(<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'')!=''
AND ISNULL(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'')!='' GROUP BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) W2
on W1.FNAME = W2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LEFT JOIN
T_BD_CUSTOMER_L K on K.FCUSTID = A.FCUSTID
LEFT JOIN
(Select FNumber,FENTRYID From T_BAS_ASSISTANTDATAENTRY Where FID = '670cc977263353') W8 --<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on W8.FENTRYID = A.F_ORDERCATEGORY
JOIN
(Select aq.F_114,aq.FMATERIALID,qa.FNAME,aq.F_XHDL,aq.F_116,qa.FSpecification,aq.FIsSoftware
From
T_BD_MATERIAL aq
JOIN
T_BD_MATERIAL_L qa
on aq.FMATERIALID = qa.FMATERIALID) C
on B.FMaterialId = C.FMATERIALID
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Where A.FDocumentStatus = 'C' AND W8.FNUMBER != 'Z' AND A.FSALEORGID = 100302
AND B.FMANUALROWCLOSE != '1' AND A.FMANUALCLOSE != '1'
AND (ISNULL(@FSaleOrgId,'') = '' or AAA.FNAME = @FSaleOrgId)
AND (ISNULL(@FCZZHTH,'') = '' or A.F_contractnumber like '%'+@FCZZHTH+'%')
AND (ISNULL(@FStartDate2,'') = '' or A.FAPPROVEDATE >= @FStartDate2)
AND (ISNULL(@FEndDate2,'') = '' or A.FAPPROVEDATE < DATEADD(DAY, 1, CONVERT(DATE, @FEndDate2)))
AND ISNULL(W2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'') != '̼<EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>'
AND ISNULL(K.FNAME,'') NOT IN ('<EFBFBD><EFBFBD>ŵ<EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾','<EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾')
AND ISNULL(W1.FNAME,'') != '<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD>'
Order by A.FID,A.FAPPROVEDATE desc
Select
A.FID as 'FFID',
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY B.FSEQ) != 1
Then ''
ELSE A.F_contractnumber
END as 'PaperContract', --ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY B.FSEQ) != 1
Then null
ELSE A.FAPPROVEDATE
END as 'FDate', --<EFBFBD>µ<EFBFBD>ʱ<EFBFBD><EFBFBD>
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY B.FSEQ) != 1
Then ''
ELSE W2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
END as 'SBU', --SBU(<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY B.FSEQ) != 1
Then ''
ELSE W1.FNAME
END as 'Salesman', --ҵ<EFBFBD><EFBFBD>Ա
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY B.FSEQ) != 1
Then ''
ELSE
(Select FNAME From T_BAS_PREBDONE_L Where FID = A.F_projectname)
END as 'ProjectName', --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CASE When ROW_NUMBER() OVER (PARTITION BY A.FId ORDER BY B.FSEQ) != 1
Then null
ELSE
ISNULL(AA.FBILLALLAMOUNT_LC,0)
END as 'ContractTotal', --<EFBFBD><EFBFBD>ͬ<EFBFBD>ܶ<EFBFBD>
CASE WHEN C.FIsSoftware = 1
THEN ISNULL(BB.FALLAMOUNT_LC,0)
ELSE null
END as 'SoftwarePrice', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
C.FNAME as 'SystemName', --<EFBFBD><EFBFBD>ע(ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
C.F_114 as 'ModelCategories', --<EFBFBD>ͺŴ<EFBFBD><EFBFBD><EFBFBD>
C.F_116 as 'IndustryLine', --<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>
CASE WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 1
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¥<EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 2
THEN 'ҽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 3
THEN 'ѧУ'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>4
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 4
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>5
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 5
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>6
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 6
THEN '<EFBFBD><EFBFBD>Դ'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>7
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 7
THEN '<EFBFBD><EFBFBD>ҵ'
WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>8
(Select
aq.F_Projectfield
From
T_BAS_PREBDTHREE aq
JOIN
T_BAS_PREBDTHREE_L aw
on aq.FID = aw.FID
Where aq.FID = A.F_BON) = 8
THEN '<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
ELSE ''
END as 'ProjectField', --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
B.FNOTE as 'Remark', --<EFBFBD><EFBFBD>ע
CASE WHEN --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
(Select F_Authorization From T_BD_CUSTOMER where FCUSTID = A.FCustId) = 'Y'
THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN (Select F_Authorization From T_BD_CUSTOMER where FCUSTID = A.FCustId) = 'N'
THEN 'ֱ<EFBFBD><EFBFBD>'
ELSE ''
END as 'DirectAgent', --ֱ<EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(A.F_contractnumber+C.FSPECIFICATION) as 'ProductsSizeModel' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
Into #TempTable2
From--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
T_SAL_ORDER A
JOIN
T_SAL_ORDERFIN AA
on AA.FID = A.FID
LEFT JOIN
(Select * From T_ORG_ORGANIZATIONS_L Where FLOCALEID = 2025) AAA
on A.FSALEORGID = AAA.FORGID
JOIN
T_SAL_ORDERENTRY B
on B.FID = A.FID
JOIN
T_SAL_ORDERENTRY_F BB
on BB.FENTRYID = B.FENTRYID
LEFT JOIN
V_BD_SALESMAN_L W1
on A.FSalerId = W1.fid
LEFT JOIN
(Select <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> From ERPTOHR.HYHRV3.dbo.v_erp_empinfo Where ISNULL(<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'')!=''
AND ISNULL(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'')!='' GROUP BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) W2
on W1.FNAME = W2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LEFT JOIN
(Select FNumber,FENTRYID From T_BAS_ASSISTANTDATAENTRY Where FID = '670cc977263353') W8 --<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on W8.FENTRYID = A.F_ORDERCATEGORY
JOIN
(Select aq.F_114,aq.FMATERIALID,qa.FNAME,aq.F_XHDL,aq.F_116,qa.FSpecification,aq.FIsSoftware
From
T_BD_MATERIAL aq
JOIN
T_BD_MATERIAL_L qa
on aq.FMATERIALID = qa.FMATERIALID) C
on B.FMaterialId = C.FMATERIALID
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Where A.FDocumentStatus = 'C'
--AND A.FID in (Select q1.FID From T_SAL_ORDER q1 JOIN T_SAL_ORDERENTRY q2 on q1.FID = q2.FId
--JOIN T_BD_MATERIAL q3 on q3.FMATERIALID = q2.FMaterialId Where q3.FISSOFTWARE = 0)
AND (ISNULL(@FSaleOrgId,'') = '' or AAA.FNAME = @FSaleOrgId)
AND (ISNULL(@FCZZHTH,'') = '' or A.F_contractnumber like '%'+@FCZZHTH+'%')
AND W8.FNUMBER != 'Z' AND A.FSALEORGID != 100302 AND B.FMANUALROWCLOSE != '1' AND A.FMANUALCLOSE != '1'
AND (ISNULL(@FStartDate2,'') = '' or A.FAPPROVEDATE >= @FStartDate2)
AND (ISNULL(@FEndDate2,'') = '' or A.FAPPROVEDATE < DATEADD(DAY, 1, CONVERT(DATE, @FEndDate2)))
Order by A.FID,A.FAPPROVEDATE desc
Select * INTO #TempTable3 From #TempTable1 UnION ALL (Select * From #TempTable2)
Select * From #TempTable3 ORder By FFID,FDate desc
DROP TABLE #TempTable1
DROP TABLE #TempTable2
DROP TABLE #TempTable3
Select F_Authorization,* From T_BD_CUSTOMER