Compare commits
2 Commits
6640015719
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b3e4533917 | ||
|
|
df308eb0ef |
@@ -200,6 +200,8 @@
|
||||
<Compile Include="YSKDZGongNeng_JY\YourDataPlugIn.cs" />
|
||||
<Compile Include="YSZKDZBaoBiao\AccountsReceivableFiter.cs" />
|
||||
<Compile Include="YSZKDZBaoBiao\AccountsReceivablePlugIn.cs" />
|
||||
<Compile Include="YSZKDZBaoBiao\AccountsReceivableReport2 _XN.cs" />
|
||||
<Compile Include="YSZKDZBaoBiao\AccountsReceivableReport_XN.cs" />
|
||||
<Compile Include="YSZKDZBaoBiao\AccountsReceivableReport.cs" />
|
||||
<Compile Include="YSZKDZBaoBiao\AccountsReceivableReport2.cs" />
|
||||
<Compile Include="YSZKDZGongNeng_MX\LiteVersionPlugIn2.cs" />
|
||||
|
||||
@@ -303,11 +303,11 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
|
||||
/*<2A><><EFBFBD>±<EFBFBD>ע<EFBFBD>ֶ<EFBFBD>*/
|
||||
UPDATE T1 SET <20><>ע = T2.<2E><><EFBFBD>㷽ʽ +<2B><>ע FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
WHERE T2.<2E><><EFBFBD>㷽ʽ <> '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
WHERE T2.<2E><><EFBFBD>㷽ʽ <> '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' AND T1.<2E><><EFBFBD><EFBFBD> = 1
|
||||
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
UPDATE T1 SET <20><><EFBFBD><EFBFBD> = T2.<2E>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD> FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID AND T1.<2E><><EFBFBD><EFBFBD> = 1
|
||||
|
||||
/*<2A><><EFBFBD>¸<EFBFBD><C2B8>λ<EEB5A5>ֶ<EFBFBD>*/
|
||||
UPDATE A SET <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = T2.<2E><><EFBFBD>λ FROM #TEMP3 A
|
||||
@@ -317,7 +317,7 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
|
||||
LEFT JOIN T_AR_RECEIVEBILLENTRY B ON A.FID = B.FID
|
||||
LEFT JOIN T_BD_CUSTOMER_L C ON A.FPAYUNITTYPE = 'BD_Customer' AND A.FPAYUNIT = C.FCUSTID AND C.FLOCALEID = 2052
|
||||
) T2 ON A.ShouKuanFid = T2.FID
|
||||
WHERE <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> = 1
|
||||
WHERE <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> = 1 AND A.<2E><><EFBFBD><EFBFBD> = 1
|
||||
|
||||
|
||||
/*<2A><><EFBFBD>±ұ<C2B1><D2B1>ֶ<EFBFBD>*/
|
||||
@@ -327,7 +327,7 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
|
||||
FROM T_AR_RECEIVEBILL A
|
||||
LEFT JOIN T_AR_RECEIVEBILLENTRY B ON A.FID = B.FID
|
||||
LEFT JOIN T_BD_CURRENCY_L D ON D.FCURRENCYID = A.FCURRENCYID AND D.FLOCALEID = 2052
|
||||
) T2 ON A.ShouKuanFid = T2.FID
|
||||
) T2 ON A.ShouKuanFid = T2.FID AND A.<2E><><EFBFBD><EFBFBD> = 1
|
||||
|
||||
|
||||
--/*<2A><><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>*/
|
||||
@@ -338,12 +338,12 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
|
||||
/*ֻ<><D6BB><EFBFBD>·<EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>Ϊ1<CEAA><31><EFBFBD>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>*/
|
||||
UPDATE T1 SET <20><><EFBFBD><EFBFBD> = T2.<2E>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD> FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
WHERE T1.<2E><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> = 1
|
||||
WHERE T1.<2E><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> = 1 AND T1.<2E><><EFBFBD><EFBFBD> = 1
|
||||
|
||||
/*<2A><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ֶ<EFBFBD>*/
|
||||
UPDATE T1 SET <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = T2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
WHERE T2.<2E><><EFBFBD>㷽ʽ IN ('<EFBFBD><EFBFBD><EFBFBD>гжһ<EFBFBD>Ʊ','<EFBFBD><EFBFBD>ҵ<EFBFBD>жһ<EFBFBD>Ʊ')
|
||||
WHERE T2.<2E><><EFBFBD>㷽ʽ IN ('<EFBFBD><EFBFBD><EFBFBD>гжһ<EFBFBD>Ʊ','<EFBFBD><EFBFBD>ҵ<EFBFBD>жһ<EFBFBD>Ʊ') AND T1.<2E><><EFBFBD><EFBFBD> = 1
|
||||
|
||||
/*<2A><><EFBFBD><EFBFBD>SBU<42><55><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>*/
|
||||
UPDATE #TEMP3 SET SBU=b.<2E><><EFBFBD><EFBFBD>,[<5B><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>]=b.<2E><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>
|
||||
@@ -357,7 +357,7 @@ def BuilderReportSqlAndTempTable(Filter,tableName):
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>β<EFBFBD><CEB2>*/
|
||||
UPDATE T1 SET <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> = ISNULL(T1.<2E><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>,0)+(ISNULL(T1.<2E><><EFBFBD><EFBFBD>,0)-ISNULL(T2.<2E><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>,0)) FROM #TEMP3 T1
|
||||
INNER JOIN(SELECT ShouKuanFid,SUM(ISNULL(<28><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD>,0)) <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> FROM #TEMP3 GROUP BY ShouKuanFid) T2 ON T1.ShouKuanFid = T2.ShouKuanFid
|
||||
WHERE T1.<2E><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> = 1 AND T1.<2E><><EFBFBD><EFBFBD>>0
|
||||
WHERE T1.<2E><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> = 1 AND T1.<2E><><EFBFBD><EFBFBD>>0 AND T1.<2E><><EFBFBD><EFBFBD> = 1
|
||||
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>*/
|
||||
UPDATE #TEMP3 SET
|
||||
|
||||
304
YSZKDZBaoBiao/AccountsReceivableReport2 _XN.cs
Normal file
304
YSZKDZBaoBiao/AccountsReceivableReport2 _XN.cs
Normal file
@@ -0,0 +1,304 @@
|
||||
using Kingdee.BOS.App.Data;
|
||||
using Kingdee.BOS.Contracts.Report;
|
||||
using Kingdee.BOS.Core.Report;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.Util;
|
||||
using Kingdee.BOS;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Data;
|
||||
using Kingdee.BOS.Core.Enums;
|
||||
using Kingdee.BOS.Log;
|
||||
|
||||
namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
{
|
||||
/// <summary>
|
||||
/// 应收账款对账报表【明细版】
|
||||
/// </summary>
|
||||
[Description("[服务插件] 应收账款对账报表【兴诺明细版】取数"), HotUpdate]
|
||||
public class AccountsReceivableReport2_XN : SysReportBaseService
|
||||
{
|
||||
/// <summary>
|
||||
/// 初始化
|
||||
/// </summary>
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
this.ReportProperty.ReportName = new LocaleValue("应收账款对账单【兴诺明细版】", base.Context.UserLocale.LCID);
|
||||
this.ReportProperty.IsUIDesignerColumns = false;
|
||||
// 简单账表类型:普通、树形、分页
|
||||
this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL;
|
||||
this.IsCreateTempTableByPlugin = true;
|
||||
//
|
||||
this.IsCreateTempTableByPlugin = true;
|
||||
//
|
||||
this.ReportProperty.IsGroupSummary = true;
|
||||
//
|
||||
this.ReportProperty.SimpleAllCols = false;
|
||||
// 单据主键:两行FID相同,则为同一单的两条分录,单据编号可以不重复显示
|
||||
this.ReportProperty.PrimaryKeyFieldName = "FID";
|
||||
//
|
||||
this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true;
|
||||
|
||||
// 设置精度控制
|
||||
var list = new List<DecimalControlField>
|
||||
{
|
||||
new DecimalControlField("FDECIMALS", "OrigInvoiceAmount"),
|
||||
new DecimalControlField("FDECIMALS", "ExchangeRate"),
|
||||
new DecimalControlField("FDECIMALS", "InvoiceAmountTHB"),
|
||||
new DecimalControlField("FDECIMALS", "MonthEndExRate"),
|
||||
new DecimalControlField("FDECIMALS", "RevaluationAountInTHB"),
|
||||
new DecimalControlField("FDECIMALS", "UnrealizedGainLoss"),
|
||||
};
|
||||
this.ReportProperty.DecimalControlFieldList = list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 报表列表头
|
||||
/// </summary>
|
||||
/// <param name="filter"></param>
|
||||
/// <returns></returns>
|
||||
public override ReportHeader GetReportHeaders(IRptParams filter)
|
||||
{
|
||||
base.GetReportHeaders(filter);
|
||||
|
||||
ReportHeader header = new ReportHeader();
|
||||
header.AddChild("Number", new LocaleValue("序号"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("DATE", new LocaleValue("签订日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("CONTRACTNUMBER", new LocaleValue("订单号"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ProjectName", new LocaleValue("项目名称"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("SizeModel", new LocaleValue("规格型号"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("FQty", new LocaleValue("数量/台"), SqlStorageType.SqlInt);
|
||||
header.AddChild("FTaxPrice", new LocaleValue("单价"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("FAllAmount", new LocaleValue("价税合计"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("OrderAmount", new LocaleValue("订单金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsDate", new LocaleValue("发货日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("K3发货数量", new LocaleValue("K3发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3发货金额", new LocaleValue("K3发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货数量", new LocaleValue("星空发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货金额", new LocaleValue("星空发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsNum", new LocaleValue("总发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsAmount", new LocaleValue("总发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ReturnDate", new LocaleValue("退货日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("K3退货数量", new LocaleValue("K3退货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3退货金额", new LocaleValue("K3退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空退货数量", new LocaleValue("星空退货数量"), SqlStorageType.SqlDecimal);
|
||||
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("PPBillingAmount", new LocaleValue("星空普票开票金额"), SqlStorageType.SqlDecimal);
|
||||
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);
|
||||
header.AddChild("PaymentAmount", new LocaleValue("回款金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShippedDebt", new LocaleValue("已出货欠款"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("InvoicedDebt", new LocaleValue("已开票欠款"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("OwedTickets", new LocaleValue("欠票"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("IsEnded", new LocaleValue("是否已完结"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("FSalerId", new LocaleValue("销售员"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("Remark", new LocaleValue("备注"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("K3专票金额", new LocaleValue("K3专票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3普票金额", new LocaleValue("K3普票金额"), SqlStorageType.SqlDecimal);
|
||||
|
||||
foreach (var item in header.GetChilds())
|
||||
{
|
||||
item.Width = 160;
|
||||
}
|
||||
return header;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示报表数据
|
||||
/// </summary>
|
||||
/// <param name="filter"></param>
|
||||
/// <param name="tableName"></param>
|
||||
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
|
||||
{
|
||||
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
|
||||
|
||||
//组织
|
||||
var ZZ = (customFilter["F_VRYF_OrgId_re5"] as DynamicObject);
|
||||
var ZZFID = ZZ["Id"]?.ToString();
|
||||
|
||||
// 客户
|
||||
string fClient = customFilter["FClient_Id"]?.ToString();
|
||||
// 工程项目名称
|
||||
var fProjectList = (customFilter["FProject"] as DynamicObjectCollection)?.Select(n => (n["FProject"] as DynamicObject)["ID"].ToString()).ToList();
|
||||
// 截止对账日期
|
||||
var fDate = customFilter["FDate"]?.ToString();
|
||||
// 订单状态
|
||||
var fGROUP = customFilter["F_ALL_GROUP"]?.ToString();
|
||||
//开始对账日期
|
||||
var FSDate = customFilter["FSDate"]?.ToString();
|
||||
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
|
||||
//销售员
|
||||
var XSY = customFilter["F_XSY"] as DynamicObject;
|
||||
var XSYFID = string.Empty;
|
||||
if (XSY != null)
|
||||
{
|
||||
XSYFID = XSY["Id"]?.ToString();
|
||||
}
|
||||
|
||||
var fProject = fProjectList == null ? "" : (string.Join(",", fProjectList));
|
||||
|
||||
var SFQJFWDZ = customFilter["F_ALL_GROUP2"]?.ToString();
|
||||
|
||||
base.BuilderReportSqlAndTempTable(filter, tableName);
|
||||
|
||||
string sql = string.Format(@"/*dialect*/
|
||||
--更新表中的字段
|
||||
EXEC UpdateYSDZBMX_GZTH_XN '{0}','{1}','{2}','{3}','{4}','{5}','{6}'
|
||||
|
||||
--更新表中的发票金额
|
||||
EXEC GXFPJEYSDZDMX_GZTH '{0}','{1}'
|
||||
|
||||
|
||||
", FSDate,fDate,ZZFID,fClient,XSYFID,ZZHTH,SFQJFWDZ);
|
||||
sql += string.Format($@"/*dialect*/
|
||||
INSERT INTO YingShouZhanKuanMX_GZTH(FID,NUMBER,PaymentAmount,ShippedDebt,InvoicedDebt)
|
||||
Select 999998,'待核销'
|
||||
,Sum((FRECAMOUNTFOR-F_AMOUNT)*FEXCHANGERATE) AS DHXJE
|
||||
,-Sum((FRECAMOUNTFOR-F_AMOUNT)*FEXCHANGERATE) AS YCHQK
|
||||
,-Sum((FRECAMOUNTFOR-F_AMOUNT)*FEXCHANGERATE) AS YKPQK
|
||||
From T_AR_RECEIVEBILL T1
|
||||
Where 1=1
|
||||
And FDOCUMENTSTATUS = 'C'
|
||||
And FCONTACTUNIT ={fClient}
|
||||
|
||||
|
||||
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
|
||||
999999,
|
||||
'合计',
|
||||
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(星空发货金额),
|
||||
SUM(K3发货数量),SUM(K3发货金额),SUM(星空发货数量),SUM(K3退货数量),SUM(星空退货数量),SUM(K3专票金额),SUM(K3普票金额)
|
||||
FROM
|
||||
YingShouZhanKuanMX_GZTH
|
||||
where 1=1
|
||||
|
||||
|
||||
");
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
sql += string.Format("AND FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH WHERE IsEnded = '未完结')");
|
||||
}
|
||||
sql += string.Format(@"
|
||||
SELECT
|
||||
--ROW_NUMBER() OVER (ORDER BY [DATE] DESC,[FID]) AS FIDENTITYID,
|
||||
--DENSE_RANK() OVER (ORDER BY [DATE] DESC,[FID] ) AS OUTPUTNUMBER,
|
||||
ROW_NUMBER() OVER (ORDER BY (CASE [NUMBER] WHEN '待核销' THEN 999998 WHEN '合计' THEN 999999 ELSE CONVERT(INT,[NUMBER]) END),[FID]) AS FIDENTITYID,
|
||||
DENSE_RANK() OVER (ORDER BY (CASE [NUMBER] WHEN '待核销' THEN '2099-12-30' WHEN '合计' THEN '2099-12-31' ELSE [DATE] END),[FID] ) AS OUTPUTNUMBER,
|
||||
*
|
||||
INTO {0}
|
||||
FROM YingShouZhanKuanMX_GZTH
|
||||
WHERE 1=1
|
||||
", tableName);
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
sql += string.Format("AND FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH WHERE IsEnded = '未完结')");
|
||||
}
|
||||
//Logger.Error("sql脚本", sql, new Exception());
|
||||
DBUtils.Execute(this.Context, sql);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取前端组件转换过滤条件
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override ReportTitles GetReportTitles(IRptParams filter)
|
||||
{
|
||||
ReportTitles reportTitles = new ReportTitles();
|
||||
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
|
||||
|
||||
if (customFilter != null)
|
||||
{
|
||||
// 客户
|
||||
var fClientList = (customFilter["FClient"] as DynamicObject)?["Name"]?.ToString();
|
||||
// 工程项目名称
|
||||
var fProjectList = (customFilter["FProject"] as DynamicObjectCollection)?.Select(n => (n["FProject"] as DynamicObject)["Name"].ToString()).ToList();
|
||||
// 截止对账日期
|
||||
var fDate = customFilter["FDate"]?.ToString();
|
||||
//开始对账日期
|
||||
var FSDate = customFilter["FSDate"]?.ToString();
|
||||
// 订单状态
|
||||
var fGROUP = customFilter["F_ALL_GROUP"]?.ToString();
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
//销售员
|
||||
var XSY = (customFilter["F_XSY"] as DynamicObject);
|
||||
var XSYFID = string.Empty;
|
||||
if (XSY != null)
|
||||
{
|
||||
XSYFID = XSY["Id"].ToString();
|
||||
}
|
||||
|
||||
|
||||
string fState = "";
|
||||
if (fGROUP == "1")
|
||||
{
|
||||
fState = "全部订单";
|
||||
}
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
fState = "未完结订单";
|
||||
}
|
||||
//是否月结客户
|
||||
var SFQJFWDZ = customFilter["F_ALL_GROUP2"]?.ToString();
|
||||
//这里是报表页面的标识
|
||||
reportTitles.AddTitle("FState", fGROUP == null ? "" : fState);
|
||||
reportTitles.AddTitle("FClient", fClientList == null ? "" : fClientList);
|
||||
reportTitles.AddTitle("FDate", fDate == null ? "" : Convert.ToDateTime(fDate).ToString("yyyy-MM-dd"));
|
||||
reportTitles.AddTitle("FSDate", fDate == null ? "" : Convert.ToDateTime(FSDate).ToString("yyyy-MM-dd"));
|
||||
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;
|
||||
}
|
||||
//设计报表合计列
|
||||
//public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter)
|
||||
//{
|
||||
|
||||
// var result = base.GetSummaryColumnInfo(filter);
|
||||
// result.Add(new SummaryField("FQty", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("FAllAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("OrderAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ShipmentsNum", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ShipmentsAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ReturnNum", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ReturnAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("PPBillingAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ZPBillingAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("BillingAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("PaymentAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("OwedTickets", BOSEnums.Enu_SummaryType.SUM));
|
||||
// return result;
|
||||
//}
|
||||
}
|
||||
}
|
||||
292
YSZKDZBaoBiao/AccountsReceivableReport_XN.cs
Normal file
292
YSZKDZBaoBiao/AccountsReceivableReport_XN.cs
Normal file
@@ -0,0 +1,292 @@
|
||||
using Kingdee.BOS.App.Data;
|
||||
using Kingdee.BOS;
|
||||
using Kingdee.BOS.Contracts.Report;
|
||||
using Kingdee.BOS.Core.Report;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Kingdee.BOS.Core.Enums;
|
||||
|
||||
namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
{
|
||||
/// <summary>
|
||||
/// 应收账款对账报表【简易版】
|
||||
/// </summary>
|
||||
[Description("【服务插件】应收账款对账报表【兴诺简易版】取数"), HotUpdate]
|
||||
public class AccountsReceivableReport_XN : SysReportBaseService
|
||||
{
|
||||
/// <summary>
|
||||
/// 初始化
|
||||
/// </summary>
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
this.ReportProperty.ReportName = new LocaleValue("应收账款对账单【兴诺简易版】", base.Context.UserLocale.LCID);
|
||||
this.ReportProperty.IsUIDesignerColumns = false;
|
||||
// 简单账表类型:普通、树形、分页
|
||||
this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL;
|
||||
this.IsCreateTempTableByPlugin = true;
|
||||
//
|
||||
this.IsCreateTempTableByPlugin = true;
|
||||
//
|
||||
this.ReportProperty.IsGroupSummary = true;
|
||||
//
|
||||
this.ReportProperty.SimpleAllCols = false;
|
||||
// 单据主键:两行FID相同,则为同一单的两条分录,单据编号可以不重复显示
|
||||
this.ReportProperty.PrimaryKeyFieldName = "FID";
|
||||
//
|
||||
this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true;
|
||||
|
||||
// 设置精度控制
|
||||
var list = new List<DecimalControlField>
|
||||
{
|
||||
new DecimalControlField("FDECIMALS", "OrigInvoiceAmount"),
|
||||
new DecimalControlField("FDECIMALS", "ExchangeRate"),
|
||||
new DecimalControlField("FDECIMALS", "InvoiceAmountTHB"),
|
||||
new DecimalControlField("FDECIMALS", "MonthEndExRate"),
|
||||
new DecimalControlField("FDECIMALS", "RevaluationAountInTHB"),
|
||||
new DecimalControlField("FDECIMALS", "UnrealizedGainLoss"),
|
||||
};
|
||||
this.ReportProperty.DecimalControlFieldList = list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 报表列表头
|
||||
/// </summary>
|
||||
/// <param name="filter"></param>
|
||||
/// <returns></returns>
|
||||
public override ReportHeader GetReportHeaders(IRptParams filter)
|
||||
{
|
||||
base.GetReportHeaders(filter);
|
||||
|
||||
ReportHeader header = new ReportHeader();
|
||||
|
||||
header.AddChild("Number", new LocaleValue("序号"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("DATE", new LocaleValue("签订日期"), SqlStorageType.SqlDatetime);
|
||||
header.AddChild("CONTRACTNUMBER", new LocaleValue("订单号"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ProjectName", new LocaleValue("项目名称"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("OrderAmount", new LocaleValue("订单金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3发货数量", new LocaleValue("K3发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3发货金额", new LocaleValue("K3发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货数量", new LocaleValue("星空发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货金额", new LocaleValue("星空发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsAmount", new LocaleValue("总发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3退货数量", new LocaleValue("K3退货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3退货金额", new LocaleValue("K3退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空退货数量", new LocaleValue("星空退货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空退货金额", new LocaleValue("星空退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("FBillAllAmount", new LocaleValue("总退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PPBillingDate", new LocaleValue("星空普票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PPFALLAmountFor", new LocaleValue("星空普票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ZPBillingDate", new LocaleValue("星空专票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ZPFALLAmountFor", new LocaleValue("星空专票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("FALLAMOUNTFOR", new LocaleValue("总开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PaymentAmount", new LocaleValue("回款金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShippedDebt", new LocaleValue("已出货欠款"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("InvoicedDebt", new LocaleValue("已开票欠款"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("OwedTickets", new LocaleValue("欠票"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("IsEnded", new LocaleValue("是否已完结"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("FSalerId", new LocaleValue("销售员"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("Remark", new LocaleValue("备注"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("K3专票金额", new LocaleValue("K3专票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3普票金额", new LocaleValue("K3普票金额"), SqlStorageType.SqlDecimal);
|
||||
|
||||
foreach (var item in header.GetChilds())
|
||||
{
|
||||
item.Width = 160;
|
||||
}
|
||||
return header;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示报表数据
|
||||
/// </summary>
|
||||
/// <param name="filter"></param>
|
||||
/// <param name="tableName"></param>
|
||||
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
|
||||
{
|
||||
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
|
||||
//组织
|
||||
var ZZ = (customFilter["F_VRYF_OrgId_re5"] as DynamicObject);
|
||||
var ZZFID = ZZ["Id"]?.ToString();
|
||||
// 客户
|
||||
string fClient = customFilter["FClient_Id"]?.ToString();
|
||||
// 工程项目名称
|
||||
var fProjectList = (customFilter["FProject"] as DynamicObjectCollection)?.Select(n => (n["FProject"] as DynamicObject)["ID"].ToString()).ToList();
|
||||
// 截止对账日期
|
||||
var fDate = customFilter["FDate"]?.ToString();
|
||||
|
||||
//开始对账日期
|
||||
var FSDate = customFilter["FSDate"]?.ToString();
|
||||
|
||||
// 订单状态
|
||||
var fGROUP = customFilter["F_ALL_GROUP"]?.ToString();
|
||||
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
|
||||
//销售员
|
||||
var XSY = (customFilter["F_XSY"] as DynamicObject);
|
||||
var XSYFID = string.Empty;
|
||||
if (XSY != null)
|
||||
{
|
||||
XSYFID = XSY["Id"].ToString();
|
||||
}
|
||||
|
||||
var fProject = fProjectList == null ? "" : (string.Join(",", fProjectList));
|
||||
|
||||
var SFQJFWDZ = customFilter["F_ALL_GROUP2"]?.ToString();
|
||||
|
||||
base.BuilderReportSqlAndTempTable(filter, tableName);
|
||||
|
||||
string sql = string.Format(@"/*dialect*/
|
||||
--更新MX表中的字段
|
||||
EXEC UpdateYSDZBMX_GZTH_XN '{0}','{1}','{2}','{3}','{4}','{5}','{6}'
|
||||
|
||||
--更新MX表中的发票金额
|
||||
EXEC GXFPJEYSDZDMX_GZTH '{0}','{1}'
|
||||
|
||||
--更新JY表
|
||||
EXEC UpdateYSDZBJY_GZTH
|
||||
", FSDate, fDate, ZZFID, fClient,XSYFID,ZZHTH,SFQJFWDZ);
|
||||
|
||||
sql += string.Format($@"
|
||||
INSERT INTO YingShouZhanKuanJY_GZTH(FID,NUMBER,PaymentAmount,ShippedDebt,InvoicedDebt)
|
||||
Select 999998,'待核销'
|
||||
,Sum((FRECAMOUNTFOR-F_AMOUNT)*FEXCHANGERATE) AS DHXJE
|
||||
,-Sum((FRECAMOUNTFOR-F_AMOUNT)*FEXCHANGERATE) AS YCHQK
|
||||
,-Sum((FRECAMOUNTFOR-F_AMOUNT)*FEXCHANGERATE) AS YKPQK
|
||||
From T_AR_RECEIVEBILL T1
|
||||
Where 1=1
|
||||
And FDOCUMENTSTATUS = 'C'
|
||||
And FCONTACTUNIT ={fClient}
|
||||
|
||||
INSERT INTO YingShouZhanKuanJY_GZTH(FID,Number,OrderAmount,ShipmentsAmount,FBillAllAmount,
|
||||
FALLAmountFor,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets
|
||||
,[K3发货数量],[K3发货金额],[K3退货数量],[K3退货金额],[星空发货数量],[星空发货金额],[星空退货数量],[星空退货金额],PPFALLAmountFor,ZPFALLAmountFor,[K3专票金额],[K3普票金额])
|
||||
Select
|
||||
999999,
|
||||
'合计',
|
||||
SUM(OrderAmount) as OrderAmount,
|
||||
SUM(ShipmentsAmount) as ShipmentsAmount,
|
||||
SUM(FBillAllAmount) as FBillAllAmount,
|
||||
SUM(FALLAMOUNTFOR) as FALLAMOUNTFOR,
|
||||
SUM(PaymentAmount) as PaymentAmount,
|
||||
SUM(ShippedDebt) as ShippedDebt,
|
||||
SUM(InvoicedDebt) as InvoicedDebt,
|
||||
SUM(OwedTickets) as OwedTickets
|
||||
,SUM([K3发货数量]) as K3发货数量
|
||||
,SUM([K3发货金额]) as K3发货金额
|
||||
,SUM([K3退货数量]) as K3退货数量
|
||||
,SUM([K3退货金额]) as K3退货金额
|
||||
,SUM([星空发货数量]) as 星空发货数量
|
||||
,SUM([星空发货金额]) as 星空发货金额
|
||||
,SUM([星空退货数量]) as 星空退货数量
|
||||
,SUM([星空退货金额]) as 星空退货金额
|
||||
,SUM(PPFALLAmountFor) as PPFALLAmountFor
|
||||
,SUM(ZPFALLAmountFor) as ZPFALLAmountFor
|
||||
,SUM([K3专票金额]) as K3专票金额
|
||||
,SUM([K3普票金额]) as K3普票金额
|
||||
From YingShouZhanKuanJY_GZTH
|
||||
where 1=1
|
||||
");
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
sql += string.Format(@"AND IsEnded = '未完结'");
|
||||
}
|
||||
sql += string.Format(@"
|
||||
SELECT
|
||||
--ROW_NUMBER() OVER (ORDER BY [DATE] DESC,[FID]) AS FIDENTITYID,
|
||||
ROW_NUMBER() OVER (ORDER BY (CASE [NUMBER] WHEN '待核销' THEN 999998 WHEN '合计' THEN 999999 ELSE CONVERT(INT,[NUMBER]) END),[FID]) AS FIDENTITYID,
|
||||
*
|
||||
INTO {0}
|
||||
FROM YingShouZhanKuanJY_GZTH
|
||||
WHERE 1=1
|
||||
", tableName);
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
sql += string.Format(@"AND IsEnded = '未完结'");
|
||||
}
|
||||
DBUtils.Execute(this.Context, sql);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取前端组件转换过滤条件
|
||||
/// </summary>
|
||||
/// <param name="filter"></param>
|
||||
/// <returns></returns>
|
||||
public override ReportTitles GetReportTitles(IRptParams filter)
|
||||
{
|
||||
ReportTitles reportTitles = new ReportTitles();
|
||||
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
|
||||
|
||||
if (customFilter != null)
|
||||
{
|
||||
// 客户
|
||||
var fClientList = (customFilter["FClient"] as DynamicObject)?["Name"]?.ToString();
|
||||
// 工程项目名称
|
||||
var fProjectList = (customFilter["FProject"] as DynamicObjectCollection)?.Select(n => (n["FProject"] as DynamicObject)["Name"].ToString()).ToList();
|
||||
// 截止对账日期
|
||||
var fDate = customFilter["FDate"]?.ToString();
|
||||
//开始对账日期
|
||||
var FSDate = customFilter["FSDate"]?.ToString();
|
||||
// 订单状态
|
||||
var fGROUP = customFilter["F_ALL_GROUP"]?.ToString();
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
//销售员
|
||||
var XSY = (customFilter["F_XSY"] as DynamicObject);
|
||||
var XSYFID = string.Empty;
|
||||
if (XSY != null)
|
||||
{
|
||||
XSYFID = XSY["Id"].ToString();
|
||||
}
|
||||
|
||||
string fState = "";
|
||||
if (fGROUP == "1")
|
||||
{
|
||||
fState = "全部订单";
|
||||
}
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
fState = "未完结订单";
|
||||
}
|
||||
//是否月结客户
|
||||
var SFQJFWDZ = customFilter["F_ALL_GROUP2"]?.ToString();
|
||||
//这里是报表页面的标识
|
||||
reportTitles.AddTitle("FState", fGROUP == null ? "" : fState);
|
||||
reportTitles.AddTitle("FClient", fClientList == null ? "" : fClientList);
|
||||
reportTitles.AddTitle("FDate", fDate == null ? "" : Convert.ToDateTime(fDate).ToString("yyyy-MM-dd"));
|
||||
reportTitles.AddTitle("FSDate", fDate == null ? "" : Convert.ToDateTime(FSDate).ToString("yyyy-MM-dd"));
|
||||
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;
|
||||
}
|
||||
|
||||
//设计报表合计列
|
||||
//public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter)
|
||||
//{
|
||||
|
||||
// var result = base.GetSummaryColumnInfo(filter);
|
||||
// result.Add(new SummaryField("OrderAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ShipmentsAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("FBillAllAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("PPFALLAmountFor", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ZPFALLAmountFor", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("FALLAMOUNTFOR", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("PaymentAmount", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("ShippedDebt", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("InvoicedDebt", BOSEnums.Enu_SummaryType.SUM));
|
||||
// result.Add(new SummaryField("OwedTickets", BOSEnums.Enu_SummaryType.SUM));
|
||||
// return result;
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ using NPOI.SS.UserModel;
|
||||
using NPOI.SS.Util;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
@@ -32,9 +33,11 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
|
||||
public override void BarItemClick(BarItemClickEventArgs e)
|
||||
{
|
||||
base.BarItemClick(e);
|
||||
List<string> BarItemKeyList = new List<string> { "Test_Button_3", "Test_Button_1" };
|
||||
// 判断 应收对账单【明细版】按钮
|
||||
if (e.BarItemKey == "Test_Button_1")
|
||||
if (BarItemKeyList.Contains(e.BarItemKey))
|
||||
{
|
||||
string IsXN = e.BarItemKey == "Test_Button_3" ? "XN" : "";
|
||||
var reportModel = this.SysReportModel;
|
||||
|
||||
//单据头
|
||||
@@ -78,18 +81,18 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
|
||||
fDate2 = sqlTestList[0]["Date"].ToString().Split(' ')[0];
|
||||
}
|
||||
|
||||
Main(filePath, fClient, fDate, fProject, list, Num, fAmount, fDate2, F_SFYJKH, Context);
|
||||
Main(filePath, fClient, fDate, fProject, list, Num, fAmount, fDate2, F_SFYJKH, Context, IsXN);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 赋值EXCEL
|
||||
/// </summary>
|
||||
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)
|
||||
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,string IsXN)
|
||||
{
|
||||
#region Excel代码
|
||||
|
||||
string filePath = @"D:\KingdeeModel\对账单模板2.xlsx";
|
||||
string filePath = $@"D:\KingdeeModel\对账单模板{IsXN}2.xlsx";
|
||||
FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read);
|
||||
IWorkbook workbook = new XSSFWorkbook(file);
|
||||
file.Close();
|
||||
|
||||
407
派诺报表SQL文件/应收对账单(兴诺明细版存储过程).sql
Normal file
407
派诺报表SQL文件/应收对账单(兴诺明细版存储过程).sql
Normal file
@@ -0,0 +1,407 @@
|
||||
USE [AIS2025]
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[UpdateYSDZBMX_GZTH] Script Date: 2025/11/28 10:40:12 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE PROCEDURE [dbo].[UpdateYSDZBMX_GZTH_XN]
|
||||
@FSDATE varchar(1000),
|
||||
@FEDATE varchar(1000),
|
||||
@FSaleOrgId varchar(1000),
|
||||
@FCUSTID varchar(1000),
|
||||
@XSYFID varchar(1000),
|
||||
@ZZHTH varchar(1000)
|
||||
,@SFQJFWDZ varchar(1000) ---是否区间范围对账
|
||||
AS
|
||||
BEGIN
|
||||
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;
|
||||
|
||||
SELECT DISTINCT *
|
||||
INTO #TEMP3
|
||||
FROM(
|
||||
--发货通知单
|
||||
SELECT F_PAPERCONTRACT ZHHTH,FDELIVERYORGID ZZ
|
||||
FROM T_SAL_DELIVERYNOTICE T1
|
||||
WHERE (FDELIVERYORGID = @FSaleOrgId OR ISNULL(@FSaleOrgId,'') = '')
|
||||
AND FCUSTOMERID = @FCUSTID --客户
|
||||
AND FApproveDate >= @StartDate
|
||||
AND FApproveDate < @EndDate
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR F_PAPERCONTRACT = @ZZHTH)
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
UNION ALL
|
||||
--退货通知单
|
||||
SELECT F_PAPERCONTRACT ZHHTH,FRETORGID ZZ
|
||||
FROM T_SAL_RETURNNOTICE T1
|
||||
WHERE (FRETORGID = @FSaleOrgId OR ISNULL(@FSaleOrgId,'') = '')
|
||||
AND FRETCUSTID = @FCUSTID --客户
|
||||
AND FApproveDate >= @StartDate
|
||||
AND FApproveDate < @EndDate
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR F_PAPERCONTRACT = @ZZHTH)
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
UNION ALL
|
||||
--收款单
|
||||
SELECT F_CONTRACTNUMBER ZHHTH,FPAYORGID ZZ
|
||||
FROM T_AR_RECEIVEBILL T1
|
||||
WHERE (FPAYORGID = @FSaleOrgId OR ISNULL(@FSaleOrgId,'') = '')
|
||||
AND FCONTACTUNITTYPE = 'BD_Customer' --往来单位类型
|
||||
AND FCONTACTUNIT = @FCUSTID --往来单位
|
||||
AND FApproveDate >= @StartDate
|
||||
AND FApproveDate < @EndDate
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR F_CONTRACTNUMBER = @ZZHTH)
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
UNION ALL
|
||||
--收款退款单
|
||||
SELECT F_VRYF_TEXT_83G ZHHTH,FPAYORGID ZZ
|
||||
FROM T_AR_REFUNDBILL T1
|
||||
WHERE (FPAYORGID = @FSaleOrgId OR ISNULL(@FSaleOrgId,'') = '')
|
||||
AND FCONTACTUNITTYPE = 'BD_Customer' --往来单位类型
|
||||
AND FCONTACTUNIT = @FCUSTID --往来单位
|
||||
AND FApproveDate >= @StartDate
|
||||
AND FApproveDate < @EndDate
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR F_VRYF_TEXT_83G = @ZZHTH)
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
UNION ALL
|
||||
--销售增值税专用发票
|
||||
SELECT F_PAPERNUMBER ZHHTH,FSETTLEORGID ZZ
|
||||
FROM T_IV_SALESIC T1
|
||||
WHERE (FSETTLEORGID = @FSaleOrgId OR ISNULL(@FSaleOrgId,'') = '')
|
||||
AND FCUSTOMERID = @FCUSTID --客户
|
||||
AND FApproveDate >= '2025-01-01'
|
||||
AND FApproveDate >= @FSDATE
|
||||
AND FApproveDate < @EndDate
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR F_PAPERNUMBER = @ZZHTH)
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
AND T1.F_SFQC = 0
|
||||
UNION ALL
|
||||
--销售订单
|
||||
SELECT F_CONTRACTNUMBER ZHHTH,FSALEORGID ZZ
|
||||
FROM T_SAL_ORDER
|
||||
WHERE FDOCUMENTSTATUS = 'C'
|
||||
AND FApproveDate < @EndDate
|
||||
AND 1= @SFQJFWDZ
|
||||
UNION ALL
|
||||
--销售订单
|
||||
SELECT F_CONTRACTNUMBER ZHHTH,FSALEORGID ZZ
|
||||
FROM T_SAL_ORDER
|
||||
WHERE FDOCUMENTSTATUS = 'C'
|
||||
AND FApproveDate >= @FSDATE
|
||||
AND FApproveDate < @EndDate
|
||||
AND 2= @SFQJFWDZ
|
||||
)a
|
||||
|
||||
|
||||
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
|
||||
,A.FSaleOrgId AS 销售组织
|
||||
,A.FBILLNO AS 销售订单编号
|
||||
,XS.FNAME AS 销售员FID
|
||||
,FORMAT( A.FApproveDate,'yyyy-MM-dd') AS 签订日期
|
||||
,A.F_contractnumber AS 订单号
|
||||
,GC.FNAME AS 项目名称
|
||||
,WL_L.FSpecification AS 型号
|
||||
,B.FQTY AS 数量台
|
||||
,B_F.FTAXPRICE AS 单价
|
||||
,B_F.FALLAMOUNT_LC AS 价税合计
|
||||
,AF.FBillAllAmount 订单金额
|
||||
,A.F_Amount AS 累计核销金额
|
||||
,0 AS 是否K3数据
|
||||
,tmm.FOldNumber
|
||||
,ROW_NUMBER() OVER(ORDER BY A.FApproveDate ,A.FID) AS NUMBER
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN (
|
||||
SELECT T1.FID,SUM(T1.FALLAMOUNT_LC) FBillAllAmount
|
||||
FROM T_SAL_ORDERENTRY_F T1
|
||||
INNER JOIN T_SAL_ORDERENTRY T2 ON T1.FENTRYID = T2.FENTRYID AND T2.FRETURNTYPE <> 'RETURN'
|
||||
GROUP BY T1.FID
|
||||
) 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 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
|
||||
INNER JOIN #TEMP3 LS ON LS.ZHHTH = A.F_CONTRACTNUMBER AND LS.ZZ = A.FSALEORGID
|
||||
WHERE (A.FSaleOrgId = @FSaleOrgId OR ISNULL(@FSaleOrgId,'') = '')
|
||||
AND A.FCUSTID = @FCUSTID
|
||||
--AND A.FApproveDate >= @StartDate
|
||||
--AND A.FApproveDate <= @EndDate
|
||||
AND (ISNULL(@XSYFID, '') = '' OR A.FSalerId = @XSYFID)
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR A.F_contractnumber = @ZZHTH)
|
||||
AND B.FRETURNTYPE <> 'RETURN'
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
|
||||
/*2025-08-13调整发货数量逻辑,替换该逻辑*/
|
||||
--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 T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
--INNER JOIN [t_xnoldk3seorder1125] b
|
||||
--ON C.F_K3SEQ = b.行号 AND 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
|
||||
--AND B.日期 >= @StartDate
|
||||
--AND B.日期 < @EndDate
|
||||
|
||||
--k3专票
|
||||
UPDATE a
|
||||
SET a.[K3专票金额] = b.发票金额
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN (SELECT 合同号,发票类型,SUM(发票金额) AS '发票金额' FROM [oldk3ICSale0802] GROUP BY 合同号,发票类型) b
|
||||
ON C.FSEQ = 1 AND a.CONTRACTNUMBER=b.合同号 --AND a.旧物料编码=[物料编码] AND a.FQty=[数量] AND (ABS(a.FTaxPrice-b.[含税单价])<=0.02 OR ABS(a.FTaxPrice-b.[面价])<=0.02)
|
||||
WHERE 是否K3数据=0
|
||||
AND b.发票类型 = '专'
|
||||
--AND B.日期 >= @StartDate
|
||||
--AND B.日期 < @EndDate
|
||||
|
||||
--k3普票
|
||||
UPDATE a
|
||||
SET a.[K3普票金额] = b.发票金额
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN (SELECT 合同号,发票类型,是否普票存财务,SUM(发票金额) AS '发票金额' FROM [oldk3ICSale0802] GROUP BY 合同号,发票类型,是否普票存财务) b
|
||||
ON C.FSEQ = 1 AND a.CONTRACTNUMBER=b.合同号 --AND a.旧物料编码=[物料编码] AND a.FQty=[数量] AND (ABS(a.FTaxPrice-b.[含税单价])<=0.02 OR ABS(a.FTaxPrice-b.[面价])<=0.02)
|
||||
WHERE 是否K3数据=0
|
||||
AND b.发票类型 = '普'
|
||||
AND ISNULL(b.是否普票存财务,'') <> 1
|
||||
|
||||
UPDATE a SET a.[K3专票金额] = CASE B.rownumber WHEN 1 THEN b.专票金额 ELSE 0 END,a.[K3普票金额]= CASE B.rownumber WHEN 1 THEN b.普票金额 ELSE 0 END
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN (
|
||||
SELECT ROW_NUMBER() OVER(PARTITION BY T1.FID ORDER BY T1.FID) rownumber,T1.FID,T1.FENTRYID,T2.专票金额,T2.普票金额
|
||||
FROM YingShouZhanKuanMX_GZTH T1
|
||||
INNER JOIN (
|
||||
SELECT FID,SUM([K3专票金额]) AS 专票金额,SUM([K3普票金额]) AS 普票金额
|
||||
FROM YingShouZhanKuanMX_GZTH
|
||||
GROUP BY FID) T2 ON T1.FID = t2.FID
|
||||
)B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
|
||||
|
||||
----插入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 t_xnoldk3seorder1125 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
|
||||
C.FSBILLID AS 销售订单FID
|
||||
,C.FSID AS 销售订单FENTRYID
|
||||
,A.FApproveDate AS 发货日期
|
||||
,B.FQTY AS 发货数量
|
||||
,B_F.FAllAmount_LC AS 发货金额
|
||||
,STUFF((SELECT DISTINCT ','+FORMAT(FApproveDate,'yyyy-MM-dd') FROM T_SAL_DELIVERYNOTICE T1
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY T2 ON T1.FID = T2.FID
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_F T3 ON T2.FENTRYID = T3.FENTRYID
|
||||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_LK T4 ON T3.FENTRYID = T4.FENTRYID AND T4.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||||
WHERE T4.FSBILLID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH) AND C.FSBILLID = T4.FSBILLID FOR XML PATH('')),1,1,'') AS 合并发货日期
|
||||
INTO #TEMP1
|
||||
FROM T_SAL_DELIVERYNOTICE A
|
||||
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)
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
----更新k3发货数据
|
||||
--update A
|
||||
--SET A.K3发货数量 = C.发货数量,A.K3发货金额 = C.发货金额
|
||||
--FROM YingShouZhanKuanMX_GZTH A
|
||||
--INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
|
||||
--INNER JOIN T_BD_MATERIAL D ON B.FMATERIALID = B.FMaterialId
|
||||
--INNER JOIN t_xnoldk3seorder1125 C ON A.FBILLNO = C.单据编码 AND A.CONTRACTNUMBER = C.项目编码 AND D.FOldNumber = C.物料编码
|
||||
|
||||
SELECT
|
||||
销售订单FID,
|
||||
销售订单FENTRYID,
|
||||
SUM(发货数量) AS 发货数量,
|
||||
SUM(发货金额) AS 发货金额
|
||||
INTO #FHTEMP1
|
||||
FROM #TEMP1
|
||||
GROUP BY 销售订单FID,销售订单FENTRYID
|
||||
|
||||
--更新星空发货日期
|
||||
UPDATE A
|
||||
SET ShipmentsDate = B.合并发货日期 --FORMAT( B.发货日期,'yyyy-MM-dd')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #TEMP1 B ON A.FID = B.销售订单FID AND A.FENTRYID = B.销售订单FENTRYID
|
||||
|
||||
--更新K3发货日期
|
||||
UPDATE A
|
||||
SET ShipmentsDate = LEFT(CONCAT(CASE WHEN ISNULL(A.ShipmentsDate,'') = '' THEN '' ELSE A.ShipmentsDate+',' END ,B.合并发货日期),1990)
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN (SELECT 行号,STUFF((SELECT DISTINCT ','+发货日期 FROM t_xnoldk3seorder1125 WHERE 合同号 = a.合同号 FOR XML PATH('')),1,1,'') AS '合并发货日期',合同号
|
||||
from t_xnoldk3seorder1125 a) b
|
||||
ON C.F_K3SEQ = b.行号 AND a.CONTRACTNUMBER=b.[合同号]
|
||||
|
||||
UPDATE A
|
||||
SET A.星空发货数量 = B.发货数量,A.星空发货金额 = B.发货金额
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #FHTEMP1 B ON A.FID = B.销售订单FID AND A.FENTRYID = B.销售订单FENTRYID
|
||||
|
||||
/*2025-08-13调整发货数量逻辑"销售订单发货数量取数逻辑,要根据销售订单行数据进行判断:
|
||||
1、如果行在云星空没有关联发货通知单,就取该行关联的中间表发货数量
|
||||
2、如果行在云星空有关联发货通知单,就取该行关联的云星空发货数量+关联的中间表(销售出库数量+其他出库数量)"*/
|
||||
UPDATE a
|
||||
SET a.[K3发货数量]= CASE ISNULL(A.星空发货数量,0) WHEN 0 THEN b.发货数量 ELSE ISNULL(b.销售出库数量,0)+ISNULL(b.其他出库数量,0) END
|
||||
,a.[K3发货金额]= CASE ISNULL(A.星空发货数量,0) WHEN 0 THEN b.发货金额 ELSE (ISNULL(b.销售出库数量,0)+ISNULL(b.其他出库数量,0))*b.含税单价 END
|
||||
,a.[K3退货数量]=b.退货数量
|
||||
,a.[K3退货金额]=b.退货金额
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN [t_xnoldk3seorder1125] b
|
||||
ON C.F_K3SEQ = b.行号 AND a.CONTRACTNUMBER=b.[合同号]
|
||||
WHERE 是否K3数据=0
|
||||
AND B.日期 >= @StartDate
|
||||
AND B.日期 < @EndDate
|
||||
|
||||
|
||||
--更新发货数量
|
||||
UPDATE A
|
||||
SET A.ShipmentsNum = ISNULL([星空发货数量],0) + ISNULL([K3发货数量],0),A.ShipmentsAmount = ISNULL([星空发货金额],0) + ISNULL([K3发货金额],0)
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
|
||||
|
||||
--更新退货日期,退货数量,退货金额 (正规流程有源单)
|
||||
SELECT
|
||||
E.FSBILLID AS 销售订单FID
|
||||
,E.FSID AS 销售订单FENTRYID
|
||||
,A.FDATE AS 退货日期
|
||||
,B.FQTY AS 退货数量
|
||||
,B_F.FALLAMOUNT_LC AS 退货金额
|
||||
,F.F_CONTRACTNUMBER AS 纸质合同号
|
||||
INTO #TEMP2
|
||||
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_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'
|
||||
INNER JOIN T_SAL_ORDER F ON E.FSBILLID = F.FID
|
||||
WHERE 1=1
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
|
||||
--更新退货日期,退货数量,退货金额 (非正规流程有源单)
|
||||
INSERT INTO #TEMP2 (销售订单FID,销售订单FENTRYID,退货日期,退货数量,退货金额,纸质合同号)
|
||||
SELECT
|
||||
F.FID AS 销售订单FID
|
||||
,D.FENTRYID AS 销售订单FENTRYID
|
||||
,A.FDATE AS 退货日期
|
||||
,B.FQTY AS 退货数量
|
||||
,B_F.FALLAMOUNT_LC AS 退货金额
|
||||
,F.F_CONTRACTNUMBER AS 纸质合同号
|
||||
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_ORDERENTRY D ON C.FSBILLID = D.FID AND C.FSID = D.FENTRYID
|
||||
INNER JOIN T_SAL_ORDER F ON D.FID = F.FID
|
||||
WHERE 1=1
|
||||
AND D.FRETURNTYPE <> 'RETURN'
|
||||
AND D.FRETURNTYPE <> 'SEND'
|
||||
AND F.F_CONTRACTNUMBER NOT IN (SELECT DISTINCT [纸质合同号] FROM #TEMP2)
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
|
||||
--更新退货日期,退货数量,退货金额 (非正规流程无源单)
|
||||
INSERT INTO #TEMP2 (销售订单FID,销售订单FENTRYID,退货日期,退货数量,退货金额,纸质合同号)
|
||||
SELECT
|
||||
C.FID AS 销售订单FID
|
||||
,D.FENTRYID AS 销售订单FENTRYID
|
||||
,A.FDATE AS 退货日期
|
||||
,B.FQTY AS 退货数量
|
||||
,B_F.FALLAMOUNT_LC AS 退货金额
|
||||
,C.F_CONTRACTNUMBER AS 纸质合同号
|
||||
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_ORDER C ON A.F_SOURPAPERCONTRACT = C.F_CONTRACTNUMBER AND C.FSALEORGID = A.FRETORGID --匹配纸质合同号
|
||||
INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID AND D.FMATERIALID = B.FMATERIALID --匹配明细物料
|
||||
WHERE 1=1
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND C.F_CONTRACTNUMBER NOT IN (SELECT DISTINCT [纸质合同号] FROM #TEMP2)
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
|
||||
----更新k3退货数据
|
||||
--update A
|
||||
--SET A.K3退货数量 = C.退货数量,A.K3退货金额 = C.退货金额
|
||||
--FROM YingShouZhanKuanMX_GZTH A
|
||||
--INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID AND A.FENTRYID = B.FENTRYID
|
||||
--INNER JOIN T_BD_MATERIAL D ON B.FMATERIALID = B.FMaterialId
|
||||
--INNER JOIN t_xnoldk3seorder1125 C ON A.FBILLNO = C.单据编码 AND A.CONTRACTNUMBER = C.项目编码 AND D.FOldNumber = C.物料编码
|
||||
|
||||
UPDATE A
|
||||
SET ReturnDate = FORMAT( B.退货日期,'yyyy-MM-dd'),A.星空退货数量 = ISNULL(B.退货数量,0),A.星空退货金额 = ISNULL(B.退货金额,0)
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #TEMP2 B ON A.FID = B.销售订单FID AND A.FENTRYID = B.销售订单FENTRYID
|
||||
|
||||
update YingShouZhanKuanMX_GZTH
|
||||
SET ReturnNum = ISNULL(K3退货数量,0) + ISNULL(星空退货数量,0), ReturnAmount = ISNULL(K3退货金额,0) + ISNULL(星空退货金额,0);
|
||||
|
||||
--更新回款日期
|
||||
UPDATE A
|
||||
SET PaymentDate = FORMAT(B.ShouKuanFDate,'yyyy-MM-dd')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN ZZZ_HeXiaoBook B ON B.XiaoShouFid = A.FID
|
||||
WHERE 1=1
|
||||
AND B.ShouKuanFDate >= @StartDate
|
||||
AND B.ShouKuanFDate < @EndDate
|
||||
--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
|
||||
|
||||
--汇总发货金额、退货日期、退货金额、备注
|
||||
SELECT A.FID,SUM(A.ShipmentsAmount) AS '发货金额', SUM(A.ReturnAmount) AS '退货金额',
|
||||
STUFF((SELECT DISTINCT ','+ReturnDate FROM YingShouZhanKuanMX_GZTH WHERE FID = a.FID FOR XML PATH('')),1,1,'') AS '退货日期'
|
||||
INTO #TEMP4
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
GROUP BY A.FID
|
||||
|
||||
UPDATE A
|
||||
SET A.ShipmentsAmount = ISNULL(B.发货金额,0),A.ReturnAmount = ISNULL(B.退货金额,0),A.ReturnDate = ISNULL(B.退货日期,'')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #TEMP4 B ON A.FID = B.FID
|
||||
END
|
||||
@@ -263,9 +263,9 @@ INNER JOIN (
|
||||
SET ShipmentsDate = LEFT(CONCAT(CASE WHEN ISNULL(A.ShipmentsDate,'') = '' THEN '' ELSE A.ShipmentsDate+',' END ,B.<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),1990)
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN (SELECT <EFBFBD>к<EFBFBD>,STUFF((SELECT DISTINCT ','+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM oldk3seorder0701 WHERE <EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD> = a.<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD> FOR XML PATH('')),1,1,'') AS '<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN (SELECT <EFBFBD>к<EFBFBD>,STUFF((SELECT DISTINCT ','+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM oldk3seorder0701 WHERE <EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD> = a.<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD> FOR XML PATH('')),1,1,'') AS '<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>
|
||||
from oldk3seorder0701 a) b
|
||||
ON C.F_K3SEQ = b.<EFBFBD>к<EFBFBD> AND a.FBILLNO=b.[<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
ON C.F_K3SEQ = b.<EFBFBD>к<EFBFBD> AND a.CONTRACTNUMBER=b.[<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>]
|
||||
|
||||
UPDATE A
|
||||
SET A.<EFBFBD>ǿշ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,A.<EFBFBD>ǿշ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -283,7 +283,7 @@ SET a.[K3
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN [oldk3seorder0701] b
|
||||
ON C.F_K3SEQ = b.<EFBFBD>к<EFBFBD> AND a.FBILLNO=b.[<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
ON C.F_K3SEQ = b.<EFBFBD>к<EFBFBD> AND a.CONTRACTNUMBER=b.[<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>]
|
||||
WHERE <EFBFBD>Ƿ<EFBFBD>K3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=0
|
||||
AND B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> >= @StartDate
|
||||
AND B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> < @EndDate
|
||||
@@ -316,6 +316,29 @@ AND B.
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
|
||||
--<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INSERT INTO #TEMP2 (<28><><EFBFBD>۶<EFBFBD><DBB6><EFBFBD>FID,<2C><><EFBFBD>۶<EFBFBD><DBB6><EFBFBD>FENTRYID,<2C>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>,<2C>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>,<2C>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>,ֽ<>ʺ<EFBFBD>ͬ<EFBFBD><CDAC>)
|
||||
SELECT
|
||||
F.FID AS <EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>FID
|
||||
,D.FENTRYID AS <EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>FENTRYID
|
||||
,A.FDATE AS <EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,B.FQTY AS <EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,B_F.FALLAMOUNT_LC AS <EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,F.F_CONTRACTNUMBER AS ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
|
||||
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_ORDERENTRY D ON C.FSBILLID = D.FID AND C.FSID = D.FENTRYID
|
||||
INNER JOIN T_SAL_ORDER F ON D.FID = F.FID
|
||||
WHERE 1=1
|
||||
AND D.FRETURNTYPE <> 'RETURN'
|
||||
AND D.FRETURNTYPE <> 'SEND'
|
||||
AND F.F_CONTRACTNUMBER NOT IN (SELECT DISTINCT [ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>] FROM #TEMP2)
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
|
||||
--<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INSERT INTO #TEMP2 (<28><><EFBFBD>۶<EFBFBD><DBB6><EFBFBD>FID,<2C><><EFBFBD>۶<EFBFBD><DBB6><EFBFBD>FENTRYID,<2C>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>,<2C>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>,<2C>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>,ֽ<>ʺ<EFBFBD>ͬ<EFBFBD><CDAC>)
|
||||
SELECT
|
||||
|
||||
Reference in New Issue
Block a user