61 lines
2.3 KiB
C#
Raw Normal View History

2025-03-14 10:00:24 +08:00
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.Core.Report.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Pilot.Report.Exploitation.ResultsKanbanSummary
{
[Description("【报表表单插件】绩效看板汇总报表插件"), HotUpdate]
public class ResultsReportServicePlugIn: AbstractSysReportPlugIn
{
List<string> _rates = new string[] { "AttainmentRate", "SameGrowthRate", "PaymentRate" }.ToList();
public override void FormatCellValue(FormatCellValueArgs args)
{
// 格式化日期
base.FormatCellValue(args);
if (args.Header.ColType == Kingdee.BOS.SqlStorageType.SqlDatetime)
{
DateTime value = Convert.ToDateTime(args.FormateValue);
string afterValue = value.ToString("yyyy-MM-dd");
args.FormateValue = afterValue;
}
// 格式化金额 汇率不格式化
if (args.Header.ColType == Kingdee.BOS.SqlStorageType.SqlDecimal)
{
decimal value = decimal.Parse(args.FormateValue);
// 千分位
string afterValue = value.ToString("N");
args.FormateValue = afterValue;
}
if (args.Header.ColType == Kingdee.BOS.SqlStorageType.Sqlvarchar && _rates.Contains(args.Header.Key))
{
decimal value = decimal.Parse(args.FormateValue);
// 不显示小数
string afterValue = value.ToString("N") + "%"; // "F" 表示固定点格式,"0" 表示小数位数为0
args.FormateValue = afterValue;
}
}
public override void OnFormatRowConditions(ReportFormatConditionArgs args)
{
base.OnFormatRowConditions(args);
//行背景色FROWNO为偶数的行背景色设为灰色
if (Convert.ToInt32(args.DataRow["Sort"]) == 0 || Convert.ToInt32(args.DataRow["Sort"]) == 3)
{
FormatCondition FRow_FC = new FormatCondition()
{
BackColor = "#FCE4D6",
};
args.FormatConditions.Add(FRow_FC);
}
}
}
}