| 
									
										
										
										
											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 | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |