using Aspose.Words.Lists; using BLL; using FineUIPro.Web.ProjectData; using Model; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.TestRun.TestRunManage { public partial class SubInspectTerm : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.InitTreeMenu();//加载树 PageInit(); } } #region 树绑定 /// /// 加载树 /// 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 list = from a in Funs.DB.PreRun_SysDevice join b in Funs.DB.TestRun_SubSysWorkPackage on a.SystemId equals b.SystemId join c in Funs.DB.TestRun_WorkPackage on b.WorkPackId equals c.WorkPackId where a.ProjectId == this.CurrUser.LoginProjectId && a.PreRunLevel != 4 select new { a.PreRunId, a.ParentId, a.ProcessesId, a.SystemId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackName, b.WorkPackCode }; if (list.Count() > 0) { var ids = list.Select(x => x.ProcessesId).ToList(); ids.AddRange(list.Select(x => x.PreRunId).ToList()); ids = ids.Distinct().ToList(); var syslist = Funs.DB.PreRun_SysDevice.Where(x => ids.Contains(x.PreRunId)).ToList(); if (syslist.Count > 0) { var oneIds = syslist.ConvertAll(x => x.ProcessesId).Distinct().ToList(); foreach (var itemOne in oneIds) { var itemOneModel = syslist.FirstOrDefault(x => x.PreRunId == itemOne); TreeNode rootOneNode = new TreeNode(); rootOneNode.NodeID = itemOneModel.PreRunId; rootOneNode.Text = itemOneModel.PreRunName; rootOneNode.ToolTip = itemOneModel.PreRunName; rootOneNode.CommandName = ""; rootOneNode.EnableClickEvent = false; rootOneNode.EnableExpandEvent = false; rootNode.Nodes.Add(rootOneNode); rootOneNode.Expanded = true; var subTwoList = syslist.Where(g => g.ParentId == itemOneModel.PreRunId).GroupBy(x => new { x.PreRunId, x.ProcessesId, x.PreRunCode, x.PreRunName }); foreach (var itemTwo in subTwoList) { TreeNode rootTwoNode = new TreeNode(); rootTwoNode.NodeID = itemTwo.Key.PreRunId; rootTwoNode.Text = itemTwo.Key.PreRunName; rootTwoNode.ToolTip = itemTwo.Key.PreRunName; rootTwoNode.CommandName = ""; rootTwoNode.EnableClickEvent = false; rootTwoNode.EnableExpandEvent = false; rootOneNode.Nodes.Add(rootTwoNode); rootTwoNode.Expanded = true; var worklist = list.Where(a => a.PreRunId == itemTwo.Key.PreRunId).GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackCode }).ToList(); if (worklist.Count > 0) { foreach (var itemWork in worklist.OrderBy(o => o.Key.WorkPackCode)) { TreeNode newNode = new TreeNode(); newNode.Text = itemWork.Key.WorkPackName; newNode.NodeID = itemWork.Key.WorkPackId + "|" + itemTwo.Key.PreRunId; newNode.ToolTip = itemWork.Key.WorkPackName; newNode.CommandName = ""; newNode.Expanded = true; newNode.EnableClickEvent = true; newNode.EnableExpandEvent = true; rootTwoNode.Nodes.Add(newNode); } } } } } } } /// /// 绑定下拉框 /// public void PageInit() { //检查人绑定 var userList = from user in Funs.DB.Sys_User join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId where projectrole.ProjectId == this.CurrUser.LoginProjectId select user; var userids = new List() { Const.sysglyId, Const.hfnbdId, Const.sedinId }; var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId)); var users = userList.ToList(); if (addUserList.Count() > 0) { users.AddRange(addUserList); } if (users.Count() > 0) { ddlfbs.DataTextField = "UserName"; ddlfbs.DataValueField = "UserId"; ddlfbs.DataSource = users; ddlfbs.DataBind(); ddlcbs.DataTextField = "UserName"; ddlcbs.DataValueField = "UserId"; ddlcbs.DataSource = users; ddlcbs.DataBind(); ddljl.DataTextField = "UserName"; ddljl.DataValueField = "UserId"; ddljl.DataSource = users; ddljl.DataBind(); ddlyz.DataTextField = "UserName"; ddlyz.DataValueField = "UserId"; ddlyz.DataSource = users; ddlyz.DataBind(); } } /// /// 点击TreeView /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { this.BindGrid(); } #endregion #region 数据绑定 /// /// 绑定数据 /// public void BindGrid(List ulist = null) { var result = new List(); if (ulist != null) { #region 新增修改检查项 var groups = ulist.GroupBy(x => x.GroupName); int gnum = 1; foreach (var itemGroup in groups) { //添加一级节点 var firstModel = new TestRun_SubInspectTermItemData(); firstModel.TermItemId = itemGroup.Key; firstModel.GroupName = itemGroup.Key; firstModel.Sort = gnum; firstModel.GroupSort = gnum; firstModel.Level = 1; result.Add(firstModel); gnum++; //获取此分组的检查项 var groupTermItems = ulist.Where(x => x.GroupName == itemGroup.Key); foreach (var itemTerm in groupTermItems) { var model = new TestRun_SubInspectTermItemData(); model.TermItemId = itemTerm.TermItemId; model.ParentId = itemGroup.Key; model.ProjectId = this.CurrUser.LoginProjectId; model.WorkPackId = itemTerm.WorkPackId; model.WorkInspectId = itemTerm.WorkInspectId; model.WorkInspectName = itemTerm.WorkInspectName; model.InstallationId = itemTerm.InstallationId; model.ProcessesId = itemTerm.ProcessesId; model.SystemId = itemTerm.SystemId; model.InspectedUser = itemTerm.InspectedUser; model.AllUserInspectionPass = itemTerm.AllUserInspectionPass; model.UserInspectionResults = itemTerm.UserInspectionResults; model.InspectionIllustrate = itemTerm.InspectionIllustrate; model.GroupName = itemTerm.GroupName; model.Sort = itemTerm.Sort; model.GroupSort = itemTerm.GroupSort; model.Level = 2; result.Add(model); } } #endregion } else { var workPackId = this.tvControlItem.SelectedNodeID.Split('|')[0]; var systemId = this.tvControlItem.SelectedNodeID.Split('|')[1]; var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == systemId); var list = from a in Funs.DB.TestRun_SubInspectTermItem where a.SystemId == systemId && a.WorkPackId == workPackId orderby a.Sort ascending select a; if (list.Count() > 0) { var itemids = list.Select(p => p.TermItemId); var termitemusers = from a in Funs.DB.TestRun_TermItemInspectedUser join b in Funs.DB.Sys_User on a.InspectedUser equals b.UserId where itemids.Contains(a.TermItemId) select new { a.TermItemId, a.InspectedUser, a.InspectionIllustrate, InspectionResultsName = a.InspectionResults == 1 ? "通过" : "未通过", b.UserName }; var groups = list.GroupBy(x => new { x.GroupName }); int firstnum = 1; foreach (var itemGroup in groups) { //添加一级节点 var firstModel = new TestRun_SubInspectTermItemData(); firstModel.TermItemId = itemGroup.Key.GroupName; firstModel.GroupName = itemGroup.Key.GroupName; firstModel.Sort = firstnum; firstModel.GroupSort = firstnum; firstModel.Level = 1; result.Add(firstModel); firstnum++; //获取此分组的检查项 var groupTermItems = list.Where(x => x.GroupName == itemGroup.Key.GroupName); foreach (var itemTerm in groupTermItems) { var model = new TestRun_SubInspectTermItemData(); model.TermItemId = itemTerm.TermItemId; model.ParentId = itemGroup.Key.GroupName; model.ProjectId = itemTerm.ProjectId; model.WorkPackId = itemTerm.WorkPackId; model.WorkInspectId = itemTerm.WorkInspectId; model.WorkInspectName = itemTerm.WorkInspectName; model.InstallationId = subSysModel.InstallationId; model.ProcessesId = subSysModel.ProcessesId; model.SystemId = subSysModel.SystemId; model.InspectedUser = itemTerm.InspectedUser; model.AllUserInspectionPass = itemTerm.AllUserInspectionPass; model.GroupName = itemTerm.GroupName; model.Sort = itemTerm.Sort.Value; model.GroupSort = itemTerm.Sort.Value; if (termitemusers.Count(a => a.TermItemId == itemTerm.TermItemId) > 0) { foreach (var itemU in termitemusers.Where(a => a.TermItemId == itemTerm.TermItemId)) { model.UserInspectionResults += string.IsNullOrWhiteSpace(model.UserInspectionResults) ? $"{itemU.UserName}:{itemU.InspectionResultsName}" : "
" + $"{itemU.UserName}:{itemU.InspectionResultsName}"; if (!string.IsNullOrWhiteSpace(itemU.InspectionIllustrate)) { model.InspectionIllustrate += string.IsNullOrWhiteSpace(model.InspectionIllustrate) ? $"{itemU.UserName}:{itemU.InspectionIllustrate}" : "
" + $"{itemU.UserName}:{itemU.InspectionIllustrate}"; } } } model.Level = 2; result.Add(model); } } var itemModel = list.FirstOrDefault(); ddlfbs.SelectedValue = itemModel.Subcontractor; ddlcbs.SelectedValue = itemModel.Contractor; ddljl.SelectedValue = itemModel.Supervision; ddlyz.SelectedValue = itemModel.Owner; } else { ddlfbs.SelectedValue = ""; ddlcbs.SelectedValue = ""; ddljl.SelectedValue = ""; ddlyz.SelectedValue = ""; var defaultDatas = from a in Funs.DB.TestRun_WorkInspectTemplate where a.WorkPackId == workPackId select a; if (defaultDatas.Count() > 0) { var groups = defaultDatas.GroupBy(x => new { x.GroupName }); int firstnum = 1; foreach (var itemGroup in groups) { //添加一级节点 var firstModel = new TestRun_SubInspectTermItemData(); firstModel.TermItemId = itemGroup.Key.GroupName; firstModel.GroupName = itemGroup.Key.GroupName; firstModel.Sort = firstnum; firstModel.GroupSort = firstnum; firstModel.Level = 1; result.Add(firstModel); firstnum++; //获取此分组的检查项 var groupTermItems = defaultDatas.Where(x => x.GroupName == itemGroup.Key.GroupName); foreach (var itemTerm in groupTermItems) { var model = new TestRun_SubInspectTermItemData(); model.TermItemId = Guid.NewGuid().ToString(); model.ParentId = itemGroup.Key.GroupName; model.ProjectId = this.CurrUser.LoginProjectId; model.WorkPackId = itemTerm.WorkPackId; model.WorkInspectId = itemTerm.WorkInspectId; model.WorkInspectName = itemTerm.WorkInspectName; model.InstallationId = subSysModel.InstallationId; model.ProcessesId = subSysModel.ProcessesId; model.SystemId = subSysModel.SystemId; model.GroupName = itemTerm.GroupName; model.Sort = itemTerm.Sort.Value; model.GroupSort = itemTerm.Sort.Value; model.Level = 2; result.Add(model); } } } } } Grid1.DataSource = result; Grid1.DataBind(); //检查人绑定 var userList = from user in Funs.DB.Sys_User join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId where projectrole.ProjectId == this.CurrUser.LoginProjectId select user; var userids = new List() { Const.sysglyId, Const.hfnbdId, Const.sedinId }; var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId)); var data = userList.ToList(); if (addUserList.Count() > 0) { data.AddRange(addUserList); } DropDownList ddlInspectedUser = Grid1.FindColumn("InspectedUser").FindControl("ddlInspectedUser") as DropDownList; ddlInspectedUser.DataTextField = "UserName"; ddlInspectedUser.DataValueField = "UserId"; ddlInspectedUser.DataSource = data; ddlInspectedUser.DataBind(); } /// /// 行按钮事件 /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "Delete") { string rowID = e.RowID; var level = int.Parse(this.Grid1.Rows[e.RowIndex].DataKeys[8].ToString()); if (level == 1) { var groupName = this.Grid1.Rows[e.RowIndex].DataKeys[7].ToString(); var deletelist = Funs.DB.TestRun_SubInspectTermItem.Where(p => p.GroupName == groupName); if (deletelist.Count() > 0) { Funs.DB.TestRun_SubInspectTermItem.DeleteAllOnSubmit(deletelist); Funs.DB.SubmitChanges(); BindGrid(); ShowNotify("删除成功!"); } else { var list = gvList(); list.RemoveAll(x => x.GroupName == groupName); Grid1.DataSource = list; Grid1.DataBind(); ShowNotify("删除成功!"); } } else { var model = Funs.DB.TestRun_SubInspectTermItem.FirstOrDefault(p => p.TermItemId == rowID); if (model != null) { if (model.AllUserInspectionPass != null) { ShowNotify("已存在检查结果,无法删除!", MessageBoxIcon.Warning); return; } Funs.DB.TestRun_SubInspectTermItem.DeleteOnSubmit(model); Funs.DB.SubmitChanges(); BindGrid(); ShowNotify("删除成功!"); } else { var list = gvList(); list.RemoveAll(x => x.TermItemId == rowID); Grid1.DataSource = list; Grid1.DataBind(); ShowNotify("删除成功!"); } } } } #endregion /// /// 保存 /// protected void btnSave_Click(object sender, EventArgs e) { try { if (string.IsNullOrWhiteSpace(ddlfbs.SelectedValue)) { ShowNotify("请选择分包商!", MessageBoxIcon.Warning); return; } if (string.IsNullOrWhiteSpace(ddlcbs.SelectedValue)) { ShowNotify("请选择承包商!", MessageBoxIcon.Warning); return; } if (string.IsNullOrWhiteSpace(ddljl.SelectedValue)) { ShowNotify("请选择监理!", MessageBoxIcon.Warning); return; } if (string.IsNullOrWhiteSpace(ddlyz.SelectedValue)) { ShowNotify("请选择业主!", MessageBoxIcon.Warning); return; } var workPackId = this.tvControlItem.SelectedNodeID.Split('|')[0]; var systemId = this.tvControlItem.SelectedNodeID.Split('|')[1]; List subTrems = new List(); List subTremItems = new List(); List tremItemUsers = new List(); var subTrem = Funs.DB.TestRun_SubInspectTerm.FirstOrDefault(x => x.SystemId == systemId); var termItems = Funs.DB.TestRun_SubInspectTermItem.Where(x => x.SystemId == systemId).ToList(); if (termItems.Count > 0 && termItems.Count(x => x.AllUserInspectionPass == null) == 0) { ShowNotify("所有检查项已存在检查结果,无法保存!", MessageBoxIcon.Warning); return; } int itemnum = 1; JArray mergedData = Grid1.GetMergedData(); foreach (JObject mergedRow in mergedData) { string status = mergedRow.Value("status"); JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString(); var workInspectId = this.Grid1.Rows[i].DataKeys[1] != null ? this.Grid1.Rows[i].DataKeys[1].ToString() : string.Empty; var groupName = this.Grid1.Rows[i].DataKeys[7].ToString(); var level = this.Grid1.Rows[i].DataKeys[8].ToString(); if (level == "1") continue; //获取系统信息 var list = new List(); var sysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == systemId); if (sysModel == null) continue; //检查表 if (subTrem == null) { subTrem = new TestRun_SubInspectTerm(); subTrem.SubInspectId = Guid.NewGuid().ToString(); subTrem.WorkPackId = workPackId; subTrem.ProjectId = this.CurrUser.LoginProjectId; subTrem.InstallationId = sysModel.InstallationId; subTrem.ProcessesId = sysModel.ProcessesId; subTrem.SystemId = sysModel.PreRunId; subTrem.Subcontractor = ddlfbs.SelectedValue; subTrem.Contractor = ddlcbs.SelectedValue; subTrem.Supervision = ddljl.SelectedValue; subTrem.Owner = ddlyz.SelectedValue; subTrem.AddUser = this.CurrUser.UserId; subTrem.AddTime = DateTime.Now; subTrems.Add(subTrem); } else { subTrem.Subcontractor = ddlfbs.SelectedValue; subTrem.Contractor = ddlcbs.SelectedValue; subTrem.Supervision = ddljl.SelectedValue; subTrem.Owner = ddlyz.SelectedValue; Funs.DB.SubmitChanges(); } //检查项表 var model = Funs.DB.TestRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId); if (model == null) { model = new TestRun_SubInspectTermItem(); model.TermItemId = termItemId; model.SubInspectId = subTrem.SubInspectId; model.WorkPackId = workPackId; model.ProjectId = this.CurrUser.LoginProjectId; model.WorkInspectId = workInspectId; model.WorkInspectName = values.Value("WorkInspectName"); model.InstallationId = sysModel.InstallationId; model.ProcessesId = sysModel.ProcessesId; model.SystemId = sysModel.PreRunId; model.InspectedUser = values.Value("InspectedUser"); model.GroupName = groupName; model.Subcontractor = ddlfbs.SelectedValue; model.Contractor = ddlcbs.SelectedValue; model.Supervision = ddljl.SelectedValue; model.Owner = ddlyz.SelectedValue; model.AddUser = this.CurrUser.UserId; model.AddTime = DateTime.Now; model.Sort = itemnum; subTremItems.Add(model); itemnum++; } else { model.GroupName = groupName; model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty; model.WorkInspectName = values.Value("WorkInspectName"); //删除检查项检查人表 var deleteTermUser = Funs.DB.TestRun_TermItemInspectedUser.Where(x => x.TermItemId == termItemId && x.InspectionResults == null); if (deleteTermUser.Count() > 0) { Funs.DB.TestRun_TermItemInspectedUser.DeleteAllOnSubmit(deleteTermUser); } Funs.DB.SubmitChanges(); } //检查项检查人表 int usernum = 1; var users = values.Value("InspectedUser").Split(','); foreach (var itemUser in users) { if (Funs.DB.TestRun_TermItemInspectedUser.Count(x => x.TermItemId == termItemId && x.InspectedUser == itemUser) == 0) { var userModel = new TestRun_TermItemInspectedUser(); userModel.ItemUserId = Guid.NewGuid().ToString(); userModel.TermItemId = termItemId; userModel.SubInspectId = subTrem.SubInspectId; userModel.WorkPackId = workPackId; userModel.GroupName = groupName; userModel.ProjectId = this.CurrUser.LoginProjectId; userModel.InspectedUser = itemUser; userModel.AddUser = this.CurrUser.UserId; userModel.AddTime = DateTime.Now; userModel.Sort = usernum; tremItemUsers.Add(userModel); usernum++; } } } if (subTrems != null) Funs.DB.TestRun_SubInspectTerm.InsertAllOnSubmit(subTrems); if (subTremItems.Count > 0) Funs.DB.TestRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems); if (tremItemUsers.Count > 0) Funs.DB.TestRun_TermItemInspectedUser.InsertAllOnSubmit(tremItemUsers); Funs.DB.SubmitChanges(); if (Funs.DB.TestRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.AllUserInspectionPass.GetValueOrDefault() != 1) == 0) { subTrem.InspectionIsAllPass = 1; } else { subTrem.InspectionIsAllPass = 0; } Funs.DB.SubmitChanges(); this.InitTreeMenu(); ShowNotify("保存成功!"); } catch (Exception ex) { ShowNotify(ex.Message, MessageBoxIcon.Error); } } /// /// 新增 /// protected void btnAdd_Click(object sender, EventArgs e) { var workPackId = this.tvControlItem.SelectedNodeID.Split('|')[0]; var systemId = this.tvControlItem.SelectedNodeID.Split('|')[1]; this.hidRequestNodeID.Text = string.Empty; PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidRequestNodeID.ClientID) + Window1.GetShowReference($"SubInspectTermEdit.aspx?TermItemId=&WorkInspectId=&WorkPackId={workPackId}&SystemId={systemId}", "新增")); } /// /// 修改 /// protected void btnModify_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请选择记录!", MessageBoxIcon.Warning); return; } if (Grid1.SelectedRowIndexArray.Length > 1) { Alert.ShowInTop("只可选择一条记录!", MessageBoxIcon.Warning); return; } var level = int.Parse(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[8].ToString()); if (level == 1) { Alert.ShowInTop("一级节点无法修改!", MessageBoxIcon.Warning); return; } var workPackId = this.tvControlItem.SelectedNodeID.Split('|')[0]; var systemId = this.tvControlItem.SelectedNodeID.Split('|')[1]; var workInspectId = this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[1] != null ? this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[1].ToString() : string.Empty; var groupName = this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[7] != null ? this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[7].ToString() : string.Empty; var workInspectName = this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[10] != null ? this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[10].ToString() : string.Empty; this.hidRequestNodeID.Text = string.Empty; PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidRequestNodeID.ClientID) + Window1.GetShowReference($"SubInspectTermEdit.aspx?TermItemId={Grid1.SelectedRowID}&WorkInspectId={workInspectId}&WorkPackId={workPackId}&SystemId={systemId}&GroupName={groupName}&WorkInspectName={workInspectName}", "编辑")); } /// /// 右击新增 /// protected void btnMenuParentAdd_Click(object sender, EventArgs e) { btnAdd_Click(sender, e); } /// /// 右击修改 /// protected void btnMenuModify_Click(object sender, EventArgs e) { btnModify_Click(sender, e); } /// /// 入场人员培训及特种作业报验人数集合 /// private List gvList() { List list = new List(); JArray mergedData = Grid1.GetMergedData(); foreach (JObject mergedRow in mergedData) { string status = mergedRow.Value("status"); JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString(); var workInspectId = this.Grid1.Rows[i].DataKeys[1] != null ? this.Grid1.Rows[i].DataKeys[1].ToString() : string.Empty; var subInspectId = this.Grid1.Rows[i].DataKeys[2] != null ? this.Grid1.Rows[i].DataKeys[2].ToString() : string.Empty; var workPackId = this.Grid1.Rows[i].DataKeys[3] != null ? this.Grid1.Rows[i].DataKeys[3].ToString() : string.Empty; var installationId = this.Grid1.Rows[i].DataKeys[4] != null ? this.Grid1.Rows[i].DataKeys[4].ToString() : string.Empty; var processesId = this.Grid1.Rows[i].DataKeys[5] != null ? this.Grid1.Rows[i].DataKeys[5].ToString() : string.Empty; var systemId = this.Grid1.Rows[i].DataKeys[6] != null ? this.Grid1.Rows[i].DataKeys[6].ToString() : string.Empty; var groupName = this.Grid1.Rows[i].DataKeys[7] != null ? this.Grid1.Rows[i].DataKeys[7].ToString() : string.Empty; var level = this.Grid1.Rows[i].DataKeys[8] != null ? this.Grid1.Rows[i].DataKeys[8].ToString() : string.Empty; var parentId = this.Grid1.Rows[i].DataKeys[9] != null ? this.Grid1.Rows[i].DataKeys[9].ToString() : string.Empty; var groupSort = this.Grid1.Rows[i].DataKeys[11] != null ? this.Grid1.Rows[i].DataKeys[11].ToString() : string.Empty; var userInspectionResults = this.Grid1.Rows[i].DataKeys[12] != null ? this.Grid1.Rows[i].DataKeys[12].ToString() : string.Empty; var inspectionIllustrate = this.Grid1.Rows[i].DataKeys[13] != null ? this.Grid1.Rows[i].DataKeys[13].ToString() : string.Empty; var model = new TestRun_SubInspectTermItemData(); model.TermItemId = termItemId; model.SubInspectId = subInspectId; model.WorkPackId = workPackId; model.ProjectId = this.CurrUser.LoginProjectId; model.WorkInspectId = workInspectId; model.WorkInspectName = values.Value("WorkInspectName"); model.InstallationId = installationId; model.ProcessesId = processesId; model.SystemId = systemId; model.GroupName = groupName; model.GroupSort = !string.IsNullOrWhiteSpace(groupSort) ? int.Parse(groupSort) : 0; model.Level = int.Parse(level); model.ParentId = parentId; model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty; model.UserInspectionResults = userInspectionResults; model.InspectionIllustrate = inspectionIllustrate; model.AddUser = this.CurrUser.UserId; model.AddTime = DateTime.Now; model.Sort = i + 1; list.Add(model); } return list; } /// /// 检测结果 /// /// public string Results(object value) { var result = string.Empty; if (value != null) { var intVal = int.Parse(value.ToString()); if (intVal == 1) { result = "通过"; } else if (intVal == 0) { result = "未通过"; } } return result; } /// /// 数据绑定实体 /// public class TestRun_SubInspectTermItemData : TestRun_SubInspectTermItem { /// /// 上级主键 /// public string ParentId { get; set; } /// /// 分组排序 /// public int GroupSort { get; set; } /// /// 级别 /// public int Level { get; set; } /// /// 检查人检查结果 /// public string UserInspectionResults { get; set; } /// /// 检查人检查说明 /// public string InspectionIllustrate { get; set; } } /// /// 关闭 /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { if (!string.IsNullOrWhiteSpace(hidRequestNodeID.Text)) { var list = gvList(); string termItemId = hidRequestNodeID.Text.Split('|')[0]; string workPackId = hidRequestNodeID.Text.Split('|')[1]; string systemId = hidRequestNodeID.Text.Split('|')[2]; string workInspectName = hidRequestNodeID.Text.Split('|')[3]; string groupName = hidRequestNodeID.Text.Split('|')[4]; var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == systemId); var model = new TestRun_SubInspectTermItemData(); model.TermItemId = Guid.NewGuid().ToString(); model.ParentId = groupName; model.ProjectId = this.CurrUser.LoginProjectId; model.WorkPackId = workPackId; model.WorkInspectId = string.Empty; model.WorkInspectName = workInspectName; model.InstallationId = subSysModel.InstallationId; model.ProcessesId = subSysModel.ProcessesId; model.SystemId = systemId; model.GroupName = groupName; model.Sort = list.Count + 1; model.Level = 2; list.Add(model); list.RemoveAll(x => x.Level == 1); list = list.OrderBy(x => x.Sort).ToList(); BindGrid(list); } } /// /// 行加载事件 /// protected void Grid1_RowDataBound(object sender, GridRowEventArgs e) { var level = int.Parse(this.Grid1.Rows[e.RowIndex].DataKeys[8].ToString()); RenderField InspectedUser = Grid1.FindColumn("InspectedUser") as RenderField; if (level == 1) { e.CellAttributes[InspectedUser.ColumnIndex]["data-color"] = "color"; } } } }