This commit is contained in:
李狗蛋
2025-04-15 11:11:33 +08:00
parent 65ab3058c9
commit b595f279c8
10 changed files with 225 additions and 367 deletions

View File

@@ -30,79 +30,31 @@ namespace GZ_LTHReportForms.YingShouBaoBiao
this.ReportProperty.IsGroupSummary = true;
}
//获取过滤条件信息(构造单据信息)
public override ReportTitles GetReportTitles(IRptParams filter)
{
//创建标题对象
ReportTitles reportTitles = new ReportTitles();
//获取自定义过滤条件
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
if (customFilter != null)
{
//获取组织名称
string multiOrgnNameValues = this.GetMultiOrgnNameValues(customFilter["F_YKQC_OrgId_uky"] as DynamicObject);
//添加标题
reportTitles.AddTitle("F_YKQC_OrgId_re5", multiOrgnNameValues);
}
//返回标题
return reportTitles;
}
//获取组织名称
private string GetMultiOrgnNameValues(DynamicObject orgIdStrings)
{
//获取组织名称
List<string> list = new List<string>();
//初始化结果字符串
string result = string.Empty;
//如果组织ID字符串不为空
if (orgIdStrings != null)
{
//获取查询服务
IQueryService service = Kingdee.BOS.Contracts.ServiceFactory.GetService<IQueryService>(base.Context);
//创建查询参数
QueryBuilderParemeter para = new QueryBuilderParemeter
{
FormId = "ORG_Organizations",
//查询组织名称
SelectItems = SelectorItemInfo.CreateItems("FNAME"),
//过滤条件根据组织ID和区域ID
FilterClauseWihtKey = string.Format("FORGID IN ({0}) AND FLOCALEID = {1}", orgIdStrings["Id"].Long2Int(), base.Context.UserLocale.LCID)
};
//获取动态对象集合
DynamicObjectCollection dynamicObjects = service.GetDynamicObjectCollection(base.Context, para, null);
//遍历获取到的动态对象
foreach (DynamicObject current in dynamicObjects)
{
//将组织名称添加到列表
list.Add(current["FNAME"].ToString());
}
//如果列表不为空
if (list.Count > 0)
{
result = string.Join(",", list.ToArray());
}
}
//返回组织名称字符串
return result;
}
//设置单据列
public override ReportHeader GetReportHeaders(IRptParams filter)
{
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
//结束日期
string FYear = (customFilter["F_EDate"] == null) ? DateTime.Now.Year.ToString() : Convert.ToDateTime(
customFilter["F_EDate"]).ToString("yyyy-MM");
//当前时间格式化
string FNowDate = (customFilter["F_EDate"] == null) ? DateTime.Now.ToString("yyyy年M月") : Convert.ToDateTime(
customFilter["F_EDate"]).ToString("yyyyMM");
//过去时间格式化
DateTime currentDate = DateTime.Now;
DateTime lastYearDecember = new DateTime(currentDate.Year - 1, 12, 31);
string FLastDate = lastYearDecember.ToString("yyyy年MM月");
//创建表头对象
ReportHeader header = new ReportHeader();
header.AddChild("SBU", new LocaleValue("SBU", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("年初到期应收款额", new LocaleValue(FYear +"期初到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("其中_年初应收款专责小组", new LocaleValue("其中:"+FYear+"期初应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("本年到期应收款额", new LocaleValue(FYear+"到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("其中_本年应收款专责小组", new LocaleValue("其中:"+FYear+"应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("年初到期应收款额", new LocaleValue(FLastDate + "期初到期应收额", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal);
header.AddChild("其中_年初应收款专责小组", new LocaleValue("其中:期初应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal);
header.AddChild("本年到期应收款额", new LocaleValue(FNowDate + "到期应收额", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal);
header.AddChild("其中_本年应收款专责小组", new LocaleValue("其中:应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal);
header.AddChild("占比", new LocaleValue("占比", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("变化", new LocaleValue("变化", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("变化", new LocaleValue("变化", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal);
foreach(var item in header.GetChilds())
{
item.Width = 200;
@@ -125,7 +77,7 @@ namespace GZ_LTHReportForms.YingShouBaoBiao
customFilter["F_EDate"]).ToString("yyyy-MM-dd");
string sql = String.Format(@"/*dialect*/
EXEC YSQKGKSBU_GZTH '{0}' '{1}'
EXEC YSQKGKSBU_GZTH '{0}','{1}'
SELECT
ROW_NUMBER() OVER (ORDER BY SBU DESC) AS FID,
ROW_NUMBER() OVER (ORDER BY SBU DESC) AS FIDENTITYID,
@@ -142,7 +94,7 @@ namespace GZ_LTHReportForms.YingShouBaoBiao
result.Add(new SummaryField("年初到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("其中_年初应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("本年到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("其中_本年应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("其中_本年应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("变化", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
return result;
}