2024-02-02 10:48:40 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using BLL;
|
|
|
|
|
|
|
|
|
|
namespace FineUIPro.Web.Transfer.Chart
|
|
|
|
|
{
|
|
|
|
|
public partial class TransferChart : PageBase
|
|
|
|
|
{
|
|
|
|
|
#region 定义项
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 项目主键
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string ProjectId
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return (string)ViewState["ProjectId"];
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
ViewState["ProjectId"] = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 加载页面
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 加载页面
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!IsPostBack)
|
|
|
|
|
{
|
|
|
|
|
this.ProjectId = this.CurrUser.LoginProjectId;
|
|
|
|
|
if (!string.IsNullOrEmpty(Request.Params["projectId"]))
|
|
|
|
|
{
|
|
|
|
|
this.ProjectId = Request.Params["projectId"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//this.AnalyseData();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 统计分析
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void BtnAnalyse_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.AnalyseData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 统计
|
|
|
|
|
private void AnalyseData() {
|
|
|
|
|
if (string.IsNullOrEmpty(ProjectId))
|
|
|
|
|
{
|
|
|
|
|
Alert.ShowInTop("项目未获取到,请刷新页面。", MessageBoxIcon.Warning);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var sTime = DateTime.Now.AddDays(-7);
|
|
|
|
|
var eTime = DateTime.Now;
|
|
|
|
|
if (string.IsNullOrEmpty(txtStarTime.Text) || string.IsNullOrEmpty(txtEndTime.Text))
|
|
|
|
|
{
|
|
|
|
|
Alert.ShowInTop("请选择日期。", MessageBoxIcon.Warning);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
sTime = Convert.ToDateTime(txtStarTime.Text);
|
|
|
|
|
|
|
|
|
|
eTime = Convert.ToDateTime(txtEndTime.Text).AddMonths(1).AddDays(-1);
|
|
|
|
|
}
|
|
|
|
|
var AfinishedCountSum = 0;//总的实际完成数量
|
|
|
|
|
var PfinishedCountSum = 0;//总的计划完成数量
|
2024-02-02 16:23:51 +08:00
|
|
|
|
//获取总的实际完成数量和总的计划完成数量
|
2024-02-02 10:48:40 +08:00
|
|
|
|
switch (drpType.SelectedValue)
|
|
|
|
|
{
|
|
|
|
|
#region 全部
|
|
|
|
|
case "":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId
|
|
|
|
|
&& x.FDate >= sTime
|
2024-02-02 16:23:51 +08:00
|
|
|
|
&& x.FDate <= eTime
|
2024-02-02 10:48:40 +08:00
|
|
|
|
&& x.Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
var testpackageList = (from x in systemListbyDate select x.TestPackage).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList) {
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-02 16:23:51 +08:00
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId
|
|
|
|
|
&& x.ADate >= sTime
|
|
|
|
|
&& x.ADate <= eTime
|
|
|
|
|
&& x.Status.ToLower() == "finished").ToList();
|
|
|
|
|
testpackageList = (from x in systemListbyDate select x.TestPackage).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Piping
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Piping":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate1 = Funs.DB.Transfer_Piping.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.TestPackageFINISH >= sTime
|
|
|
|
|
&& x.TestPackageFINISH <= eTime
|
|
|
|
|
&& x.FINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate1 select x.TestPackage).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate1 = Funs.DB.Transfer_Piping.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
testpackageList = (from x in systemListbyDate1 select x.TestPackage).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Static Equipment
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Static Equipment":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate2 = Funs.DB.Transfer_StaticEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.TestPackageFINISH >= sTime
|
|
|
|
|
&& x.TestPackageFINISH <= eTime
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate2 select x.TestPackage).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate2=Funs.DB.Transfer_StaticEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
testpackageList = (from x in systemListbyDate2 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Rotating Equipment
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Rotating Equipment":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate3 = Funs.DB.Transfer_RotatingEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.TestPackageFINISH >= sTime
|
|
|
|
|
&& x.TestPackageFINISH <= eTime
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate3 select x.TestPackage).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate3 = Funs.DB.Transfer_RotatingEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate3 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Instrumentation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Instrumentation":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate4 = Funs.DB.Transfer_Instrumentation.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate4 select x.Test_Package).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate4 = Funs.DB.Transfer_Instrumentation.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate4 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Electrical
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Electrical":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate5 = Funs.DB.Transfer_Electrical.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate5 select x.Test_Package).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate5 = Funs.DB.Transfer_Electrical.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate5 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Civil Structure
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Civil Structure":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate6 = Funs.DB.Transfer_Civil_Structure.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate6 select x.Test_Package).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate6 = Funs.DB.Transfer_Civil_Structure.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate6 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Firefighting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Firefighting":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate7 = Funs.DB.Transfer_Firefighting.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate7 select x.Test_Package).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate7 = Funs.DB.Transfer_Firefighting.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate7 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Telecom
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Telecom":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate8 = Funs.DB.Transfer_Telecom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate8 select x.Test_Package).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate8 = Funs.DB.Transfer_Telecom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate8 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region Plumbing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "Plumbing":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate9 = Funs.DB.Transfer_Plumbing.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate9 select x.Test_Package).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate9 = Funs.DB.Transfer_Plumbing.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate9 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#endregion
|
|
|
|
|
#region HVAC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "HVAC":
|
|
|
|
|
//根据当前计划完成日期 查询总的计划完成的数量
|
|
|
|
|
var systemListbyDate10 = Funs.DB.Transfer_HVAC.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage 去重
|
|
|
|
|
testpackageList = (from x in systemListbyDate10 select x.Test_Package).Distinct();
|
|
|
|
|
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取当前日期内实际完成的数量
|
|
|
|
|
systemListbyDate10 = Funs.DB.Transfer_HVAC.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime <= eTime
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
|
|
|
|
|
testpackageList = (from x in systemListbyDate10 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCountSum += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2024-02-02 10:48:40 +08:00
|
|
|
|
break;
|
|
|
|
|
#endregion
|
2024-02-02 16:23:51 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DataTable dtTime = new DataTable();
|
|
|
|
|
dtTime.Columns.Add("日期", typeof(string));
|
|
|
|
|
dtTime.Columns.Add("Actual Finished(%)", typeof(string));
|
|
|
|
|
dtTime.Columns.Add("Plan Finished(%)", typeof(string));
|
|
|
|
|
|
|
|
|
|
for (var i = sTime; i <= eTime; i = i.AddMonths(1)) {
|
|
|
|
|
var AfinishedCount = 0;//实际完成数量
|
|
|
|
|
var PfinishedCount = 0;//计划完成数量
|
|
|
|
|
DataRow rowTime = dtTime.NewRow();
|
|
|
|
|
rowTime["日期"] = string.Format("{0:yyyy-MM}", i);
|
|
|
|
|
switch (drpType.SelectedValue)
|
|
|
|
|
{
|
|
|
|
|
#region 全部
|
|
|
|
|
case "":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId
|
|
|
|
|
&& x.FDate >= sTime
|
|
|
|
|
&& x.FDate < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.Status.ToLower()== "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
var testpackageList = (from x in systemListbyDate select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList) {
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
var Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount==0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate = Funs.DB.View_TransferDetail.Where(x => x.Projectid == ProjectId
|
|
|
|
|
&& x.ADate >= sTime
|
|
|
|
|
&& x.ADate < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
var Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
if (AfinishedCount==0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Piping
|
|
|
|
|
case "Piping":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate1 = Funs.DB.Transfer_Piping.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.TestPackageFINISH >= sTime
|
|
|
|
|
&& x.TestPackageFINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate1 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate1 = Funs.DB.Transfer_Piping.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate1 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
2024-02-02 10:48:40 +08:00
|
|
|
|
|
2024-02-02 16:23:51 +08:00
|
|
|
|
#region Static Equipment
|
|
|
|
|
case "Static Equipment":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate2 = Funs.DB.Transfer_StaticEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.TestPackageFINISH >= sTime
|
|
|
|
|
&& x.TestPackageFINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate2 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
2024-02-02 10:48:40 +08:00
|
|
|
|
|
|
|
|
|
|
2024-02-02 16:23:51 +08:00
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate2 = Funs.DB.Transfer_StaticEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate2 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
2024-02-02 10:48:40 +08:00
|
|
|
|
|
2024-02-02 16:23:51 +08:00
|
|
|
|
#region Rotating Equipment
|
|
|
|
|
case "Rotating Equipment":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
2024-02-02 10:48:40 +08:00
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
2024-02-02 16:23:51 +08:00
|
|
|
|
var systemListbyDate3 = Funs.DB.Transfer_RotatingEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.TestPackageFINISH >= sTime
|
|
|
|
|
&& x.TestPackageFINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
2024-02-02 10:48:40 +08:00
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
2024-02-02 16:23:51 +08:00
|
|
|
|
testpackageList = (from x in systemListbyDate3 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate3 = Funs.DB.Transfer_RotatingEquipment.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.MechanicalFINALStatus.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate3 select x.TestPackage).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Instrumentation
|
|
|
|
|
case "Transfer_Instrumentation":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate4 = Funs.DB.Transfer_Instrumentation.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate4 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate4 = Funs.DB.Transfer_Instrumentation.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate4 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Electrical
|
|
|
|
|
case "Electrical":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate5 = Funs.DB.Transfer_Electrical.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate5 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate5 = Funs.DB.Transfer_Electrical.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate5 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Civil Structure
|
|
|
|
|
case "Civil Structure":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate6 = Funs.DB.Transfer_Civil_Structure.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate6 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate6 = Funs.DB.Transfer_Civil_Structure.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate6 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Firefighting
|
|
|
|
|
case "Firefighting":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate8 = Funs.DB.Transfer_Firefighting.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate8 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate8 = Funs.DB.Transfer_Firefighting.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate8 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Telecom
|
|
|
|
|
case "Telecom":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate9 = Funs.DB.Transfer_Telecom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate9 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate9 = Funs.DB.Transfer_Telecom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate9 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Plumbing
|
|
|
|
|
case "Plumbing":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate10 = Funs.DB.Transfer_Plumbing.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate10 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate10 = Funs.DB.Transfer_Plumbing.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate10 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
2024-02-02 10:48:40 +08:00
|
|
|
|
}
|
2024-02-02 16:23:51 +08:00
|
|
|
|
continue;
|
2024-02-02 10:48:40 +08:00
|
|
|
|
#endregion
|
|
|
|
|
|
2024-02-02 16:23:51 +08:00
|
|
|
|
#region HVAC
|
|
|
|
|
case "HVAC":
|
|
|
|
|
//递增形式,开始日期就是选中的开始日期
|
|
|
|
|
//根据当前计划完成日期 查询完成的数量
|
|
|
|
|
var systemListbyDate11 = Funs.DB.Transfer_HVAC.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package_FINISH >= sTime
|
|
|
|
|
&& x.Test_Package_FINISH < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate11 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
PfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
Pcount = ((Convert.ToDouble(PfinishedCount) / Convert.ToDouble(PfinishedCountSum)));
|
|
|
|
|
if (PfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Pcount = 0;
|
|
|
|
|
}
|
|
|
|
|
rowTime["Plan Finished(%)"] = Pcount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//实际的完成数量
|
|
|
|
|
systemListbyDate11 = Funs.DB.Transfer_HVAC.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.CompleteTime >= sTime
|
|
|
|
|
&& x.CompleteTime < Convert.ToDateTime(rowTime["日期"]).AddMonths(1)
|
|
|
|
|
&& x.FINAL_Status.ToLower() == "finished").ToList();
|
|
|
|
|
//查询TestPackage的总数量,状态是完成的。
|
|
|
|
|
testpackageList = (from x in systemListbyDate11 select x.Test_Package).Distinct();
|
|
|
|
|
foreach (var item in testpackageList)
|
|
|
|
|
{
|
|
|
|
|
//查询第12个表的数量
|
|
|
|
|
var punchlistFromList = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == ProjectId
|
|
|
|
|
&& x.Test_Package == item
|
|
|
|
|
).ToList();
|
|
|
|
|
//如果查到
|
|
|
|
|
if (punchlistFromList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
//12表当前日期完成的数量
|
|
|
|
|
var punchlistFromFinshCount = punchlistFromList.Where(x => x.PUNCH_ITEM_STATUS.ToLower() == "finished").ToList().Count();
|
|
|
|
|
//如果完成的数量等于总得数量,则是完成
|
|
|
|
|
if (punchlistFromFinshCount == punchlistFromList.Count)
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AfinishedCount += 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//完成的数量:xx完成/总的完成 *100
|
|
|
|
|
if (AfinishedCount == 0)
|
|
|
|
|
{
|
|
|
|
|
Acount = 0;
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Acount = ((Convert.ToDouble(AfinishedCount) / Convert.ToDouble(AfinishedCountSum)));
|
|
|
|
|
rowTime["Actual Finished(%)"] = Acount;
|
|
|
|
|
dtTime.Rows.Add(rowTime);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
#endregion
|
|
|
|
|
|
2024-02-02 10:48:40 +08:00
|
|
|
|
}
|
|
|
|
|
|
2024-02-02 16:23:51 +08:00
|
|
|
|
|
2024-02-02 10:48:40 +08:00
|
|
|
|
}
|
2024-02-04 10:35:09 +08:00
|
|
|
|
this.ChartUc.CreateChartBaifenbi(BLL.ChartControlService.GetDataSourceChartByYijiao(dtTime, "PROGRESS REPORT", "Line", 1300, 600, false));
|
2024-02-02 10:48:40 +08:00
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|