This commit is contained in:
余宇波 2025-08-21 17:10:44 +08:00
commit 35f7bf58f4
7 changed files with 169 additions and 55 deletions

View File

@ -73,6 +73,7 @@ namespace GZ_LTHReportForms.ReporyDDWFH
header.AddChild("含税单价", new LocaleValue("含税单价"), SqlStorageType.SqlDecimal);
header.AddChild("折扣率", new LocaleValue("折扣率"), SqlStorageType.SqlDecimal);
header.AddChild("价税合计", new LocaleValue("价税合计"), SqlStorageType.SqlDecimal);
header.AddChild("整单价税合计", new LocaleValue("整单价税合计"), SqlStorageType.SqlDecimal);
header.AddChild("已发货数量", new LocaleValue("已发货数量"), SqlStorageType.SqlDecimal);
header.AddChild("已发货金额", new LocaleValue("已发货金额"), SqlStorageType.SqlDecimal);
header.AddChild("未发货数量", new LocaleValue("未发货数量"), SqlStorageType.SqlDecimal);

View File

@ -123,18 +123,18 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
if customFiler["F_SDate"] != None and customFiler["F_SDate"].ToString() != "":
if RQLX == "1":
SKRQS = str(customFiler["F_SDate"].ToString("yyyy-MM-dd"))
HXRQS = str(customFiler["F_SDate"].ToString("yyyy-MM-dd"))
strFilter += " AND (业务日期 >= '{0}' OR ISNULL(业务日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_SDate"].ToString("yyyy-MM-dd")))
if RQLX == "2":
strFilter += " AND (日期 >= '{0}' OR ISNULL(日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_SDate"].ToString("yyyy-MM-dd")))
HXRQS = str(customFiler["F_SDate"].ToString("yyyy-MM-dd"))
SKRQS = str(customFiler["F_SDate"].ToString("yyyy-MM-dd"))
if customFiler["F_EDate"] != None and customFiler["F_EDate"].ToString() != "":
if RQLX == "1":
strFilter += " AND (业务日期 <= '{0}' OR ISNULL(业务日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_EDate"].ToString("yyyy-MM-dd")))
SKRQE = str(customFiler["F_EDate"].ToString("yyyy-MM-dd"))
HXRQE = str(customFiler["F_EDate"].ToString("yyyy-MM-dd"))
if RQLX == "2":
strFilter += " AND (日期 <= '{0}' OR ISNULL(日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_EDate"].ToString("yyyy-MM-dd")))
HXRQE = str(customFiler["F_EDate"].ToString("yyyy-MM-dd"))
SKRQE = str(customFiler["F_EDate"].ToString("yyyy-MM-dd"))
if customFiler["F_contractnumber"] != None and customFiler["F_contractnumber"].ToString() != "":
strFilter += " AND 订单号 = '{0}'".format(str(customFiler["F_contractnumber"].ToString()))
if customFiler["F_Currency"] != None and customFiler["F_Currency"].ToString() != "":
@ -162,7 +162,7 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
WHERE T1.FID IN (SELECT XiaoShouFid FROM ZZZ_HeXiaoBook)
AND T1.FDOCUMENTSTATUS = 'C'
--AND (T1.FSALEORGID = {4} OR {4} = 0)
--AND (T1.FCUSTID = {5} OR {5} = 0)
AND (T1.FCUSTID = {5} OR {5} = 0)
/*抓取收款单及应收票据数据*/
SELECT T1.FID,FORMAT(T1.FDATE,'yyyy-MM-dd') AS '收款日期',T1.FRECAMOUNT AS '收款金额'
@ -274,7 +274,8 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
,T1.Remark AS '备注'
,T1.ZhangLing AS '账龄月'
,CAST('' AS VARCHAR(500)) AS '币别'
,CASE T1.ShouKuanType WHEN 1 THEN 3 WHEN 2 THEN 4 END AS '·Ö×é'
--,CASE T1.ShouKuanType WHEN 1 THEN 3 WHEN 2 THEN 4 END AS '分组'
,3 '分组'
FROM ZZZ_HeXiaoBook T1
INNER JOIN #TEMP1 T2 ON T1.XiaoShouFid = T2.FID
WHERE T1.ShouKuanType IN (1,2)
@ -345,6 +346,10 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
FROM (SELECT DISTINCT ACO22.名称,ACO22.明细区域,ACO22.区域 FROM ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO22 ) b
WHERE 销售员=b.名称
/*销售员'应收款专责小组'SBU和明细区域填'应收款专责小组'*/
UPDATE #TEMP3 SET SBU=销售员,[明细区域]=销售员
WHERE 销售员='应收款专责小组'
/*处理分摊金额尾差*/
UPDATE T1 SET 分摊金额 = ISNULL(T1.分摊金额,0)+(ISNULL(T1.金额,0)-ISNULL(T2.分摊金额,0)) FROM #TEMP3 T1
INNER JOIN(SELECT ShouKuanFid,SUM(ISNULL(分摊金额,0)) 分摊金额 FROM #TEMP3 GROUP BY ShouKuanFid) T2 ON T1.ShouKuanFid = T2.ShouKuanFid

View File

@ -156,10 +156,11 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
", FSDate, fDate, ZZFID, fClient,XSYFID,ZZHTH,SFQJFWDZ);
sql += string.Format(@"
INSERT INTO YingShouZhanKuanJY_GZTH(Number,OrderAmount,ShipmentsAmount,FBillAllAmount,
INSERT INTO YingShouZhanKuanJY_GZTH(FID,Number,OrderAmount,ShipmentsAmount,FBillAllAmount,
FALLAmountFor,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets
,[K3发货数量],[K3发货金额],[K3退货数量],[K3退货金额],[],[],[退],[退],PPFALLAmountFor,ZPFALLAmountFor,[K3专票金额],[K3普票金额])
Select
999998,
'',
SUM(OrderAmount) as OrderAmount,
SUM(ShipmentsAmount) as ShipmentsAmount,
@ -244,7 +245,8 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
{
fState = "未完结订单";
}
//是否月结客户
var SFQJFWDZ = customFilter["F_ALL_GROUP2"]?.ToString();
//这里是报表页面的标识
reportTitles.AddTitle("FState", fGROUP == null ? "" : fState);
reportTitles.AddTitle("FClient", fClientList == null ? "" : fClientList);
@ -253,6 +255,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
reportTitles.AddTitle("FProject", fProjectList == null ? "" : string.Join(",", fProjectList));
reportTitles.AddTitle("F_ZZHTH", ZZHTH == null ? "" : ZZHTH);
reportTitles.AddTitle("F_XSY", XSYFID == null ? "" : XSYFID);
reportTitles.AddTitle("F_SFYJKH", SFQJFWDZ == null ? "" : SFQJFWDZ);
}
return reportTitles;
}

View File

@ -90,9 +90,9 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
header.AddChild("星空退货金额", new LocaleValue("星空退货金额"), SqlStorageType.SqlDecimal);
header.AddChild("ReturnNum", new LocaleValue("总退货数量"), SqlStorageType.SqlInt);
header.AddChild("ReturnAmount", new LocaleValue("总退货金额"), SqlStorageType.SqlDecimal);
header.AddChild("PPBillingDate", new LocaleValue("星空普票开票日期"), SqlStorageType.Sqlvarchar);
header.AddChild("PPBillingDate", new LocaleValue("普票开票日期"), SqlStorageType.Sqlvarchar);
header.AddChild("PPBillingAmount", new LocaleValue("星空普票开票金额"), SqlStorageType.SqlDecimal);
header.AddChild("ZPBillingDate", new LocaleValue("星空专票开票日期"), SqlStorageType.Sqlvarchar);
header.AddChild("ZPBillingDate", 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);
@ -164,10 +164,11 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
", FSDate,fDate,ZZFID,fClient,XSYFID,ZZHTH,SFQJFWDZ);
sql += string.Format($@"/*dialect*/
INSERT INTO YingShouZhanKuanMX_GZTH(NUMBER,FQTY,FALLAMOUNT,OrderAmount,ShipmentsNum,ShipmentsAmount,
INSERT INTO YingShouZhanKuanMX_GZTH(FID,NUMBER,FQTY,FALLAMOUNT,OrderAmount,ShipmentsNum,ShipmentsAmount,
ReturnNum,ReturnAmount,BillingAmount,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets,[K3退货金额],PPBillingAmount,ZPBillingAmount,[退],[]
,[K3发货数量],[K3发货金额],[],[K3退货数量],[退],[K3专票金额],[K3普票金额])
SELECT
999998,
'',
SUM(FQTY),
SUM(FALLAMOUNT),
@ -212,7 +213,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
{
sql += string.Format("AND FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH WHERE IsEnded = '未完结')");
}
Logger.Error("sql脚本", sql, new Exception());
//Logger.Error("sql脚本", sql, new Exception());
DBUtils.Execute(this.Context, sql);
}

View File

@ -57,6 +57,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
string fDate = rptTitles.FirstOrDefault(a => a.TitleKey == "FDate").TitleValue.ToString();
string fProject = rptTitles.FirstOrDefault(a => a.TitleKey == "FProject").TitleValue.ToString();
string FState = rptTitles.FirstOrDefault(a => a.TitleKey == "FState").TitleValue.ToString();
string F_SFYJKH = rptTitles.FirstOrDefault(a => a.TitleKey == "F_SFYJKH").TitleValue.ToString();
//单据体
var list = reportModel.DataSource.Rows;
@ -74,14 +75,14 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
fDate2 = sqlTestList[0]["Date"].ToString().Split(' ')[0];
}
Main(filePath, fClient, fDate, fProject, list, Num, fAmount, fDate2, Context);
Main(filePath, fClient, fDate, fProject, list, Num, fAmount, fDate2, F_SFYJKH, Context);
}
}
/// <summary>
/// 赋值EXCEL
/// </summary>
static void Main(string outputFilePath, string fClient, string fDate, string fProject, DataRowCollection list, int Num, decimal fAmount,string fDate2,Kingdee.BOS.Context Context)
static void Main(string outputFilePath, string fClient, string fDate, string fProject, DataRowCollection list, int Num, decimal fAmount,string fDate2,string F_SFYJKH, Kingdee.BOS.Context Context)
{
#region Excel代码
@ -206,7 +207,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
cell.SetCellValue("尊敬的 " + fClient + " 客户您好,我公司已根据合同/订单的要求向贵公司交付相关产品并请验收确认,鉴于我公司对贵公司已通知发货部分的交付义务已完成,");
cell2.SetCellValue(fClient);
var fAmountZW = ToChineseNumber(fAmount, Context);
if (Num > 0)
if (Num > 0 && F_SFYJKH == "2")
{
cel3.SetCellValue("其中上期(截止" + fDate2 + "共欠我公司货款金额为:" + fAmount + "元(大写:"+ fAmountZW + "");
}
@ -241,6 +242,8 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
string BillingDate = string.IsNullOrWhiteSpace(list[i]["ZPBillingDate"].ToString()) ? "" : list[i]["ZPBillingDate"].ToString().Split(' ')[0];
string ReturnDate = string.IsNullOrWhiteSpace(list[i]["ReturnDate"].ToString()) ? "" : list[i]["ReturnDate"].ToString().Split(' ')[0];
BillingDate += string.IsNullOrWhiteSpace(list[i]["PPBillingDate"].ToString()) ? "" : (string.IsNullOrWhiteSpace(BillingDate) ?"":",")+list[i]["PPBillingDate"].ToString().Split(' ')[0];
//将合计行放到最下方
IRow rowi = sheet.CreateRow(j + i);
if (list[i]["Number"].ToString() == "合计")
@ -351,10 +354,10 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
n++;
//根据订单号分组合并单元格
if(list[i]["CONTRACTNUMBER"].ToString() != GroupCONTRACTNUMBER || i == list.Count-2)
if(list[i]["CONTRACTNUMBER"].ToString() != GroupCONTRACTNUMBER || i == list.Count-3)
{
int k = (i == list.Count - 2) ? 0 : 1;
if (GroupCount > 1)
int k = (i == list.Count - 3 && list[i]["CONTRACTNUMBER"].ToString() == GroupCONTRACTNUMBER) ? 0 : 1;
if (GroupCount > 1 || k == 0)
{
// 创建CellRangeAddress对象
CellRangeAddress cellRangeAddress = new CellRangeAddress(GroupIndex, j + i - k, 1, 1);

View File

@ -21,25 +21,28 @@ SET @Year = YEAR(@FSDate) - 1;
-- 计算六年前的年份
SET @SixYearsAgoYear = @Year - 6;
-- 创建变量来存储拆分后的值
DECLARE @SalesID NVARCHAR(50);
DECLARE @Pos INT;
DECLARE @FSaleOrgId1 NVARCHAR(50);
---- 创建变量来存储拆分后的值
-- DECLARE @SalesID NVARCHAR(50);
-- DECLARE @Pos INT;
-- DECLARE @FSaleOrgId1 NVARCHAR(50);
-- 初始化
SET @FSaleOrgId1 = LTRIM(RTRIM(@FSaleOrgId)) + ',';
SET @Pos = CHARINDEX(',', @FSaleOrgId1);
-- -- 初始化
-- SET @FSaleOrgId1 = LTRIM(RTRIM(@FSaleOrgId)) + ',';
-- SET @Pos = CHARINDEX(',', @FSaleOrgId1);
TRUNCATE TABLE SalesIDTable
-- 循环拆分字符串
WHILE @Pos > 0
BEGIN
SET @SalesID = SUBSTRING(@FSaleOrgId1, 1, @Pos - 1);
INSERT INTO SalesIDTable (SalesID) VALUES (@SalesID);
SET @FSaleOrgId1 = SUBSTRING(@FSaleOrgId1, @Pos + 1, LEN(@FSaleOrgId1));
SET @Pos = CHARINDEX(',', @FSaleOrgId1);
END
-- TRUNCATE TABLE SalesIDTable
-- -- 循环拆分字符串
-- WHILE @Pos > 0
-- BEGIN
-- SET @SalesID = SUBSTRING(@FSaleOrgId1, 1, @Pos - 1);
-- INSERT INTO SalesIDTable (SalesID) VALUES (@SalesID);
-- SET @FSaleOrgId1 = SUBSTRING(@FSaleOrgId1, @Pos + 1, LEN(@FSaleOrgId1));
-- SET @Pos = CHARINDEX(',', @FSaleOrgId1);
-- END
SElECT FID AS 'SalesID'
INTO #SalesIDTable
FROM fn_StrSplit(@FSaleOrgId,',')
--
TRUNCATE TABLE YJPHB_GZTH
@ -66,8 +69,8 @@ TRUNCATE TABLE YJPHB_GZTH
OR L.FNAME = '兴诺总'
OR A.FID IN (110185,207800)
OR D.F_correlation = 1)
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') > @FSDate)
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd')< @FEDate)
--AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') > @FSDate)
--AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd')< @FEDate)
--
SELECT
@ -91,7 +94,7 @@ TRUNCATE TABLE YJPHB_GZTH
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.=L.FNAME AND ISNULL(ACL.,'') != ''
WHERE 1=1
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') >= @SixYearsAgoYear)
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') <= @Year)
AND A.FDocumentStatus = 'C'
@ -120,7 +123,7 @@ TRUNCATE TABLE YJPHB_GZTH
-- LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME AND ISNULL(ACL.明细区域,'') != ''
-- WHERE 1=1
-- AND A.FID NOT IN(SELECT FID FROM #TEMP3)
-- AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM SalesIDTable))
-- AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM #SalesIDTable))
-- AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate)
-- AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
-- AND A.FDocumentStatus = 'C'
@ -151,7 +154,7 @@ TRUNCATE TABLE YJPHB_GZTH
-- INNER JOIN T_SEC_USER TU ON A.FChangerId = TU.FUSERID -- 用户单关联表体,获取变更人人
-- WHERE 1=1
-- AND A.FID NOT IN(SELECT FID FROM #TEMP3)
-- AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
-- AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
-- AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FCHANGEDATE,'yyyy-MM-dd') >= @FSDate)
-- AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
-- --AND FORMAT(A.FDATE,'yyyy') != FORMAT(A.FCHANGEDATE,'yyyy')
@ -163,14 +166,14 @@ TRUNCATE TABLE YJPHB_GZTH
/*时间段内最后一个版本的变更单,且原单为今年审核 */
SELECT ROW_NUMBER() OVER(PARTITION BY FPKIDX ORDER BY AL.FCHANGEDATE DESC) AS 'rn',
AL.FID
AL.FPKIDX,AL.FID
INTO #TEMP5
FROM T_SAL_XORDER AL
INNER JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
WHERE 1=1
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= @FSDate)
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
@ -182,6 +185,37 @@ TRUNCATE TABLE YJPHB_GZTH
DELETE FROM #TEMP5 WHERE rn > 1
/*大于结束时间最早一个版本的变更单,且原单为今年审核 */
SELECT ROW_NUMBER() OVER(PARTITION BY AL.FPKIDX ORDER BY AL.FCHANGEDATE ASC) AS 'rn',
AL.FPKIDX,AL.FID,
SUM(CAST((
ROUND((AM.FQTY * AB.FTAXPRICE - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATE /100 ),2)
+ROUND(((ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0)/ 100))/( 1+ FTAXRATE /100 )* (FTAXRATE /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)
-ROUND((AM.FQTYX * AB.FTAXPRICEX - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATEX /100 ),2)
-ROUND(((ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0)/ 100))/( 1+ FTAXRATEX /100 )* (FTAXRATEX /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)) AS DECIMAL(20, 10))) AS '变更金额' ,
AN.FBillAllAmount_LC AS '变更后金额'
INTO #TEMP6
FROM T_SAL_XORDER AL
INNER JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
INNER JOIN T_SAL_XORDERFIN AN ON AN.FID = AL.FID --
INNER JOIN T_SAL_XORDERENTRY AM ON AM.FID = AL.FID
INNER JOIN T_SAL_XORDERENTRY_F AB ON AB.FENTRYID = AM.FENTRYID
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
WHERE 1=1
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= @FEDate)
AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FEDate,'') = '' OR FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
AND A.F_contractnumber NOT LIKE 'Z%'
AND A.FManualClose <> '1'
AND AL.FDOCUMENTSTATUS = 'C'
AND (A.F_HSYJ <> '0' OR FORMAT(A.F_HSRQ,'yyyy') != FORMAT(A.FChangeDate,'yyyy'))
AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
GROUP BY AL.FID,AL.FPKIDX,AL.FCHANGEDATE,AN.FBillAllAmount_LC
DELETE FROM #TEMP6 WHERE rn > 1
--
SELECT
A.FSaleOrgId AS '组织FID'
@ -217,7 +251,7 @@ TRUNCATE TABLE YJPHB_GZTH
--
SELECT * FROM #TEMP4
UNION ALL
--
--
SELECT
A.FSALEORGID AS '组织FID',
CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL. ELSE ACO. END AS '部门(SBU)',
@ -243,13 +277,52 @@ TRUNCATE TABLE YJPHB_GZTH
WHERE 1=1
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
AND A.FID NOT IN(SELECT FID FROM #TEMP4)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM SalesIDTable))
AND A.FID NOT IN(SELECT FPKIDX FROM #TEMP6)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate)
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
AND A.FDocumentStatus = 'C'
AND A.FManualClose <> '1'
AND B.FManualRowClose <> '1'
AND A.F_contractnumber NOT LIKE 'Z%'
--
UNION ALL
SELECT
A.FSaleOrgId AS '组织FID'
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL. ELSE ACO. END AS '部门(SBU)'
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL. ELSE ACO. END AS '区域明细'
,CASE WHEN ISNULL(O.FNAME,'')='' THEN XS_L.FNAME
ELSE O.FNAME END AS '销售员'
,CASE WHEN n.FSHARERATE IS NULL THEN CAST(ROUND(AN.-AN., 2) AS DECIMAL(20,10))
ELSE CAST(ROUND((AN.-AN.) * (n.FSHARERATE/100),2) AS DECIMAL(20, 10)) END AS '订单业绩'
--,CAST(AN.FBillAllAmount_LC AS DECIMAL(20, 10)) AS '订单业绩'
,A.F_CONTRACTNUMBER AS '纸质合同号'
,A.fbillno AS '销售订单号'
,AL.FPKIDX AS '销售订单FID'
FROM T_SAL_XORDER AL
--LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
LEFT JOIN #TEMP6 AN ON AL.FID = AN.FID
LEFT JOIN V_BD_SALESMAN XS ON XS.fid = A.FSalerId
LEFT JOIN V_BD_SALESMAN_L XS_L ON XS_L.fid = XS.fid --
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 AND ISNULL(ACO.,'') != ''
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.=XS_L.FNAME AND ISNULL(ACL.,'') != ''
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
WHERE 1=1
AND AL.FPKIDX NOT IN(SELECT FID FROM #TEMP3)
AND AL.FPKIDX NOT IN(SELECT FPKIDX FROM #TEMP5)
AND AL.FID IN(SELECT FID FROM #TEMP6)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate)
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
AND A.FManualClose <> '1'
AND AL.FDOCUMENTSTATUS = 'C'
AND (A.F_HSYJ <> '0' OR FORMAT(A.F_HSRQ,'yyyy') != FORMAT(A.FChangeDate,'yyyy'))
AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
) a
/*当年截至结束日期累记变更差额*/
@ -268,7 +341,7 @@ SUM(CAST((
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
WHERE 1=1
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FEDate,'') = '' or FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
@ -305,7 +378,7 @@ SUM(CAST((
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
WHERE 1=1
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
AND (ISNULL(@FEDate,'') = '' or FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
@ -398,7 +471,7 @@ SUM(CAST((
--FROM T_AR_RECEIVEBILL A
--INNER JOIN V_BD_SALESMAN_L O ON O.fid= A.FSALEERID
--INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME AND ISNULL(ACO.,'') != ''
--WHERE (@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
--WHERE (@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
SELECT
t1.FSaleOrgId AS '销售组织FID',
t3.FNAME AS '销售员'
@ -410,7 +483,7 @@ FROM ZZZ_HeXiaoBook t1
INNER JOIN T_SAL_ORDER t2 ON t1.XiaoShouFid = t2.FID
INNER JOIN V_BD_SALESMAN_L t3 ON t3.fid= t2.FSALERID
INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=t3.FNAME AND ISNULL(ACO.,'') != ''
WHERE (@FSaleOrgId = '' Or t1.FSaleOrgId IN (SELECT SalesID FROM SalesIDTable)) AND t1.ShoukuanType = 0
WHERE (@FSaleOrgId = '' Or t1.FSaleOrgId IN (SELECT SalesID FROM #SalesIDTable)) AND t1.ShoukuanType = 0
--退
--SELECT
@ -423,7 +496,7 @@ WHERE (@FSaleOrgId = '' Or t1.FSaleOrgId IN (SELECT SalesID FROM SalesIDTable))
--FROM T_AR_REFUNDBILL A
--INNER JOIN V_BD_SALESMAN_L B ON A.FSALEERID = B.fid
--INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=B.FNAME AND ISNULL(ACO.,'') != ''
--WHERE (@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
--WHERE (@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM #SalesIDTable))
SELECT
t1.FSaleOrgId AS '销售组织FID',
t3.FNAME AS '销售员'
@ -435,7 +508,7 @@ FROM ZZZ_HeXiaoBook t1
INNER JOIN T_SAL_ORDER t2 ON t1.XiaoShouFid = t2.FID
INNER JOIN V_BD_SALESMAN_L t3 ON t3.fid= t2.FSALERID
INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=t3.FNAME AND ISNULL(ACO.,'') != ''
WHERE (@FSaleOrgId = '' Or t1.FSaleOrgId IN (SELECT SalesID FROM SalesIDTable)) AND t1.ShoukuanType = 1
WHERE (@FSaleOrgId = '' Or t1.FSaleOrgId IN (SELECT SalesID FROM #SalesIDTable)) AND t1.ShoukuanType = 1
--(线)

View File

@ -68,6 +68,7 @@ BEGIN
--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 PPBillingDate = B.FPRQ
FROM YingShouZhanKuanMX_GZTH A
@ -80,6 +81,20 @@ INNER JOIN (
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '普票' AND A.[K3数据] = 0
--K3普票日期
UPDATE A
SET PPBillingDate = CASE ISNULL(A.PPBillingDate,'') WHEN '' THEN '' ELSE A.PPBillingDate + ',' END + B.FPRQ
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN (
SELECT (
stuff((select ','+format(convert(date,),'yyyy-MM-dd') from (select distinct ,, from oldk3ICSale0802)b WHERE = A. AND = '' FOR xml path('')),1,1,'')) FPRQ,
,
FROM oldk3ICSale0802 A
WHERE = ''
GROUP BY ,) B
ON A.CONTRACTNUMBER = B.
WHERE B. = '' AND A.[K3数据] = 0
-- UPDATE A
--SET ZPBillingDate = FORMAT(CONVERT(DATE, B.FPRQ), 'yyyy-MM-dd')
--FROM YingShouZhanKuanMX_GZTH A
@ -87,6 +102,7 @@ WHERE B.FPLX = '
--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 = B.FPRQ
FROM YingShouZhanKuanMX_GZTH A
@ -99,7 +115,19 @@ INNER JOIN (
ON A.FID = B.XSDDFID AND A.FSaleOrgId = B.FPJSZZ
WHERE B.FPLX = '专票' AND A.[K3数据] = 0
--K3专票日期
UPDATE A
SET PPBillingDate = CASE ISNULL(A.PPBillingDate,'') WHEN '' THEN '' ELSE A.PPBillingDate + ',' END + B.FPRQ
FROM YingShouZhanKuanMX_GZTH A
INNER JOIN (
SELECT (
stuff((select ','+format(convert(date,),'yyyy-MM-dd') from (select distinct ,, from oldk3ICSale0802)b WHERE = A. AND = '' FOR xml path('')),1,1,'')) FPRQ,
,
FROM oldk3ICSale0802 A
WHERE = ''
GROUP BY ,) B
ON A.CONTRACTNUMBER = B.
WHERE B. = '' AND A.[K3数据] = 0
--UPDATE A
--SET PPBillingAmount = B.KPJE
@ -181,7 +209,7 @@ WHERE B.FPLX = 'רƱ' AND A.[
--
-- OrderAmount=0,PaymentAmount=0,ShippedDebt=0,InvoicedDebt=0,IsEnded = NULL ,OwedTickets= 0,BillingAmount=0
SELECT
FID, SUM(ShipmentsAmount) - AVG(PaymentAmount) AS '已出货欠款',AVG(BillingAmount) - AVG(PaymentAmount) AS '已开票欠款',SUM(OrderAmount) - SUM(BillingAmount) AS '欠票',
FID, SUM(ShipmentsAmount) - AVG(PaymentAmount) - SUM(ISNULL(ReturnAmount,0)) 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))