20250903 修改首页cost红绿灯判断逻辑

This commit is contained in:
毕文静 2025-09-03 15:02:31 +08:00
parent e6cbdc4340
commit 6211d2ba3f
3 changed files with 59 additions and 27 deletions

View File

@ -1107,37 +1107,30 @@ namespace FineUIPro.Web.common
//Cost 成本
System.Web.UI.WebControls.Image imgCost = (System.Web.UI.WebControls.Image)this.Grid1.Rows[i].FindControl("imgCost");
double s = 0;
//获取项目的最新成本
var costManage = BLL.CostReportService.GetMaxMonthCostReportByEprojectId(eprojectId);
if (costManage != null)
decimal? orginalBudget = eproject.ProjectControl_OrginalBudget.HasValue ? eproject.ProjectControl_OrginalBudget : 0;//原始的预算
decimal? changedBudget = eproject.ProjectControl_ChangedBudget.HasValue ? eproject.ProjectControl_ChangedBudget : 0;//变更的预算
decimal? actualCost = eproject.ProjectControl_Actual.HasValue ? eproject.ProjectControl_Actual : 0;//实际的成本
decimal? committedPRPO = eproject.ProjectControl_CommittedPRPO.HasValue ? eproject.ProjectControl_CommittedPRPO : 0;//承诺的PR或PO成本
decimal? committedSSRs = eproject.ProjectControl_CommittedSSRs.HasValue ? eproject.ProjectControl_CommittedSSRs : 0; //承诺的SSR成本
decimal? costToComplete = eproject.PM_General_CostToComplete.HasValue ? eproject.PM_General_CostToComplete : 0; //预估的完工任需成本
decimal? rmb = actualCost + committedPRPO + committedSSRs + costToComplete;//预估的最终成本=实际的成本+承诺的PR或PO成本+承诺的SSR成本+预估的完工任需成本
//成本差异=(预估的最终成本-原始的预算-变更的预算)/(原始的预算+变更的预算)*100%
if (orginalBudget + changedBudget > 0)
{
decimal? orginalBudget = costManage.OrginalBudget.HasValue ? costManage.OrginalBudget : 0;//原始的预算
decimal? changedBudget = costManage.ChangedBudget.HasValue ? costManage.ChangedBudget : 0;//变更的预算
decimal? actualCost = costManage.ActualCost.HasValue ? costManage.ActualCost : 0;//实际的成本
decimal? committedPRPO = costManage.CommittedPRPO.HasValue ? costManage.CommittedPRPO : 0;//承诺的PR或PO成本
decimal? committedSSRs = costManage.CommittedSSRs.HasValue ? costManage.CommittedSSRs : 0; //承诺的SSR成本
decimal? costToComplete = costManage.CostToComplete.HasValue ? costManage.CostToComplete : 0; //预估的完工任需成本
decimal? rmb = actualCost + committedPRPO + committedSSRs + costToComplete;//预估的最终成本=实际的成本+承诺的PR或PO成本+承诺的SSR成本+预估的完工任需成本
//成本差异=(预估的最终成本-原始的预算-变更的预算)/(原始的预算+变更的预算)*100%
if (orginalBudget + changedBudget > 0)
s = Convert.ToDouble((rmb - orginalBudget - changedBudget) / (orginalBudget + changedBudget));
if (s > 0.1)
{
s = Convert.ToDouble((rmb - orginalBudget - changedBudget) / (orginalBudget + changedBudget));
if (s > 0.1)
{
imgCost.ImageUrl = "../Images/RedLight.jpg";
}
else if (0.1 >= s && s > 0.05)
{
imgCost.ImageUrl = "../Images/YellowLight.jpg";
}
else if (s <= 0.05)
{
imgCost.ImageUrl = "../Images/GreenLight.jpg";
}
imgCost.ImageUrl = "../Images/RedLight.jpg";
}
else
else if (0.1 >= s && s > 0.05)
{
imgCost.ImageUrl = "../Images/NoLight.jpg";
imgCost.ImageUrl = "../Images/YellowLight.jpg";
}
else if (s <= 0.05)
{
imgCost.ImageUrl = "../Images/GreenLight.jpg";
}
}
else
@ -1145,6 +1138,45 @@ namespace FineUIPro.Web.common
imgCost.ImageUrl = "../Images/NoLight.jpg";
}
#region
//获取项目的最新成本
//var costManage = BLL.CostReportService.GetMaxMonthCostReportByEprojectId(eprojectId);
//if (costManage != null)
//{
// decimal? orginalBudget = costManage.OrginalBudget.HasValue ? costManage.OrginalBudget : 0;//原始的预算
// decimal? changedBudget = costManage.ChangedBudget.HasValue ? costManage.ChangedBudget : 0;//变更的预算
// decimal? actualCost = costManage.ActualCost.HasValue ? costManage.ActualCost : 0;//实际的成本
// decimal? committedPRPO = costManage.CommittedPRPO.HasValue ? costManage.CommittedPRPO : 0;//承诺的PR或PO成本
// decimal? committedSSRs = costManage.CommittedSSRs.HasValue ? costManage.CommittedSSRs : 0; //承诺的SSR成本
// decimal? costToComplete = costManage.CostToComplete.HasValue ? costManage.CostToComplete : 0; //预估的完工任需成本
// decimal? rmb = actualCost + committedPRPO + committedSSRs + costToComplete;//预估的最终成本=实际的成本+承诺的PR或PO成本+承诺的SSR成本+预估的完工任需成本
// //成本差异=(预估的最终成本-原始的预算-变更的预算)/(原始的预算+变更的预算)*100%
// if (orginalBudget + changedBudget > 0)
// {
// s = Convert.ToDouble((rmb - orginalBudget - changedBudget) / (orginalBudget + changedBudget));
// if (s > 0.1)
// {
// imgCost.ImageUrl = "../Images/RedLight.jpg";
// }
// else if (0.1 >= s && s > 0.05)
// {
// imgCost.ImageUrl = "../Images/YellowLight.jpg";
// }
// else if (s <= 0.05)
// {
// imgCost.ImageUrl = "../Images/GreenLight.jpg";
// }
// }
// else
// {
// imgCost.ImageUrl = "../Images/NoLight.jpg";
// }
//}
//else
//{
// imgCost.ImageUrl = "../Images/NoLight.jpg";
//}
#endregion
#endregion
#region
// Scope 范围指标

Binary file not shown.