| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  | using BLL; | 
					
						
							|  |  |  |  | using Newtonsoft.Json.Linq; | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Data; | 
					
						
							|  |  |  |  | using System.Data.SqlClient; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Web.UI.WebControls; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-25 17:32:36 +08:00
										 |  |  |  | namespace FineUIPro.Web.JDGL.WBS | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  | { | 
					
						
							|  |  |  |  |     public partial class WorkloadInput : PageBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         #region 页面加载 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 页面加载 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Page_Load(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!IsPostBack) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 GetButtonPower(); | 
					
						
							|  |  |  |  |                 InitTreeMenu(); | 
					
						
							|  |  |  |  |                 this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now); | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                 //Funs.FineUIPleaseSelect(this.drpWeek); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 树加载 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         private void InitTreeMenu() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             this.trWBS.Nodes.Clear(); | 
					
						
							|  |  |  |  |             this.trWBS.ShowBorder = false; | 
					
						
							|  |  |  |  |             this.trWBS.ShowHeader = false; | 
					
						
							|  |  |  |  |             this.trWBS.EnableIcons = true; | 
					
						
							|  |  |  |  |             this.trWBS.AutoScroll = true; | 
					
						
							|  |  |  |  |             this.trWBS.EnableSingleClickExpand = true; | 
					
						
							| 
									
										
										
										
											2021-10-22 10:10:15 +08:00
										 |  |  |  |             //var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); | 
					
						
							|  |  |  |  |             //if (project != null) | 
					
						
							|  |  |  |  |             //{ | 
					
						
							|  |  |  |  |             //    TreeNode rootNode = new TreeNode(); | 
					
						
							|  |  |  |  |             //    rootNode.Text = project.ProjectName; | 
					
						
							|  |  |  |  |             //    rootNode.NodeID = project.ProjectId; | 
					
						
							|  |  |  |  |             //    rootNode.CommandName = "project"; | 
					
						
							|  |  |  |  |             //    rootNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |             //    this.trWBS.Nodes.Add(rootNode); | 
					
						
							|  |  |  |  |             //    if (BLL.Project_InstallationService.IsExitProjectInstallation(project.ProjectId)) | 
					
						
							|  |  |  |  |             //    { | 
					
						
							|  |  |  |  |             //        TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |             //        emptyNode.Text = ""; | 
					
						
							|  |  |  |  |             //        emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |             //        rootNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |             //    } | 
					
						
							|  |  |  |  |             //} | 
					
						
							|  |  |  |  |             Model.Project_Installation installation = BLL.Project_InstallationService.GetProjectInstallationByProjectId(this.CurrUser.LoginProjectId); | 
					
						
							|  |  |  |  |             if (installation != null) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2021-10-22 10:10:15 +08:00
										 |  |  |  |                 TreeNode newNode = new TreeNode(); | 
					
						
							|  |  |  |  |                 newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; | 
					
						
							|  |  |  |  |                 newNode.NodeID = installation.InstallationId; | 
					
						
							|  |  |  |  |                 newNode.CommandName = "installation"; | 
					
						
							|  |  |  |  |                 newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                 newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                 newNode.EnableCheckBox = false; | 
					
						
							|  |  |  |  |                 this.trWBS.Nodes.Add(newNode); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                 emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                 emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                 newNode.Nodes.Add(emptyNode); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 树节点展开 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 树节点展开 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             e.Node.Nodes.Clear(); | 
					
						
							|  |  |  |  |             bool needAddTempNode = false;   //是否需要增加空节点 | 
					
						
							|  |  |  |  |             if (e.Node.CommandName == "project")  //展开项目节点 | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var installations = from x in Funs.DB.Project_Installation | 
					
						
							|  |  |  |  |                                     where x.ProjectId == e.Node.NodeID && x.SuperInstallationId == "0" | 
					
						
							|  |  |  |  |                                     orderby x.InstallationCode | 
					
						
							|  |  |  |  |                                     select x; | 
					
						
							|  |  |  |  |                 foreach (var installation in installations) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     TreeNode newNode = new TreeNode(); | 
					
						
							| 
									
										
										
										
											2021-10-22 10:10:15 +08:00
										 |  |  |  |                     newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     newNode.NodeID = installation.InstallationId; | 
					
						
							|  |  |  |  |                     newNode.CommandName = "installation"; | 
					
						
							|  |  |  |  |                     newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                     newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                     e.Node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                     emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                     emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                     newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (e.Node.CommandName == "installation")  //展开装置/单元节点 | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var installations = from x in Funs.DB.Project_Installation | 
					
						
							|  |  |  |  |                                     where x.SuperInstallationId == e.Node.NodeID | 
					
						
							|  |  |  |  |                                     orderby x.InstallationCode | 
					
						
							|  |  |  |  |                                     select x; | 
					
						
							|  |  |  |  |                 if (installations.Count() > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     foreach (var installation in installations) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         TreeNode newNode = new TreeNode(); | 
					
						
							| 
									
										
										
										
											2021-10-22 10:10:15 +08:00
										 |  |  |  |                         newNode.Text = "[" + installation.InstallationCode + "]" + installation.InstallationName; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         newNode.NodeID = installation.InstallationId; | 
					
						
							|  |  |  |  |                         newNode.CommandName = "installation"; | 
					
						
							|  |  |  |  |                         newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                         newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                         e.Node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                         TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                         emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                         emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                         newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     var cnProfessions = from x in Funs.DB.WBS_CnProfession where x.InstallationId == e.Node.NodeID && x.IsApprove == true orderby x.OldId select x; | 
					
						
							|  |  |  |  |                     if (cnProfessions.Count() > 0)   //普通装置主项 | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         foreach (var cnProfession in cnProfessions) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             TreeNode newNode = new TreeNode(); | 
					
						
							|  |  |  |  |                             newNode.Text = cnProfession.CnProfessionName; | 
					
						
							|  |  |  |  |                             newNode.NodeID = cnProfession.CnProfessionId; | 
					
						
							|  |  |  |  |                             newNode.CommandName = "cnProfession"; | 
					
						
							|  |  |  |  |                             newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                             newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                             e.Node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  |                             TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                             emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                             emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                             newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else       //总图 | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         var unitProjects = from x in Funs.DB.Wbs_UnitProject where x.InstallationId == e.Node.NodeID && x.SuperUnitProjectId == null && x.IsApprove == true orderby x.SortIndex, x.UnitProjectCode select x; | 
					
						
							|  |  |  |  |                         foreach (var unitProject in unitProjects) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             TreeNode newNode = new TreeNode(); | 
					
						
							|  |  |  |  |                             newNode.Text = unitProject.UnitProjectName; | 
					
						
							|  |  |  |  |                             newNode.NodeID = unitProject.UnitProjectId; | 
					
						
							|  |  |  |  |                             newNode.CommandName = "unitProject"; | 
					
						
							|  |  |  |  |                             newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                             if (unitProject.IsApprove == true) | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 newNode.Checked = true; | 
					
						
							|  |  |  |  |                             } | 
					
						
							|  |  |  |  |                             else | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 newNode.Checked = false; | 
					
						
							|  |  |  |  |                             } | 
					
						
							|  |  |  |  |                             newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                             e.Node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  |                             TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                             emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                             emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                             newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (e.Node.CommandName == "cnProfession")   //展开专业节点 | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var unitProjects = from x in Funs.DB.Wbs_UnitProject where x.CnProfessionId == e.Node.NodeID && x.SuperUnitProjectId == null && x.IsApprove == true orderby x.SortIndex, x.UnitProjectCode select x; | 
					
						
							|  |  |  |  |                 foreach (var unitProject in unitProjects) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     TreeNode newNode = new TreeNode(); | 
					
						
							|  |  |  |  |                     newNode.Text = unitProject.UnitProjectName; | 
					
						
							|  |  |  |  |                     newNode.NodeID = unitProject.UnitProjectId; | 
					
						
							|  |  |  |  |                     newNode.CommandName = "unitProject"; | 
					
						
							|  |  |  |  |                     newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                     newNode.EnableCheckBox = true; | 
					
						
							|  |  |  |  |                     newNode.EnableCheckEvent = true; | 
					
						
							|  |  |  |  |                     if (unitProject.IsSelected == true && unitProject.IsApprove == null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         unitProject.IsApprove = true; | 
					
						
							|  |  |  |  |                         BLL.UnitProjectService.UpdateUnitProject(unitProject); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     if (unitProject.IsApprove == true) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         newNode.Checked = true; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         newNode.Checked = false; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                     e.Node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  |                     TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                     emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                     emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                     newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (e.Node.CommandName == "unitProject")   //展开单位工程节点 | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var wbsSet1s = from x in Funs.DB.Wbs_WbsSet where x.UnitProjectId == e.Node.NodeID && x.SuperWbsSetId == null && x.IsApprove == true orderby x.WbsSetCode select x; | 
					
						
							|  |  |  |  |                 if (wbsSet1s.Count() > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     foreach (var wbsSet1 in wbsSet1s) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         TreeNode newNode = new TreeNode(); | 
					
						
							|  |  |  |  |                         newNode.Text = wbsSet1.WbsSetName; | 
					
						
							|  |  |  |  |                         newNode.NodeID = wbsSet1.WbsSetId; | 
					
						
							|  |  |  |  |                         newNode.CommandName = "wbsSet"; | 
					
						
							|  |  |  |  |                         newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                         newNode.EnableCheckBox = true; | 
					
						
							|  |  |  |  |                         newNode.EnableCheckEvent = true; | 
					
						
							|  |  |  |  |                         newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                         e.Node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  |                         var wbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(wbsSet1.WbsSetId); | 
					
						
							|  |  |  |  |                         if (wbsSets.Count > 0) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                             emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                             emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                             newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         //needAddTempNode = false; | 
					
						
							|  |  |  |  |                         //var wbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(wbsSet1.WbsSetId); | 
					
						
							|  |  |  |  |                         //foreach (var wbsSet in wbsSets) | 
					
						
							|  |  |  |  |                         //{ | 
					
						
							|  |  |  |  |                         //    var childWbsSets = from x in Funs.DB.Wbs_WbsSet where x.SuperWbsSetId == wbsSet.WbsSetId select x; | 
					
						
							|  |  |  |  |                         //    if (childWbsSets.Count() > 0) | 
					
						
							|  |  |  |  |                         //    { | 
					
						
							|  |  |  |  |                         //        needAddTempNode = true; | 
					
						
							|  |  |  |  |                         //        break; | 
					
						
							|  |  |  |  |                         //    } | 
					
						
							|  |  |  |  |                         //} | 
					
						
							|  |  |  |  |                         //if (needAddTempNode) | 
					
						
							|  |  |  |  |                         //{ | 
					
						
							|  |  |  |  |                         //    TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                         //    emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                         //    emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                         //    newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                         //} | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (e.Node.CommandName == "wbsSet")   //展开分部/子分部/分项/子分项工程节点 | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var childWbsSets = BLL.WbsSetService.GetApproveWbsSetsBySuperWbsSetId(e.Node.NodeID); | 
					
						
							|  |  |  |  |                 foreach (var wbsSet in childWbsSets) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     TreeNode newNode = new TreeNode(); | 
					
						
							|  |  |  |  |                     newNode.Text = wbsSet.WbsSetName; | 
					
						
							|  |  |  |  |                     newNode.NodeID = wbsSet.WbsSetId; | 
					
						
							|  |  |  |  |                     newNode.CommandName = "wbsSet"; | 
					
						
							|  |  |  |  |                     newNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                     newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                     e.Node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  |                     var wbsSets = BLL.WbsSetService.GetApproveWbsSetsBySuperWbsSetId(wbsSet.WbsSetId); | 
					
						
							|  |  |  |  |                     if (wbsSets.Count > 0) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                         emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                         emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                         newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     //needAddTempNode = false; | 
					
						
							|  |  |  |  |                     //var wbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(wbsSet.WbsSetId); | 
					
						
							|  |  |  |  |                     //foreach (var wbsSetc in wbsSets) | 
					
						
							|  |  |  |  |                     //{ | 
					
						
							|  |  |  |  |                     //    var childWbsSets1 = from x in Funs.DB.Wbs_WbsSet where x.SuperWbsSetId == wbsSetc.WbsSetId select x; | 
					
						
							|  |  |  |  |                     //    if (childWbsSets1.Count() > 0) | 
					
						
							|  |  |  |  |                     //    { | 
					
						
							|  |  |  |  |                     //        needAddTempNode = true; | 
					
						
							|  |  |  |  |                     //        break; | 
					
						
							|  |  |  |  |                     //    } | 
					
						
							|  |  |  |  |                     //} | 
					
						
							|  |  |  |  |                     //if (needAddTempNode) | 
					
						
							|  |  |  |  |                     //{ | 
					
						
							|  |  |  |  |                     //    TreeNode emptyNode = new TreeNode(); | 
					
						
							|  |  |  |  |                     //    emptyNode.Text = ""; | 
					
						
							|  |  |  |  |                     //    emptyNode.NodeID = ""; | 
					
						
							|  |  |  |  |                     //    newNode.Nodes.Add(emptyNode); | 
					
						
							|  |  |  |  |                     //} | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region   Tree点击事件 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// Tree点击事件 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |             InitWeek(); | 
					
						
							|  |  |  |  |             this.Grid1.Columns[4].HeaderText = "本月计划完成量"; | 
					
						
							|  |  |  |  |             this.Grid1.Columns[7].HeaderText = "本月完成量"; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |             BindGrid(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |         #region  修改关闭窗口 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 关闭窗口 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Window1_Close(object sender, WindowCloseEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             ShowNotify("录入成功!", MessageBoxIcon.Success); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 右键录入事件 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnMenuEdit_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (this.trWBS.SelectedNode != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2023-07-25 17:32:36 +08:00
										 |  |  |  |                 this.hdSelectId.Text = this.trWBS.SelectedNode.NodeID; | 
					
						
							|  |  |  |  |                 PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WorkloadInputEditAll.aspx?Id={0}", this.trWBS.SelectedNode.NodeID, "编辑 - "))); | 
					
						
							| 
									
										
										
										
											2021-12-29 15:03:49 +08:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 ShowNotify("请选择树节点!", MessageBoxIcon.Warning); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 右键导入事件 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnMenuImport_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (this.trWBS.SelectedNode != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (this.trWBS.SelectedNode.CommandName != "project" && this.trWBS.SelectedNode.CommandName != "installation" && this.trWBS.SelectedNode.CommandName != "cnProfession")   //非项目、装置、专业节点可以修改 | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2021-12-29 15:03:49 +08:00
										 |  |  |  |                     this.hdSelectId.Text = this.trWBS.SelectedNode.NodeID; | 
					
						
							|  |  |  |  |                     PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WorkloadInputIn.aspx?Id={0}", this.trWBS.SelectedNode.NodeID, "编辑 - "))); | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 ShowNotify("请选择树节点!", MessageBoxIcon.Warning); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         #region 保存事件 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 保存 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnSave_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (string.IsNullOrEmpty(this.txtMonths.Text.Trim())) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Alert.ShowInTop("请选择月份!", MessageBoxIcon.Warning); | 
					
						
							|  |  |  |  |                 return; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             DateTime months = Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"); | 
					
						
							|  |  |  |  |             if (Grid1.Rows.Count > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 decimal changeThisPlanValue = 0, changeThisRealCost = 0, changeThisPlanCost = 0,  //当月总变化完成成本、完成预算 | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                         oldThisPlanValue = 0, oldThisRealCost = 0, oldThisPlanCost = 0, | 
					
						
							|  |  |  |  |                         thisPlanValue = 0, thisRealCost = 0, thisPlanCost = 0; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 JArray mergedData = Grid1.GetMergedData(); | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                 //if (this.drpWeek.SelectedValue == BLL.Const._Null)  //保存月记录 | 
					
						
							|  |  |  |  |                 //{ | 
					
						
							|  |  |  |  |                 foreach (JObject mergedRow in mergedData) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                     oldThisPlanValue = 0; | 
					
						
							|  |  |  |  |                     oldThisRealCost = 0; | 
					
						
							|  |  |  |  |                     oldThisPlanCost = 0; | 
					
						
							|  |  |  |  |                     JObject values = mergedRow.Value<JObject>("values"); | 
					
						
							|  |  |  |  |                     string costControlDetailId = values.Value<string>("CostControlDetailId"); | 
					
						
							|  |  |  |  |                     string costControlId = values.Value<string>("CostControlId"); | 
					
						
							|  |  |  |  |                     string thisNum = values.Value<string>("ThisNum"); | 
					
						
							|  |  |  |  |                     string planPrice = values.Value<string>("PlanPrice"); | 
					
						
							|  |  |  |  |                     Model.WBS_CostControlDetail costControlDetail = BLL.CostControlDetailService.GetCostControlDetailByCostControlDetailId(costControlDetailId); | 
					
						
							|  |  |  |  |                     Model.WBS_CostControl costControl = BLL.CostControlService.GetCostControlByCostControlId(costControlId); | 
					
						
							|  |  |  |  |                     if (costControlDetail != null) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         oldThisRealCost = (costControlDetail.ThisNum ?? 0) * (costControl.RealPrice ?? 0); | 
					
						
							|  |  |  |  |                         oldThisPlanCost = (costControlDetail.ThisNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                         if (!string.IsNullOrEmpty(thisNum)) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                             costControlDetail.ThisNum = Convert.ToDecimal(thisNum); | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                         } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         thisPlanValue = (costControlDetail.PlanNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                         thisRealCost = (costControlDetail.ThisNum ?? 0) * (costControl.RealPrice ?? 0); | 
					
						
							|  |  |  |  |                         thisPlanCost = (costControlDetail.ThisNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                         BLL.CostControlDetailService.UpdateCostControlDetail(costControlDetail); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                     else | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         costControlDetail = new Model.WBS_CostControlDetail(); | 
					
						
							|  |  |  |  |                         costControlDetail.CostControlDetailId = costControlDetailId; | 
					
						
							|  |  |  |  |                         costControlDetail.CostControlId = costControlId; | 
					
						
							|  |  |  |  |                         costControlDetail.Months = months; | 
					
						
							|  |  |  |  |                         if (!string.IsNullOrEmpty(thisNum)) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                             costControlDetail.ThisNum = Convert.ToDecimal(thisNum); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         thisPlanValue = 0; | 
					
						
							|  |  |  |  |                         thisRealCost = (costControlDetail.ThisNum ?? 0) * (costControl.RealPrice ?? 0); | 
					
						
							|  |  |  |  |                         thisPlanCost = (costControlDetail.ThisNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                         BLL.CostControlDetailService.AddCostControlDetail(costControlDetail); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                     //累加变化值,计算总的变化值 | 
					
						
							|  |  |  |  |                     changeThisRealCost += thisRealCost - oldThisRealCost; | 
					
						
							|  |  |  |  |                     changeThisPlanCost += thisPlanCost - oldThisPlanCost; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                 //累计所有子节点的计划值 | 
					
						
							|  |  |  |  |                 var costControls = BLL.CostControlService.GetCostControlsByWbsSetId(this.trWBS.SelectedNodeID); | 
					
						
							|  |  |  |  |                 foreach (var item in costControls) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                     Model.WBS_CostControlDetail costControlDetail = BLL.CostControlDetailService.GetCostControlDetailByCostControlIdAndMonths(item.CostControlId, months); | 
					
						
							|  |  |  |  |                     if (costControlDetail != null) | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         changeThisPlanValue += (costControlDetail.PlanNum ?? 0) * (item.PlanPrice ?? 0); | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                     } | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                 Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(this.trWBS.SelectedNodeID, months); | 
					
						
							|  |  |  |  |                 if (parentDetail != null)  //如果工作项节点存在,则计算计划值差异值 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     changeThisPlanValue = changeThisPlanValue - (parentDetail.ThisPlanValue ?? 0); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 //更新树节点 | 
					
						
							|  |  |  |  |                 Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(this.trWBS.SelectedNodeID); | 
					
						
							|  |  |  |  |                 //更新工作包、工作项 | 
					
						
							|  |  |  |  |                 UpdateWbsSetDetail(this.trWBS.SelectedNodeID, months, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 //更新分部 | 
					
						
							|  |  |  |  |                 Model.WBS_CostControlParentDetail unitProjectDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(wbsSet.UnitProjectId, months); | 
					
						
							|  |  |  |  |                 if (unitProjectDetail != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     unitProjectDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                     unitProjectDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                     unitProjectDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.UpdateCostControlParentDetail(unitProjectDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     unitProjectDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                     unitProjectDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                     unitProjectDetail.ParentId = wbsSet.UnitProjectId; | 
					
						
							|  |  |  |  |                     unitProjectDetail.Months = months; | 
					
						
							|  |  |  |  |                     unitProjectDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                     unitProjectDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                     unitProjectDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.AddCostControlParentDetail(unitProjectDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 //更新专业 | 
					
						
							|  |  |  |  |                 Model.WBS_CostControlParentDetail cnProfessionDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(wbsSet.CnProfessionId, months); | 
					
						
							|  |  |  |  |                 if (cnProfessionDetail != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     cnProfessionDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                     cnProfessionDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                     cnProfessionDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.UpdateCostControlParentDetail(cnProfessionDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     cnProfessionDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                     cnProfessionDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                     cnProfessionDetail.ParentId = wbsSet.CnProfessionId; | 
					
						
							|  |  |  |  |                     cnProfessionDetail.Months = months; | 
					
						
							|  |  |  |  |                     cnProfessionDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                     cnProfessionDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                     cnProfessionDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.AddCostControlParentDetail(cnProfessionDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 //更新装置 | 
					
						
							|  |  |  |  |                 UpdateInstallationDetail(wbsSet.InstallationId, months, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 //} | 
					
						
							|  |  |  |  |                 //else   //保存周记录 | 
					
						
							|  |  |  |  |                 //{ | 
					
						
							|  |  |  |  |                 //    string[] strs = this.drpWeek.SelectedValue.Split(','); | 
					
						
							|  |  |  |  |                 //    DateTime startDate = Convert.ToDateTime(strs[0]); | 
					
						
							|  |  |  |  |                 //    DateTime endDate = Convert.ToDateTime(strs[1]); | 
					
						
							|  |  |  |  |                 //    foreach (JObject mergedRow in mergedData) | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        oldThisPlanValue = 0; | 
					
						
							|  |  |  |  |                 //        oldThisRealCost = 0; | 
					
						
							|  |  |  |  |                 //        oldThisPlanCost = 0; | 
					
						
							|  |  |  |  |                 //        JObject values = mergedRow.Value<JObject>("values"); | 
					
						
							|  |  |  |  |                 //        string costControlDetailId = values.Value<string>("CostControlDetailId"); | 
					
						
							|  |  |  |  |                 //        string costControlId = values.Value<string>("CostControlId"); | 
					
						
							|  |  |  |  |                 //        string thisNum = values.Value<string>("ThisNum"); | 
					
						
							|  |  |  |  |                 //        string planPrice = values.Value<string>("PlanPrice"); | 
					
						
							|  |  |  |  |                 //        Model.WBS_CostControlDetail costControlDetail = BLL.CostControlDetailService.GetCostControlDetailByCostControlDetailId(costControlDetailId); | 
					
						
							|  |  |  |  |                 //        Model.WBS_CostControl costControl = BLL.CostControlService.GetCostControlByCostControlId(costControlId); | 
					
						
							|  |  |  |  |                 //        if (costControlDetail != null) | 
					
						
							|  |  |  |  |                 //        { | 
					
						
							|  |  |  |  |                 //            oldThisRealCost = (costControlDetail.ThisNum ?? 0) * (costControl.RealPrice ?? 0); | 
					
						
							|  |  |  |  |                 //            oldThisPlanCost = (costControlDetail.ThisNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                 //            if (!string.IsNullOrEmpty(thisNum)) | 
					
						
							|  |  |  |  |                 //            { | 
					
						
							|  |  |  |  |                 //                costControlDetail.ThisNum = Convert.ToDecimal(thisNum); | 
					
						
							|  |  |  |  |                 //            } | 
					
						
							|  |  |  |  |                 //            thisPlanValue = (costControlDetail.PlanNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                 //            thisRealCost = (costControlDetail.ThisNum ?? 0) * (costControl.RealPrice ?? 0); | 
					
						
							|  |  |  |  |                 //            thisPlanCost = (costControlDetail.ThisNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                 //            BLL.CostControlDetailService.UpdateCostControlDetail(costControlDetail); | 
					
						
							|  |  |  |  |                 //        } | 
					
						
							|  |  |  |  |                 //        else | 
					
						
							|  |  |  |  |                 //        { | 
					
						
							|  |  |  |  |                 //            costControlDetail = new Model.WBS_CostControlDetail(); | 
					
						
							|  |  |  |  |                 //            costControlDetail.CostControlDetailId = costControlDetailId; | 
					
						
							|  |  |  |  |                 //            costControlDetail.CostControlId = costControlId; | 
					
						
							|  |  |  |  |                 //            costControlDetail.Months = months; | 
					
						
							|  |  |  |  |                 //            costControlDetail.StartDate = startDate; | 
					
						
							|  |  |  |  |                 //            costControlDetail.EndDate = endDate; | 
					
						
							|  |  |  |  |                 //            if (!string.IsNullOrEmpty(thisNum)) | 
					
						
							|  |  |  |  |                 //            { | 
					
						
							|  |  |  |  |                 //                costControlDetail.ThisNum = Convert.ToDecimal(thisNum); | 
					
						
							|  |  |  |  |                 //            } | 
					
						
							|  |  |  |  |                 //            thisPlanValue = 0; | 
					
						
							|  |  |  |  |                 //            thisRealCost = (costControlDetail.ThisNum ?? 0) * (costControl.RealPrice ?? 0); | 
					
						
							|  |  |  |  |                 //            thisPlanCost = (costControlDetail.ThisNum ?? 0) * (costControl.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                 //            BLL.CostControlDetailService.AddCostControlDetail(costControlDetail); | 
					
						
							|  |  |  |  |                 //        } | 
					
						
							|  |  |  |  |                 //        //累加变化值,计算总的变化值 | 
					
						
							|  |  |  |  |                 //        changeThisRealCost += thisRealCost - oldThisRealCost; | 
					
						
							|  |  |  |  |                 //        changeThisPlanCost += thisPlanCost - oldThisPlanCost; | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //    //累计所有子节点的计划值 | 
					
						
							|  |  |  |  |                 //    var costControls = BLL.CostControlService.GetCostControlsByWbsSetId(this.trWBS.SelectedNodeID); | 
					
						
							|  |  |  |  |                 //    foreach (var item in costControls) | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        Model.WBS_CostControlDetail costControlDetail = BLL.CostControlDetailService.GetCostControlDetailByCostControlIdAndMonthsWeek(item.CostControlId, months, startDate); | 
					
						
							|  |  |  |  |                 //        if (costControlDetail != null) | 
					
						
							|  |  |  |  |                 //        { | 
					
						
							|  |  |  |  |                 //            changeThisPlanValue += (costControlDetail.PlanNum ?? 0) * (item.PlanPrice ?? 0); | 
					
						
							|  |  |  |  |                 //        } | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //    Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonthsWeek(this.trWBS.SelectedNodeID, months, startDate); | 
					
						
							|  |  |  |  |                 //    if (parentDetail != null)  //如果工作项节点存在,则计算计划值差异值 | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        changeThisPlanValue = changeThisPlanValue - (parentDetail.ThisPlanValue ?? 0); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //    //更新树节点 | 
					
						
							|  |  |  |  |                 //    Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(this.trWBS.SelectedNodeID); | 
					
						
							|  |  |  |  |                 //    //更新工作包、工作项 | 
					
						
							|  |  |  |  |                 //    UpdateWeekWbsSetDetail(this.trWBS.SelectedNodeID, months, startDate, endDate, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 //    //更新分部 | 
					
						
							|  |  |  |  |                 //    Model.WBS_CostControlParentDetail unitProjectDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonthsWeek(wbsSet.UnitProjectId, months, startDate); | 
					
						
							|  |  |  |  |                 //    if (unitProjectDetail != null) | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                 //        BLL.CostControlParentDetailService.UpdateCostControlParentDetail(unitProjectDetail); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //    else | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        unitProjectDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.ParentId = wbsSet.UnitProjectId; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.Months = months; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.StartDate = startDate; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.EndDate = endDate; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                 //        unitProjectDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                 //        BLL.CostControlParentDetailService.AddCostControlParentDetail(unitProjectDetail); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //    //更新专业 | 
					
						
							|  |  |  |  |                 //    Model.WBS_CostControlParentDetail cnProfessionDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonthsWeek(wbsSet.CnProfessionId, months, startDate); | 
					
						
							|  |  |  |  |                 //    if (cnProfessionDetail != null) | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                 //        BLL.CostControlParentDetailService.UpdateCostControlParentDetail(cnProfessionDetail); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //    else | 
					
						
							|  |  |  |  |                 //    { | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.ParentId = wbsSet.CnProfessionId; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.Months = months; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.StartDate = startDate; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.EndDate = endDate; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                 //        cnProfessionDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                 //        BLL.CostControlParentDetailService.AddCostControlParentDetail(cnProfessionDetail); | 
					
						
							|  |  |  |  |                 //    } | 
					
						
							|  |  |  |  |                 //    //更新装置 | 
					
						
							|  |  |  |  |                 //    UpdateWeekInstallationDetail(wbsSet.InstallationId, months, startDate, endDate, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 //} | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                 //BindGrid(); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 Alert.ShowInTop("保存成功!", MessageBoxIcon.Success); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Alert.ShowInTop("请选择工作项节点!", MessageBoxIcon.Warning); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region  更新工作包、工作项 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |         /// 更新月工作包、工作项 | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="years"></param> | 
					
						
							|  |  |  |  |         /// <param name="months"></param> | 
					
						
							|  |  |  |  |         /// <param name="planValue"></param> | 
					
						
							|  |  |  |  |         /// <param name="parentId"></param> | 
					
						
							|  |  |  |  |         private void UpdateWbsSetDetail(string wbsSetId, DateTime months, decimal changeThisPlanValue, decimal changeThisRealCost, decimal changeThisPlanCost) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(wbsSetId); | 
					
						
							|  |  |  |  |             if (wbsSet != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(wbsSetId, months); | 
					
						
							|  |  |  |  |                 if (parentDetail != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.UpdateCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                     parentDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                     parentDetail.ParentId = wbsSetId; | 
					
						
							|  |  |  |  |                     parentDetail.Months = months; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.AddCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (wbsSet.SuperWbsSetId != null)   //还存在上级节点,需要继续循环 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     UpdateWbsSetDetail(wbsSet.SuperWbsSetId, months, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 更新周工作包、工作项 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="years"></param> | 
					
						
							|  |  |  |  |         /// <param name="months"></param> | 
					
						
							|  |  |  |  |         /// <param name="planValue"></param> | 
					
						
							|  |  |  |  |         /// <param name="parentId"></param> | 
					
						
							|  |  |  |  |         private void UpdateWeekWbsSetDetail(string wbsSetId, DateTime months, DateTime startDate, DateTime endDate, decimal changeThisPlanValue, decimal changeThisRealCost, decimal changeThisPlanCost) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(wbsSetId); | 
					
						
							|  |  |  |  |             if (wbsSet != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonthsWeek(wbsSetId, months, startDate); | 
					
						
							|  |  |  |  |                 if (parentDetail != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.UpdateCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                     parentDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                     parentDetail.ParentId = wbsSetId; | 
					
						
							|  |  |  |  |                     parentDetail.Months = months; | 
					
						
							|  |  |  |  |                     parentDetail.StartDate = startDate; | 
					
						
							|  |  |  |  |                     parentDetail.EndDate = endDate; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.AddCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (wbsSet.SuperWbsSetId != null)   //还存在上级节点,需要继续循环 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     UpdateWeekWbsSetDetail(wbsSet.SuperWbsSetId, months, startDate, endDate, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region  更新装置 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |         /// 更新月装置 | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="years"></param> | 
					
						
							|  |  |  |  |         /// <param name="months"></param> | 
					
						
							|  |  |  |  |         /// <param name="planValue"></param> | 
					
						
							|  |  |  |  |         /// <param name="parentId"></param> | 
					
						
							|  |  |  |  |         private void UpdateInstallationDetail(string installationId, DateTime months, decimal changeThisPlanValue, decimal changeThisRealCost, decimal changeThisPlanCost) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.Project_Installation installation = BLL.Project_InstallationService.GetInstallationByInstallationId(installationId); | 
					
						
							|  |  |  |  |             if (installation != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(installationId, months); | 
					
						
							|  |  |  |  |                 if (parentDetail != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.UpdateCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                     parentDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                     parentDetail.ParentId = installationId; | 
					
						
							|  |  |  |  |                     parentDetail.Months = months; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.AddCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (installation.SuperInstallationId != null)   //还存在上级节点,需要继续循环 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     UpdateInstallationDetail(installation.SuperInstallationId, months, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 更新周装置 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="years"></param> | 
					
						
							|  |  |  |  |         /// <param name="months"></param> | 
					
						
							|  |  |  |  |         /// <param name="planValue"></param> | 
					
						
							|  |  |  |  |         /// <param name="parentId"></param> | 
					
						
							|  |  |  |  |         private void UpdateWeekInstallationDetail(string installationId, DateTime months, DateTime startDate, DateTime endDate, decimal changeThisPlanValue, decimal changeThisRealCost, decimal changeThisPlanCost) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.Project_Installation installation = BLL.Project_InstallationService.GetInstallationByInstallationId(installationId); | 
					
						
							|  |  |  |  |             if (installation != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(installationId, months); | 
					
						
							|  |  |  |  |                 if (parentDetail != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue += changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost += changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost += changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.UpdateCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     parentDetail = new Model.WBS_CostControlParentDetail(); | 
					
						
							|  |  |  |  |                     parentDetail.CostControlParentDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                     parentDetail.ParentId = installationId; | 
					
						
							|  |  |  |  |                     parentDetail.Months = months; | 
					
						
							|  |  |  |  |                     parentDetail.StartDate = startDate; | 
					
						
							|  |  |  |  |                     parentDetail.EndDate = endDate; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanValue = changeThisPlanValue; | 
					
						
							|  |  |  |  |                     parentDetail.ThisRealCost = changeThisRealCost; | 
					
						
							|  |  |  |  |                     parentDetail.ThisPlanCost = changeThisPlanCost; | 
					
						
							|  |  |  |  |                     BLL.CostControlParentDetailService.AddCostControlParentDetail(parentDetail); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (installation.SuperInstallationId != null)   //还存在上级节点,需要继续循环 | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     UpdateWeekInstallationDetail(installation.SuperInstallationId, months, startDate, endDate, changeThisPlanValue, changeThisRealCost, changeThisPlanCost); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 绑定数据 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private string upStartDate = string.Empty; | 
					
						
							|  |  |  |  |         private string upEndDate = string.Empty; | 
					
						
							|  |  |  |  |         protected void Grid1_RowDataBound(object sender, GridRowEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string id = e.RowID; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 绑定数据 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Grid1_FilterChange(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             BindGrid(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Grid1.PageIndex = e.NewPageIndex; | 
					
						
							|  |  |  |  |             BindGrid(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// Grid1排序 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Grid1_Sort(object sender, GridSortEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Grid1.SortDirection = e.SortDirection; | 
					
						
							|  |  |  |  |             Grid1.SortField = e.SortField; | 
					
						
							|  |  |  |  |             BindGrid(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 分页下拉选择事件 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); | 
					
						
							|  |  |  |  |             BindGrid(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 加载Grid | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         private void BindGrid() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(this.txtMonths.Text.Trim())) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 DateTime months = Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"); | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                 //var codeList = BLL.WbsSetMatchCostControlService.GetWbsSetMatchCostControls(this.trWBS.SelectedNodeID); | 
					
						
							|  |  |  |  |                 //Model.Wbs_WbsSet wbeSet = BLL.WbsSetService.GetWbsSetByWbsSetId(this.trWBS.SelectedNodeID); | 
					
						
							|  |  |  |  |                 //if (codeList.Count > 0)   //存在费控对应关系项 | 
					
						
							|  |  |  |  |                 //{ | 
					
						
							|  |  |  |  |                 //List<string> codes = new List<string>(); | 
					
						
							|  |  |  |  |                 //foreach (var item in codeList) | 
					
						
							|  |  |  |  |                 //{ | 
					
						
							|  |  |  |  |                 //    codes.Add(item.CostControlCode); | 
					
						
							|  |  |  |  |                 //} | 
					
						
							|  |  |  |  |                 //var list = BLL.CostControlService.GetCostControlsByCostControlCodes(codes, this.trWBS.SelectedNodeID); | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                 var list = BLL.CostControlService.GetSelectedCostControlsByWbsSetId(this.trWBS.SelectedNodeID); | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                 if (list.Count > 0) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                     List<Model.View_WBS_CostControlDetail> details = new List<Model.View_WBS_CostControlDetail>(); | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                     //if (this.drpWeek.SelectedValue == BLL.Const._Null)   //月份记录 | 
					
						
							|  |  |  |  |                     //{ | 
					
						
							|  |  |  |  |                     this.Grid1.Columns[4].HeaderText = "本月计划完成量"; | 
					
						
							|  |  |  |  |                     this.Grid1.Columns[7].HeaderText = "本月完成量"; | 
					
						
							|  |  |  |  |                     foreach (var item in list) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         Model.View_WBS_CostControlDetail detail = BLL.CostControlDetailService.GetViewCostControlDetailByCostControlIdAndMonth(item.CostControlId, months); | 
					
						
							|  |  |  |  |                         if (detail == null) | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                         { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                             detail = new Model.View_WBS_CostControlDetail(); | 
					
						
							|  |  |  |  |                             detail.CostControlDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                             detail.CostControlId = item.CostControlId; | 
					
						
							|  |  |  |  |                             detail.CostControlCode = item.CostControlCode; | 
					
						
							|  |  |  |  |                             detail.CostControlName = item.CostControlName; | 
					
						
							|  |  |  |  |                             detail.TotalNum = item.TotalNum; | 
					
						
							|  |  |  |  |                             detail.Unit = item.Unit; | 
					
						
							|  |  |  |  |                             detail.PlanNum = null; | 
					
						
							|  |  |  |  |                             detail.RealPrice = item.RealPrice; | 
					
						
							|  |  |  |  |                             detail.PlanPrice = item.PlanPrice; | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                         } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         if (detail.ThisNum == 0) | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                             detail.ThisNum = null; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                         details.Add(detail); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     } | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                     //} | 
					
						
							|  |  |  |  |                     //else   //周记录 | 
					
						
							|  |  |  |  |                     //{ | 
					
						
							|  |  |  |  |                     //    this.Grid1.Columns[4].HeaderText = "本周计划完成量"; | 
					
						
							|  |  |  |  |                     //    this.Grid1.Columns[7].HeaderText = "本周完成量"; | 
					
						
							|  |  |  |  |                     //    foreach (var item in list) | 
					
						
							|  |  |  |  |                     //    { | 
					
						
							|  |  |  |  |                     //        if (item.TotalNum != null) | 
					
						
							|  |  |  |  |                     //        { | 
					
						
							|  |  |  |  |                     //            DateTime startDate = Convert.ToDateTime(this.drpWeek.SelectedValue.Split(',')[0]); | 
					
						
							|  |  |  |  |                     //            Model.View_WBS_CostControlDetail detail = BLL.CostControlDetailService.GetViewCostControlDetailByCostControlIdAndMonthWeek(item.CostControlId, months, startDate); | 
					
						
							|  |  |  |  |                     //            if (detail == null) | 
					
						
							|  |  |  |  |                     //            { | 
					
						
							|  |  |  |  |                     //                detail = new Model.View_WBS_CostControlDetail(); | 
					
						
							|  |  |  |  |                     //                detail.CostControlDetailId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                     //                detail.CostControlId = item.CostControlId; | 
					
						
							|  |  |  |  |                     //                detail.CostControlCode = item.CostControlCode; | 
					
						
							|  |  |  |  |                     //                detail.CostControlName = item.CostControlName; | 
					
						
							|  |  |  |  |                     //                detail.TotalNum = item.TotalNum; | 
					
						
							|  |  |  |  |                     //                detail.Unit = item.Unit; | 
					
						
							|  |  |  |  |                     //                detail.PlanNum = null; | 
					
						
							|  |  |  |  |                     //                detail.RealPrice = item.RealPrice; | 
					
						
							|  |  |  |  |                     //                detail.PlanPrice = item.PlanPrice; | 
					
						
							|  |  |  |  |                     //            } | 
					
						
							|  |  |  |  |                     //            else | 
					
						
							|  |  |  |  |                     //            { | 
					
						
							|  |  |  |  |                     //                Model.WBS_CostControlDetail oldDetail = BLL.CostControlDetailService.GetCostControlDetailByCostControlDetailId(detail.CostControlDetailId); | 
					
						
							|  |  |  |  |                     //                if (oldDetail.PlanNum != null) | 
					
						
							|  |  |  |  |                     //                { | 
					
						
							|  |  |  |  |                     //                    detail.PlanNum = Convert.ToDouble(oldDetail.PlanNum); | 
					
						
							|  |  |  |  |                     //                } | 
					
						
							|  |  |  |  |                     //                else | 
					
						
							|  |  |  |  |                     //                { | 
					
						
							|  |  |  |  |                     //                    detail.PlanNum = null; | 
					
						
							|  |  |  |  |                     //                } | 
					
						
							|  |  |  |  |                     //                if (oldDetail.ThisNum != null) | 
					
						
							|  |  |  |  |                     //                { | 
					
						
							|  |  |  |  |                     //                    detail.ThisNum = Convert.ToDouble(oldDetail.ThisNum); | 
					
						
							|  |  |  |  |                     //                } | 
					
						
							|  |  |  |  |                     //                else | 
					
						
							|  |  |  |  |                     //                { | 
					
						
							|  |  |  |  |                     //                    detail.ThisNum = null; | 
					
						
							|  |  |  |  |                     //                } | 
					
						
							|  |  |  |  |                     //            } | 
					
						
							|  |  |  |  |                     //            details.Add(detail); | 
					
						
							|  |  |  |  |                     //        } | 
					
						
							|  |  |  |  |                     //    } | 
					
						
							|  |  |  |  |                     //} | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                     Grid1.DataSource = details; | 
					
						
							|  |  |  |  |                     Grid1.DataBind(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Grid1.DataSource = null; | 
					
						
							|  |  |  |  |                     Grid1.DataBind(); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 获取按钮权限 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取按钮权限 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="button"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         private void GetButtonPower() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (Request.Params["value"] == "0") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WorkloadInputMenuId); | 
					
						
							|  |  |  |  |             if (buttonList.Count() > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (buttonList.Contains(BLL.Const.BtnSave)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                     this.btnMenuEdit.Hidden = false; | 
					
						
							| 
									
										
										
										
											2022-06-06 11:23:24 +08:00
										 |  |  |  |                     this.btnEditAll.Hidden = false; | 
					
						
							| 
									
										
										
										
											2022-05-22 10:13:35 +08:00
										 |  |  |  |                     this.btnImport.Hidden = false; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |         #region 加载周计划下拉框 | 
					
						
							|  |  |  |  |         protected void InitWeek() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!string.IsNullOrEmpty(this.txtMonths.Text.Trim())) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 DateTime months = Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"); | 
					
						
							|  |  |  |  |                 string costControlId = string.Empty; | 
					
						
							|  |  |  |  |                 var list = BLL.CostControlService.GetCostControlsByWbsSetId(this.trWBS.SelectedNodeID); | 
					
						
							|  |  |  |  |                 if (list.Count > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     foreach (var item in list) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         if (item.TotalNum != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             if (BLL.CostControlDetailService.IsExitWeekCostControlDetailByCostControlIdAndMonth(item.CostControlId, months)) | 
					
						
							|  |  |  |  |                             { | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |                                 //BLL.CostControlDetailService.InitWeekPlanList(this.drpWeek, item.CostControlId, months, true); | 
					
						
							|  |  |  |  |                                 //this.drpWeek.SelectedValue = BLL.Const._Null; | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  |                                 break; | 
					
						
							|  |  |  |  |                             } | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         #region  月份选择事件 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 月份选择事件 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void txtMonths_TextChanged(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             BindGrid(); | 
					
						
							| 
									
										
										
										
											2021-12-21 16:10:02 +08:00
										 |  |  |  |             //InitWeek(); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							| 
									
										
										
										
											2021-09-15 14:50:52 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         protected void drpWeek_SelectedIndexChanged(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             BindGrid(); | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-05-22 10:13:35 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-06 11:23:24 +08:00
										 |  |  |  |         #region 全项目录入 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 全项目录入按钮 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnEditAll_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WorkloadInputEditAll.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-22 10:13:35 +08:00
										 |  |  |  |         #region 导入 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 导入按钮 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnImport_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WorkloadInputIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | } |