Merge branch 'main' of http://8.130.121.29:3000/TianHua/PiolotTH_ReportFrom
# Conflicts: # YSZKDZBaoBiao/AccountsReceivableReport2.cs
This commit is contained in:
commit
8a435c467c
14
DDWFHMX.cs
14
DDWFHMX.cs
@ -57,8 +57,10 @@ namespace GZ_LTHReportForms.ReporyDDWFH
|
||||
|
||||
ReportHeader header = new ReportHeader();
|
||||
|
||||
header.AddChild("日期", new LocaleValue("日期"), SqlStorageType.SqlDatetime);
|
||||
header.AddChild("单据日期", new LocaleValue("单据日期"), SqlStorageType.SqlDatetime);
|
||||
header.AddChild("制单人", new LocaleValue("制单人"), SqlStorageType.Sqlnvarchar);
|
||||
header.AddChild("审核日期", new LocaleValue("审核日期"), SqlStorageType.SqlDatetime);
|
||||
header.AddChild("审核人", new LocaleValue("审核人"), SqlStorageType.Sqlnvarchar);
|
||||
header.AddChild("区域", new LocaleValue("区域"), SqlStorageType.Sqlnvarchar);
|
||||
header.AddChild("业务员", new LocaleValue("业务员"), SqlStorageType.Sqlnvarchar);
|
||||
header.AddChild("合同号", new LocaleValue("合同号"), SqlStorageType.Sqlnvarchar);
|
||||
@ -113,12 +115,12 @@ namespace GZ_LTHReportForms.ReporyDDWFH
|
||||
EXEC GZTH_DDWFHMXB '{0}','{1}','{2}','{4}'
|
||||
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY [日期]) AS FIDENTITYID,
|
||||
ROW_NUMBER() OVER (ORDER BY [审核日期]) AS FIDENTITYID,
|
||||
*
|
||||
INTO {3}
|
||||
FROM GZ_DDWFHMX_TH
|
||||
WHERE [未发货数量] <> 0 AND [未发货数量] <> 0
|
||||
ORDER BY [日期]
|
||||
ORDER BY [审核日期]
|
||||
", FstartDate, FEndDate, FSaleOrgId, tableName, Fcontractnumber);
|
||||
DBUtils.Execute(this.Context, sql);
|
||||
}
|
||||
@ -131,6 +133,12 @@ namespace GZ_LTHReportForms.ReporyDDWFH
|
||||
result.Add(new SummaryField("已发货金额", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("未发货数量", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("未发货金额", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("星空已发货数量", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("星空已发货金额", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("星空未发货数量", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("K3已发货数量", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("K3已发货金额", BOSEnums.Enu_SummaryType.SUM));
|
||||
result.Add(new SummaryField("K3未发货数量", BOSEnums.Enu_SummaryType.SUM));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
header.AddChild("PPBillingDate", new LocaleValue("普票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PPBillingAmount", new LocaleValue("普票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ZPBillingDate", new LocaleValue("专票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ZPBillingAmount", new LocaleValue("专票开票金额"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ZPBillingAmount", new LocaleValue("专票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("BillingAmount", new LocaleValue("开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PaymentDate", new LocaleValue("回款日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PaymentAmount", new LocaleValue("回款金额"), SqlStorageType.SqlDecimal);
|
||||
@ -163,28 +163,28 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
|
||||
", FSDate,fDate,ZZFID,fClient,XSYFID,ZZHTH);
|
||||
sql += string.Format(@"/*dialect*/
|
||||
INSERT INTO YingShouZhanKuanMX_GZTH(NUMBER,FQTY,FTAXPRICE,FALLAMOUNT,OrderAmount,ShipmentsNum,ShipmentsAmount,
|
||||
ReturnNum,ReturnAmount,BillingAmount,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets,[K3专票金额],[K3普票金额])
|
||||
SELECT
|
||||
'合计',
|
||||
SUM(FQTY),
|
||||
SUM(FTAXPRICE),
|
||||
SUM(FALLAMOUNT),
|
||||
SUM(OrderAmount),
|
||||
SUM(ShipmentsNum),
|
||||
SUM(ShipmentsAmount),
|
||||
SUM(ReturnNum),
|
||||
SUM(ReturnAmount),
|
||||
SUM(BillingAmount),
|
||||
SUM(PaymentAmount),
|
||||
SUM(ShippedDebt),
|
||||
SUM(InvoicedDebt),
|
||||
SUM(OwedTickets),
|
||||
SUM([K3专票金额]),
|
||||
SUM([K3普票金额])
|
||||
FROM
|
||||
YingShouZhanKuanMX_GZTH
|
||||
where 1=1
|
||||
INSERT INTO YingShouZhanKuanMX_GZTH(NUMBER,FQTY,FALLAMOUNT,OrderAmount,ShipmentsNum,ShipmentsAmount,
|
||||
ReturnNum,ReturnAmount,BillingAmount,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets,[K3退货金额],PPBillingAmount,ZPBillingAmount,[星空退货金额],[星空发货金额])
|
||||
SELECT
|
||||
'合计',
|
||||
SUM(FQTY),
|
||||
SUM(FALLAMOUNT),
|
||||
SUM(OrderAmount),
|
||||
SUM(ShipmentsNum),
|
||||
SUM(ShipmentsAmount),
|
||||
SUM(ReturnNum),
|
||||
SUM(ReturnAmount),
|
||||
SUM(BillingAmount),
|
||||
SUM(PaymentAmount),
|
||||
SUM(ShippedDebt),
|
||||
SUM(InvoicedDebt),
|
||||
SUM(OwedTickets),sum(K3退货金额) ,
|
||||
SUM(PPBillingAmount),
|
||||
SUM(ZPBillingAmount),
|
||||
sum(星空退货金额),SUM(星空发货金额),
|
||||
FROM
|
||||
YingShouZhanKuanMX_GZTH
|
||||
where 1=1
|
||||
");
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
@ -192,12 +192,12 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
}
|
||||
sql += string.Format(@"
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY [FID]) AS FIDENTITYID,
|
||||
ROW_NUMBER() OVER (ORDER BY [FID],OrderAmount desc) AS FIDENTITYID,
|
||||
*
|
||||
INTO {0}
|
||||
FROM YingShouZhanKuanMX_GZTH
|
||||
WHERE 1=1
|
||||
",tableName);
|
||||
", tableName);
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
sql += string.Format("AND FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH WHERE IsEnded = '未完结')");
|
||||
|
||||
@ -1,9 +1,3 @@
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[GXFPJEYSDZDMX_GZTH] Script Date: 2025/7/15 16:06:03 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
ALTER PROCEDURE [dbo].[GXFPJEYSDZDMX_GZTH]
|
||||
|
||||
AS
|
||||
@ -24,55 +18,117 @@ BEGIN
|
||||
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
|
||||
WHERE B.FPLX = '专票' AND A.[是否K3数据] = 0
|
||||
|
||||
--期初专票金额
|
||||
update A
|
||||
SET A.QCZPBillingAmount = ISNULL(A.QCZPBillingAmount,0) + B.FAFTERTOTALTAXFOR
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
CROSS APPLY
|
||||
(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
|
||||
FROM T_IV_SALESIC
|
||||
WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
|
||||
AND FBILLTYPEID = '50ea4e69b6144f69961d2e9b44820929'
|
||||
AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
|
||||
AND A.[是否K3数据] = 0
|
||||
) B
|
||||
----期初专票金额
|
||||
--UPDATE A
|
||||
--SET A.QCZPBillingAmount =0 -- ISNULL(A.QCZPBillingAmount,0) + B.FAFTERTOTALTAXFOR
|
||||
--FROM YingShouZhanKuanMX_GZTH A
|
||||
--CROSS APPLY
|
||||
--(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
|
||||
--FROM T_IV_SALESIC
|
||||
--WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
|
||||
--AND FBILLTYPEID = '50ea4e69b6144f69961d2e9b44820929'
|
||||
--AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
|
||||
--AND A.[是否K3数据] = 0
|
||||
--) B
|
||||
|
||||
--期初普票金额
|
||||
update A
|
||||
SET A.QCPPBillingAmount = ISNULL(A.QCPPBillingAmount,0)+ B.FAFTERTOTALTAXFOR
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
CROSS APPLY
|
||||
(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
|
||||
FROM T_IV_SALESIC
|
||||
WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
|
||||
AND FBILLTYPEID = '1cab58bc33d24e27826be02249f4edac'
|
||||
AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
|
||||
AND A.[是否K3数据] = 0
|
||||
) B
|
||||
----期初普票金额
|
||||
--UPDATE A
|
||||
--SET A.QCPPBillingAmount =0-- ISNULL(A.QCPPBillingAmount,0)+ B.FAFTERTOTALTAXFOR
|
||||
--FROM YingShouZhanKuanMX_GZTH A
|
||||
--CROSS APPLY
|
||||
--(SELECT SUM(FAFTERTOTALTAXFOR) AS FAFTERTOTALTAXFOR
|
||||
--FROM T_IV_SALESIC
|
||||
--WHERE F_PAPERNUMBER = A.CONTRACTNUMBER
|
||||
--AND FBILLTYPEID = '1cab58bc33d24e27826be02249f4edac'
|
||||
--AND FID NOT IN (SELECT FPFID FROM FPYSDZDMX)
|
||||
--AND A.[是否K3数据] = 0
|
||||
--) B
|
||||
|
||||
--更新蓝票下推红票的开票金额
|
||||
UPDATE A
|
||||
SET A.KPJE = B.HZKPJE, A.ISTrue = 1
|
||||
SET --A.KPJE = B.HZKPJE,
|
||||
A.ISTrue = 1
|
||||
FROM FPYSDZDMX A
|
||||
INNER JOIN FPYSDZDHPMXHP B ON A.FPFID = B.LZFPFID AND A.FPFENTRYID = B.LZFPFENTRYID
|
||||
|
||||
|
||||
UPDATE A
|
||||
SET PPBillingAmount = PPBillingAmount + B.KPJE
|
||||
SET PPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
|
||||
WHERE B.FPLX = '普票' AND B.ISTrue = 1 AND A.[是否K3数据] = 0
|
||||
INNER JOIN (SELECT MAX(FPRQ) FPRQ,XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX FROM FPYSDZDMX GROUP BY XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX) B
|
||||
ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
|
||||
WHERE B.FPLX = '普票' AND A.[是否K3数据] = 0
|
||||
UPDATE A
|
||||
SET ZPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN (SELECT MAX(FPRQ) FPRQ,XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX FROM FPYSDZDMX GROUP BY XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX) B
|
||||
ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
|
||||
WHERE B.FPLX = '专票' AND A.[是否K3数据] = 0
|
||||
|
||||
--UPDATE A
|
||||
--SET PPBillingAmount = B.KPJE
|
||||
--FROM YingShouZhanKuanMX_GZTH A
|
||||
--INNER JOIN (SELECT bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ,SUM(KPJE) KPJE FROM FPYSDZDMX bb
|
||||
--WHERE bB.FPLX = '普票'
|
||||
--GROUP BY bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ ) B
|
||||
--ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
|
||||
--WHERE A.[是否K3数据] = 0
|
||||
|
||||
--UPDATE A
|
||||
--SET ZPBillingAmount = B.KPJE
|
||||
--FROM YingShouZhanKuanMX_GZTH A
|
||||
--INNER JOIN (SELECT bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ,SUM(KPJE) KPJE FROM FPYSDZDMX bb
|
||||
--WHERE bB.FPLX = '专票'
|
||||
--GROUP BY bb.XSDDFID,bb.XSDDFENTRYID,bb.FPJSZZ ) B
|
||||
--ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
|
||||
--WHERE A.[是否K3数据] = 0
|
||||
|
||||
|
||||
UPDATE A
|
||||
SET ZPBillingAmount = ZPBillingAmount+ B.KPJE
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN FPYSDZDMX B ON A.FID = B.XSDDFID AND A.FENTRYID = B.XSDDFENTRYID AND A.FSaleOrgId = B.FPJSZZ
|
||||
WHERE B.FPLX = '专票' AND B.ISTrue = 1 AND A.[是否K3数据] = 0
|
||||
SET PPBillingAmount = B.KPJE
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ FROM (
|
||||
SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ FROM FPYSDZDMX bb
|
||||
WHERE bb.FPLX = '普票' ) cc
|
||||
GROUP BY cc.XSDDFID,cc.FPJSZZ ) B
|
||||
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
|
||||
WHERE A.[是否K3数据] = 0
|
||||
|
||||
--UPDATE A
|
||||
--SET PPBillingAmount = B.KPJE
|
||||
-- FROM YingShouZhanKuanMX_GZTH A
|
||||
--INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID FROM (
|
||||
-- SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ,bb.XSDDFENTRYID FROM FPYSDZDMX bb
|
||||
-- WHERE bb.FPLX = '普票' ) cc
|
||||
-- GROUP BY cc.XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID ) B
|
||||
--ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ AND A.FENTRYID = b.XSDDFENTRYID
|
||||
--WHERE A.[是否K3数据] = 0
|
||||
|
||||
|
||||
UPDATE A
|
||||
SET ZPBillingAmount = B.KPJE
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ FROM (
|
||||
SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ FROM FPYSDZDMX bb
|
||||
WHERE bb.FPLX = '专票' ) cc
|
||||
GROUP BY cc.XSDDFID,cc.FPJSZZ ) B
|
||||
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
|
||||
WHERE A.[是否K3数据] = 0
|
||||
|
||||
--UPDATE A
|
||||
--SET PPBillingAmount = B.KPJE
|
||||
-- FROM YingShouZhanKuanMX_GZTH A
|
||||
--INNER JOIN ( SELECT SUM(cc.KPJE) KPJE,XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID FROM (
|
||||
-- SELECT DISTINCT bb.XSDDFID,bb.FPFENTRYID,bb.KPJE ,bb.FPJSZZ,bb.XSDDFENTRYID FROM FPYSDZDMX bb
|
||||
-- WHERE bb.FPLX = '专票' ) cc
|
||||
-- GROUP BY cc.XSDDFID,cc.FPJSZZ,cc.XSDDFENTRYID ) B
|
||||
--ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ AND A.FENTRYID = b.XSDDFENTRYID
|
||||
--WHERE A.[是否K3数据] = 0
|
||||
|
||||
--将开票金额和期初开票金额相加值赋值给到表中的开票金额
|
||||
SELECT
|
||||
A.FID,
|
||||
A.FENTRYID,
|
||||
SUM(ISNULL(A.ZPBillingAmount,0)) + SUM(ISNULL(A.PPBillingAmount,0)) + SUM(ISNULL(A.QCZPBillingAmount,0)) + SUM(ISNULL(A.QCPPBillingAmount,0)) AS '专票金额'
|
||||
SUM(ISNULL(A.ZPBillingAmount,0)) + SUM(ISNULL(A.PPBillingAmount,0)) + SUM(ISNULL(A.K3专票金额,0)) + SUM(ISNULL(A.K3普票金额,0)) AS '专票金额'
|
||||
INTO #TEMP3
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
WHERE A.[是否K3数据] = 0
|
||||
@ -85,12 +141,13 @@ BEGIN
|
||||
INNER JOIN #TEMP3 B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
|
||||
WHERE A.[是否K3数据] = 0
|
||||
|
||||
--更新已出货欠款,已开票欠款,欠票,是否已完结字段
|
||||
--更新已出货欠款,已开票欠款,欠票,是否已完结字段
|
||||
-- OrderAmount=0,PaymentAmount=0,ShippedDebt=0,InvoicedDebt=0,IsEnded = NULL ,OwedTickets= 0,BillingAmount=0
|
||||
SELECT
|
||||
FID, SUM(ShipmentsAmount) - SUM(PaymentAmount) AS '已出货欠款',SUM(BillingAmount) - SUM(PaymentAmount) AS '已开票欠款',SUM(OrderAmount) - SUM(BillingAmount) AS '欠票',
|
||||
CASE WHEN (SUM(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(ShipmentsAmount,0))
|
||||
AND (SUM(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(BillingAmount,0))
|
||||
AND (SUM(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(PaymentAmount,0))
|
||||
FID, SUM(ShipmentsAmount) - AVG(PaymentAmount) AS '已出货欠款',AVG(BillingAmount) - AVG(PaymentAmount) AS '已开票欠款',SUM(OrderAmount) - SUM(BillingAmount) AS '欠票',
|
||||
CASE WHEN (AVG(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = SUM(ISNULL(ShipmentsAmount,0))
|
||||
AND (AVG(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = AVG(ISNULL(BillingAmount,0))
|
||||
AND (AVG(ISNULL(OrderAmount,0)) - SUM(ISNULL(ReturnAmount,0))) = AVG(ISNULL(PaymentAmount,0))
|
||||
THEN '已完结'
|
||||
ELSE '未完结'
|
||||
END AS '是否已完结'
|
||||
@ -100,7 +157,7 @@ BEGIN
|
||||
GROUP BY FID
|
||||
|
||||
UPDATE A
|
||||
SET A.ShippedDebt = B.[已出货欠款], A.InvoicedDebt = B.[已开票欠款],A.OwedTickets = B.[欠票],
|
||||
SET A.ShippedDebt = B.[已出货欠款], A.InvoicedDebt = B.[已开票欠款],--A.OwedTickets = B.[欠票],
|
||||
A.IsEnded = B.[是否已完结]
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #TEMP4 B ON A.FID = B.FID
|
||||
@ -109,7 +166,7 @@ BEGIN
|
||||
--对表中的数据进行调整
|
||||
SELECT
|
||||
*,
|
||||
ROW_NUMBER() OVER (PARTITION BY FID ORDER BY FID) as row_num1
|
||||
ROW_NUMBER() OVER (PARTITION BY FID ORDER BY FID) AS row_num1
|
||||
INTO #TEMP5
|
||||
FROM YingShouZhanKuanMX_GZTH
|
||||
|
||||
@ -119,6 +176,7 @@ BEGIN
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNEr JOIN #TEMP5 B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
|
||||
|
||||
|
||||
|
||||
--UPDATE A
|
||||
--SET A.BillingAmount = 0,A.OrderAmount = 0,A.PaymentAmount = 0,A.ShippedDebt = 0,A.InvoicedDebt = 0,A.OwedTickets = 0,A.IsEnded = '',QCPPBillingAmount = 0,QCZPBillingAmount = 0
|
||||
@ -131,12 +189,21 @@ BEGIN
|
||||
WHERE PPBillingAmount = 0
|
||||
|
||||
UPDATE YingShouZhanKuanMX_GZTH
|
||||
SET OrderAmount=0,PaymentAmount=0,ShippedDebt=0,InvoicedDebt=0,IsEnded = NULL ,OwedTickets= 0,BillingAmount=0
|
||||
SET OrderAmount=0,PaymentAmount=0,ShippedDebt=0,InvoicedDebt=0,IsEnded = NULL ,OwedTickets= 0,BillingAmount=0,PPBillingAmount=0,ZPBillingAmount=0,ZPBillingDate='',PPBillingDate='',PaymentDate = ''
|
||||
from (
|
||||
SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY FBILLNO ORDER BY fid) = 1 THEN FBILLNO
|
||||
END AS 单号,* FROM YingShouZhanKuanMX_GZTH
|
||||
|
||||
|
||||
) B
|
||||
WHERE YingShouZhanKuanMX_GZTH.FID=B.FID AND YingShouZhanKuanMX_GZTH.FENTRYID=b.FENTRYID AND b.单号 IS null
|
||||
|
||||
UPDATE A
|
||||
SET OwedTickets = B.QP
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
JOIN (SELECT FID,SUM(OrderAmount) - SUM(BillingAmount) AS 'QP' FROM YingShouZhanKuanMX_GZTH GROUP BY FID) B ON A.FID = B.FID
|
||||
WHERE A.[是否K3数据] = 0 AND A.row_num = 1
|
||||
|
||||
DROP TABLE #TEMP3
|
||||
DROP TABLE #TEMP4
|
||||
DROP TABLE #TEMP5
|
||||
END
|
||||
@ -1,4 +1,4 @@
|
||||
ALTER PROCEDURE UpdateYSDZBMX_GZTH
|
||||
ALTER PROCEDURE [dbo].[UpdateYSDZBMX_GZTH]
|
||||
@FSDATE varchar(1000),
|
||||
@FEDATE varchar(1000),
|
||||
@FSaleOrgId varchar(1000),
|
||||
@ -7,15 +7,18 @@ ALTER PROCEDURE UpdateYSDZBMX_GZTH
|
||||
@ZZHTH varchar(1000)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @StartDate DATE = CONVERT(DATE, @FSDATE);
|
||||
DECLARE @EndDate DATE = CONVERT(DATE, @FEDATE);
|
||||
DECLARE @StartDate DATE = CONVERT(DATE, @FSDATE);
|
||||
--DECLARE @EndDate DATE = CONVERT(DATE,@FEDATE);
|
||||
DECLARE @EndDate DATE = CONVERT(DATE,CASE @FEDATE WHEN '' THEN '2099-12-31'ELSE @FEDATE END);
|
||||
|
||||
-- 将结束日期增加一天
|
||||
SET @EndDate = DATEADD(DAY, 1, @EndDate);
|
||||
|
||||
TRUNCATE TABLE YingShouZhanKuanMX_GZTH;
|
||||
|
||||
INSERT INTO YingShouZhanKuanMX_GZTH (FID,FENTRYID,FSaleOrgId,FBILLNO,FSalerId,[DATE],CONTRACTNUMBER,ProjectName,SizeModel,FQty,FTaxPrice,FAllAmount,OrderAmount,PaymentAmount,[是否K3数据])
|
||||
INSERT INTO
|
||||
YingShouZhanKuanMX_GZTH
|
||||
(FID,FENTRYID,FSaleOrgId,FBILLNO,FSalerId,[DATE],CONTRACTNUMBER,ProjectName,SizeModel,FQty,FTaxPrice,FAllAmount,OrderAmount,PaymentAmount,[是否K3数据],旧物料编码,NUMBER)
|
||||
SELECT
|
||||
A.FID AS 销售订单FID
|
||||
,B.FENTRYID AS 销售订单FENTRYID
|
||||
@ -31,12 +34,15 @@ BEGIN
|
||||
,B_F.FALLAMOUNT_LC AS 价税合计
|
||||
,AF.FBillAllAmount 订单金额
|
||||
,A.F_Amount AS 累计核销金额
|
||||
,0 AS 是否K3数据
|
||||
,0 AS 是否K3数据
|
||||
,tmm.FOldNumber
|
||||
,ROW_NUMBER() OVER(ORDER BY A.FID) AS NUMBER
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN AF ON A.FID = AF.FID
|
||||
INNER JOIN T_BAS_PREBDONE_L GC ON A.F_projectname = GC.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL_L WL_L ON B.FMATERIALID = WL_L.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIAL_L WL_L ON B.FMATERIALID = WL_L.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIAL tmm ON B.FMATERIALID = tmm.FMATERIALID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||||
INNER JOIN V_BD_SALESMAN_L XS ON XS.FID = A.FSALERID
|
||||
WHERE A.FSaleOrgId = @FSaleOrgId
|
||||
@ -44,37 +50,51 @@ BEGIN
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate <= @EndDate
|
||||
AND (ISNULL(@XSYFID, '') = '' OR A.FSalerId = @XSYFID)
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR A.F_contractnumber = @ZZHTH)
|
||||
|
||||
--插入K3数据
|
||||
INSERT INTO YingShouZhanKuanMX_GZTH (FID,FENTRYID,FSaleOrgId,FBILLNO,FSalerId,[DATE],CONTRACTNUMBER,ProjectName,SizeModel,[K3发货数量],[K3发货金额],[K3退货数量],[K3退货金额],[K3普票金额],[K3专票金额],[是否K3数据])
|
||||
SELECT
|
||||
B.FID AS 销售订单FID
|
||||
,0 AS 销售订单FENTRYID
|
||||
,B.FSaleOrgId AS 销售组织
|
||||
,B.FBILLNO AS 销售订单编号
|
||||
,XS.FNAME AS 销售员FID
|
||||
,FORMAT( B.FApproveDate,'yyyy-MM-dd') AS 签订日期
|
||||
,B.F_contractnumber AS 订单号
|
||||
,GC.FNAME AS 项目名称
|
||||
,A.规格型号 AS 型号
|
||||
,A.发货数量 AS 发货数量
|
||||
,A.发货金额 AS 发货金额
|
||||
,A.退货数量 AS 退货数量
|
||||
,A.退货金额 AS 退货金额
|
||||
,A.普票金额 AS 普票金额
|
||||
,A.专票金额 AS 专票金额
|
||||
,1 AS 是否K3数据
|
||||
FROM oldk3seorder0701 A
|
||||
INNER JOIN T_SAL_ORDER B ON A.单据编码 = B.FBILLNO
|
||||
INNER JOIN T_BAS_PREBDONE_L GC ON B.F_projectname = GC.FID
|
||||
INNER JOIN V_BD_SALESMAN_L XS ON XS.FID = B.FSALERID
|
||||
WHERE B.FSaleOrgId = @FSaleOrgId
|
||||
AND B.FCUSTID = @FCUSTID
|
||||
AND B.FApproveDate >= @StartDate
|
||||
AND B.FApproveDate <= @EndDate
|
||||
AND (ISNULL(@XSYFID, '') = '' OR B.FSalerId = @XSYFID)
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR B.F_contractnumber = @ZZHTH)
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR A.F_contractnumber = @ZZHTH)
|
||||
AND B.FRETURNTYPE <> 'RETURN'
|
||||
UPDATE a
|
||||
SET a.[K3发货数量]=b.发货数量,a.[K3发货金额]=b.发货金额,a.[K3退货数量]=b.退货数量
|
||||
,a.[K3退货金额]=b.退货金额,a.[K3专票金额] = b.专票金额 ,a.[K3普票金额]= b.普票金额
|
||||
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN [oldk3seorder0701] b
|
||||
ON a.FBILLNO=b.[单据编码] AND a.旧物料编码=[物料编码] AND a.FQty=[数量] AND (ABS(a.FTaxPrice-b.[含税单价])<=0.02 OR ABS(a.FTaxPrice-b.[面价])<=0.02)
|
||||
WHERE 是否K3数据=0
|
||||
|
||||
|
||||
|
||||
|
||||
----插入K3数据
|
||||
--INSERT INTO
|
||||
--YingShouZhanKuanMX_GZTH
|
||||
--(FID,FENTRYID,FSaleOrgId,FBILLNO,FSalerId,[DATE],CONTRACTNUMBER,ProjectName,SizeModel,[K3发货数量],[K3发货金额],[K3退货数量],[K3退货金额],[K3普票金额],[K3专票金额],[是否K3数据])
|
||||
--SELECT
|
||||
-- B.FID AS 销售订单FID
|
||||
--,0 AS 销售订单FENTRYID
|
||||
--,B.FSaleOrgId AS 销售组织
|
||||
--,B.FBILLNO AS 销售订单编号
|
||||
--,XS.FNAME AS 销售员FID
|
||||
--,FORMAT( B.FApproveDate,'yyyy-MM-dd') AS 签订日期
|
||||
--,B.F_contractnumber AS 订单号
|
||||
--,GC.FNAME AS 项目名称
|
||||
--,A.规格型号 AS 型号
|
||||
--,A.发货数量 AS 发货数量
|
||||
--,A.发货金额 AS 发货金额
|
||||
--,A.退货数量 AS 退货数量
|
||||
--,A.退货金额 AS 退货金额
|
||||
--,A.普票金额 AS 普票金额
|
||||
--,A.专票金额 AS 专票金额
|
||||
--,1 AS 是否K3数据
|
||||
--FROM oldk3seorder0701 A
|
||||
--INNER JOIN T_SAL_ORDER B ON A.单据编码 = B.FBILLNO
|
||||
--INNER JOIN T_BAS_PREBDONE_L GC ON B.F_projectname = GC.FID
|
||||
--INNER JOIN V_BD_SALESMAN_L XS ON XS.FID = B.FSALERID
|
||||
--WHERE B.FSaleOrgId = @FSaleOrgId
|
||||
--AND B.FCUSTID = @FCUSTID
|
||||
--AND B.FApproveDate >= @StartDate
|
||||
--AND B.FApproveDate <= @EndDate
|
||||
--AND (ISNULL(@XSYFID, '') = '' OR B.FSalerId = @XSYFID)
|
||||
--AND (ISNULL(@ZZHTH,'') = '' OR B.F_contractnumber = @ZZHTH)
|
||||
|
||||
--更新发货日期,发货数量和发货金额
|
||||
SELECT
|
||||
@ -85,9 +105,9 @@ BEGIN
|
||||
,B_F.FAllAmount_LC AS 发货金额
|
||||
INTO #TEMP1
|
||||
FROM T_SAL_DELIVERYNOTICE A
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON B_F.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON B_F.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
WHERE C.FSBILLID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
|
||||
AND C.FSID IN (SELECT FENTRYID FROM YingShouZhanKuanMX_GZTH)
|
||||
|
||||
@ -126,8 +146,8 @@ BEGIN
|
||||
|
||||
--更新退货日期,退货数量,退货金额
|
||||
SELECT
|
||||
C.FSBILLID AS 销售订单FID
|
||||
,C.FSID AS 销售订单FENTRYID
|
||||
E.FSBILLID AS 销售订单FID
|
||||
,E.FSID AS 销售订单FENTRYID
|
||||
,A.FDATE AS 退货日期
|
||||
,B.FQTY AS 退货数量
|
||||
,B_F.FALLAMOUNT_LC AS 退货金额
|
||||
@ -135,7 +155,9 @@ BEGIN
|
||||
FROM T_SAL_RETURNNOTICE A
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON B_F.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON B_F.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
INNER JOIN T_SAL_ORDERENTRY D ON C.FSBILLID = D.FID AND C.FSID = D.FENTRYID
|
||||
INNER JOIN T_SAL_ORDERENTRY_LK E ON E.FENTRYID = D.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
|
||||
----更新k3退货数据
|
||||
--update A
|
||||
@ -151,6 +173,13 @@ BEGIN
|
||||
INNER JOIN #TEMP2 B ON A.FID = B.销售订单FID AND A.FENTRYID = B.销售订单FENTRYID
|
||||
|
||||
update YingShouZhanKuanMX_GZTH
|
||||
SET ReturnNum = K3退货数量 + 星空退货数量, ReturnAmount = K3退货金额 + 星空退货金额
|
||||
|
||||
SET ReturnNum = K3退货数量 + 星空退货数量, ReturnAmount = K3退货金额 + 星空退货金额;
|
||||
|
||||
--更新回款日期
|
||||
UPDATE A
|
||||
SET PaymentDate = FORMAT(B.ShouKuanFDate,'yyyy-MM-dd')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN ZZZ_HeXiaoBook B ON B.XiaoShouFid = A.FID
|
||||
--SELECT OrderAmount,PaymentAmount,ShippedDebt,InvoicedDebt,IsEnded ,OwedTickets,BillingAmount, CASE WHEN ROW_NUMBER() OVER(PARTITION BY FBILLNO ORDER BY fid) = 1 THEN FBILLNO
|
||||
--END AS 单号,* FROM YingShouZhanKuanMX_GZTH
|
||||
END
|
||||
@ -1,5 +1,6 @@
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[UpdateYSDZBMX_GZTH] Script Date: 2025/7/15 15:56:20 ******/
|
||||
USE [AIS2025]
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[UpdateYSDZBMX_GZTH] Script Date: 2025/7/23 13:45:57 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
@ -23,7 +24,7 @@ BEGIN
|
||||
|
||||
INSERT INTO
|
||||
YingShouZhanKuanMX_GZTH
|
||||
(FID,FENTRYID,FSaleOrgId,FBILLNO,FSalerId,[DATE],CONTRACTNUMBER,ProjectName,SizeModel,FQty,FTaxPrice,FAllAmount,OrderAmount,PaymentAmount,[是否K3数据])
|
||||
(FID,FENTRYID,FSaleOrgId,FBILLNO,FSalerId,[DATE],CONTRACTNUMBER,ProjectName,SizeModel,FQty,FTaxPrice,FAllAmount,OrderAmount,PaymentAmount,[是否K3数据],旧物料编码,NUMBER)
|
||||
SELECT
|
||||
A.FID AS 销售订单FID
|
||||
,B.FENTRYID AS 销售订单FENTRYID
|
||||
@ -39,12 +40,15 @@ BEGIN
|
||||
,B_F.FALLAMOUNT_LC AS 价税合计
|
||||
,AF.FBillAllAmount 订单金额
|
||||
,A.F_Amount AS 累计核销金额
|
||||
,0 AS 是否K3数据
|
||||
,0 AS 是否K3数据
|
||||
,tmm.FOldNumber
|
||||
,ROW_NUMBER() OVER(ORDER BY A.FID) AS NUMBER
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN AF ON A.FID = AF.FID
|
||||
INNER JOIN T_BAS_PREBDONE_L GC ON A.F_projectname = GC.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL_L WL_L ON B.FMATERIALID = WL_L.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIAL_L WL_L ON B.FMATERIALID = WL_L.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIAL tmm ON B.FMATERIALID = tmm.FMATERIALID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||||
INNER JOIN V_BD_SALESMAN_L XS ON XS.FID = A.FSALERID
|
||||
WHERE A.FSaleOrgId = @FSaleOrgId
|
||||
@ -59,7 +63,7 @@ BEGIN
|
||||
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN [oldk3seorder0701] b
|
||||
ON a.FBILLNO=b.[单据编码] AND a.SizeModel=[规格型号] AND a.FQty=[数量] AND (ABS(a.FTaxPrice-b.[含税单价])<=0.02 OR ABS(a.FTaxPrice-b.[面价])<=0.02)
|
||||
ON a.FBILLNO=b.[单据编码] AND a.旧物料编码=[物料编码] AND a.FQty=[数量] AND (ABS(a.FTaxPrice-b.[含税单价])<=0.02 OR ABS(a.FTaxPrice-b.[面价])<=0.02)
|
||||
WHERE 是否K3数据=0
|
||||
|
||||
|
||||
@ -106,9 +110,9 @@ BEGIN
|
||||
,B_F.FAllAmount_LC AS 发货金额
|
||||
INTO #TEMP1
|
||||
FROM T_SAL_DELIVERYNOTICE A
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON B_F.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON B_F.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
WHERE C.FSBILLID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
|
||||
AND C.FSID IN (SELECT FENTRYID FROM YingShouZhanKuanMX_GZTH)
|
||||
|
||||
|
||||
@ -4,13 +4,18 @@ BEGIN
|
||||
|
||||
TRUNCATE TABLE YingShouZhanKuanJY_GZTH
|
||||
|
||||
INSERT INTO YingShouZhanKuanJY_GZTH(FID,FSaleOrgId,FSalerId,[DATE],ContractNumber,ProjectName,OrderAmount,FALLAmountFor,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets,IsEnded,Remark,[K3רƱ½ð¶î],[K3ÆÕƱ½ð¶î])
|
||||
INSERT INTO YingShouZhanKuanJY_GZTH(FID,FSaleOrgId,FSalerId,[DATE],ContractNumber,ProjectName,OrderAmount,FALLAmountFor,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets,IsEnded,Remark,[K3רƱ½ð¶î],[K3ÆÕƱ½ð¶î],ZPFALLAmountFor,PPFALLAmountFor)
|
||||
SELECT FID,FSaleOrgId,FSalerId,[Date],CONTRACTNUMBER,ProjectName,SUM(OrderAmount) OrderAmount,SUM(BillingAmount) BillingAmount,SUM(PaymentAmount) PaymentAmount,SUM(ShippedDebt) ShippedDebt
|
||||
,SUM(InvoicedDebt) InvoicedDebt,SUM(OwedTickets) OwedTickets,IsEnded,Remark,SUM([K3רƱ½ð¶î]) [K3רƱ½ð¶î],SUM([K3ÆÕƱ½ð¶î]) [K3ÆÕƱ½ð¶î]
|
||||
,SUM(InvoicedDebt) InvoicedDebt,SUM(OwedTickets) OwedTickets,null,Remark,SUM([K3רƱ½ð¶î]) [K3רƱ½ð¶î],SUM([K3ÆÕƱ½ð¶î]) [K3ÆÕƱ½ð¶î],SUM(ZPBillingAmount) [רƱ¿ªÆ±½ð¶î],SUM(PPBillingAmount) [ÆÕƱ¿ªÆ±½ð¶î]
|
||||
FROM YingShouZhanKuanMX_GZTH
|
||||
WHERE Number <> '合计' OR Number IS NULL
|
||||
GROUP BY FID,FSaleOrgId,FSalerId,[Date],CONTRACTNUMBER,ProjectName,IsEnded,Remark
|
||||
GROUP BY FID,FSaleOrgId,FSalerId,[Date],CONTRACTNUMBER,ProjectName,Remark
|
||||
|
||||
UPDATE YingShouZhanKuanJY_GZTH SET IsEnded= b.IsEnded
|
||||
FROM (SELECT DISTINCT CONTRACTNUMBER,IsEnded FROM YingShouZhanKuanMX_GZTH aa
|
||||
WHERE IsEnded IS NOT NULL) b
|
||||
WHERE b.CONTRACTNUMBER=YingShouZhanKuanJY_GZTH.CONTRACTNUMBER
|
||||
|
||||
----对表里未添加数据进行添加
|
||||
--select FID,sum(shipmentsamount) as '发货金额',
|
||||
--sum(ReturnAmount) AS '退货金额',
|
||||
|
||||
310
派诺报表SQL文件/销售执行统计表存储过程.sql
Normal file
310
派诺报表SQL文件/销售执行统计表存储过程.sql
Normal file
@ -0,0 +1,310 @@
|
||||
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[GetOrderData] Script Date: 2025/7/16 11:49:14 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
--EXEC [GetOrderData] '珠海派诺','2025-01-01','2025-06-30'
|
||||
ALTER PROCEDURE [dbo].[GetOrderData]
|
||||
|
||||
(
|
||||
@FSaleOrgIdName nvarchar(1000),
|
||||
@FSDate nvarchar(1000),
|
||||
@FEDate nvarchar(1000)
|
||||
)
|
||||
as
|
||||
DECLARE @FSaleOrgId nvarchar(1000);
|
||||
DECLARE @FSDateDate DATE;
|
||||
DECLARE @FEDateDate DATE;
|
||||
|
||||
SELECT @FSaleOrgId = FORGID
|
||||
FROM T_ORG_ORGANIZATIONS_L WHERE
|
||||
FNAME = @FSaleOrgIdName
|
||||
|
||||
SET @FSDateDate = CONVERT(DATE, @FSDate);
|
||||
SET @FEDateDate = CONVERT(DATE, @FEDate);
|
||||
|
||||
-- @FEDate + 1天
|
||||
SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate);
|
||||
|
||||
SELECT D.FENTRYID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
|
||||
INTO #SAL
|
||||
FROM T_SAL_DELIVERYNOTICE A
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||||
GROUP BY D.FENTRYID
|
||||
|
||||
|
||||
SELECT D.FENTRYID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
|
||||
INTO #RETURN
|
||||
FROM T_SAL_RETURNNOTICE A
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||||
GROUP BY D.FENTRYID
|
||||
|
||||
|
||||
SELECT F.FENTRYID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
|
||||
INTO #OUTSTOCK
|
||||
FROM T_SAL_OUTSTOCK A
|
||||
INNER JOIN T_SAL_OUTSTOCKENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_OUTSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_OUTSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
|
||||
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
|
||||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||||
GROUP BY F.FENTRYID
|
||||
|
||||
SELECT F.FENTRYID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
|
||||
INTO #RETURNSTOCK
|
||||
FROM T_SAL_RETURNSTOCK A
|
||||
INNER JOIN T_SAL_RETURNSTOCKENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_RETURNSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||||
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
|
||||
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
|
||||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||||
GROUP BY F.FENTRYID
|
||||
|
||||
|
||||
SELECT b.FORDERENTRYID as 'FENTRYID',sum(b.FPriceQty) AS 'FQTY',sum(b.FALLAMOUNT) AS 'FAMOUNT'
|
||||
INTO #RECE
|
||||
FROM t_AR_receivable A
|
||||
INNER JOIN t_AR_receivableENTRY B ON A.FID = B.FID
|
||||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||||
GROUP BY b.FORDERENTRYID
|
||||
|
||||
SELECT a.FID, STUFF(
|
||||
(
|
||||
SELECT ','+ CONVERT(NVARCHAR(100), FNAME,120) -- 要拼接的列
|
||||
FROM (
|
||||
SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'天--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%' AS FNAME
|
||||
,w.FID,w.F_PMSDate
|
||||
,W.FRECADVANCEAMOUNT,w.F_DAY ,w.F_MBBA_DECIMAL_UKY
|
||||
,w.FENTRYID, W.F_RecConditionId ,w.FRECADVANCERATE ,x.FNAME AS fname2 ,w.FMUSTDATE [到期日]
|
||||
FROM T_SAL_ORDERPLAN w WITH(NOLOCK)
|
||||
LEFT JOIN T_BD_RecCondition_L X ON X.FID = W.F_RecConditionId
|
||||
) t WHERE t.FID=a.FID
|
||||
FOR XML PATH('')
|
||||
),1 ,1, '') 付款条件
|
||||
INTO #TEMP2
|
||||
FROM T_SAL_ORDER A WITH(NOLOCK)
|
||||
|
||||
|
||||
--过滤派诺总
|
||||
SELECT A.FID AS FID
|
||||
INTO #TEMP3
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052
|
||||
LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
|
||||
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||||
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
|
||||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME
|
||||
WHERE A.FSALEORGID = 100302 AND
|
||||
(ACO.区域 = '碳索智控'
|
||||
OR ACL.区域 = '碳索智控'
|
||||
OR C.FCUSTID IN ('1517849','1156999','1149200')
|
||||
OR (C.FCUSTID = 1150173 AND (ACO.区域 = '决策团队' OR ACL.区域 = '决策团队'))
|
||||
OR L.FNAME = '兴诺总'
|
||||
OR A.FID IN (110185,207800)
|
||||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE< @FEDateDate) )
|
||||
|
||||
|
||||
SELECT
|
||||
A.FID ,
|
||||
A.FBILLNO,
|
||||
B.FENTRYID,
|
||||
N.FSHARERATE,
|
||||
F.FALLAMOUNT_LC,
|
||||
--RANK()OVER(PARTITION BY A.FID,B.FENTRYID ORDER BY N.FENTRYID ) AS '分摊序号',
|
||||
--RANK()OVER(PARTITION BY A.FID,B.FENTRYID ORDER BY N.FENTRYID DESC ) AS '分摊序号1',
|
||||
-- RANK()OVER(ORDER BY A.FID,b.FENTRYID) AS '序号' --流水号,报表自动生成
|
||||
MONTH(A.FApproveDate) AS '月份' --销售订单-单据头-日期-对应的月份
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME
|
||||
ELSE O.FNAME END as '业绩分摊后销售员' -- 业绩分摊后销售员
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END AS '区域'
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.明细区域 ELSE ACO.明细区域 END AS '明细区域'
|
||||
,c.FNAME as '购货单位' --销售订单-单据头-客户
|
||||
,CONVERT(VARCHAR(10), A.FDate,23) AS '签订日期'
|
||||
,CONVERT(VARCHAR(10), A.FApproveDate,23) AS '审核日期' --销售订单-单据头-审核日期
|
||||
,A.F_contractnumber AS '订单号'--销售订单-单据头-纸质合同号
|
||||
,E.FNUMBER AS '产品代码'
|
||||
,d.FNAME as '产品名称' --销售订单-单据体-物料名称
|
||||
,d.FSPECIFICATION as '规格型号'--销售订单-单据体-规格型号
|
||||
,CONCAT(A.F_contractnumber,d.FSPECIFICATION ) as '订单规格型号' --H【订单号】(对应纸质合同号)+J【型号\规格\标准】
|
||||
,CASE WHEN E.FNUMBER LIKE 'L%' AND HT.FNUMBER = 'SX' AND ISNULL(b.F_ProjectProposal,'') != ''
|
||||
THEN CONCAT(b.F_ProjectProposal,'的剩余部分') ELSE E.F_114 END AS '型号分类' --物料档案-自定义字段-型号大类
|
||||
,CASE WHEN E.FNUMBER LIKE 'L%' AND HT.FNUMBER = 'SX' AND ISNULL(b.F_ProjectProposal,'') != ''
|
||||
THEN CONCAT(b.F_ProjectProposal,'的剩余部分') ELSE E.F_115 END AS '产品分类'--物料档案-自定义字段-产品大类
|
||||
,E.F_116 AS '产品线'--物料档案-自定义字段-产品线
|
||||
--,'' as '业务线' --待定,确认取数逻辑
|
||||
,CASE WHEN A.F_VRYF_Combo_lsn LIKE '%XTZHT%' THEN '系统主合同'
|
||||
WHEN A.F_VRYF_Combo_lsn LIKE '%SXTXS%' THEN '随系统销售'
|
||||
WHEN A.F_Returntype = 'HH' OR A.F_Returntype = 'TH' THEN '随系统销售'
|
||||
WHEN F_VRYF_Combo_lsn LIKE 'DDXS' THEN '单独销售'END as '销售类型'
|
||||
,CASE WHEN A.F_VRYF_Combo_lsn LIKe '%DDXS%' THEN '仪表类合同(CEP)' ELSE '随系统销售' END AS '销售类型1'
|
||||
--,cast( B.FQTY as real) AS '数量台' --销售订单-单据体-销售数量显示在业绩分摊单
|
||||
,cast( ROUND( F.FTAXPRICE,2) as real) AS '单价元台' --销售订单-单据体-含税单价 "业绩分摊只分摊金额不分摊数量
|
||||
,cast( ROUND( f.FALLAMOUNT_LC,2) as real) as '行含税单价'
|
||||
,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10)
|
||||
ELSE ROUND( f.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as '合同总价' --业绩分摊只分摊金额不分摊数量,分录【价税合计本位币】*业绩分摊单中的分摊比例
|
||||
, G.FNAME as '销售订单-单据头-项目名称' --销售订单-单据头-项目名称
|
||||
,y.FCAPTION AS '项目所属领域'--销售订单-单据头-项目所属领域
|
||||
,CASE
|
||||
WHEN A.F_contractnumber LIKE 'W2%' OR A.F_contractnumber LIKE 'CW%' THEN '服务业务'
|
||||
WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) LIKE '%综合能源服务%'
|
||||
OR (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) LIKE '%数据中心%'
|
||||
THEN '行业解决方案业务'
|
||||
ELSE '产品业务'
|
||||
END AS '业务类型-按产品划分'
|
||||
,CASE WHEN I.F_CustomerType= 'JXS' THEN '经销商'
|
||||
WHEN I.F_CustomerType = 'MYS' THEN '贸易商'
|
||||
ELSE ''
|
||||
END
|
||||
as '直销还是经销商'
|
||||
,CASE WHEN b.F_specialoffer = '1' THEN '是' ELSE '否' end AS '是否特价'--销售订单-单据分录-是否特价
|
||||
,CASE WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) LIKE '%产品线%' OR
|
||||
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) LIKE '%决策团队%'OR
|
||||
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) LIKE '%三电产品线%'
|
||||
THEN '产品线'
|
||||
WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) like '数据中心' OR
|
||||
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) LIKE '%医院%'
|
||||
OR (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END) LIKE '%机场%'
|
||||
THEN '行业线'
|
||||
ELSE '区域线' END AS '业绩类型'
|
||||
,CASE WHEN N.FSHARERATE is null THEN '' ELSE CONCAT( CAST ( N.FSHARERATE AS REAL),'%') END as '业绩分摊比例' --销售订单-业绩分摊单-分摊比例
|
||||
, b.F_ProjectProposal AS '项目方案类型'
|
||||
,'' AS '收款金额' --待定 收款金额
|
||||
, CAST( J.FEXCHANGERATE AS REAL) AS '汇率' --销售订单-单据头-汇率
|
||||
,H.F_Province AS '项目所属省份' --字段名改成“项目所属省份”来自于CRM系统商机,ERP商机需要增加文本字段对应
|
||||
,h.F_City AS '项目所属城市' --字段名改成“项目所属城市”来自于CRM系统商机,ERP商机需要增加文本字段对应
|
||||
,u.FCAPTION AS '表计或系统'--表计或系统 此字段需要在销售订单中体现,来自于ERP物料档案,订单执行统计报表不需要体现此字段,由于应收款明细表需要从订单执行明细表中取该字段,所以此字段还需要保留。取销售订单-单据头-订单类别
|
||||
,CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.FID ORDER BY B.FENTRYID) = COUNT(*) OVER (PARTITION BY A.FID)
|
||||
THEN CAST(J.FBILLALLAMOUNT_LC AS numeric(18,2)) ELSE NULL END AS '订单总额'
|
||||
,K.FDATAVALUE AS '企业类型公司性质'--来自于客户资料-公司性质
|
||||
,'' AS '欠款总额' --【已交货金额(含退货)-收款金额】*业绩分摊比例
|
||||
, TU.FNAME AS '制单人' --销售订单-单据头-其他页签-创建人,希望取的是销售订单提交人,
|
||||
,S.FCAPTION AS '集采业务分类' --2024-11-20沟通新增字段,销售订单表头增加:【是否集采项目】下拉选项:否/华润/龙湖/绿地/保利地产/华润非集采,常规情况下默认为【否】,由CRM系统传递到ERP系统中,默认值为否
|
||||
,L.FNAME AS '销售订单业务员'
|
||||
, CASE
|
||||
WHEN N.FSHARERATE IS NOT NULL THEN
|
||||
CASE
|
||||
WHEN ROW_NUMBER() OVER (PARTITION BY A.FID, B.FENTRYID ORDER BY N.FENTRYID) = 1 THEN CAST(B.FQTY AS REAL)
|
||||
ELSE NULL
|
||||
END
|
||||
ELSE CAST(B.FQTY AS REAL)
|
||||
END AS '数量台'
|
||||
,AE.FDATAVALUE AS '合同类型'
|
||||
INTO #TEMP4
|
||||
FROM T_SAL_ORDER A --销售订单表头
|
||||
INNER JOIN T_BAS_ASSISTANTDATAENTRY HT ON A.F_ORDERCATEGORY = HT.FMASTERID -- 关联辅助资料查询合同的编码
|
||||
INNER JOIN T_SEC_USER TU ON A.FCreatorId = TU.FUSERID -- 用户单关联表体
|
||||
INNER JOIN T_SAL_orderentry b on a.FID = B.FID --销售订单表体
|
||||
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 --客户附属表
|
||||
INNER JOIN T_BD_MATERIAL_L d on d.FMATERIALID =b.FMATERIALID and d.FLOCALEID=2052 --物料附属表
|
||||
INNER JOIN T_BD_MATERIAL E ON E.FMATERIALID =D.FMATERIALID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_BD_CUSTOMER I ON I .FCUSTID = A.FCUSTID
|
||||
INNER JOIN T_SAL_ORDERFIN J ON J.FID= A.FID
|
||||
LEFT JOIN T_BAS_PREBDONE_L G ON G.FID = A.F_projectname AND G.FLocaleID =2052
|
||||
LEFT JOIN T_BAS_PREBDTHREE H ON H.FID = A.F_BON
|
||||
LEFT JOIN T_META_FORMENUMITEM Z ON Z.FVALUE = H.F_PROJECTFIELD AND Z.FID = '3ad5efac-d4a5-467c-b290-685a22791e68'
|
||||
LEFT JOIN T_META_FORMENUMITEM_L Y ON Y.FENUMID = Z.FENUMID AND Y.FLOCALEID = 2052
|
||||
LEFT JOIN T_META_FORMENUMITEM X ON x.FVALUE = I.F_CustomerType AND X.FID = '5fbc5d34-7347-4b6d-8a9d-4816a47936cc'
|
||||
LEFT JOIN T_META_FORMENUMITEM_L W ON W.FENUMID = X.FENUMID AND W.FLOCALEID = 2052
|
||||
LEFT JOIN T_META_FORMENUMITEM V ON V.FVALUE = A.F_OrderType AND v.FID = 'bc2c1d77-0f4b-41d2-b61b-e29554c570d4'
|
||||
LEFT JOIN T_META_FORMENUMITEM_L U ON U.FENUMID = V.FENUMID AND U.FLOCALEID = 2052
|
||||
LEFT JOIN T_META_FORMENUMITEM T ON T.FVALUE = A.F_PURCHASINGPRO AND T.FID = 'a8624cbb-00e0-4beb-8045-53cbe94eb9ee'
|
||||
LEFT JOIN T_META_FORMENUMITEM_L S ON S.FENUMID = T.FENUMID AND S.FLOCALEID = 2052
|
||||
LEFT JOIN V_ASSISTANTDATA K ON K.FENTRYID = I.FCompanyNature
|
||||
LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
|
||||
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||||
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
|
||||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID --AND N.FID IN (SELECT FID FROM T_PerformanceSharing WHERE FDOCUMENTSTATUS = 'C' )
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != ''
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
INNER JOIN T_BAS_ASSISTANTDATAENTRY_L AE ON AE.FENTRYID = A.F_Ordercategory
|
||||
WHERE
|
||||
1=1 AND
|
||||
A.FID NOT IN(
|
||||
SELECT FID FROM #TEMP3
|
||||
)
|
||||
AND(@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||||
AND A.FDocumentStatus = 'C'
|
||||
AND A.FManualClose <> '1'
|
||||
AND B.FManualRowClose <> '1'
|
||||
AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
|
||||
|
||||
SELECT
|
||||
A.*
|
||||
,AD.付款条件 as '付款条件'--销售订单-收款计划-收款条件+天数+“天”+应收比例(%),多行之间需要用“,”隔开,如果天数为空就默认为0天
|
||||
,CAST( ISNULL(P.FQTY,'0') AS REAL) as '发货数量' --销售订单关联的发货通知单数量,显示在业绩分摊单中第一个业务员名下
|
||||
,cast( round( ISNULL(P.FAMOUNT,0) * ISNULL(A.FSHARERATE,100)/100,2) as real) as '发货金额'--取销售订单关联的发货通知单金额*分摊比例
|
||||
,CAST( ISNULL(q.FQTY,'0') AS REAL) as '退货数量' --销售订单关联的退货通知单数量
|
||||
,cast( round( ISNULL(q.FAMOUNT,0) * ISNULL(A.FSHARERATE,100)/100,2) as real) as '退货金额'--销售订单关联的退货通知单金额*分摊比例
|
||||
,CAST( ISNULL(P.FQTY,0)-isnull(q.FQTY,0) AS REAL) AS '已交货数-含退货' --公式=发货通知单数量-退货通知单数量,显示在业绩分摊单中第一个业务员名下,AR【发货数量】-AT【退货数量】
|
||||
,round( (ISNULL(P.FAMOUNT,0)-isnull(q.FAMOUNT,0)) * isnull(A.FSHARERATE,100)/100 ,2) AS '已交货金额-含退货' --2024-11-20沟通增加销售定关联的(AS发货金额-AU退货金额)*业绩分摊比例
|
||||
,B.FQTY - AR.FDeliQty AS '未交货数' --数量-已交货数
|
||||
, round( (A.FALLAMOUNT_LC - ISNULL(P.FAMOUNT,0) +ISNULL(Q.FAMOUNT,0))* isnull(A.FSHARERATE,100)/100,2) as '未发货金额'--(销售订单价税合计本位币-发货通知单金额+退货通知单金额)*分摊比例
|
||||
,CAST( ISNULL(AB.FQTY,0) AS REAL) AS '已开票数量' --开票数量,取销售出库单关联的蓝字应收单-退货单关联的红字应收单
|
||||
,CAST(round( ISNULL(AB.FAMOUNT,0) * isnull(A.FSHARERATE,100)/100,2) AS REAL) AS '开票金额'--销售订单关联的(蓝字应收单金额-红字应收单金额)*分摊比例
|
||||
,CAST( ISNULL(P.FQTY,0)-isnull(q.FQTY,0) - ISNULL(AB.FQTY,0) AS REAL) AS '未开票数量' --AV已交货数-BB已开票数量
|
||||
,round( (ISNULL(P.FAMOUNT,0)-isnull(q.FAMOUNT,0)- ISNULL(AB.FAMOUNT,0) ) * isnull(A.FSHARERATE,100)/100 ,2) AS '未开票金额' --(AW已交货金额-BC开票金额)*分摊比例
|
||||
INTO #TEMP1
|
||||
FROM #TEMP4 A
|
||||
LEFT JOIN T_SAL_orderentry b on a.FENTRYID = B.FENTRYID --销售订单表体
|
||||
LEFT JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = A.FENTRYID
|
||||
LEFT JOIN #SAL P ON P.FENTRYID = A.FENTRYID --发货通知单
|
||||
LEFT JOIN #RETURN q ON q.FENTRYID = A.FENTRYID --退货通知单
|
||||
LEFT JOIN #OUTSTOCK R ON R.FENTRYID = A.FENTRYID --销售出库单
|
||||
LEFT JOIN #RETURNSTOCK AA ON AA.FENTRYID = A.FENTRYID --销售退货单
|
||||
LEFT JOIN #RECE AB ON AB.FENTRYID = A.FENTRYID --应收单
|
||||
LEFT JOIN #TEMP2 AD ON AD.FID = A.FID
|
||||
|
||||
SELECT * FROM #TEMP1 ORDER BY [订单号]
|
||||
--业绩分摊的订单,那个发货数量、开票数量、订单数量都是保留一行,要不就重复算了。
|
||||
drop table #TEMP2
|
||||
drop table #RECE
|
||||
drop table #RETURNSTOCK
|
||||
drop table #OUTSTOCK
|
||||
drop table #RETURN
|
||||
drop table #SAL
|
||||
drop table #TEMP3
|
||||
drop table #TEMP4
|
||||
drop table #TEMP1
|
||||
GO
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user