From 20e70df32f2a98ed36b66afcfbb4c891e4f3bfb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=BC=E6=B5=B7?= <1160945909@qq.com> Date: Fri, 11 Jul 2025 15:35:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20ZHIRONG.Report.Development?= =?UTF-8?q?CostSum.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZHIRONG.Report.DevelopmentCostSum.py | 133 --------------------------- 1 file changed, 133 deletions(-) delete mode 100644 ZHIRONG.Report.DevelopmentCostSum.py diff --git a/ZHIRONG.Report.DevelopmentCostSum.py b/ZHIRONG.Report.DevelopmentCostSum.py deleted file mode 100644 index 5ee3926..0000000 --- a/ZHIRONG.Report.DevelopmentCostSum.py +++ /dev/null @@ -1,133 +0,0 @@ -#-*- 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 * - -_sql = "" - -#初始化 -def Initialize(): - this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL - this.IsCreateTempTableByPlugin = True - this.ReportProperty.IsGroupSummary = True - -#设置标题 -def GetReportTitles(Filter): - reportTitles = ReportTitles() - customFiler = Filter.FilterParameter.CustomFilter - if customFiler: - FStartDate = customFiler["FStartDate"] - FEndDate = customFiler["FEndDate"] - FUnit = customFiler["FUnit"] - FOrg = GetBaseDataNameValue(customFiler["FOrg"]) - reportTitles.AddTitle("FStartDate",str(FStartDate)) - reportTitles.AddTitle("FEndDate",str(FEndDate)) - reportTitles.AddTitle("FUnit",FUnit) - reportTitles.AddTitle("FOrg",FOrg) - return reportTitles - -#获取基础资料 -def GetBaseDataNameValue(dyobj): - name = "" - #raise Exception(str(dir(dyobj)))#抛出异常检查调试 - if dyobj is None: - return name - elif dyobj and dyobj.DynamicObjectType.Properties.Contains("Name"): - name = dyobj["Name"].ToString() - else: - for dynbj in dyobj: - if dynbj and dynbj.DynamicObjectType.Properties.Contains("Name") == False: - dynbj2 = dynbj[2] - name = name + ",'" + dynbj2["Name"] + "'" - if name.Length > 0: - name = name.Substring(1,name.Length - 1) - return name - -#设置单据列 -def GetReportHeaders(Filter): - header = ReportHeader() - # headerch = ReportHeader() - global _sql - sql = """/*dialect*/SELECT name AS ColumnName FROM sys.dm_exec_describe_first_result_set(N'{0}', NULL, NULL)""".format(_sql) - res = DBUtils.ExecuteDynamicObject(this.Context, sql) - for row in res: - ColumnName = row["ColumnName"].ToString() - if(ColumnName.IndexOf("qazxsw/")!=-1 and ColumnName!="qazxsw/"): - headerch = header.AddChild(ColumnName,LocaleValue(ColumnName.Substring(0,ColumnName.IndexOf("qazxsw/")),this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar) - headerch.AddChild(ColumnName,LocaleValue(ColumnName.Substring(ColumnName.IndexOf("qazxsw/")+7),this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar) - continue - header.AddChild(row["ColumnName"].ToString(),LocaleValue(row["ColumnName"].ToString().Replace("qazxsw/",""),this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar) - - return header - -#创建临时报表 -def BuilderReportSqlAndTempTable(Filter,tableName): - # strFilter = GetFilterWhere(Filter) - strFilter = "" - seqFld = String.format(this.KSQL_SEQ,OrderColumn(Filter)) - - customFiler = Filter.FilterParameter.CustomFilter - DBUtils.Execute(this.Context, "EXEC P_ReportDataSource '{0}','{2}',{1},{3}".format(str(customFiler["FStartDate"].ToString("yyyy-MM-dd")),str(customFiler["FOrg"]["Id"]),str(customFiler["FEndDate"].ToString("yyyy-MM-dd")),customFiler["FUnit"])) - global _sql - _sql = """SELECT * FROM T_ReportDataSource""" - sql = String.format("""/*dialect*/ -SELECT t1.*,{0} - INTO {1} -FROM ( - {3} - {2} -) t1 - - """,seqFld,tableName,strFilter,_sql) - DBUtils.ExecuteDynamicObject(this.Context, sql) - -#获取过滤条件 -def GetFilterWhere(Filter): - customFiler = Filter.FilterParameter.CustomFilter - strwhere = StringBuilder() - strwhere.AppendLine("WHERE 1 = 1 ") - - FYEAR = customFiler["FYear"] - strFilterFYEAR = String.format(" AND T2.FYEAR = '{0}' ",FYEAR) if not String.IsNullOrWhiteSpace(FYEAR) else " " - strwhere.AppendLine(strFilterFYEAR) - - return strwhere.ToString() - -# #设置汇总信息 -# def GetSummaryColumnInfo(Filter): -# lstfield = List[SummaryField]() -# sField = SummaryField("本位币金额",Core.Enums.BOSEnums.Enu_SummaryType.SUM) -# lstfield.Add(sField) -# return lstfield - -#排序 -def OrderColumn(Filter): - OrderBy = "" - datasort = Filter.FilterParameter.SortString.ToString() - if datasort != "": - OrderBy = datasort - else: - OrderBy = " 科目 " - return OrderBy - -#关闭清空临时表 -def CloseReport(): - this.DropTempTable() \ No newline at end of file