0225-001-gaofei

This commit is contained in:
gaofei 2022-02-25 10:16:00 +08:00
parent 74f7cd5c17
commit 84b15f0d8b
2 changed files with 100 additions and 97 deletions

View File

@ -766,118 +766,121 @@ namespace BLL
newList = (from x in newList where x.WBSType != "Installation" && x.WBSType != "CnProfession" && x.OldCnProfessionId.ToString() == cnProfessionId && x.OldUnitProjectCode == unitProjectCode select x).ToList(); newList = (from x in newList where x.WBSType != "Installation" && x.WBSType != "CnProfession" && x.OldCnProfessionId.ToString() == cnProfessionId && x.OldUnitProjectCode == unitProjectCode select x).ToList();
var up = newList.FirstOrDefault(x => x.WBSType == "UnitProject" && x.OldUnitProjectCode == unitProjectCode); var up = newList.FirstOrDefault(x => x.WBSType == "UnitProject" && x.OldUnitProjectCode == unitProjectCode);
parentRow = table.NewRow(); parentRow = table.NewRow();
parentRow[0] = up.Id; if (up != null)
parentRow[1] = "0";
parentRow[2] = up.Name;
parentRow[3] = projectId;
Model.View_WBS_CostControlParentDetail pparentDetail = parentDetails.FirstOrDefault(x => x.ParentId == up.Id && x.Months == months);
if (pparentDetail != null)
{ {
d10 += decimal.Round(Convert.ToDecimal(pparentDetail.ThisRealCost), 2); parentRow[0] = up.Id;
d11 += decimal.Round(Convert.ToDecimal(pparentDetail.ThisPlanValue), 2); parentRow[1] = "0";
d12 += decimal.Round(Convert.ToDecimal(pparentDetail.ThisPlanCost), 2); parentRow[2] = up.Name;
d15 += decimal.Round(Convert.ToDecimal(pparentDetail.TotalRealCost), 2); parentRow[3] = projectId;
d16 += decimal.Round(Convert.ToDecimal(pparentDetail.TotalPlanValue), 2); Model.View_WBS_CostControlParentDetail pparentDetail = parentDetails.FirstOrDefault(x => x.ParentId == up.Id && x.Months == months);
d17 += decimal.Round(Convert.ToDecimal(pparentDetail.TotalPlanCost), 2); if (pparentDetail != null)
}
else
{
Model.View_WBS_CostControlParentDetail parentLastDetail = parentDetails.OrderByDescending(x => x.Months).FirstOrDefault(x => x.ParentId == up.Id);
if (parentLastDetail != null && parentLastDetail.Months <= months)
{ {
d15 += decimal.Round(Convert.ToDecimal(parentLastDetail.TotalRealCost), 2); d10 += decimal.Round(Convert.ToDecimal(pparentDetail.ThisRealCost), 2);
d16 += decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanValue), 2); d11 += decimal.Round(Convert.ToDecimal(pparentDetail.ThisPlanValue), 2);
d17 += decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanCost), 2); d12 += decimal.Round(Convert.ToDecimal(pparentDetail.ThisPlanCost), 2);
d15 += decimal.Round(Convert.ToDecimal(pparentDetail.TotalRealCost), 2);
d16 += decimal.Round(Convert.ToDecimal(pparentDetail.TotalPlanValue), 2);
d17 += decimal.Round(Convert.ToDecimal(pparentDetail.TotalPlanCost), 2);
} }
} else
foreach (Model.View_WBS_CostControlDetailStatistics item in newList)
{
row = table.NewRow();
row[0] = item.Id;
row[2] = item.Name;
row[3] = item.ProjectId;
if (item.WBSType == "WbsSet")
{ {
row[1] = item.SupId; Model.View_WBS_CostControlParentDetail parentLastDetail = parentDetails.OrderByDescending(x => x.Months).FirstOrDefault(x => x.ParentId == up.Id);
Model.View_WBS_CostControlParentDetail parentDetail = parentDetails.FirstOrDefault(x => x.ParentId == item.Id && x.Months == months); if (parentLastDetail != null && parentLastDetail.Months <= months)
if (parentDetail != null)
{ {
row[10] = decimal.Round(Convert.ToDecimal(parentDetail.ThisRealCost), 2);//本月实际成本 d15 += decimal.Round(Convert.ToDecimal(parentLastDetail.TotalRealCost), 2);
row[11] = decimal.Round(Convert.ToDecimal(parentDetail.ThisPlanValue), 2);//本月计划完成预算 d16 += decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanValue), 2);
row[12] = decimal.Round(Convert.ToDecimal(parentDetail.ThisPlanCost), 2);//本月完成预算 d17 += decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanCost), 2);
row[15] = decimal.Round(Convert.ToDecimal(parentDetail.TotalRealCost), 2);//累计完成成本
row[16] = decimal.Round(Convert.ToDecimal(parentDetail.TotalPlanValue), 2);//累计计划完成预算
row[17] = decimal.Round(Convert.ToDecimal(parentDetail.TotalPlanCost), 2);//累计完成预算
} }
else }
foreach (Model.View_WBS_CostControlDetailStatistics item in newList)
{
row = table.NewRow();
row[0] = item.Id;
row[2] = item.Name;
row[3] = item.ProjectId;
if (item.WBSType == "WbsSet")
{ {
Model.View_WBS_CostControlParentDetail parentLastDetail = parentDetails.OrderByDescending(x => x.Months).FirstOrDefault(x => x.ParentId == item.Id); row[1] = item.SupId;
if (parentLastDetail != null && parentLastDetail.Months <= months) Model.View_WBS_CostControlParentDetail parentDetail = parentDetails.FirstOrDefault(x => x.ParentId == item.Id && x.Months == months);
if (parentDetail != null)
{ {
row[15] = decimal.Round(Convert.ToDecimal(parentLastDetail.TotalRealCost), 2);//累计完成成本 row[10] = decimal.Round(Convert.ToDecimal(parentDetail.ThisRealCost), 2);//本月实际成本
row[16] = decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanValue), 2);//累计计划完成预算 row[11] = decimal.Round(Convert.ToDecimal(parentDetail.ThisPlanValue), 2);//本月计划完成预算
row[17] = decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanCost), 2);//累计完成预算 row[12] = decimal.Round(Convert.ToDecimal(parentDetail.ThisPlanCost), 2);//本月完成预算
row[15] = decimal.Round(Convert.ToDecimal(parentDetail.TotalRealCost), 2);//累计完成成本
row[16] = decimal.Round(Convert.ToDecimal(parentDetail.TotalPlanValue), 2);//累计计划完成预算
row[17] = decimal.Round(Convert.ToDecimal(parentDetail.TotalPlanCost), 2);//累计完成预算
}
else
{
Model.View_WBS_CostControlParentDetail parentLastDetail = parentDetails.OrderByDescending(x => x.Months).FirstOrDefault(x => x.ParentId == item.Id);
if (parentLastDetail != null && parentLastDetail.Months <= months)
{
row[15] = decimal.Round(Convert.ToDecimal(parentLastDetail.TotalRealCost), 2);//累计完成成本
row[16] = decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanValue), 2);//累计计划完成预算
row[17] = decimal.Round(Convert.ToDecimal(parentLastDetail.TotalPlanCost), 2);//累计完成预算
}
} }
} }
} else if (item.WBSType == "CostControl")
else if (item.WBSType == "CostControl")
{
row[1] = item.SupId;
Model.View_WBS_CostControlDetail detail = details.FirstOrDefault(x => x.CostControlId == item.Id && x.Months == months);
if (detail != null)
{ {
row[4] = detail.Unit;//单位 row[1] = item.SupId;
row[5] = decimal.Round(Convert.ToDecimal(detail.TotalNum), 2);//合同工作量 Model.View_WBS_CostControlDetail detail = details.FirstOrDefault(x => x.CostControlId == item.Id && x.Months == months);
row[6] = decimal.Round(Convert.ToDecimal(detail.RealPrice), 2);//成本单价 if (detail != null)
row[7] = decimal.Round(Convert.ToDecimal(detail.PlanNum), 2);//本月计划完成量
row[8] = decimal.Round(Convert.ToDecimal(detail.ThisNum), 2);//本月完成量
row[9] = decimal.Round(Convert.ToDecimal(detail.PlanPrice), 2);//控制预算单价
row[10] = decimal.Round(Convert.ToDecimal(detail.ThisRealCost), 2);//本月实际成本
row[11] = decimal.Round(Convert.ToDecimal(detail.ThisPlanValue), 2);//本月计划完成预算
row[12] = decimal.Round(Convert.ToDecimal(detail.ThisPlanCost), 2);//本月完成预算
row[13] = decimal.Round(Convert.ToDecimal(detail.TotalPlanNum), 2);//累计计划完成量
row[14] = decimal.Round(Convert.ToDecimal(detail.TotalThisNum), 2);//累计完成量
row[15] = decimal.Round(Convert.ToDecimal(detail.TotalRealCost), 2);//累计完成成本
row[16] = decimal.Round(Convert.ToDecimal(detail.TotalPlanValue), 2);//累计计划完成预算
row[17] = decimal.Round(Convert.ToDecimal(detail.TotalPlanCost), 2);//累计完成预算
}
else
{
Model.View_WBS_CostControlDetail lastDetail = details.OrderByDescending(x => x.Months).FirstOrDefault(x => x.CostControlId == item.Id);
if (lastDetail != null && lastDetail.Months <= months)
{ {
row[4] = lastDetail.Unit;//单位 row[4] = detail.Unit;//单位
row[5] = decimal.Round(Convert.ToDecimal(lastDetail.TotalNum), 2);//合同工作量 row[5] = decimal.Round(Convert.ToDecimal(detail.TotalNum), 2);//合同工作量
row[6] = decimal.Round(Convert.ToDecimal(lastDetail.RealPrice), 2);//成本单价 row[6] = decimal.Round(Convert.ToDecimal(detail.RealPrice), 2);//成本单价
row[7] = decimal.Round(Convert.ToDecimal(lastDetail.PlanNum), 2);//本月计划完成量 row[7] = decimal.Round(Convert.ToDecimal(detail.PlanNum), 2);//本月计划完成量
row[8] = decimal.Round(Convert.ToDecimal(lastDetail.ThisNum), 2);//本月完成量 row[8] = decimal.Round(Convert.ToDecimal(detail.ThisNum), 2);//本月完成量
row[9] = decimal.Round(Convert.ToDecimal(lastDetail.PlanPrice), 2);//控制预算单价 row[9] = decimal.Round(Convert.ToDecimal(detail.PlanPrice), 2);//控制预算单价
row[13] = decimal.Round(Convert.ToDecimal(lastDetail.TotalPlanNum), 2);//累计计划完成量 row[10] = decimal.Round(Convert.ToDecimal(detail.ThisRealCost), 2);//本月实际成本
row[14] = decimal.Round(Convert.ToDecimal(lastDetail.TotalThisNum), 2);//累计完成量 row[11] = decimal.Round(Convert.ToDecimal(detail.ThisPlanValue), 2);//本月计划完成预算
row[15] = decimal.Round(Convert.ToDecimal(lastDetail.TotalRealCost), 2);//累计完成成本 row[12] = decimal.Round(Convert.ToDecimal(detail.ThisPlanCost), 2);//本月完成预算
row[16] = decimal.Round(Convert.ToDecimal(lastDetail.TotalPlanValue), 2);//累计计划完成预算 row[13] = decimal.Round(Convert.ToDecimal(detail.TotalPlanNum), 2);//累计计划完成量
row[17] = decimal.Round(Convert.ToDecimal(lastDetail.TotalPlanCost), 2);//累计完成预算 row[14] = decimal.Round(Convert.ToDecimal(detail.TotalThisNum), 2);//累计完成量
row[15] = decimal.Round(Convert.ToDecimal(detail.TotalRealCost), 2);//累计完成成本
row[16] = decimal.Round(Convert.ToDecimal(detail.TotalPlanValue), 2);//累计计划完成预算
row[17] = decimal.Round(Convert.ToDecimal(detail.TotalPlanCost), 2);//累计完成预算
}
else
{
Model.View_WBS_CostControlDetail lastDetail = details.OrderByDescending(x => x.Months).FirstOrDefault(x => x.CostControlId == item.Id);
if (lastDetail != null && lastDetail.Months <= months)
{
row[4] = lastDetail.Unit;//单位
row[5] = decimal.Round(Convert.ToDecimal(lastDetail.TotalNum), 2);//合同工作量
row[6] = decimal.Round(Convert.ToDecimal(lastDetail.RealPrice), 2);//成本单价
row[7] = decimal.Round(Convert.ToDecimal(lastDetail.PlanNum), 2);//本月计划完成量
row[8] = decimal.Round(Convert.ToDecimal(lastDetail.ThisNum), 2);//本月完成量
row[9] = decimal.Round(Convert.ToDecimal(lastDetail.PlanPrice), 2);//控制预算单价
row[13] = decimal.Round(Convert.ToDecimal(lastDetail.TotalPlanNum), 2);//累计计划完成量
row[14] = decimal.Round(Convert.ToDecimal(lastDetail.TotalThisNum), 2);//累计完成量
row[15] = decimal.Round(Convert.ToDecimal(lastDetail.TotalRealCost), 2);//累计完成成本
row[16] = decimal.Round(Convert.ToDecimal(lastDetail.TotalPlanValue), 2);//累计计划完成预算
row[17] = decimal.Round(Convert.ToDecimal(lastDetail.TotalPlanCost), 2);//累计完成预算
}
} }
} }
table.Rows.Add(row);
} }
table.Rows.Add(row); if (d10 != 0)
{
parentRow[10] = decimal.Round(d10, 2);//本月实际成本
parentRow[11] = decimal.Round(d11, 2);//本月计划完成预算
parentRow[12] = decimal.Round(d12, 2);//本月完成预算
parentRow[15] = decimal.Round(d15, 2);//累计完成成本
parentRow[16] = decimal.Round(d16, 2);//累计计划完成预算
parentRow[17] = decimal.Round(d17, 2);//累计完成预算
}
else
{
parentRow[15] = decimal.Round(d15, 2);//累计完成成本
parentRow[16] = decimal.Round(d16, 2);//累计计划完成预算
parentRow[17] = decimal.Round(d17, 2);//累计完成预算
}
table.Rows.Add(parentRow);
} }
if (d10 != 0)
{
parentRow[10] = decimal.Round(d10, 2);//本月实际成本
parentRow[11] = decimal.Round(d11, 2);//本月计划完成预算
parentRow[12] = decimal.Round(d12, 2);//本月完成预算
parentRow[15] = decimal.Round(d15, 2);//累计完成成本
parentRow[16] = decimal.Round(d16, 2);//累计计划完成预算
parentRow[17] = decimal.Round(d17, 2);//累计完成预算
}
else
{
parentRow[15] = decimal.Round(d15, 2);//累计完成成本
parentRow[16] = decimal.Round(d16, 2);//累计计划完成预算
parentRow[17] = decimal.Round(d17, 2);//累计完成预算
}
table.Rows.Add(parentRow);
} }
} }
#endregion #endregion

View File

@ -84,7 +84,7 @@ namespace FineUIPro.Web.CQMS.ManageReport
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.EndDate); this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.EndDate);
} }
} }
this.txtPeriod.ReadOnly = true; //this.txtPeriod.ReadOnly = true;
//this.txtStartDate.Enabled = false; //this.txtStartDate.Enabled = false;
//this.txtEndDate.Enabled = false; //this.txtEndDate.Enabled = false;
GetThisWeekOrMonthContentList(this.ReportId);//本月主要工作内容 GetThisWeekOrMonthContentList(this.ReportId);//本月主要工作内容