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,