1
This commit is contained in:
@@ -81,7 +81,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
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.Sqlvarchar);
|
||||
header.AddChild("OwedTickets", new LocaleValue("欠票"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("IsEnded", new LocaleValue("是否已完结"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("Remark", new LocaleValue("备注"), SqlStorageType.Sqlvarchar);
|
||||
|
||||
@@ -100,7 +100,9 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
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();
|
||||
// 工程项目名称
|
||||
@@ -115,163 +117,50 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
var fGROUP = customFilter["F_ALL_GROUP"]?.ToString();
|
||||
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"].ToString();
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
|
||||
//销售员
|
||||
var XSYFID = (customFilter["F_XSY"] as DynamicObject)["Id"].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));
|
||||
|
||||
base.BuilderReportSqlAndTempTable(filter, tableName);
|
||||
|
||||
string sql = string.Format(@"/*dialect*/
|
||||
Select * INTO #TABLEXYX From
|
||||
(Select A.FID From View_Table_Temp2 A JOIN View_Table_Temp3 B
|
||||
on A.FCONTRACTNUMBER=B.FCONTRACTNUMBER AND A.FCREATEDATE = B.FCREATEDATE
|
||||
UNION ALL
|
||||
Select * From View_Table_Temp1) W
|
||||
Select
|
||||
CAST(ROW_NUMBER() OVER (ORDER BY A.FDate DESC) as nvarchar(MAX)) AS 'Number',
|
||||
A.FDate as 'DATE', --签订日期
|
||||
A.F_CONTRACTNUMBER as 'CONTRACTNUMBER', --订单号
|
||||
ISNULL(H.FNAME,'') as 'ProjectName', --项目名称
|
||||
ISNULL(AA.FBillAllAmount_LC,0) as 'OrderAmount', --订单金额
|
||||
ISNULL(H2.FALLAMOUNT,0) as 'ShipmentsAmount', --发货金额
|
||||
ISNULL(H3.FBillAllAmount,0) as 'FBillAllAmount', --退货金额
|
||||
ISNULL(H4.FALLAMOUNTFOR,0) as 'FALLAMOUNTFOR', --开票金额
|
||||
ISNULL(A.F_AMOUNT,0) as 'PaymentAmount', --回款金额
|
||||
ISNULL(H2.FALLAMOUNT,0)-ISNULL(H3.FBillAllAmount,0) -ISNULL(H6.FWRITTENOFFAMOUNTFOR,0) as 'ShippedDebt', --已出货欠款
|
||||
ISNULL(H4.FALLAMOUNTFOR,0) -ISNULL(H6.FWRITTENOFFAMOUNTFOR,0) as 'InvoicedDebt', --已开票欠款
|
||||
ISNULL((ISNULL(H2.FALLAMOUNT,0)-ISNULL(H3.FBillAllAmount,0) -0)-(ISNULL(H4.FALLAMOUNTFOR,0) -0),0) as 'OwedTickets', --欠票
|
||||
CASE WHEN (ISNULL(AA.FBillAllAmount,0)-ISNULL(H3.FBillAllAmount,0)) = ISNULL(H2.FALLAMOUNT,0)
|
||||
AND (ISNULL(AA.FBillAllAmount,0)-ISNULL(H3.FBillAllAmount,0)) = ISNULL(H4.FALLAMOUNTFOR,0)
|
||||
AND (ISNULL(AA.FBillAllAmount,0)-ISNULL(H3.FBillAllAmount,0)) = ISNULL(H5.FREALRECAMOUNTFOR,0)
|
||||
THEN '已完结'
|
||||
ELSE '未完结'
|
||||
END as 'IsEnded', --是否已完结
|
||||
A.FNOTE as 'Remark' --备注
|
||||
INTO #TEMPTABLE1 --临时表
|
||||
From
|
||||
T_SAL_ORDER A
|
||||
JOIN
|
||||
T_SAL_ORDERFIN AA
|
||||
on A.FID = AA.FID
|
||||
LEFT JOIN
|
||||
(Select q2.FNAME,q1.* From
|
||||
T_BAS_PREBDONE q1
|
||||
JOIN
|
||||
T_BAS_PREBDONE_L q2
|
||||
on q1.FID = q2.FID
|
||||
Where q2.FLocaleID = 2052
|
||||
AND q1.FDocumentStatus = 'C'
|
||||
AND q1.FForbidStatus = 'A') H --工程项目表(预置基础资料1)
|
||||
on H.FID = A.F_projectname
|
||||
LEFT JOIN
|
||||
(SELECT W2.FSBILLID,SUM(W1.FALLAMOUNT) as 'FALLAMOUNT' FROM
|
||||
(Select q2.FAllAmount,q2.FENTRYID From T_SAL_DELIVERYNOTICE q1
|
||||
JOIN T_SAL_DELIVERYNOTICEENTRY_F q2
|
||||
on q1.FID = q2.FID Where q1.FDocumentStatus = 'C'
|
||||
AND q1.FCancelStatus = 'A') W1
|
||||
JOIN T_SAL_DELIVERYNOTICEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
|
||||
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY' GROUP BY W2.FSBILLID) H2 --发货通知单
|
||||
on A.FID = H2.FSBILLID
|
||||
LEFT JOIN
|
||||
(SELECT A1.FSBILLID,SUM(A2.FRetNoticeQty*A3.FTaxPrice) as 'FBillAllAmount' FROM
|
||||
(SELECT W2.FSBILLID,W1.FENTRYID FROM
|
||||
(Select q1.* From
|
||||
T_SAL_ORDERENTRY q1
|
||||
JOIN
|
||||
T_SAL_ORDER q2
|
||||
on q1.FID = q2.FID
|
||||
Where q2.FBusinessType = 'RETURNSO'
|
||||
AND q2.FDocumentStatus = 'C') W1
|
||||
JOIN T_SAL_ORDERENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID) A1
|
||||
JOIN T_SAL_ORDERENTRY_R A2 on A1.FENTRYID = A2.FENTRYID JOIN
|
||||
T_SAL_ORDERENTRY_F A3 on A2.FENTRYID = A3.FENTRYID GROUP BY A1.FSBILLID) H3 --销售订单(退货)
|
||||
on A.FID = H3.FSBILLID
|
||||
LEFT JOIN
|
||||
(SELECT W2.FSBILLID,SUM(W1.FALLAMOUNTFOR) as 'FALLAMOUNTFOR' FROM
|
||||
(Select B.FALLAMOUNTFOR,B.FENTRYID From T_AR_RECEIVABLE A
|
||||
JOIN T_AR_RECEIVABLEENTRY B on A.FID = B.FID Where A.FDocumentStatus = 'C'
|
||||
AND B.FORDERNUMBER !='' AND A.F_GeneralInvoice != 'Y') W1
|
||||
JOIN T_AR_RECEIVABLEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
|
||||
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY' GROUP BY W2.FSBILLID) H4 --应收单表
|
||||
on A.FID = H4.FSBILLID
|
||||
LEFT JOIN
|
||||
(Select q2.FSALEORDERNO,SUM(q1.FREALRECAMOUNTFOR) as 'FREALRECAMOUNTFOR' From T_AR_RECEIVEBILL q1
|
||||
JOIN T_AR_RECEIVEBILLENTRY q2 on q1.FID = q2.FID Where q1.FDOCUMENTSTATUS = 'C'
|
||||
AND q1.FCancelStatus = 'A' AND q2.FSALEORDERNO != '' GROUP BY q2.FSALEORDERNO) H5 --收款单表
|
||||
on A.FBILLNO = H5.FSALEORDERNO
|
||||
LEFT JOIN
|
||||
(Select a1.FID,a1.F_CONTRACTNUMBER,SUM(a2.FWRITTENOFFAMOUNTFOR) as 'FWRITTENOFFAMOUNTFOR' From T_AR_RECEIVEBILL a1 JOIN T_AR_RECEIVEBILLENTRY a2 on a1.FID = a2.FID
|
||||
WHere a1.F_CONTRACTNUMBER!='' GROUP BY a1.FID,a1.F_CONTRACTNUMBER) H6
|
||||
on H6.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER
|
||||
Where A.FDocumentStatus = 'C' AND A.FBusinessType = 'NORMAL' AND A.FID in (Select * From #TABLEXYX)");
|
||||
--更新MX表中的字段
|
||||
EXEC UpdateYSDZBMX_GZTH '{0}','{1}','{2}','{3}'
|
||||
|
||||
--更新MX表中的发票金额
|
||||
EXEC GXFPJEYSDZDMX_GZTH
|
||||
|
||||
--更新JY表
|
||||
EXEC UpdateYSDZBJY_GZTH
|
||||
|
||||
if (!string.IsNullOrEmpty(fClient) && fClient != "0")
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY [FID]) AS FIDENTITYID,
|
||||
*
|
||||
INTO {4}
|
||||
FROM YingShouZhanKuanJY_GZTH
|
||||
WHERE 1=1
|
||||
", FSDate, fDate, ZZFID, fClient, tableName);
|
||||
|
||||
if (!string.IsNullOrEmpty(XSYFID))
|
||||
{
|
||||
sql += string.Format(@" AND A.FCustId in ({0})", fClient);
|
||||
sql += string.Format(@"AND FSalerId = '{0}'",XSYFID);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(fProject))
|
||||
if (fGROUP == "2")
|
||||
{
|
||||
sql += string.Format(@" AND A.F_projectname in ({0})", fProject);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(fDate))
|
||||
{
|
||||
sql += string.Format(@" AND A.FAPPROVEDATE <= EOMONTH('{0}')", fDate);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(FSDate))
|
||||
{
|
||||
sql += string.Format(@" AND A.FAPPROVEDATE >= EOMONTH('{0}')", FSDate);
|
||||
sql += string.Format(@"AND IsEnded = '未完结'");
|
||||
}
|
||||
if (!string.IsNullOrEmpty(ZZHTH))
|
||||
{
|
||||
sql += string.Format(@"AND A.F_contractnumber = '{0}'", ZZHTH);
|
||||
sql += string.Format(@"AND ContractNumber = '{0}'", ZZHTH);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(XSYFID))
|
||||
{
|
||||
sql += string.Format(@"AND A.FSalerId = '{0}'",XSYFID);
|
||||
}
|
||||
sql += string.Format(@";");
|
||||
|
||||
sql += string.Format(@"/*dialect*/
|
||||
Select * INTO #TEMPTABLE2 From #TEMPTABLE1
|
||||
Where 1=1");
|
||||
|
||||
if (!string.IsNullOrEmpty(fGROUP) && fGROUP == "2")
|
||||
{
|
||||
sql += string.Format(@" AND IsEnded = '否'");
|
||||
}
|
||||
|
||||
sql += string.Format(@";");
|
||||
|
||||
sql += string.Format(@"/*dialect*/
|
||||
Select * INTO #TEMPTABLE3 From
|
||||
#TEMPTABLE1");
|
||||
|
||||
sql += string.Format(@"/*dialect*/
|
||||
--清空表数据
|
||||
TRUNCATE TABLE YingShouZhanKuanJY
|
||||
|
||||
INSERT INTO YingShouZhanKuanJY(Number,[Date],ContractNumber,ProjectName,OrderAmount,ShipmentsAmount,
|
||||
FBillAllAmount,FALLAmountFor,PaymentAmount,ShippedDebt,InvoicedDebt,OwedTickets,IsEnded,Remark)
|
||||
SELECT *
|
||||
FROM #TEMPTABLE3");
|
||||
|
||||
sql += string.Format(@"/*dialect*/
|
||||
EXEC UpdateYSDZBJY_GZTH");
|
||||
|
||||
sql += string.Format(@"/*dialect*/
|
||||
Select
|
||||
*,
|
||||
ROW_NUMBER() OVER (ORDER BY Date DESC) AS FID,
|
||||
ROW_NUMBER() OVER (ORDER BY Date DESC) AS FIDENTITYID
|
||||
INTO {0}
|
||||
From
|
||||
YingShouZhanKuanJY
|
||||
ORDER BY [ContractNumber]
|
||||
", tableName);
|
||||
|
||||
DBUtils.Execute(this.Context, sql);
|
||||
}
|
||||
|
||||
@@ -300,7 +189,12 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
//销售员
|
||||
var XSYFID = (customFilter["F_XSY"] as DynamicObject)["Id"].ToString();
|
||||
var XSY = (customFilter["F_XSY"] as DynamicObject);
|
||||
var XSYFID = string.Empty;
|
||||
if (XSY != null)
|
||||
{
|
||||
XSYFID = XSY["Id"].ToString();
|
||||
}
|
||||
|
||||
string fState = "";
|
||||
if (fGROUP == "1")
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
|
||||
ReportHeader header = new ReportHeader();
|
||||
|
||||
header.AddChild("DATE", new LocaleValue("签订日期"), SqlStorageType.SqlDatetime);
|
||||
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);
|
||||
@@ -110,6 +110,10 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
{
|
||||
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();
|
||||
// 工程项目名称
|
||||
@@ -122,214 +126,53 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
var FSDate = customFilter["FSDate"]?.ToString();
|
||||
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"].ToString();
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
|
||||
//销售员
|
||||
var XSYFID = (customFilter["F_XSY"] as DynamicObject)["Id"].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));
|
||||
|
||||
base.BuilderReportSqlAndTempTable(filter, tableName);
|
||||
|
||||
string sql = string.Format(@"/*dialect*/
|
||||
Select * INTO #TABLEXYX From
|
||||
(Select A.FID From View_Table_Temp2 A JOIN View_Table_Temp3 B
|
||||
on A.FCONTRACTNUMBER=B.FCONTRACTNUMBER AND A.FCREATEDATE = B.FCREATEDATE
|
||||
UNION ALL
|
||||
Select * From View_Table_Temp1) W
|
||||
Select
|
||||
A.FDATE,
|
||||
CAST(ROW_NUMBER() OVER (ORDER BY A.FDate DESC) as nvarchar(MAX)) AS Number,
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE A.FDate END as 'DATE', --签订日期
|
||||
CASE WHEN B.FSEQ != 1 THEN ''
|
||||
ELSE A.F_CONTRACTNUMBER END as 'CONTRACTNUMBER', --订单号
|
||||
CASE WHEN B.FSEQ != 1 THEN ''
|
||||
ELSE ISNULL(H.FNAME,'') END as 'ProjectName', --项目名称
|
||||
ISNULL(G.FSpecification,'') as 'SizeModel', --规格型号
|
||||
B.FQty, --数量/台
|
||||
B2.FTaxPrice, --单价
|
||||
B2.FAllAmount_LC, --价税合计
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(A2.FBILLALLAMOUNT,0) END as 'OrderAmount', --订单金额
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H2.FDate,'') END as 'ShipmentsDate', --发货日期
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H2.FPRICEBASEQTY,0) END as 'ShipmentsNum', --发货数量
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H2.FALLAMOUNT,0) END as 'ShipmentsAmount', --发货金额
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H3.FDate,'') END as 'ReturnDate', --退货日期
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H3.FRETNOTICEQTY,0) END as 'ReturnNum', --退货数量
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H3.FBillAllAmount,0) END as 'ReturnAmount',--退货金额
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H4.FDate,'') END as 'BillingDate', --开票日期
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H4.FALLAMOUNTFOR,0) END as 'BillingAmount', --开票金额
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE (Select STRING_AGG((CONVERT(nvarchar,aa1.FDATE,23)),',') as 'FDate'
|
||||
From T_AR_RECEIVEBILL aa1 JOIN T_SEC_USER aa2 on aa1.FCREATORID = aa2.FUSERID
|
||||
Where FBILLNO in (Select FBILLNO3 From T_AutoWrireRecordEntry a1 JOIN T_AutoWrireRecordEntry2 a2
|
||||
on a1.FID = a2.FID Where FBILLNO2 = A.FBILLNO))
|
||||
END as 'PaymentDate', --回款日期
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(A.F_AMOUNT,0) END as 'PaymentAmount', --回款金额
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H2.FALLAMOUNT,0)-ISNULL(H3.FBillAllAmount,0) -ISNULL(E.FWRITTENOFFAMOUNTFOR,0) END as 'ShippedDebt', --已出货欠款
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL(H4.FALLAMOUNTFOR,0) -ISNULL(E.FWRITTENOFFAMOUNTFOR,0) END as 'InvoicedDebt', --已开票欠款
|
||||
CASE WHEN B.FSEQ != 1 THEN null
|
||||
ELSE ISNULL((ISNULL(H2.FALLAMOUNT,0)-ISNULL(H3.FBillAllAmount,0) -0)-(ISNULL(H4.FALLAMOUNTFOR,0) -0),0)
|
||||
END as 'OwedTickets', --欠票
|
||||
CASE WHEN B.FSEQ != 1 THEN ''
|
||||
WHEN (ISNULL(AA.FBillAllAmount,0)-ISNULL(H3.FBillAllAmount,0)) = ISNULL(H2.FALLAMOUNT,0) --订单金额-退货金额 = 发货金额
|
||||
AND (ISNULL(AA.FBillAllAmount,0)-ISNULL(H3.FBillAllAmount,0)) = ISNULL(H4.FALLAMOUNTFOR,0) --订单金额-退货金额 = 开票金额
|
||||
AND (ISNULL(AA.FBillAllAmount,0)-ISNULL(H3.FBillAllAmount,0)) = ISNULL(H5.FREALRECAMOUNTFOR,0) --订单金额-退货金额 = 收款金额
|
||||
THEN '已完结'
|
||||
ELSE '未完结'
|
||||
END as 'IsEnded', --是否已完结
|
||||
CASE WHEN B.FSEQ != 1 THEN ''
|
||||
ELSE A.FNOTE END as 'Remark' --备注
|
||||
INTO #TEMPTABLE1 --临时表
|
||||
From
|
||||
T_SAL_ORDER A
|
||||
JOIN
|
||||
T_SAL_ORDERFIN AA
|
||||
on A.FID = AA.FID
|
||||
JOIN
|
||||
T_SAL_ORDERFIN A2
|
||||
on A.FID = A2.FID
|
||||
JOIN
|
||||
T_SAL_ORDERENTRY B
|
||||
on A.FID = B.FID
|
||||
JOIN
|
||||
T_SAL_ORDERENTRY_F B2
|
||||
on B.FENTRYID = B2.FENTRYID
|
||||
LEFT JOIN
|
||||
(Select q2.FNAME,q1.* From
|
||||
T_BAS_PREBDONE q1
|
||||
JOIN
|
||||
T_BAS_PREBDONE_L q2
|
||||
on q1.FID = q2.FID
|
||||
Where q2.FLocaleID = 2052
|
||||
AND q1.FDocumentStatus = 'C'
|
||||
AND q1.FForbidStatus = 'A') H --工程项目表(预置基础资料1)
|
||||
on H.FID = A.F_projectname
|
||||
LEFT JOIN
|
||||
(SELECT W2.FSBILLID,SUM(W1.FALLAMOUNT) as 'FALLAMOUNT',SUM(W1.FPRICEBASEQTY) as 'FPRICEBASEQTY',
|
||||
STRING_AGG(CONVERT(nvarchar,W1.FDATE, 23), ',') as 'FDate' FROM
|
||||
(Select q2.FAllAmount,q2.FENTRYID,q2.FPriceBaseQty,q1.FDate From T_SAL_DELIVERYNOTICE q1
|
||||
JOIN T_SAL_DELIVERYNOTICEENTRY_F q2
|
||||
on q1.FID = q2.FID Where q1.FDocumentStatus = 'C'
|
||||
AND q1.FCancelStatus = 'A') W1
|
||||
JOIN T_SAL_DELIVERYNOTICEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
|
||||
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY' GROUP BY W2.FSBILLID) H2 --发货通知单表
|
||||
on A.FID = H2.FSBILLID
|
||||
LEFT JOIN
|
||||
(SELECT W2.FSBILLID,STRING_AGG(CONVERT(nvarchar,W1.FDATE, 23), ',') as 'FDate',SUM(W1.FPriceUnitQty) as 'FRETNOTICEQTY',SUM(W1.FALLAMOUNT) as 'FBillAllAmount' FROM
|
||||
(Select q1.FDATE,q3.FSID,q2.FAllAmount,q2.FPriceUnitQty From T_SAL_RETURNNOTICE q1 JOIN T_SAL_RETURNNOTICEENTRY_F q2
|
||||
on q1.FID = q2.FID JOIN T_SAL_RETURNNOTICEENTRY_LK q3 on q2.FENTRYID = q3.FENTRYID
|
||||
Where q1.FDocumentStatus = 'C' AND q1.FCancelStatus = 'A' AND q3.FSTABLENAME = 'T_SAL_ORDERENTRY') W1
|
||||
JOIN T_SAL_ORDERENTRY_LK W2 on W1.FSID = W2.FENTRYID GROUP BY W2.FSBILLID) H3 --退货订单表
|
||||
on A.FID = H3.FSBILLID
|
||||
LEFT JOIN
|
||||
(SELECT W2.FSBILLID,SUM(W1.FALLAMOUNTFOR) as 'FALLAMOUNTFOR',STRING_AGG(CONVERT(nvarchar,W1.FDATE,23),',') as 'FDate' FROM
|
||||
(Select B.FALLAMOUNTFOR,B.FENTRYID,B.FOPENAMOUNTFOR,A.FDATE From T_AR_RECEIVABLE A
|
||||
JOIN T_AR_RECEIVABLEENTRY B on A.FID = B.FID Where A.FDocumentStatus = 'C'
|
||||
AND B.FORDERNUMBER !='' AND A.F_GeneralInvoice != 'Y') W1
|
||||
JOIN T_AR_RECEIVABLEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
|
||||
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY' GROUP BY W2.FSBILLID) H4 --应收单表
|
||||
on A.FID = H4.FSBILLID
|
||||
LEFT JOIN
|
||||
(Select q2.FSALEORDERNO,SUM(q1.FREALRECAMOUNTFOR) as 'FREALRECAMOUNTFOR' From T_AR_RECEIVEBILL q1
|
||||
JOIN T_AR_RECEIVEBILLENTRY q2 on q1.FID = q2.FID Where q1.FDOCUMENTSTATUS = 'C'
|
||||
AND q1.FCancelStatus = 'A' AND q2.FSALEORDERNO != '' GROUP BY q2.FSALEORDERNO) H5 --收款单表
|
||||
on A.FBILLNO = H5.FSALEORDERNO
|
||||
LEFT JOIN
|
||||
(Select B.FNAME,B.FSPECIFICATION,A.* From
|
||||
T_BD_MATERIAL A
|
||||
JOIN
|
||||
T_BD_MATERIAL_L B
|
||||
on A.FMATERIALID = B.FMATERIALID
|
||||
Where B.FLOCALEID = 2052
|
||||
AND A.FDocumentStatus = 'C' AND A.FForbidStatus = 'A') G --物料表
|
||||
on G.FMATERIALID = B.FMaterialId
|
||||
LEFT JOIN
|
||||
(Select a1.FID,a1.F_CONTRACTNUMBER,STRING_AGG(CONVERT(nvarchar,a1.FDATE, 23), ',') as 'FDate',SUM(a2.FWRITTENOFFAMOUNTFOR) as 'FWRITTENOFFAMOUNTFOR'
|
||||
From T_AR_RECEIVEBILL a1 JOIN T_AR_RECEIVEBILLENTRY a2 on a1.FID = a2.FID
|
||||
WHere a1.F_CONTRACTNUMBER!='' GROUP BY a1.FID,a1.F_CONTRACTNUMBER) E on E.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER
|
||||
Where A.FDocumentStatus = 'C' AND A.FBusinessType = 'NORMAL' AND A.FID in (Select * From #TABLEXYX)");
|
||||
|
||||
if (!string.IsNullOrEmpty(fClient) && fClient != "0")
|
||||
--更新表中的字段
|
||||
EXEC UpdateYSDZBMX_GZTH '{0}','{1}','{2}','{3}'
|
||||
|
||||
--更新表中的发票金额
|
||||
EXEC GXFPJEYSDZDMX_GZTH
|
||||
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (ORDER BY [FID]) AS FIDENTITYID,
|
||||
*
|
||||
INTO {4}
|
||||
FROM YingShouZhanKuanMX_GZTH
|
||||
WHERE 1=1
|
||||
", FSDate,fDate,ZZFID,fClient,tableName);
|
||||
if (!string.IsNullOrEmpty(XSYFID))
|
||||
{
|
||||
sql += string.Format(@" AND A.FCustId in ({0})", fClient);
|
||||
sql += string.Format("AND FSalerId = '{0}'",XSYFID);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(fProject))
|
||||
if(fGROUP == "2")
|
||||
{
|
||||
sql += string.Format(@" AND A.F_projectname in ({0})", fProject);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(fDate))
|
||||
{
|
||||
sql += string.Format(@" AND A.FAPPROVEDATE <= EOMONTH('{0}')", fDate);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(FSDate))
|
||||
{
|
||||
sql += string.Format(@" AND A.FAPPROVEDATE >= EOMONTH('{0}')", FSDate);
|
||||
sql += string.Format("AND FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH WHERE IsEnded = '未完结')");
|
||||
}
|
||||
if (!string.IsNullOrEmpty(ZZHTH))
|
||||
{
|
||||
sql += string.Format(@"AND A.F_contractnumber = '{0}'", ZZHTH);
|
||||
sql += string.Format(@"AND ContractNumber = '{0}'", ZZHTH);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(XSYFID))
|
||||
{
|
||||
sql += string.Format(@"AND A.FSalerId = '{0}'", XSYFID);
|
||||
}
|
||||
|
||||
sql += string.Format(@";");
|
||||
|
||||
sql += string.Format(@"/*dialect*/
|
||||
Select * INTO #TEMPTABLE2 From #TEMPTABLE1
|
||||
Where 1=1");
|
||||
|
||||
if (!string.IsNullOrEmpty(fGROUP) && fGROUP == "2")
|
||||
{
|
||||
sql += string.Format(@" AND IsEnded = '否'");
|
||||
}
|
||||
|
||||
sql += string.Format(@";");
|
||||
|
||||
sql += string.Format(@"
|
||||
TRUNCATE TABLE YingShouZhanKuanMX
|
||||
|
||||
INSERT INTO YingShouZhanKuanMX([DATE],CONTRACTNUMBER,ProjectName,SizeModel,FQty,FTaxPrice,FAllAmount,OrderAmount,ShipmentsDate,ShipmentsNum,
|
||||
ShipmentsAmount,ReturnDate,ReturnNum,ReturnAmount,PaymentDate,PaymentAmount,OwedTickets,IsEnded,Remark)
|
||||
SELECT [DATE],CONTRACTNUMBER,ProjectName,SizeModel,FQty,FTaxPrice,FAllAmount_LC,OrderAmount,ShipmentsDate,ShipmentsNum,
|
||||
ShipmentsAmount,ReturnDate,ReturnNum,ReturnAmount,PaymentDate,PaymentAmount,OwedTickets,IsEnded,Remark
|
||||
From #TEMPTABLE2
|
||||
|
||||
EXEC UpdateYSDZBMX_GZTH
|
||||
");
|
||||
|
||||
sql += string.Format(@"/*dialect*/
|
||||
Select
|
||||
*,
|
||||
ROW_NUMBER() OVER (ORDER BY [DATE] DESC) AS FID,
|
||||
ROW_NUMBER() OVER (ORDER BY [DATE] DESC) AS FIDENTITYID
|
||||
INTO {0}
|
||||
From
|
||||
YingShouZhanKuanMX
|
||||
ORDERY BY CONTRACTNUMBER
|
||||
", tableName);
|
||||
|
||||
DBUtils.Execute(this.Context, sql);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取前端组件转换过滤条件
|
||||
/// </summary>
|
||||
/// <param name="filter"></param>
|
||||
/// <returns></returns>
|
||||
public override ReportTitles GetReportTitles(IRptParams filter)
|
||||
{
|
||||
@@ -351,7 +194,13 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
//纸质合同号
|
||||
var ZZHTH = customFilter["F_ZZHTH"]?.ToString();
|
||||
//销售员
|
||||
var XSYFID = (customFilter["F_XSY"] as DynamicObject)["Id"].ToString();
|
||||
var XSY = (customFilter["F_XSY"] as DynamicObject);
|
||||
var XSYFID = string.Empty;
|
||||
if (XSY != null)
|
||||
{
|
||||
XSYFID = XSY["Id"].ToString();
|
||||
}
|
||||
|
||||
|
||||
string fState = "";
|
||||
if (fGROUP == "1")
|
||||
|
||||
Reference in New Issue
Block a user