CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/TestRun/TestRunManage/SubInspectTerm.aspx.cs

777 lines
38 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
/// <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 = 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);
}
}
}
}
}
}
}
/// <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)
{
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();
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid(List<TestRun_SubInspectTermItemData> ulist = null)
{
var result = new List<TestRun_SubInspectTermItemData>();
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}" : "</br>" + $"{itemU.UserName}{itemU.InspectionResultsName}";
if (!string.IsNullOrWhiteSpace(itemU.InspectionIllustrate))
{
model.InspectionIllustrate += string.IsNullOrWhiteSpace(model.InspectionIllustrate) ? $"{itemU.UserName}{itemU.InspectionIllustrate}" : "</br>" + $"{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<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[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
/// <summary>
/// 保存
/// </summary>
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<TestRun_SubInspectTerm> subTrems = new List<TestRun_SubInspectTerm>();
List<TestRun_SubInspectTermItem> subTremItems = new List<TestRun_SubInspectTermItem>();
List<TestRun_TermItemInspectedUser> tremItemUsers = new List<TestRun_TermItemInspectedUser>();
var subTrem = Funs.DB.TestRun_SubInspectTerm.FirstOrDefault(x => x.SystemId == systemId && x.WorkPackId == workPackId);
var termItems = Funs.DB.TestRun_SubInspectTermItem.Where(x => x.SystemId == systemId && x.WorkPackId == workPackId).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<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 = 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<TestRun_SubInspectTermItem>();
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<string>("WorkInspectName");
model.InstallationId = sysModel.InstallationId;
model.ProcessesId = sysModel.ProcessesId;
model.SystemId = sysModel.PreRunId;
model.InspectedUser = values.Value<string>("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<string>("InspectedUser")) ? values.Value<string>("InspectedUser") : string.Empty;
model.WorkInspectName = values.Value<string>("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<string>("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);
}
}
/// <summary>
/// 新增
/// </summary>
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}", "新增"));
}
/// <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[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}", "编辑"));
}
/// <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<TestRun_SubInspectTermItemData> gvList()
{
List<TestRun_SubInspectTermItemData> list = new List<TestRun_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 = 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<string>("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<string>("InspectedUser")) ? values.Value<string>("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;
}
/// <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 TestRun_SubInspectTermItemData : TestRun_SubInspectTermItem
{
/// <summary>
/// 上级主键
/// </summary>
public string ParentId { get; set; }
/// <summary>
/// 分组排序
/// </summary>
public int GroupSort { get; set; }
/// <summary>
/// 级别
/// </summary>
public int Level { get; set; }
/// <summary>
/// 检查人检查结果
/// </summary>
public string UserInspectionResults { get; set; }
/// <summary>
/// 检查人检查说明
/// </summary>
public string InspectionIllustrate { 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 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);
}
}
/// <summary>
/// 行加载事件
/// </summary>
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";
}
}
}
}