From c8cb278e9ddb08908e5bbb0535514924db559bb9 Mon Sep 17 00:00:00 2001
From: liqionghai <1>
Date: Tue, 19 Aug 2025 09:32:59 +0800
Subject: [PATCH] 1
---
GZ_LTHReportForms.csproj | 2 +
GZ_LTHReportForms.sln | 6 +-
HKBaoBiao/回款报表服务器插件.py | 426 ++++++++++++++++++
HKBaoBiao/回款报表表单插件.py | 31 ++
YSZKDZBaoBiao/AccountsReceivableReport.cs | 14 +-
YSZKDZBaoBiao/AccountsReceivableReport2.cs | 22 +-
YSZKDZGongNeng_MX/LiteVersionPlugIn2.cs | 91 +++-
YeJiPaiHangBang/PHBSaleOrderReport.cs | 4 +-
派诺报表SQL文件/业绩排行榜插入数据SQL.sql | 266 ++++++++---
派诺报表SQL文件/应收对账表(明细创建).sql | 22 +-
.../应收对账表(明细版存储过程).sql | 61 ++-
.../应收款对账单取发票金额(取数).sql | 29 +-
12 files changed, 879 insertions(+), 95 deletions(-)
create mode 100644 HKBaoBiao/回款报表服务器插件.py
create mode 100644 HKBaoBiao/回款报表表单插件.py
diff --git a/GZ_LTHReportForms.csproj b/GZ_LTHReportForms.csproj
index bb206fc..eb60032 100644
--- a/GZ_LTHReportForms.csproj
+++ b/GZ_LTHReportForms.csproj
@@ -87,6 +87,8 @@
+
+
diff --git a/GZ_LTHReportForms.sln b/GZ_LTHReportForms.sln
index aed8934..37838bf 100644
--- a/GZ_LTHReportForms.sln
+++ b/GZ_LTHReportForms.sln
@@ -1,12 +1,10 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.12.35506.116 d17.12
+VisualStudioVersion = 17.12.35506.116
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GZ_LTHReportForms", "GZ_LTHReportForms.csproj", "{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}"
EndProject
-Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "GZ_PilotPythonReport", "..\GZ_PilotPythonReport\GZ_PilotPythonReport.pyproj", "{88C65DD5-F80F-4497-932B-BE6B2AB9F8B1}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -17,8 +15,6 @@ Global
{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}.Release|Any CPU.Build.0 = Release|Any CPU
- {88C65DD5-F80F-4497-932B-BE6B2AB9F8B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {88C65DD5-F80F-4497-932B-BE6B2AB9F8B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/HKBaoBiao/回款报表服务器插件.py b/HKBaoBiao/回款报表服务器插件.py
new file mode 100644
index 0000000..c254645
--- /dev/null
+++ b/HKBaoBiao/回款报表服务器插件.py
@@ -0,0 +1,426 @@
+
+#-*- encoding:utf-8 -*-
+
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+from Kingdee.BOS import *
+from Kingdee.BOS.Contracts import *
+from Kingdee.BOS.Contracts.Report import *
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata import *
+from Kingdee.BOS.Core.Report import *
+from Kingdee.BOS.Core.SqlBuilder import *
+from Kingdee.BOS.App.Data import *
+from Kingdee.BOS.Orm.DataEntity import *
+from System import *
+from System.ComponentModel import *
+from System.Collections.Generic import *
+from System.Text import *
+from System.Threading.Tasks import *
+
+
+
+#ʼ
+def Initialize():
+ this.ReportProperty.ReportName = LocaleValue("ؿ#", this.Context.UserLocale.LCID)
+ this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL
+ this.IsCreateTempTableByPlugin = True
+ this.ReportProperty.IsGroupSummary = True
+ this.ReportProperty.SimpleAllCols = False
+
+#ñ
+def GetReportTitles(Filter):
+ reportTitles = ReportTitles()
+ customFiler = Filter.FilterParameter.CustomFilter
+ if customFiler:
+ F_YWZZ = customFiler["F_YWZZ"]
+ FStartDate = customFiler["F_SDate"]
+ FEndDate = customFiler["F_EDate"]
+ FCust = customFiler["FCust"]
+ FZZHTH = customFiler["F_contractnumber"]
+ if FStartDate != None and FStartDate.ToString() != "":
+ reportTitles.AddTitle("FSDate",str(FStartDate.ToString("yyyy-MM-dd")))
+ if FEndDate != None and FEndDate.ToString() != "":
+ reportTitles.AddTitle("FEDate",str(FEndDate.ToString("yyyy-MM-dd")))
+ if FCust != None:
+ reportTitles.AddTitle("FCust",str(FCust["Name"].ToString()))
+ reportTitles.AddTitle("FZZHTH",FZZHTH)
+ return reportTitles
+
+
+#õ
+def GetReportHeaders(Filter):
+ header = ReportHeader()
+ # headerch = ReportHeader()
+ header.AddChild("ҵ",LocaleValue("ҵ",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ #header.AddChild("տϸ",LocaleValue("տϸ",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("",LocaleValue("",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("ShouKuanBillNo",LocaleValue("տ",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("",LocaleValue("",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("ͬ",LocaleValue("ͬ",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+
+ header.AddChild("",LocaleValue("λң",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("̯",LocaleValue("̯λң",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+
+ header.AddChild("",LocaleValue("",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("Ա",LocaleValue("Ա",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("SBU",LocaleValue("SBU",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("ϸ",LocaleValue("ϸ",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("ע",LocaleValue("ע",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("",LocaleValue("ڣУ",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("",LocaleValue("",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("һ",LocaleValue("1-6",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("ʮ",LocaleValue("7-12",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("һ",LocaleValue("1-2",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("",LocaleValue("2-3",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("",LocaleValue("3-4",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("",LocaleValue("4-5",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("",LocaleValue("5",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+
+ header.AddChild("",LocaleValue("/",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("",LocaleValue("/",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+ header.AddChild("ұ",LocaleValue("ұ",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
+ header.AddChild("̯",LocaleValue("̯",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
+
+ return header
+
+#ʱ
+def BuilderReportSqlAndTempTable(Filter,tableName):
+ # strFilter = GetFilterWhere(Filter)
+ strFilter = ""
+ seqFld = String.format(this.KSQL_SEQ,OrderColumn(Filter))
+
+ customFiler = Filter.FilterParameter.CustomFilter
+ #֯ID
+ ZZID = "0" if customFiler["F_YWZZ"] == None else str(customFiler["F_YWZZ"]["Id"])
+ #ͻID
+ KHID = "0" if customFiler["FCust"] == None else str(customFiler["FCust"]["Id"])
+ #
+ RQLX = str(customFiler["F_DateType"])
+ #ұ
+ BB = "0" if customFiler["F_Currency"] == None else str(customFiler["F_Currency"]["Name"])
+ #ֻ
+ # raise Exception(BB)
+ ZKTSHX = customFiler["F_ZKTSHX"]
+ #
+ BKTSHX = customFiler["F_BKTSHX"]
+ #տ
+ SKDH = "" if customFiler["F_RECEIVEBILLNO"] == None else str(customFiler["F_RECEIVEBILLNO"])
+
+ #տʼ/
+ SKRQS = ""
+ SKRQE = ""
+ #ʼ/
+ HXRQS = ""
+ HXRQE = ""
+
+ tempsql = "SELECT * FROM #TEMP3 WHERE 1 = 1"
+
+ if customFiler["F_SDate"] != None and customFiler["F_SDate"].ToString() != "":
+ if RQLX == "1":
+ SKRQS = 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"))
+ 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"))
+ 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"))
+ 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() != "":
+ strFilter += " AND (ұ = '{0}' OR IN (3,4) OR '{0}' = '0')".format(BB)
+ if ZKTSHX:
+ strFilter += " AND IN (3,4)"
+ if BKTSHX:
+ strFilter += " AND NOT IN (3,4)"
+ if SKDH != "":
+ strFilter += " AND ShouKuanBillNo = '{0}'".format(SKDH)
+
+ sql = String.format("""/*dialect*/
+
+ /*ץȡ۶̯*/
+ SELECT T1.FID,T1.F_CONTRACTNUMBER AS '',CASE ISNULL(T3.F_RES,'') WHEN '' THEN ISNULL(T5.FNAME,CASE ISNULL(T1.F_RESPONSIBLE,'') WHEN '' THEN T4.FNAME ELSE T1.F_RESPONSIBLE END) ELSE F_RES END AS 'Ա'
+ ,FSHARERATE AS '̯',FEXCHANGERATE AS '',T7.FNAME AS 'ͬ'
+ INTO #TEMP1
+ FROM T_SAL_ORDER T1
+ LEFT JOIN T_PerformanceSharing_LK T2 ON T2.FSID = T1.FID
+ LEFT JOIN T_PerformanceSharingEntry T3 ON T2.FID = T3.FID
+ LEFT JOIN V_BD_SALESMAN_L T4 ON T4.FID = T1.FSALERID AND T4.FLOCALEID = 2052
+ LEFT JOIN V_BD_SALESMAN_L T5 ON T5.FID = T3.FSALEID AND T5.FLOCALEID = 2052
+ LEFT JOIN T_SAL_ORDERFIN T6 ON T1.FID = T6.FID
+ LEFT JOIN T_BD_CUSTOMER_L T7 ON T1.FCUSTID = T7.FCUSTID AND T7.FLOCALEID = 2052
+ 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)
+
+ /*ץȡտӦƱ*/
+ SELECT T1.FID,FORMAT(T1.FDATE,'yyyy-MM-dd') AS 'տ',T1.FRECAMOUNT AS 'տ'
+ ,T3.FNAME AS 'λ',T4.FNAME AS '㷽ʽ',FORMAT(T6.FDUEDATE,'yyyy-MM-dd') AS ''
+ INTO #TEMP2
+ FROM T_AR_RECEIVEBILL T1
+ LEFT JOIN T_AR_RECEIVEBILLENTRY T2 ON T1.FID = T2.FID
+ LEFT JOIN T_BD_CUSTOMER_L T3 ON T1.FPAYUNITTYPE = 'BD_Customer' AND T1.FPAYUNIT = T3.FCUSTID AND T3.FLOCALEID = 2052
+ LEFT JOIN T_BD_SETTLETYPE_L T4 ON T2.FSETTLETYPEID = T4.FID AND T4.FLOCALEID = 2052
+ LEFT JOIN T_AR_RECEIVEBILLREC T5 ON T5.FID = T2.FID
+ LEFT JOIN T_CN_BILLRECEIVABLE T6 ON T5.FBILLID = T6.FID
+ WHERE 1=1
+ --AND T1.FID IN (SELECT ShouKuanFid FROM ZZZ_HeXiaoBook)
+ AND T1.FDOCUMENTSTATUS = 'C'
+ AND (T1.FPAYORGID = {4} OR {4} = 0)
+ AND (T1.FPAYUNIT = {5} OR {5} = 0)
+ --AND (T1.FDATE >= '{6}' OR '{6}' = '')
+ --AND (T1.FDATE <= '{7}' OR '{7}' = '')
+
+ /*ץȡˮм*/
+ SELECT
+ T1.Fid,T1.XiaoShouFid,T1.ShouKuanFid,T1.ShouKuanBillNo
+ ,CAST(ISNULL(T2.̯,0)AS decimal(10,2)) AS '̯'
+ ,ROW_NUMBER() OVER(PARTITION BY T1.ShouKuanFid ORDER BY T1.ShouKuanFid,XiaoShouFid) AS '̯'
+ ,FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') AS 'ҵ'
+ ,CAST('' AS VARCHAR(500)) AS 'տϸ'
+ ,CAST('' AS VARCHAR(500)) AS ''
+ ,CAST('' AS VARCHAR(500)) AS ''
+ ,ISNULL(T2.ͬ,'') AS 'ͬ'
+ ,CAST(0 AS decimal(10,2)) AS ''
+ ,CAST((ISNULL(T2.̯,100)/100 * T1.BenCiHeXiao * T2.) AS decimal(10,2)) AS '̯'
+ ,T2. AS ''
+ ,ISNULL(T2.Ա,'') AS 'Ա'
+ ,CAST('' AS VARCHAR(500)) AS 'SBU'
+ ,CAST('' AS VARCHAR(500)) AS 'ϸ'
+ ,T1.Remark AS 'ע'
+ ,CAST('' AS VARCHAR(500)) AS ''
+ ,CAST(0 AS decimal(10,2)) AS ''
+ ,CAST(0 AS decimal(10,2)) AS 'һ'
+ ,CAST(0 AS decimal(10,2)) AS 'ʮ'
+ ,CAST(0 AS decimal(10,2)) AS 'һ'
+ ,CAST(0 AS decimal(10,2)) AS ''
+ ,CAST(0 AS decimal(10,2)) AS ''
+ ,CAST(0 AS decimal(10,2)) AS ''
+ ,CAST(0 AS decimal(10,2)) AS ''
+ ,CAST('' AS VARCHAR(500)) AS ''
+ ,T1.ZhangLing AS ''
+ ,CAST('' AS VARCHAR(500)) AS 'ұ'
+ ,1 AS ''
+ INTO #TEMP3
+ FROM ZZZ_HeXiaoBook T1
+ INNER JOIN #TEMP1 T2 ON T1.XiaoShouFid = T2.FID
+ WHERE T1.ShouKuanType = 0
+ AND (T1.FSaleOrgId = {4} OR {4} = 0)
+ AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') >= '{8}' OR '{8}' = '')
+ AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') <= '{9}' OR '{9}' = '')
+
+ /**/
+ INSERT INTO #TEMP3 (Fid,ShouKuanFid,ShouKuanBillNo,̯,,Ա,,,̯,,ͬ,,һ,ʮ,һ,,,,,,,)
+ SELECT DISTINCT
+ '99999999' AS 'Fid'
+ ,T1.FID
+ ,T1.FBILLNO
+ ,'99999999' AS '̯'
+ ,FORMAT(T1.FDATE,'yyyy-MM-dd') AS ''
+ ,'' AS 'Ա'
+ ,'' AS ''
+ ,0 AS ''
+ ,ISNULL(T1.FRECAMOUNT,0)-(ISNULL(T1.F_AMOUNT,0)*ISNULL(T1.FEXCHANGERATE,0)) AS '̯'
+ ,'' AS ''
+ ,T3.FNAME AS 'ͬ'
+ ,0 AS ''
+ ,0 AS 'һ'
+ ,0 AS 'ʮ'
+ ,0 AS 'һ'
+ ,0 AS ''
+ ,0 AS ''
+ ,0 AS ''
+ ,0 AS ''
+ ,CAST('' AS VARCHAR(500)) AS ''
+ ,0
+ ,1 AS ''
+ FROM T_AR_RECEIVEBILL T1
+ --INNER JOIN #TEMP3 T2 ON T1.FID = T2.ShouKuanFid
+ LEFT JOIN T_BD_CUSTOMER_L T3 ON T1.FPAYUNITTYPE = 'BD_Customer' AND T1.FPAYUNIT = T3.FCUSTID AND T3.FLOCALEID = 2052
+ WHERE ISNULL(T1.FRECAMOUNTFOR,0)-ISNULL(T1.F_AMOUNT,0) > 0
+ AND T1.FDOCUMENTSTATUS = 'C'
+ AND (T1.FPAYORGID = {4} OR {4} = 0)
+ AND ((T1.FPAYUNIT = {5} AND T1.FPAYUNITTYPE = 'BD_Customer') OR {5} = 0)
+ AND (T1.FDATE >= '{6}' OR '{6}' = '')
+ AND (T1.FDATE <= '{7}' OR '{7}' = '')
+
+ /*ץȡˮм*/
+ INSERT INTO #TEMP3 (Fid,XiaoShouFid,ShouKuanFid,ShouKuanBillNo,̯,̯,ҵ,,ͬ,,̯,,Ա,ע,,ұ,)
+ SELECT a.* FROM(
+ SELECT 0 Fid,0 XiaoShouFid,0 ShouKuanFid,'' ShouKuanBillNo,0 ̯,0 ̯,'' ҵ,'' ,'' ͬ,0 ,0 ̯,'' ,'' Ա,'' ע,0 ,'' ұ,3
+ UNION ALL
+ SELECT
+ T1.Fid,T1.XiaoShouFid,T1.ShouKuanFid,T1.ShouKuanBillNo
+ ,CAST(ISNULL(T2.̯,0)AS decimal(10,2)) AS '̯'
+ ,ROW_NUMBER() OVER(PARTITION BY T1.ShouKuanFid ORDER BY T1.ShouKuanFDate) AS '̯'
+ ,FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') AS 'ҵ'
+ ,ISNULL(T2.ͬ,'') AS ''
+ ,ISNULL(T2.ͬ,'') AS 'ͬ'
+ ,CAST((ISNULL(T2.̯,100)/100 * T1.BenCiHeXiao * T2.) AS decimal(10,2)) AS ''
+ ,CAST((ISNULL(T2.̯,100)/100 * T1.BenCiHeXiao * T2.) AS decimal(10,2)) AS '̯'
+ ,T2. AS ''
+ ,ISNULL(T2.Ա,'') AS 'Ա'
+ ,T1.Remark AS 'ע'
+ ,T1.ZhangLing AS ''
+ ,CAST('' AS VARCHAR(500)) AS 'ұ'
+ ,CASE T1.ShouKuanType WHEN 1 THEN 3 WHEN 2 THEN 4 END AS ''
+ FROM ZZZ_HeXiaoBook T1
+ INNER JOIN #TEMP1 T2 ON T1.XiaoShouFid = T2.FID
+ WHERE T1.ShouKuanType IN (1,2)
+ AND (T1.FSaleOrgId = {4} OR {4} = 0)
+ AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') >= '{8}' OR '{8}' = '')
+ AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') <= '{9}' OR '{9}' = '')
+ )a
+
+
+ /*Ĵ̯*/
+ SELECT *, ROW_NUMBER() OVER(PARTITION BY ShouKuanFid ORDER BY ShouKuanFid,̯) rownumber
+ INTO #TEMP4
+ FROM #TEMP3
+
+ UPDATE T1 SET ̯ =T2.rownumber FROM #TEMP3 T1
+ INNER JOIN #TEMP4 T2 ON T1.Fid = T2.Fid
+ AND T1.ShouKuanFid = T2.ShouKuanFid
+ AND T1.̯ = T2.̯
+
+
+ /*±עֶ*/
+ UPDATE T1 SET ע = T2.㷽ʽ +ע FROM #TEMP3 T1
+ INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
+ WHERE T2.㷽ʽ <> ''
+
+ /*տ*/
+ UPDATE T1 SET = T2.տ FROM #TEMP3 T1
+ INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
+
+ /*¸λֶ*/
+ UPDATE A SET = T2.λ FROM #TEMP3 A
+ INNER JOIN (SELECT A.FID
+ ,CASE WHEN REPLACE(F_OTHER,' ','') <> '' AND F_OTHER IS NOT NULL THEN F_OTHER ELSE C.FNAME END AS 'λ'
+ FROM T_AR_RECEIVEBILL A
+ 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 ̯ = 1
+
+
+ /*±ұֶ*/
+ UPDATE A SET ұ = T2.ұ FROM #TEMP3 A
+ INNER JOIN (SELECT A.FID
+ ,D.FNAME AS 'ұ'
+ 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
+
+
+ --/*´ֶͬ*/
+ --UPDATE A SET ͬ = ISNULL(,'') FROM #TEMP3 A
+ --WHERE = '' AND ̯ = 1
+
+
+ /*ֻ·̯Ϊ1տֶ*/
+ UPDATE T1 SET = T2.տ FROM #TEMP3 T1
+ INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
+ WHERE T1.̯ = 1
+
+ /*µڣУֶ*/
+ UPDATE T1 SET = T2. FROM #TEMP3 T1
+ INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
+ WHERE T2.㷽ʽ IN ('гжһƱ','ҵжһƱ')
+
+ /*SBUϸֶ*/
+ UPDATE #TEMP3 SET SBU=b.,[ϸ]=b.ϸ
+ FROM (SELECT DISTINCT ACO22.,ACO22.ϸ,ACO22. FROM ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO22 ) b
+ WHERE Ա=b.
+
+ /*̯β*/
+ 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
+ WHERE T1.̯ = 1 AND T1.>0
+
+ /*ֶ*/
+ UPDATE #TEMP3 SET
+ []=CASE WHEN []>=1 AND []<=6 THEN '1-6' WHEN []>=7 AND []<=12 THEN '7-12' WHEN []>=13 AND []<=24
+ THEN '1-2' WHEN []>=25 AND []<=36 THEN '2-3' WHEN []>=37 AND []<=48 THEN '3-4' WHEN []>=49 THEN '5' ELSE '' END
+ --,[]=CASE WHEN []>=1 AND []<=6 THEN '' WHEN []>=7 AND []<=12 THEN '߿' WHEN []>=13 AND []<=18
+ --THEN 'ʦ' WHEN []>=19 THEN '' ELSE '' END
+ ,[һ]=CASE WHEN []>=1 AND []<=6 THEN ̯ ELSE 0 END
+ ,[ʮ]=CASE WHEN []>=7 AND []<=12 THEN ̯ ELSE 0 END
+ ,[һ]=CASE WHEN []>=13 AND []<=24 THEN ̯ ELSE 0 END
+ ,[]=CASE WHEN []>=25 AND []<=36 THEN ̯ ELSE 0 END
+ ,[]=CASE WHEN []>=37 AND []<=48 THEN ̯ ELSE 0 END
+ ,[]=CASE WHEN []>=49 AND []<=60 THEN ̯ ELSE 0 END
+ ,[]=CASE WHEN []> 60 THEN ̯ ELSE 0 END
+ ,[]=CASE WHEN []<= 0 THEN ̯ ELSE 0 END
+ WHERE ҵ <> ''
+
+ /*ʱͷ*/
+ IF (SELECT COUNT(*) FROM #TEMP3 WHERE IN (3,4)) = 1
+ BEGIN
+ DELETE FROM #TEMP3 WHERE IN (3,4)
+ END
+
+ UPDATE #TEMP3 SET = CASE WHEN Fid = '99999999' AND ̯ = 1 THEN 2 ELSE 1 END WHERE NOT IN (3,4)
+
+ /*1Ϊ2Ϊ3,4Ϊ*/
+ SELECT t1.*,{0}
+ INTO {1}
+ FROM (
+ {3}
+ {2}
+ ) t1
+
+ DROP TABLE #TEMP1,#TEMP2,#TEMP3,#TEMP4
+ """,seqFld,tableName,strFilter,tempsql,ZZID,KHID,SKRQS,SKRQE,HXRQS,HXRQE)
+ DBUtils.ExecuteDynamicObject(this.Context, sql)
+
+#ûϢ
+def GetSummaryColumnInfo(Filter):
+ lstfield = List[SummaryField]()
+ sField1 = SummaryField("",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField2 = SummaryField("̯",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField3 = SummaryField("",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField4 = SummaryField("һ",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField5 = SummaryField("ʮ",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField6 = SummaryField("һ",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField7 = SummaryField("",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField8 = SummaryField("",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField9 = SummaryField("",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ sField10 = SummaryField("",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
+ lstfield.Add(sField1)
+ lstfield.Add(sField2)
+ lstfield.Add(sField3)
+ lstfield.Add(sField4)
+ lstfield.Add(sField5)
+ lstfield.Add(sField6)
+ lstfield.Add(sField7)
+ lstfield.Add(sField8)
+ lstfield.Add(sField9)
+ lstfield.Add(sField10)
+ return lstfield
+
+#
+def OrderColumn(Filter):
+ OrderBy = ""
+ datasort = Filter.FilterParameter.SortString.ToString()
+ if datasort != "":
+ OrderBy = datasort
+ else:
+ OrderBy = " ,ShouKuanFid,̯,ҵ "
+ return OrderBy
+
+#رʱ
+def CloseReport():
+ this.DropTempTable()
\ No newline at end of file
diff --git a/HKBaoBiao/回款报表表单插件.py b/HKBaoBiao/回款报表表单插件.py
new file mode 100644
index 0000000..1f4176b
--- /dev/null
+++ b/HKBaoBiao/回款报表表单插件.py
@@ -0,0 +1,31 @@
+
+import clr
+clr.AddReference("System")
+clr.AddReference("Kingdee.BOS")
+clr.AddReference("Kingdee.BOS.Core")
+clr.AddReference("Kingdee.BOS.DataEntity")
+clr.AddReference("Kingdee.BOS.App")
+clr.AddReference("Kingdee.BOS.Contracts")
+from Kingdee.BOS import *
+from Kingdee.BOS.Contracts import *
+from Kingdee.BOS.Contracts.Report import *
+from Kingdee.BOS.Core import *
+from Kingdee.BOS.Core.Metadata import *
+from Kingdee.BOS.Core.Report import *
+from Kingdee.BOS.Core.Report.PlugIn import *
+from Kingdee.BOS.Core.Report.PlugIn.Args import *
+from Kingdee.BOS.Core.SqlBuilder import *
+from Kingdee.BOS.App.Data import *
+from Kingdee.BOS.Orm.DataEntity import *
+from Kingdee.BOS.Util import *
+from System import *
+from System.ComponentModel import *
+from System.Collections.Generic import *
+from System.Text import *
+
+#ϵͳβ㣬ʽСֶΪλС
+def FormatCellValue(args):
+ if (args.Header.ColType == SqlStorageType.SqlDecimal):
+ value = Decimal.Parse(args.FormateValue)
+ afterValue = value.ToString("N")
+ args.FormateValue = afterValue
diff --git a/YSZKDZBaoBiao/AccountsReceivableReport.cs b/YSZKDZBaoBiao/AccountsReceivableReport.cs
index 5980848..56c8802 100644
--- a/YSZKDZBaoBiao/AccountsReceivableReport.cs
+++ b/YSZKDZBaoBiao/AccountsReceivableReport.cs
@@ -75,17 +75,17 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
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("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("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);
diff --git a/YSZKDZBaoBiao/AccountsReceivableReport2.cs b/YSZKDZBaoBiao/AccountsReceivableReport2.cs
index b7bc1e2..c9b0250 100644
--- a/YSZKDZBaoBiao/AccountsReceivableReport2.cs
+++ b/YSZKDZBaoBiao/AccountsReceivableReport2.cs
@@ -81,20 +81,20 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
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("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("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);
@@ -257,7 +257,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);
@@ -266,6 +267,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;
}
diff --git a/YSZKDZGongNeng_MX/LiteVersionPlugIn2.cs b/YSZKDZGongNeng_MX/LiteVersionPlugIn2.cs
index f7b4b61..4679c04 100644
--- a/YSZKDZGongNeng_MX/LiteVersionPlugIn2.cs
+++ b/YSZKDZGongNeng_MX/LiteVersionPlugIn2.cs
@@ -3,6 +3,7 @@ using Kingdee.BOS.Core;
using Kingdee.BOS.Core.CommonFilter.ConditionVariableAnalysis;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.Metadata.FormElement;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Core.Report.PlugIn;
@@ -118,6 +119,9 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
cellStyle2.BorderLeft = BorderStyle.Thin;
cellStyle2.BorderRight = BorderStyle.Thin;
+ //垂直居中
+ cellStyle2.VerticalAlignment = VerticalAlignment.Center;
+
// 创建单元格样式---------------------------------------
ICellStyle style = workbook.CreateCellStyle();
@@ -218,15 +222,33 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
style2.SetFont(font2);
int n = 14;
+ string GroupCONTRACTNUMBER = "";
+ int GroupIndex = 13;
+ int GroupCount = 0;
+ int j = 13;
+
for (var i = 0; i < list.Count; i++)
{
+ //不导出待核销
+ if (list[i]["Number"].ToString() == "待核销")
+ {
+ continue;
+ }
+
string date = string.IsNullOrWhiteSpace(list[i]["DATE"].ToString()) ? "" : list[i]["DATE"].ToString().Split(' ')[0];
string ShipmentsDate = string.IsNullOrWhiteSpace(list[i]["ShipmentsDate"].ToString()) ? "" : list[i]["ShipmentsDate"].ToString().Split(' ')[0];
string PaymentDate = string.IsNullOrWhiteSpace(list[i]["PaymentDate"].ToString()) ? "" : list[i]["PaymentDate"].ToString().Split(' ')[0];
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];
- IRow rowi = sheet.CreateRow(13 + i);
+ //将合计行放到最下方
+ IRow rowi = sheet.CreateRow(j + i);
+ if (list[i]["Number"].ToString() == "合计")
+ {
+ rowi = sheet.CreateRow(j + list.Count-2);
+ j = 12;
+ }
+
ICell c1 = rowi.CreateCell(0); c1.SetCellValue(list[i]["Number"].ToString()); c1.CellStyle = cellStyle;
ICell c2 = rowi.CreateCell(1); c2.SetCellValue(""+date+""); c2.CellStyle = cellStyle2;
ICell c3 = rowi.CreateCell(2); c3.SetCellValue(list[i]["CONTRACTNUMBER"].ToString()); c3.CellStyle = cellStyle2;
@@ -327,6 +349,70 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
ICell c22 = rowi.CreateCell(21); c22.SetCellValue(list[i]["IsEnded"].ToString()); c22.CellStyle = cellStyle2;
ICell c23 = rowi.CreateCell(22); c23.SetCellValue(list[i]["Remark"].ToString()); c23.CellStyle = cellStyle2;
n++;
+
+ //根据订单号分组合并单元格
+ if(list[i]["CONTRACTNUMBER"].ToString() != GroupCONTRACTNUMBER || i == list.Count-2)
+ {
+ int k = (i == list.Count - 2) ? 0 : 1;
+ if (GroupCount > 1)
+ {
+ // 创建CellRangeAddress对象
+ CellRangeAddress cellRangeAddress = new CellRangeAddress(GroupIndex, j + i - k, 1, 1);
+ CellRangeAddress cellRangeAddress2 = new CellRangeAddress(GroupIndex, j + i - k, 2, 2);
+ CellRangeAddress cellRangeAddress3 = new CellRangeAddress(GroupIndex, j + i - k, 3, 3);
+
+ CellRangeAddress cellRangeAddress8 = new CellRangeAddress(GroupIndex, j + i - k, 8, 8);
+ CellRangeAddress cellRangeAddress9 = new CellRangeAddress(GroupIndex, j + i - k, 9, 9);
+
+ CellRangeAddress cellRangeAddress15 = new CellRangeAddress(GroupIndex, j + i - k, 15, 15);
+ CellRangeAddress cellRangeAddress16 = new CellRangeAddress(GroupIndex, j + i - k, 16, 16);
+ CellRangeAddress cellRangeAddress17 = new CellRangeAddress(GroupIndex, j + i - k, 17, 17);
+ CellRangeAddress cellRangeAddress18 = new CellRangeAddress(GroupIndex, j + i - k, 18, 18);
+ CellRangeAddress cellRangeAddress19 = new CellRangeAddress(GroupIndex, j + i - k, 19, 19);
+ CellRangeAddress cellRangeAddress20 = new CellRangeAddress(GroupIndex, j + i - k, 20, 20);
+ CellRangeAddress cellRangeAddress21 = new CellRangeAddress(GroupIndex, j + i - k, 21, 21);
+
+ // 检查并移除重叠的合并区域
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress2);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress3);
+
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress8);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress9);
+
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress15);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress16);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress17);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress18);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress19);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress20);
+ RemoveOverlappingMergedRegions(sheet, cellRangeAddress21);
+
+ // 合并单元格
+ sheet.AddMergedRegion(cellRangeAddress);
+ sheet.AddMergedRegion(cellRangeAddress2);
+ sheet.AddMergedRegion(cellRangeAddress3);
+
+ sheet.AddMergedRegion(cellRangeAddress8);
+ sheet.AddMergedRegion(cellRangeAddress9);
+
+ sheet.AddMergedRegion(cellRangeAddress15);
+ sheet.AddMergedRegion(cellRangeAddress16);
+ sheet.AddMergedRegion(cellRangeAddress17);
+ sheet.AddMergedRegion(cellRangeAddress18);
+ sheet.AddMergedRegion(cellRangeAddress19);
+ sheet.AddMergedRegion(cellRangeAddress20);
+ sheet.AddMergedRegion(cellRangeAddress21);
+ }
+ GroupCONTRACTNUMBER = list[i]["CONTRACTNUMBER"].ToString();
+ GroupIndex = j + i;
+ GroupCount = 1;
+ }
+ else
+ {
+ GroupCount++;
+ }
+
if(list[i]["Number"].ToString() == "合计")
{
c1.CellStyle = style3;
@@ -540,7 +626,8 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
sheet.AddMergedRegion(cellRangeAddress2);
sheet.AddMergedRegion(cellRangeAddress3);
}
-
+ //移除第二个工作表
+ workbook.RemoveSheetAt(1);
#endregion
#region Excel代码2
diff --git a/YeJiPaiHangBang/PHBSaleOrderReport.cs b/YeJiPaiHangBang/PHBSaleOrderReport.cs
index f39c2d8..c3f6f64 100644
--- a/YeJiPaiHangBang/PHBSaleOrderReport.cs
+++ b/YeJiPaiHangBang/PHBSaleOrderReport.cs
@@ -76,8 +76,8 @@ namespace GZ_LTHReportForms.YeJiPaiHangBang
header.AddChild("职位名称", new LocaleValue("职位名称"), SqlStorageType.Sqlvarchar);
header.AddChild("姓名", new LocaleValue("姓名"), SqlStorageType.Sqlvarchar);
header.AddChild("入司时间1", new LocaleValue("入司时间"), SqlStorageType.SqlDatetime);
- header.AddChild("担任本职位日期1", new LocaleValue("担任本职位日期"), SqlStorageType.SqlDatetime);
- header.AddChild("担任销售日期1", new LocaleValue("担任销售日期"), SqlStorageType.SqlDatetime);
+ //header.AddChild("担任本职位日期1", new LocaleValue("担任本职位日期"), SqlStorageType.SqlDatetime);
+ //header.AddChild("担任销售日期1", new LocaleValue("担任销售日期"), SqlStorageType.SqlDatetime);
header.AddChild("入职年限", new LocaleValue("入职年限"), SqlStorageType.Sqlvarchar);
header.AddChild("派诺集团_已进行集团业绩调整_含往年订单变更", new LocaleValue("派诺集团-已进行集团业绩调整(含往年订单变更)"), SqlStorageType.SqlDecimal);
header.AddChild("派诺业绩_含往年订单变更", new LocaleValue("派诺业绩(含往年订单变更)"), SqlStorageType.SqlDecimal);
diff --git a/派诺报表SQL文件/业绩排行榜插入数据SQL.sql b/派诺报表SQL文件/业绩排行榜插入数据SQL.sql
index 29823b5..255caf6 100644
--- a/派诺报表SQL文件/业绩排行榜插入数据SQL.sql
+++ b/派诺报表SQL文件/业绩排行榜插入数据SQL.sql
@@ -1,4 +1,6 @@
-ALTER PROCEDURE GZYJPHB_TH
+
+
+ALTER PROCEDURE [dbo].[GZYJPHB_TH]
@FSDate NVARCHAR(50),
@FEDate NVARCHAR(50),
@FSaleOrgId nvarchar(1000)
@@ -10,7 +12,9 @@ DECLARE @SixYearsAgoYear INT;
DECLARE @FEDateDate DATE = CAST(@FEDate AS DATE);
DECLARE @FSDateDate DATE = CAST(@FSDate AS DATE);
-
+
+-- ڼһ
+set @FEDate = CASE @FEDate WHEN '' THEN '' ELSE FORMAT(DateAdd(DAY,1,CAST(@FEDate AS Date)),'yyyy-MM-dd') END
-- ȡ
SET @Year = YEAR(@FSDate) - 1;
@@ -44,23 +48,26 @@ TRUNCATE TABLE YJPHB_GZTH
SELECT A.FID AS FID
INTO #TEMP3
FROM T_SAL_ORDER A
- INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052
+ INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052
+ INNER JOIN T_BD_CUSTOMER D ON C.FCUSTID= D.FCUSTID
LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.=L.FNAME
- WHERE A.FSALEORGID = 100302 AND
- ACO. = '̼ǿ'
+ WHERE 1=1
+ --AND A.FSALEORGID = 100302
+ AND (ACO. = '̼ǿ'
OR ACL. = '̼ǿ'
OR C.FNAME IN ('ŵƼۣ˾','人ŵƼչ˾','ͻ-ʹ'
,'麣˾','麣ŵԴ˾','㶫̼ǿؿƼ˾','㶫ŵܿƼ˾')
OR (C.FCUSTID = 1150173 AND (ACO. = 'Ŷ' OR ACL. = 'Ŷ'))
OR L.FNAME = 'ŵ'
- OR A.FID IN (110185,207800)
- AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FDate,'yyyy-MM-dd') > @FSDate)
- AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FDate,'yyyy-MM-dd')< @FEDate)
+ 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)
--ѯǰ۶ܶ
SELECT
@@ -82,28 +89,147 @@ TRUNCATE TABLE YJPHB_GZTH
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.=L.FNAME AND ISNULL(ACL.ϸ,'') != ''
- WHERE
- 1=1 AND
- A.FID NOT IN(
- SELECT FID FROM #TEMP3
- )
+ 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(A.FDate,'yyyy') >= @SixYearsAgoYear)
- AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FDate,'yyyy') <= @Year)
+ AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') >= @SixYearsAgoYear)
+ AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') <= @Year)
AND A.FDocumentStatus = 'C'
AND A.FManualClose <> '1'
AND B.FManualRowClose <> '1'
AND A.F_contractnumber NOT LIKE 'Z%'
---ȫ֯ʾ
- SELECT
+----ȫ֯ʾ
+-- 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 L.FNAME ELSE O.FNAME END AS 'Ա',
+-- CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10)
+-- ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as 'ҵ'
+-- INTO #TEMP1
+-- FROM T_SAL_ORDER A --۶ͷ
+-- INNER JOIN T_SAL_orderentry b on a.FID = B.FID --۶
+-- INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID
+-- INNER JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = B.FENTRYID
+-- LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
+-- left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
+-- left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
+-- LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
+-- LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.=O.FNAME AND ISNULL(ACO.ϸ,'') != ''
+-- 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 (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%'
+
+-- --ѯȫ֯Ķ
+-- 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 'Ա'
+-- ,CAST(AN.FBillAllAmount_LC - A.F_Amountstar AS DECIMAL(20, 10)) AS ''
+-- ,A.F_CONTRACTNUMBER as 'ֽʺͬ'
+-- ,A.fbillno as '۶'
+-- INTO #BGTEMP1
+-- FROM T_SAL_ORDER A
+-- LEFT JOIN T_SAL_ORDERFIN AN ON A.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 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 (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')
+-- AND A.F_contractnumber NOT LIKE 'Z%'
+-- AND A.FManualClose <> '1'
+-- 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'
+
+
+/*ʱһ汾ıԭΪ */
+ SELECT ROW_NUMBER() OVER(PARTITION BY FPKIDX ORDER BY AL.FCHANGEDATE DESC) AS 'rn',
+ 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 (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'))
+ AND A.F_contractnumber NOT LIKE 'Z%'
+ AND AL.FDOCUMENTSTATUS = 'C'
+ AND A.FManualClose <> '1'
+ 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'
+
+ DELETE FROM #TEMP5 WHERE rn > 1
+
+ --ѯȫ֯ĵǰʱ汾ԭΪ
+ 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.FBillAllAmount_LC, 2) AS DECIMAL(20,10))
+ ELSE CAST(ROUND(AN.FBillAllAmount_LC * (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'
+ INTO #TEMP4
+ 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 T_SAL_XORDERFIN AN ON AN.FID = AL.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 A.FChangerId = TU.FUSERID -- û,ȡ
+ WHERE 1=1
+ AND AL.FDOCUMENTSTATUS = 'C'
+ AND AL.FID IN (SELECT FID FROM #TEMP5)
+
+ SELECT *
+ INTO #TEMP1 FROM(
+ --ǰʱ汾ı
+ SELECT * FROM #TEMP4
+ 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 L.FNAME ELSE O.FNAME END AS 'Ա',
- CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10)
- ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as 'ҵ'
- INTO #TEMP1
+ CASE WHEN n.FSHARERATE IS NULL THEN CAST(ROUND(F.FALLAMOUNT_LC, 2) AS DECIMAL(20,10))
+ ELSE CAST(ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) AS DECIMAL(20,10)) END as 'ҵ'
+ --,CASE WHEN n.FSHARERATE IS NULL THEN 0 ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as '̯'
+ --,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10) ELSE 0 END as '̯'
+ ,A.F_CONTRACTNUMBER as 'ֽʺͬ'
+ ,A.fbillno as '۶'
+ ,A.FID as '۶FID'
FROM T_SAL_ORDER A --۶ͷ
INNER JOIN T_SAL_orderentry b on a.FID = B.FID --۶
INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID
@@ -113,31 +239,62 @@ TRUNCATE TABLE YJPHB_GZTH
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.=L.FNAME AND ISNULL(ACL.ϸ,'') != ''
- WHERE
- 1=1 AND
- A.FID NOT IN(
- SELECT FID FROM #TEMP3
- )
+ 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 A.FID NOT IN(SELECT ۶FID FROM #TEMP4)
AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM SalesIDTable))
- AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FDate,'yyyy-MM-dd') >= @FSDate)
- AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FDate,'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)
AND A.FDocumentStatus = 'C'
AND A.FManualClose <> '1'
AND B.FManualRowClose <> '1'
- AND A.F_contractnumber NOT LIKE 'Z%'
-
- --ѯȫ֯Ķ
- SELECT
+ AND A.F_contractnumber NOT LIKE 'Z%'
+ ) a
+
+/*ۼDZ*/
+SELECT 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 ''
+ INTO #TEMPCHANGEFIN
+ FROM T_SAL_XORDER AL
+ LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
+ LEFT JOIN T_SAL_XORDERFIN AN ON AN.FID = AL.FID --±Ϣȡͬ
+ LEFT JOIN T_SAL_XORDERENTRY AM ON AM.FID = AL.FID
+ LEFT 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(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)
+ 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
+
+ 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 'Ա'
- ,CAST(AN.FBillAllAmount_LC - A.F_Amountstar AS DECIMAL(20, 10)) AS ''
- INTO #BGTEMP1
- FROM T_SAL_ORDER A
- LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --۶ϸȡͬ
+ ELSE O.FNAME END AS 'Ա'
+ ,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(AN.,2)
+ ELSE CAST(AN. * (n.FSHARERATE/100) AS DECIMAL(10, 2)) END AS ''
+ ,A.F_CONTRACTNUMBER as 'ֽʺͬ'
+ ,A.fbillno as '۶'
+ ,A.FID as '۶FID'
+ ,AL.FBILLNO AS ''
+ INTO #BGTEMP1
+ 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 #TEMPCHANGEFIN 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'
@@ -145,19 +302,19 @@ TRUNCATE TABLE YJPHB_GZTH
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 A.FChangerId = TU.FUSERID -- û,ȡ
- WHERE
- A.FID NOT IN(
- SELECT FID FROM #TEMP3
- )
- AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
- AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FDate,'yyyy-MM-dd') <= @FSDate)
- AND FORMAT(A.FDATE,'yyyy') != FORMAT(A.FDate,'yyyy')
- AND A.F_contractnumber NOT LIKE 'Z%'
- AND A.FManualClose <> '1'
+ 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(@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)
+ 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'
-
+ AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
+
+
--ŵҵ(궩)
INSERT INTO YJPHB_GZTH([_SBU],[ϸ],[],[ŵҵ_궩])
SELECT [(SBU)],[ϸ],[Ա],SUM([ҵ]) AS 'ҵ' FROM #TEMP1 WHERE [֯FID] = 100302 GROUP BY [(SBU)],[ϸ],[Ա]
@@ -424,9 +581,16 @@ GROUP BY B.FNAME
--˾ʱ䣬αְλʱ䣬ֶθֵ
update A
-SET A.[˾ʱ] = CONVERT(NVARCHAR(10), B.[θʱ], 120),A.[αְλ]= B.[θʱ],A.[] = B.[θʱ]
+SET --A.[˾ʱ] = CONVERT(NVARCHAR(10), B.[θʱ], 120),
+A.[αְλ]= B.[θʱ],A.[] = B.[θʱ]
FROM YJPHB_GZTH A
INNER JOIN #DateTEMP3 B ON A.[] = B.[Ա]
+
+update A
+SET A.[˾ʱ] = CONVERT(NVARCHAR(10), B.[˾], 120)
+FROM YJPHB_GZTH A
+INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo B ON A.[] = B.[]
+
--ְֶ
UPDATE A
@@ -476,5 +640,5 @@ SET A.[Ŀ
FROM YJPHB_GZTH A
-DROP TABLE #TEMP1,#TEMP2,#TEMP3,#BGTEMP1,#YGTEMP1,#DateTEMP3,#SKTEMP1,#SKTKTEMP1,#SixYearEMP1
+DROP TABLE #TEMP1,#TEMP2,#TEMP3,#BGTEMP1,#YGTEMP1,#DateTEMP3,#SKTEMP1,#SKTKTEMP1,#SixYearEMP1,#TEMP4,#TEMP5
END;
\ No newline at end of file
diff --git a/派诺报表SQL文件/应收对账表(明细创建).sql b/派诺报表SQL文件/应收对账表(明细创建).sql
index 171a2b0..8d63f1f 100644
--- a/派诺报表SQL文件/应收对账表(明细创建).sql
+++ b/派诺报表SQL文件/应收对账表(明细创建).sql
@@ -81,7 +81,8 @@ BEGIN
SELECT F_CONTRACTNUMBER ZHHTH,FSALEORGID ZZ
FROM T_SAL_ORDER
WHERE FDOCUMENTSTATUS = 'C'
- AND 1= @SFQJFWDZ
+ AND FApproveDate < @EndDate
+ AND 1= @SFQJFWDZ
)a
@@ -107,7 +108,12 @@ BEGIN
,tmm.FOldNumber
,ROW_NUMBER() OVER(ORDER BY A.FID) AS NUMBER
FROM T_SAL_ORDER A
- INNER JOIN T_SAL_ORDERFIN AF ON A.FID = AF.FID
+ INNER JOIN (
+ SELECT T1.FID,SUM(T1.FALLAMOUNT) 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
@@ -239,11 +245,21 @@ INNER JOIN (
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 = CONCAT(CASE WHEN A.ShipmentsDate IS NULL THEN '' ELSE A.ShipmentsDate+',' END ,B.ϲ)
+ FROM YingShouZhanKuanMX_GZTH A
+ INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
+ INNER JOIN (SELECT к,STUFF((SELECT DISTINCT ','+ FROM oldk3seorder0701 WHERE ݱ = a.ݱ FOR XML PATH('')),1,1,'') AS 'ϲ',ݱ
+from oldk3seorder0701 a) b
+ ON C.F_K3SEQ = b.к AND a.FBILLNO=b.[ݱ]
UPDATE A
SET A.ǿշ = B.,A.ǿշ = B.
diff --git a/派诺报表SQL文件/应收对账表(明细版存储过程).sql b/派诺报表SQL文件/应收对账表(明细版存储过程).sql
index 07cf418..83c177a 100644
--- a/派诺报表SQL文件/应收对账表(明细版存储过程).sql
+++ b/派诺报表SQL文件/应收对账表(明细版存储过程).sql
@@ -71,12 +71,14 @@ BEGIN
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 1= @SFQJFWDZ
+ AND FApproveDate < @EndDate
+ AND 1= @SFQJFWDZ
)a
@@ -102,7 +104,12 @@ BEGIN
,tmm.FOldNumber
,ROW_NUMBER() OVER(ORDER BY A.FID) AS NUMBER
FROM T_SAL_ORDER A
- INNER JOIN T_SAL_ORDERFIN AF ON A.FID = AF.FID
+ INNER JOIN (
+ SELECT T1.FID,SUM(T1.FALLAMOUNT) 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
@@ -119,16 +126,17 @@ BEGIN
AND B.FRETURNTYPE <> 'RETURN'
AND A.FDOCUMENTSTATUS = 'C'
-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 [oldk3seorder0701] 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
+ /*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 [oldk3seorder0701] 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
@@ -234,17 +242,44 @@ INNER JOIN (
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 = CONCAT(CASE WHEN A.ShipmentsDate IS NULL THEN '' ELSE A.ShipmentsDate+',' END ,B.ϲ)
+ FROM YingShouZhanKuanMX_GZTH A
+ INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
+ INNER JOIN (SELECT к,STUFF((SELECT DISTINCT ','+ FROM oldk3seorder0701 WHERE ݱ = a.ݱ FOR XML PATH('')),1,1,'') AS 'ϲ',ݱ
+from oldk3seorder0701 a) b
+ ON C.F_K3SEQ = b.к AND a.FBILLNO=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 [oldk3seorder0701] b
+ON C.F_K3SEQ = b.к AND a.FBILLNO=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)
diff --git a/派诺报表SQL文件/应收款对账单取发票金额(取数).sql b/派诺报表SQL文件/应收款对账单取发票金额(取数).sql
index 9ae55b1..7f0bb0b 100644
--- a/派诺报表SQL文件/应收款对账单取发票金额(取数).sql
+++ b/派诺报表SQL文件/应收款对账单取发票金额(取数).sql
@@ -276,12 +276,37 @@ BEGIN
INNER JOIN T_SAL_OUTSTOCKENTRY_LK J ON J.FENTRYID = G.FSID AND J.FSTABLENAME = 'T_SAL_ORDERENTRY' --۳ⵥϵ
INNER JOIN T_SAL_ORDERENTRY LE ON LE.FENTRYID = J.FSID --۶ϸ
INNER JOIN T_SAL_ORDER L ON L.FID = LE.FID --۶
- WHERE A.FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
+ WHERE L.FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
AND A.FDOCUMENTSTATUS = 'C'
AND A.FApproveDate >= @StartDate
AND A.FApproveDate < @EndDate
AND A.F_SFQC = 0
-
+
+ --ϵƱ
+ INSERT INTO FPYSDZDMX(XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX,FPRQ,FPFID,FPFENTRYID,KPJE)
+ SELECT DISTINCT
+ L.FID AS '۶FID',
+ LE.FENTRYID AS '۶FENTRYID',
+ A.FSALEORGID AS '֯',
+ A.FBILLTYPEID AS 'Ʊ',
+ A.FDATE AS 'Ʊ',
+ A.FID AS 'ƱFID',
+ B.FENTRYID AS 'ƱFENTRYID',
+ B.FALLAMOUNTFOR AS 'ַƱ' --˰ϼ
+ FROM T_IV_SALESIC A
+ INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
+ INNER JOIN T_SAL_ORDER L ON L.F_CONTRACTNUMBER = A.F_PAPERNUMBER --۶
+ INNER JOIN T_SAL_ORDERENTRY LE ON LE.FSEQ = 1 AND L.FID = LE.FID --۶ϸ
+ WHERE 1 = 1
+ AND B.FENTRYID NOT IN (SELECT FPFENTRYID FROM FPYSDZDMX)
+ AND L.FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
+ AND A.FDOCUMENTSTATUS = 'C'
+ AND A.FApproveDate >= @StartDate
+ AND A.FApproveDate < @EndDate
+ AND A.F_SFQC = 0
+
+
+
--Աݽзϼ
SELECT DISTINCT
XSDDFID,