| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  | using BLL; | 
					
						
							|  |  |  |  | using Model; | 
					
						
							|  |  |  |  | using Newtonsoft.Json.Linq; | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Data; | 
					
						
							|  |  |  |  | using System.Data.SqlClient; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  | using System.Text.RegularExpressions; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  | using System.Web; | 
					
						
							|  |  |  |  | using System.Web.UI; | 
					
						
							|  |  |  |  | using System.Web.UI.WebControls; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace FineUIPro.Web.TestRun.BeforeTestRun | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public partial class SubSysWorkPackage : PageBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |         /// 点击树状主键 | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public string TreePreRunId { get { return (string)ViewState["TreePreRunId"]; } set { ViewState["TreePreRunId"] = value; } } | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							| 
									
										
										
										
											2023-12-20 15:48:05 +08:00
										 |  |  |  |         /// 系统主键 | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |         /// </summary> | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |         public string SystemId { get { return (string)ViewState["SystemId"]; } set { ViewState["SystemId"] = value; } } | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 子系统主键 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |         public string SsubSystemId { get { return (string)ViewState["SsubSystemId"]; } set { ViewState["SsubSystemId"] = value; } } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         protected void Page_Load(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!IsPostBack) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 this.InitTreeMenu();//加载树 | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 加载树 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 加载树 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         private void InitTreeMenu() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             this.tvControlItem.Nodes.Clear(); | 
					
						
							|  |  |  |  |             TreeNode rootNode = new TreeNode(); | 
					
						
							|  |  |  |  |             rootNode.Text = "系统划分"; | 
					
						
							|  |  |  |  |             rootNode.NodeID = "0"; | 
					
						
							|  |  |  |  |             rootNode.Expanded = true; | 
					
						
							|  |  |  |  |             rootNode.ToolTip = ""; | 
					
						
							|  |  |  |  |             rootNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |             this.tvControlItem.Nodes.Add(rootNode); | 
					
						
							|  |  |  |  |             var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId).ToList(); | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |             var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 1).OrderBy(x => x.Sort); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |             foreach (var item in onePreRunLs) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 TreeNode rootUnitNode = new TreeNode();//定义根节点 | 
					
						
							|  |  |  |  |                 rootUnitNode.NodeID = item.PreRunId; | 
					
						
							|  |  |  |  |                 rootUnitNode.Text = item.PreRunName; | 
					
						
							|  |  |  |  |                 rootUnitNode.ToolTip = item.PreRunName; | 
					
						
							|  |  |  |  |                 rootUnitNode.CommandName = ""; | 
					
						
							|  |  |  |  |                 rootUnitNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                 rootUnitNode.EnableExpandEvent = true; | 
					
						
							|  |  |  |  |                 rootNode.Nodes.Add(rootUnitNode); | 
					
						
							|  |  |  |  |                 rootUnitNode.Expanded = true; | 
					
						
							|  |  |  |  |                 var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList(); | 
					
						
							|  |  |  |  |                 this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         ///  绑定树节点 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         private void BindNodes(TreeNode node, List<PreRun_SysDevice> list, string parentId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |             var itemList = list.Where(p => p.ParentId == parentId).OrderBy(x => x.Sort).ToList(); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |             if (itemList.Count > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 foreach (var item in itemList) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     TreeNode newNode = new TreeNode(); | 
					
						
							|  |  |  |  |                     newNode.Text = item.PreRunName; | 
					
						
							|  |  |  |  |                     newNode.NodeID = item.PreRunId; | 
					
						
							|  |  |  |  |                     newNode.ToolTip = item.PreRunName; | 
					
						
							|  |  |  |  |                     newNode.CommandName = ""; | 
					
						
							|  |  |  |  |                     newNode.EnableClickEvent = true; | 
					
						
							|  |  |  |  |                     node.Nodes.Add(newNode); | 
					
						
							|  |  |  |  |                     BindNodes(newNode, list, item.PreRunId); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 数加载 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         protected void tvControlItem_NodeExpand(object sender, TreeNodeEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (e.Node.Nodes != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 e.Node.Nodes.Clear(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId).ToList(); | 
					
						
							|  |  |  |  |             this.BindNodes(e.Node, allPreRunLs, e.NodeID); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 点击TreeView | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             this.TreePreRunId = tvControlItem.SelectedNodeID; | 
					
						
							|  |  |  |  |             this.PageBase(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 数据显示 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public void PageBase() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(p => p.PreRunId == this.TreePreRunId); | 
					
						
							|  |  |  |  |             if (model != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var ids = new List<string>(); | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrWhiteSpace(model.InstallationId)) ids.Add(model.InstallationId); | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrWhiteSpace(model.ProcessesId)) ids.Add(model.ProcessesId); | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrWhiteSpace(model.SystemId)) ids.Add(model.SystemId); | 
					
						
							|  |  |  |  |                 if (!string.IsNullOrWhiteSpace(model.SubsystemId)) ids.Add(model.SubsystemId); | 
					
						
							|  |  |  |  |                 var list = Funs.DB.PreRun_SysDevice.Where(p => ids.Contains(p.PreRunId)).ToList(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 if (list.Count(p => p.PreRunLevel == 1) > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     zz.Hidden = false; | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                     lblzzbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 1).PreRunCode; | 
					
						
							|  |  |  |  |                     lblzzmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 1).PreRunName; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (list.Count(p => p.PreRunLevel == 2) > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     gx.Hidden = false; | 
					
						
							| 
									
										
										
										
											2023-07-28 11:14:32 +08:00
										 |  |  |  |                     lblgxmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunCode; | 
					
						
							|  |  |  |  |                     lblgxbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunName; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (list.Count(p => p.PreRunLevel == 3) > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     sxt.Hidden = false; | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                     lblsxtmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 3).PreRunName; | 
					
						
							|  |  |  |  |                     lblsxtbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 3).PreRunCode; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (list.Count(p => p.PreRunLevel == 4) > 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     sszxt.Hidden = false; | 
					
						
							|  |  |  |  |                     gzb.Hidden = false; | 
					
						
							|  |  |  |  |                     BridWorkPackGrid(); | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                     lblszxtmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 4).PreRunName; | 
					
						
							|  |  |  |  |                     lblszxtbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 4).PreRunCode; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                     this.SsubSystemId = list.FirstOrDefault(p => p.PreRunLevel == 4).PreRunId; | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                     this.SystemId = list.FirstOrDefault(p => p.PreRunLevel == 4).ParentId; | 
					
						
							|  |  |  |  |                     var workPackages = Funs.DB.PreRun_SubSysWorkPackage.Where(p => p.SubSystemId == this.SsubSystemId).OrderBy(x => x.Sort).ToList(); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                     if (workPackages.Count > 0) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         var workIds = workPackages.ConvertAll(p => p.WorkPackId); | 
					
						
							|  |  |  |  |                         BridSelectWorkPack(workIds); | 
					
						
							|  |  |  |  |                         drpWorkPack.Values = workIds.ToArray(); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         Grid1.DataSource = null; | 
					
						
							|  |  |  |  |                         Grid1.DataBind(); | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                         drpWorkPack.Values = null; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 保存 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         protected void btnSave_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             var prerunModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(p => p.PreRunId == this.TreePreRunId); | 
					
						
							|  |  |  |  |             if (prerunModel != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (prerunModel.PreRunLevel == 4) | 
					
						
							|  |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                     var deleteLs = Funs.DB.PreRun_SubSysWorkPackage.Where(p => p.SubSystemId == prerunModel.PreRunId); | 
					
						
							|  |  |  |  |                     Funs.DB.PreRun_SubSysWorkPackage.DeleteAllOnSubmit(deleteLs); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                     Funs.DB.SubmitChanges(); | 
					
						
							|  |  |  |  |                     JArray mergedData = Grid1.GetMergedData(); | 
					
						
							|  |  |  |  |                     int[] selections = Grid1.SelectedRowIndexArray; | 
					
						
							|  |  |  |  |                     foreach (JObject mergedRow in mergedData) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         string status = mergedRow.Value<string>("status"); | 
					
						
							|  |  |  |  |                         JObject values = mergedRow.Value<JObject>("values"); | 
					
						
							|  |  |  |  |                         int i = mergedRow.Value<int>("index"); | 
					
						
							|  |  |  |  |                         var workId = Grid1.DataKeys[i][0].ToString(); | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                         var model = new PreRun_SubSysWorkPackage(); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                         model.SubSysId = Guid.NewGuid().ToString(); | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                         model.SystemId = prerunModel.ParentId; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                         model.SubSystemId = prerunModel.PreRunId; | 
					
						
							|  |  |  |  |                         model.WorkPackId = workId; | 
					
						
							|  |  |  |  |                         model.WorkPackCode = !string.IsNullOrWhiteSpace(values.Value<string>("WorkPackCode")) ? values.Value<string>("WorkPackCode") : "WP"; | 
					
						
							|  |  |  |  |                         model.Remark = values.Value<string>("Remark"); | 
					
						
							|  |  |  |  |                         model.AddTime = DateTime.Now; | 
					
						
							|  |  |  |  |                         model.AddUser = this.CurrUser.UserId; | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                         model.Sort = Funs.DB.PreRun_SubSysWorkPackage.Count(); | 
					
						
							|  |  |  |  |                         Funs.DB.PreRun_SubSysWorkPackage.InsertOnSubmit(model); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                     } | 
					
						
							|  |  |  |  |                     Funs.DB.SubmitChanges(); | 
					
						
							|  |  |  |  |                     ShowNotify("保存成功!", MessageBoxIcon.Success); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 绑定工作包 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public void BridWorkPackGrid() | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |             GridWorkPack.DataSource = Funs.DB.PreRun_WorkPackage.OrderBy(p => p.Sort).ToList(); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |             GridWorkPack.DataBind(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 绑定选择的工作包 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public void BridSelectWorkPack(List<string> workPackIds) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!string.IsNullOrWhiteSpace(this.SsubSystemId)) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                 var result = new List<WorkData>(); | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  |                 var queryData = from a in Funs.DB.PreRun_WorkPackage.Where(p => workPackIds.Contains(p.WorkPackId)) | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                            join b in Funs.DB.PreRun_SubSysWorkPackage.Where(p => p.SubSystemId == this.SsubSystemId) on a.WorkPackId equals b.WorkPackId into bb | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                            from t in bb.DefaultIfEmpty() | 
					
						
							|  |  |  |  |                            select new WorkData() | 
					
						
							|  |  |  |  |                            { | 
					
						
							|  |  |  |  |                                WorkPackId = a.WorkPackId, | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                                WorkPackCode = t.WorkPackCode, | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                                WorkPackName = a.WorkPackName, | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                                SystemId = t.SystemId, | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                                Sort = a.Sort, | 
					
						
							|  |  |  |  |                                Remark = t.Remark | 
					
						
							|  |  |  |  |                            }; | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  |                 if (queryData.Count() > 0) | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2023-12-25 14:19:31 +08:00
										 |  |  |  |                     int num = 1; | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  |                     var data = queryData.ToList(); | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                     foreach (var item in data.OrderBy(p => p.Sort)) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         var model = new WorkData(); | 
					
						
							|  |  |  |  |                         model.WorkPackId = item.WorkPackId; | 
					
						
							|  |  |  |  |                         model.WorkPackName = item.WorkPackName; | 
					
						
							|  |  |  |  |                         model.SystemId = item.SystemId; | 
					
						
							|  |  |  |  |                         if (string.IsNullOrWhiteSpace(item.WorkPackCode)) | 
					
						
							|  |  |  |  |                         { | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  |                             var workpackages = data.Where(x => !string.IsNullOrWhiteSpace(x.WorkPackCode)).ToList(); | 
					
						
							|  |  |  |  |                             if (num == 1) | 
					
						
							| 
									
										
										
										
											2023-12-25 14:19:31 +08:00
										 |  |  |  |                             { | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  |                                 if (workpackages.Count > 0) num = workpackages.ConvertAll(x => int.Parse(x.WorkPackCode.Replace("WP", ""))).Max(m => m) + 1; | 
					
						
							| 
									
										
										
										
											2023-12-25 14:19:31 +08:00
										 |  |  |  |                             } | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                             model.WorkPackCode = $"WP{string.Format("{0:d3}", num)}"; | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  |                             num++; | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                         } | 
					
						
							|  |  |  |  |                         else | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             model.WorkPackCode = item.WorkPackCode; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         model.Sort = item.Sort; | 
					
						
							|  |  |  |  |                         model.Remark = item.Remark; | 
					
						
							|  |  |  |  |                         result.Add(model); | 
					
						
							|  |  |  |  |                     } | 
					
						
							| 
									
										
										
										
											2024-01-05 09:40:50 +08:00
										 |  |  |  |                     result = result.OrderBy(p => int.Parse(Regex.Replace(p.WorkPackCode, @"\D", ""))).ToList(); | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |                     Grid1.DataSource = result; | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                     Grid1.DataBind(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Grid1.DataSource = null; | 
					
						
							|  |  |  |  |                     Grid1.DataBind(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 工作包选择 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void drpWorkPack_TextChanged(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (drpWorkPack.Values.Length > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 BridSelectWorkPack(drpWorkPack.Values.ToList()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Grid1.DataSource = null; | 
					
						
							|  |  |  |  |                 Grid1.DataBind(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 行点击事件 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (e.CommandName == "Delete") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 string rowID = e.RowID; | 
					
						
							| 
									
										
										
										
											2023-06-27 10:14:53 +08:00
										 |  |  |  |                 var model = Funs.DB.PreRun_SubSysWorkPackage.FirstOrDefault(p => p.WorkPackId == rowID); | 
					
						
							|  |  |  |  |                 if (model != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Funs.DB.PreRun_SubSysWorkPackage.DeleteOnSubmit(model); | 
					
						
							|  |  |  |  |                     Funs.DB.SubmitChanges(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 var workPackages = Funs.DB.PreRun_SubSysWorkPackage.Where(p => p.SubSystemId == this.SsubSystemId).ToList(); | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |                 var workIds = workPackages.ConvertAll(p => p.WorkPackId); | 
					
						
							|  |  |  |  |                 BridSelectWorkPack(workIds); | 
					
						
							|  |  |  |  |                 drpWorkPack.Values = workIds.ToArray(); | 
					
						
							|  |  |  |  |                 ShowNotify("删除成功!"); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public class WorkData | 
					
						
							|  |  |  |  |         { | 
					
						
							| 
									
										
										
										
											2023-08-04 11:19:37 +08:00
										 |  |  |  |             public string SystemId { get; set; } | 
					
						
							| 
									
										
										
										
											2023-06-19 10:20:55 +08:00
										 |  |  |  |             public string WorkPackId { get; set; } | 
					
						
							|  |  |  |  |             public string WorkPackName { get; set; } | 
					
						
							|  |  |  |  |             public int? Sort { get; set; } | 
					
						
							|  |  |  |  |             public string Remark { get; set; } | 
					
						
							|  |  |  |  |             public string WorkPackCode { get; set; } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |