633 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			633 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | |
| 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.Feeding
 | |
| {
 | |
|     public partial class SubInspectTerm : PageBase
 | |
|     {
 | |
|         protected void Page_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!IsPostBack)
 | |
|             {
 | |
|                 this.InitTreeMenu();//加载树
 | |
|                 PageInit();
 | |
|             }
 | |
|         }
 | |
| 
 | |
| 
 | |
|         #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 list = Funs.DB.PreRun_SysDevice.Where(a => a.ProjectId == this.CurrUser.LoginProjectId && a.PreRunLevel == 1).OrderBy(a => a.Sort);
 | |
|             if (list.Count() > 0)
 | |
|             {
 | |
|                 foreach (var item in list)
 | |
|                 {
 | |
|                     TreeNode rootOneNode = new TreeNode();
 | |
|                     rootOneNode.NodeID = item.PreRunId;
 | |
|                     rootOneNode.Text = item.PreRunName;
 | |
|                     rootOneNode.ToolTip = item.PreRunName;
 | |
|                     rootOneNode.CommandName = "";
 | |
|                     rootOneNode.EnableClickEvent = true;
 | |
|                     rootOneNode.EnableExpandEvent = false;
 | |
|                     rootNode.Nodes.Add(rootOneNode);
 | |
|                     rootOneNode.Expanded = true;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 点击TreeView
 | |
|         /// </summary>
 | |
|         protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
 | |
|         {
 | |
|             this.BindGrid();
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region 数据绑定
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 绑定下拉框
 | |
|         /// </summary>
 | |
|         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<string>() { 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)
 | |
|             {
 | |
|                 ddlDriverCharge.DataTextField = "UserName";
 | |
|                 ddlDriverCharge.DataValueField = "UserId";
 | |
|                 ddlDriverCharge.DataSource = users;
 | |
|                 ddlDriverCharge.DataBind();
 | |
| 
 | |
|                 ddlDrivingManager.DataTextField = "UserName";
 | |
|                 ddlDrivingManager.DataValueField = "UserId";
 | |
|                 ddlDrivingManager.DataSource = users;
 | |
|                 ddlDrivingManager.DataBind();
 | |
| 
 | |
|                 ddlProjectManager.DataTextField = "UserName";
 | |
|                 ddlProjectManager.DataValueField = "UserId";
 | |
|                 ddlProjectManager.DataSource = users;
 | |
|                 ddlProjectManager.DataBind();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 绑定数据
 | |
|         /// </summary>
 | |
|         public void BindGrid(List<FeedingRun_SubInspectTermItemData> ulist = null)
 | |
|         {
 | |
|             var result = new List<FeedingRun_SubInspectTermItemData>();
 | |
|             if (ulist != null)
 | |
|             {
 | |
|                 #region 新增修改检查项
 | |
| 
 | |
|                 var groups = ulist.GroupBy(x => x.GroupName);
 | |
|                 int gnum = 1;
 | |
|                 foreach (var itemGroup in groups)
 | |
|                 {
 | |
|                     //添加一级节点
 | |
|                     var firstModel = new FeedingRun_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 FeedingRun_SubInspectTermItemData();
 | |
|                         model.TermItemId = itemTerm.TermItemId;
 | |
|                         model.ParentId = itemGroup.Key;
 | |
|                         model.ProjectId = this.CurrUser.LoginProjectId;
 | |
|                         model.WorkInspectId = itemTerm.WorkInspectId;
 | |
|                         model.WorkInspectName = itemTerm.WorkInspectName;
 | |
|                         model.InspectedUser = itemTerm.InspectedUser;
 | |
|                         model.InspectedUser = itemTerm.InspectedUser;
 | |
|                         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 list = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InstallationId == this.tvControlItem.SelectedNodeID).OrderBy(x => x.Sort);
 | |
|                 if (list.Count() > 0)
 | |
|                 {
 | |
|                     var groups = list.GroupBy(x => new { x.GroupName });
 | |
|                     int firstnum = 1;
 | |
|                     foreach (var itemGroup in groups)
 | |
|                     {
 | |
|                         //添加一级节点
 | |
|                         var firstModel = new FeedingRun_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 FeedingRun_SubInspectTermItemData();
 | |
|                             model.TermItemId = itemTerm.TermItemId;
 | |
|                             model.ParentId = itemGroup.Key.GroupName;
 | |
|                             model.ProjectId = itemTerm.ProjectId;
 | |
|                             model.WorkInspectId = itemTerm.WorkInspectId;
 | |
|                             model.WorkInspectName = itemTerm.WorkInspectName;
 | |
|                             model.InspectedUser = itemTerm.InspectedUser;
 | |
|                             model.InspectedUser = itemTerm.InspectedUser;
 | |
|                             model.GroupName = itemTerm.GroupName;
 | |
|                             model.Sort = itemTerm.Sort.Value;
 | |
|                             model.GroupSort = itemTerm.Sort.Value;
 | |
|                             model.InspectionIllustrate = itemTerm.InspectionIllustrate;
 | |
|                             model.Level = 2;
 | |
|                             result.Add(model);
 | |
|                         }
 | |
|                     }
 | |
| 
 | |
|                     var itemModel = list.FirstOrDefault();
 | |
|                     ddlDriverCharge.SelectedValue = itemModel.DriverCharge;
 | |
|                     ddlDrivingManager.SelectedValue = itemModel.DrivingManager;
 | |
|                     ddlProjectManager.SelectedValue = itemModel.ProjectManager;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     ddlDriverCharge.SelectedValue = "";
 | |
|                     ddlDrivingManager.SelectedValue = "";
 | |
|                     ddlProjectManager.SelectedValue = "";
 | |
|                     var defaultDatas = Funs.DB.FeedingRun_WorkInspectTemplate.OrderBy(x => x.Sort);
 | |
|                     if (defaultDatas.Count() > 0)
 | |
|                     {
 | |
|                         var groups = defaultDatas.GroupBy(x => x.GroupName);
 | |
|                         int firstnum = 1;
 | |
|                         foreach (var itemGroup in groups)
 | |
|                         {
 | |
|                             //添加一级节点
 | |
|                             var firstModel = new FeedingRun_SubInspectTermItemData();
 | |
|                             firstModel.TermItemId = itemGroup.Key;
 | |
|                             firstModel.GroupName = itemGroup.Key;
 | |
|                             firstModel.Sort = firstnum;
 | |
|                             firstModel.GroupSort = firstnum;
 | |
|                             firstModel.Level = 1;
 | |
|                             result.Add(firstModel);
 | |
|                             firstnum++;
 | |
|                             //获取此分组的检查项
 | |
|                             var groupTermItems = defaultDatas.Where(x => x.GroupName == itemGroup.Key);
 | |
|                             foreach (var itemTerm in groupTermItems)
 | |
|                             {
 | |
|                                 var model = new FeedingRun_SubInspectTermItemData();
 | |
|                                 model.TermItemId = Guid.NewGuid().ToString();
 | |
|                                 model.ParentId = itemGroup.Key;
 | |
|                                 model.ProjectId = this.CurrUser.LoginProjectId;
 | |
|                                 model.WorkInspectId = itemTerm.WorkInspectId;
 | |
|                                 model.WorkInspectName = itemTerm.WorkInspectName;
 | |
|                                 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<string>() { 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();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 行按钮事件
 | |
|         /// </summary>
 | |
|         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[4].ToString());
 | |
|                 if (level == 1)
 | |
|                 {
 | |
|                     var groupName = this.Grid1.Rows[e.RowIndex].DataKeys[3].ToString();
 | |
|                     var deletelist = Funs.DB.FeedingRun_SubInspectTermItem.Where(p => p.GroupName == groupName && p.InstallationId == this.tvControlItem.SelectedNodeID);
 | |
|                     if (deletelist.Count() > 0)
 | |
|                     {
 | |
|                         Funs.DB.FeedingRun_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.FeedingRun_SubInspectTermItem.FirstOrDefault(p => p.TermItemId == rowID);
 | |
|                     if (model != null)
 | |
|                     {
 | |
|                         if (model.InspectionResults != null)
 | |
|                         {
 | |
|                             ShowNotify("已存在检查结果,无法删除!", MessageBoxIcon.Warning);
 | |
|                             return;
 | |
|                         }
 | |
|                         Funs.DB.FeedingRun_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
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存
 | |
|         /// </summary>
 | |
|         protected void btnSave_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             try
 | |
|             {
 | |
|                 if (string.IsNullOrWhiteSpace(ddlDriverCharge.SelectedValue))
 | |
|                 {
 | |
|                     ShowNotify("请选择装置开车负责人!", MessageBoxIcon.Warning);
 | |
|                     return;
 | |
|                 }
 | |
|                 if (string.IsNullOrWhiteSpace(ddlDrivingManager.SelectedValue))
 | |
|                 {
 | |
|                     ShowNotify("请选择开车经理!", MessageBoxIcon.Warning);
 | |
|                     return;
 | |
|                 }
 | |
|                 if (string.IsNullOrWhiteSpace(ddlProjectManager.SelectedValue))
 | |
|                 {
 | |
|                     ShowNotify("请选择项目经理!", MessageBoxIcon.Warning);
 | |
|                     return;
 | |
|                 }
 | |
|                 List<FeedingRun_SubInspectTerm> subTrems = new List<FeedingRun_SubInspectTerm>();
 | |
|                 List<FeedingRun_SubInspectTermItem> subTremItems = new List<FeedingRun_SubInspectTermItem>();
 | |
|                 var subTrem = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InstallationId == this.tvControlItem.SelectedNodeID);
 | |
|                 var termItems = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InstallationId == this.tvControlItem.SelectedNodeID).ToList();
 | |
|                 if (termItems.Count > 0 && termItems.Count(x => x.InspectionResults == null) == 0)
 | |
|                 {
 | |
|                     ShowNotify("所有检查项已存在检查结果,无法保存!", MessageBoxIcon.Warning);
 | |
|                     return;
 | |
|                 }
 | |
|                 int itemnum = 1;
 | |
|                 JArray mergedData = Grid1.GetMergedData();
 | |
|                 foreach (JObject mergedRow in mergedData)
 | |
|                 {
 | |
|                     string status = mergedRow.Value<string>("status");
 | |
|                     JObject values = mergedRow.Value<JObject>("values");
 | |
|                     int i = mergedRow.Value<int>("index");
 | |
| 
 | |
|                     var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
 | |
|                     var workInspectId = IsNullStr(this.Grid1.Rows[i].DataKeys[1]);
 | |
|                     var groupName = IsNullStr(this.Grid1.Rows[i].DataKeys[3]);
 | |
|                     var level = IsNullStr(this.Grid1.Rows[i].DataKeys[4]);
 | |
|                     if (level == "1") continue;
 | |
| 
 | |
|                     //获取系统信息
 | |
|                     var list = new List<FeedingRun_SubInspectTermItem>();
 | |
|                     //检查表
 | |
|                     if (subTrem == null)
 | |
|                     {
 | |
|                         subTrem = new FeedingRun_SubInspectTerm();
 | |
|                         subTrem.SubInspectId = Guid.NewGuid().ToString();
 | |
|                         subTrem.ProjectId = this.CurrUser.LoginProjectId;
 | |
|                         subTrem.DriverCharge = ddlDriverCharge.SelectedValue;
 | |
|                         subTrem.DrivingManager = ddlDrivingManager.SelectedValue;
 | |
|                         subTrem.ProjectManager = ddlProjectManager.SelectedValue;
 | |
|                         subTrem.InstallationId = this.tvControlItem.SelectedNodeID;
 | |
|                         subTrem.AddUser = this.CurrUser.UserId;
 | |
|                         subTrem.AddTime = DateTime.Now;
 | |
|                         subTrems.Add(subTrem);
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         subTrem.DriverCharge = ddlDriverCharge.SelectedValue;
 | |
|                         subTrem.DrivingManager = ddlDrivingManager.SelectedValue;
 | |
|                         subTrem.ProjectManager = ddlProjectManager.SelectedValue;
 | |
|                         Funs.DB.SubmitChanges();
 | |
|                     }
 | |
|                     //检查项表
 | |
|                     var model = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
 | |
|                     if (model == null)
 | |
|                     {
 | |
|                         model = new FeedingRun_SubInspectTermItem();
 | |
|                         model.TermItemId = termItemId;
 | |
|                         model.SubInspectId = subTrem.SubInspectId;
 | |
|                         model.ProjectId = this.CurrUser.LoginProjectId;
 | |
|                         model.WorkInspectId = workInspectId;
 | |
|                         model.WorkInspectName = values.Value<string>("WorkInspectName");
 | |
|                         model.InspectedUser = values.Value<string>("InspectedUser");
 | |
|                         model.GroupName = groupName;
 | |
|                         model.DriverCharge = ddlDriverCharge.SelectedValue;
 | |
|                         model.DrivingManager = ddlDrivingManager.SelectedValue;
 | |
|                         model.ProjectManager = ddlProjectManager.SelectedValue;
 | |
|                         model.InstallationId = this.tvControlItem.SelectedNodeID;
 | |
|                         model.AddUser = this.CurrUser.UserId;
 | |
|                         model.AddTime = DateTime.Now;
 | |
|                         model.Sort = itemnum;
 | |
|                         subTremItems.Add(model);
 | |
|                         itemnum++;
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         model.GroupName = groupName;
 | |
|                         model.InspectedUser = IsNullStr(values.Value<string>("InspectedUser"));
 | |
|                         model.WorkInspectName = values.Value<string>("WorkInspectName");
 | |
|                         Funs.DB.SubmitChanges();
 | |
|                     }
 | |
|                 }
 | |
|                 if (subTrems != null) Funs.DB.FeedingRun_SubInspectTerm.InsertAllOnSubmit(subTrems);
 | |
|                 if (subTremItems.Count > 0) Funs.DB.FeedingRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems);
 | |
|                 Funs.DB.SubmitChanges();
 | |
|                 if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
 | |
|                 {
 | |
|                     subTrem.InspectionIsAllPass = 1;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     subTrem.InspectionIsAllPass = 0;
 | |
|                 }
 | |
|                 Funs.DB.SubmitChanges();
 | |
|                 ShowNotify("保存成功!");
 | |
|             }
 | |
|             catch (Exception ex)
 | |
|             {
 | |
|                 ShowNotify(ex.Message, MessageBoxIcon.Error);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 新增
 | |
|         /// </summary>
 | |
|         protected void btnAdd_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             this.hidRequestNodeID.Text = string.Empty;
 | |
|             PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidRequestNodeID.ClientID) + Window1.GetShowReference($"SubInspectTermEdit.aspx?TermItemId=&WorkInspectId=&InstallationId=" + this.tvControlItem.SelectedNodeID + "", "新增"));
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 修改
 | |
|         /// </summary>
 | |
|         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[4].ToString());
 | |
|             if (level == 1)
 | |
|             {
 | |
|                 Alert.ShowInTop("一级节点无法修改!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             var workInspectId = IsNullStr(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[1]);
 | |
|             var groupName = IsNullStr(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[3]);
 | |
|             var workInspectName = IsNullStr(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[6]);
 | |
|             this.hidRequestNodeID.Text = string.Empty;
 | |
|             PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidRequestNodeID.ClientID) + Window1.GetShowReference($"SubInspectTermEdit.aspx?TermItemId={Grid1.SelectedRowID}&WorkInspectId={workInspectId}&GroupName={groupName}&WorkInspectName={workInspectName}&InstallationId={this.tvControlItem.SelectedNodeID}", "编辑"));
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 右击新增
 | |
|         /// </summary>
 | |
|         protected void btnMenuParentAdd_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             btnAdd_Click(sender, e);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 右击修改
 | |
|         /// </summary>
 | |
|         protected void btnMenuModify_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             btnModify_Click(sender, e);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取集合
 | |
|         /// </summary>
 | |
|         private List<FeedingRun_SubInspectTermItemData> gvList()
 | |
|         {
 | |
|             List<FeedingRun_SubInspectTermItemData> list = new List<FeedingRun_SubInspectTermItemData>();
 | |
|             JArray mergedData = Grid1.GetMergedData();
 | |
|             foreach (JObject mergedRow in mergedData)
 | |
|             {
 | |
|                 string status = mergedRow.Value<string>("status");
 | |
|                 JObject values = mergedRow.Value<JObject>("values");
 | |
|                 int i = mergedRow.Value<int>("index");
 | |
|                 var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
 | |
|                 var workInspectId = IsNullStr(this.Grid1.Rows[i].DataKeys[1]);
 | |
|                 var subInspectId = IsNullStr(this.Grid1.Rows[i].DataKeys[2]);
 | |
|                 var groupName = IsNullStr(this.Grid1.Rows[i].DataKeys[3]);
 | |
|                 var level = IsNullStr(this.Grid1.Rows[i].DataKeys[4]);
 | |
|                 var parentId = IsNullStr(this.Grid1.Rows[i].DataKeys[5]);
 | |
|                 var groupSort = IsNullStr(this.Grid1.Rows[i].DataKeys[7]);
 | |
|                 var inspectionResults = IsNullStr(this.Grid1.Rows[i].DataKeys[8]);
 | |
|                 var inspectionIllustrate = IsNullStr(this.Grid1.Rows[i].DataKeys[9]);
 | |
| 
 | |
| 
 | |
|                 var model = new FeedingRun_SubInspectTermItemData();
 | |
|                 model.TermItemId = termItemId;
 | |
|                 model.SubInspectId = subInspectId;
 | |
|                 model.ProjectId = this.CurrUser.LoginProjectId;
 | |
|                 model.WorkInspectId = workInspectId;
 | |
|                 model.WorkInspectName = values.Value<string>("WorkInspectName");
 | |
|                 model.InstallationId = this.tvControlItem.SelectedNodeID;
 | |
|                 model.GroupName = groupName;
 | |
|                 model.GroupSort = !string.IsNullOrWhiteSpace(groupSort) ? int.Parse(groupSort) : 0;
 | |
|                 model.Level = !string.IsNullOrWhiteSpace(level) ? int.Parse(level) : 0;
 | |
|                 model.ParentId = parentId;
 | |
|                 model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value<string>("InspectedUser")) ? values.Value<string>("InspectedUser") : string.Empty;
 | |
|                 if (!string.IsNullOrWhiteSpace(inspectionResults))
 | |
|                 {
 | |
|                     model.InspectionResults = int.Parse(inspectionResults);
 | |
|                 }
 | |
|                 model.InspectionIllustrate = inspectionIllustrate;
 | |
|                 model.AddUser = this.CurrUser.UserId;
 | |
|                 model.AddTime = DateTime.Now;
 | |
|                 model.Sort = i + 1;
 | |
|                 list.Add(model);
 | |
|             }
 | |
|             return list;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 检测结果
 | |
|         /// </summary>
 | |
|         /// <returns></returns>
 | |
|         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;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 数据绑定实体
 | |
|         /// </summary>
 | |
|         public class FeedingRun_SubInspectTermItemData : FeedingRun_SubInspectTermItem
 | |
|         {
 | |
|             /// <summary>
 | |
|             /// 上级主键
 | |
|             /// </summary>
 | |
|             public string ParentId { get; set; }
 | |
|             /// <summary>
 | |
|             /// 分组排序
 | |
|             /// </summary>
 | |
|             public int GroupSort { get; set; }
 | |
|             /// <summary>
 | |
|             /// 级别
 | |
|             /// </summary>
 | |
|             public int Level { get; set; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 关闭
 | |
|         /// </summary>
 | |
|         protected void Window1_Close(object sender, WindowCloseEventArgs e)
 | |
|         {
 | |
|             if (!string.IsNullOrWhiteSpace(hidRequestNodeID.Text))
 | |
|             {
 | |
|                 var list = gvList();
 | |
|                 string termItemId = hidRequestNodeID.Text.Split('|')[0];
 | |
|                 string workInspectName = hidRequestNodeID.Text.Split('|')[1];
 | |
|                 string groupName = hidRequestNodeID.Text.Split('|')[2];
 | |
|                 string installationId = hidRequestNodeID.Text.Split('|')[3];
 | |
| 
 | |
|                 var model = new FeedingRun_SubInspectTermItemData();
 | |
|                 model.TermItemId = Guid.NewGuid().ToString();
 | |
|                 model.ParentId = groupName;
 | |
|                 model.ProjectId = this.CurrUser.LoginProjectId;
 | |
|                 model.WorkInspectId = string.Empty;
 | |
|                 model.WorkInspectName = workInspectName;
 | |
|                 model.GroupName = groupName;
 | |
|                 model.InstallationId = installationId;
 | |
|                 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);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 行加载事件
 | |
|         /// </summary>
 | |
|         protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
 | |
|         {
 | |
|             var level = int.Parse(this.Grid1.Rows[e.RowIndex].DataKeys[4].ToString());
 | |
|             RenderField InspectedUser = Grid1.FindColumn("InspectedUser") as RenderField;
 | |
|             if (level == 1)
 | |
|             {
 | |
|                 e.CellAttributes[InspectedUser.ColumnIndex]["data-color"] = "color";
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 字符串处理
 | |
|         /// </summary>
 | |
|         /// <returns></returns>
 | |
|         private string IsNullStr(object value)
 | |
|         {
 | |
|             var result = string.Empty;
 | |
|             if (value == null) return result;
 | |
|             return value.ToString();
 | |
|         }
 | |
| 
 | |
|     }
 | |
| } |