684 lines
29 KiB
C#
684 lines
29 KiB
C#
using BLL;
|
|
using FineUIPro.Web.DataShow;
|
|
using FineUIPro.Web.ProjectData;
|
|
using Microsoft.Office.Interop.Word;
|
|
using Model;
|
|
using Newtonsoft.Json.Linq;
|
|
using NPOI.SS.Formula.Functions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices.ComTypes;
|
|
using System.Web;
|
|
using System.Web.Services.Description;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace FineUIPro.Web.TestRun.ProduceTestRun
|
|
{
|
|
public partial class RunningLogManagementEdit : PageBase
|
|
{
|
|
/// <summary>
|
|
/// 日志
|
|
/// </summary>
|
|
public string MainId { get { return (string)ViewState["MainId"]; } set { ViewState["MainId"] = value; } }
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.MainId = Request["MainId"];
|
|
PageBase();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 页面控件处理
|
|
/// </summary>
|
|
public void PageBase()
|
|
{
|
|
//获取系统
|
|
var alllist = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList();
|
|
if (alllist.Count > 0)
|
|
{
|
|
var engineeringModel = alllist.FirstOrDefault(x => x.PreRunLevel == 1 && x.PreRunName.Trim() == "公用工程");
|
|
if (engineeringModel != null)
|
|
{
|
|
var engsyslist = alllist.Where(x => x.PreRunLevel == 3 && x.InstallationId == engineeringModel.PreRunId).ToList();
|
|
if (engsyslist.Count > 0)
|
|
{
|
|
int i = 0;
|
|
ListItem[] list = new ListItem[engsyslist.Count];
|
|
foreach (var item in engsyslist)
|
|
{
|
|
list[i] = new ListItem(item.PreRunName, item.PreRunId);
|
|
i++;
|
|
}
|
|
this.rdbEngineeringOperation.DataSource = list;
|
|
this.rdbEngineeringOperation.DataBind();
|
|
}
|
|
}
|
|
|
|
var deviceModel = alllist.FirstOrDefault(x => x.PreRunLevel == 1 && x.PreRunName.Trim() == "工艺装置");
|
|
if (deviceModel != null)
|
|
{
|
|
var devicesyslist = alllist.Where(x => x.PreRunLevel == 3 && x.InstallationId == deviceModel.PreRunId).ToList();
|
|
if (devicesyslist.Count > 0)
|
|
{
|
|
int i = 0;
|
|
ListItem[] list = new ListItem[devicesyslist.Count];
|
|
foreach (var item in devicesyslist)
|
|
{
|
|
list[i] = new ListItem(item.PreRunName, item.PreRunId);
|
|
i++;
|
|
}
|
|
this.rdbDeviceOption.DataSource = list;
|
|
this.rdbDeviceOption.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 users = userList.ToList();
|
|
if (addUserList.Count() > 0)
|
|
{
|
|
users.AddRange(addUserList);
|
|
}
|
|
//轮班职工
|
|
ddlShiftUser.DataTextField = "UserName";
|
|
ddlShiftUser.DataValueField = "UserId";
|
|
ddlShiftUser.DataSource = users;
|
|
ddlShiftUser.DataBind();
|
|
ddlShiftUser.SelectedValue = this.CurrUser.UserId;
|
|
//继任职工
|
|
ddlSuccessionUser.DataTextField = "UserName";
|
|
ddlSuccessionUser.DataValueField = "UserId";
|
|
ddlSuccessionUser.DataSource = users;
|
|
ddlSuccessionUser.DataBind();
|
|
ddlSuccessionUser.SelectedValue = this.CurrUser.UserId;
|
|
var mainModel = Funs.DB.Running_LogMain.FirstOrDefault(x => x.MainId == this.MainId);
|
|
if (mainModel != null)
|
|
{
|
|
var managements = Funs.DB.Running_LogManagement.Where(x => x.MainId == this.MainId).ToList();
|
|
var manaModel = managements.FirstOrDefault();
|
|
var options = managements.ConvertAll(x => x.SystemId);
|
|
txtJobNo.Text = mainModel.JobNo;
|
|
ddlShiftUser.SelectedValue = manaModel.ShiftUser;
|
|
ddlSuccessionUser.SelectedValue = manaModel.SuccessionUser;
|
|
txtStartData.Text = mainModel.StartData.Value.ToString("yyyy-MM-dd HH:mm:ss");
|
|
txtEndData.Text = mainModel.EndData.Value.ToString("yyyy-MM-dd HH:mm:ss");
|
|
txtHandoverCare.Text = manaModel.HandoverCare;
|
|
|
|
|
|
rdbEngineeringOperation.SelectedValueArray = options.ToArray();
|
|
EngineeringDataBrid();
|
|
rdbDeviceOption.SelectedValueArray = options.ToArray();
|
|
DriveDataBrid();
|
|
|
|
gvOperationBrid();
|
|
gvMaintenanceBrid();
|
|
}
|
|
else
|
|
{
|
|
txtJobNo.Text = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.Running_LogManagement", "JobNo", "13022-PS81-");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 公用工程选择项
|
|
/// </summary>
|
|
protected void rdbEngineeringOperation_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
var alllist = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList();
|
|
if (alllist.Count == 0) return;
|
|
var engineeringModel = alllist.FirstOrDefault(x => x.PreRunLevel == 1 && x.PreRunName.Trim() == "公用工程");
|
|
if (engineeringModel == null) return;
|
|
var engsyslist = alllist.Where(x => x.PreRunLevel == 3 && x.InstallationId == engineeringModel.PreRunId).ToList();
|
|
if (engsyslist.Count == 0) return;
|
|
|
|
var rdbIdArr = rdbEngineeringOperation.SelectedItemArray;
|
|
var list = gvEngineeringSystemOptionLs();
|
|
foreach (var item in rdbIdArr)
|
|
{
|
|
if (list.Count(x => x.SystemId == item.Value) > 0) continue;
|
|
var itemsys = engsyslist.FirstOrDefault(x => x.PreRunId == item.Value);
|
|
list.Add(new Running_LogManagementDto
|
|
{
|
|
RunningId = Guid.NewGuid().ToString(),
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
InstallationId = itemsys.InstallationId,
|
|
ProcessesId = itemsys.ProcessesId,
|
|
SystemId = itemsys.SystemId,
|
|
SystemName = itemsys.PreRunName,
|
|
Situation = "",
|
|
Remarks = "",
|
|
AddUser = CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
});
|
|
}
|
|
list.RemoveAll(r => !rdbEngineeringOperation.SelectedValueArray.Contains(r.SystemId));
|
|
EngineeringDataBrid(list);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 工艺装置选择项
|
|
/// </summary>
|
|
protected void rdbDeviceOption_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
var alllist = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList();
|
|
if (alllist.Count == 0) return;
|
|
var deviceModel = alllist.FirstOrDefault(x => x.PreRunLevel == 1 && x.PreRunName.Trim() == "工艺装置");
|
|
if (deviceModel == null) return;
|
|
var drivesyslist = alllist.Where(x => x.PreRunLevel == 3 && x.InstallationId == deviceModel.PreRunId).ToList();
|
|
if (drivesyslist.Count == 0) return;
|
|
|
|
var rdbIdArr = rdbDeviceOption.SelectedItemArray;
|
|
var list = gvDeviceSystemOptionLs();
|
|
foreach (var item in rdbIdArr)
|
|
{
|
|
if (list.Count(x => x.SystemId == item.Value) > 0) continue;
|
|
var itemsys = drivesyslist.FirstOrDefault(x => x.PreRunId == item.Value);
|
|
list.Add(new Running_LogManagementDto
|
|
{
|
|
RunningId = Guid.NewGuid().ToString(),
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
InstallationId = itemsys.InstallationId,
|
|
ProcessesId = itemsys.ProcessesId,
|
|
SystemId = itemsys.SystemId,
|
|
SystemName = itemsys.PreRunName,
|
|
Situation = "",
|
|
Remarks = "",
|
|
AddUser = CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
});
|
|
}
|
|
list.RemoveAll(r => !rdbDeviceOption.SelectedValueArray.Contains(r.SystemId));
|
|
DriveDataBrid(list);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存
|
|
/// </summary>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
List<Running_LogManagementDto> list = new List<Running_LogManagementDto>();
|
|
if (string.IsNullOrWhiteSpace(ddlShiftUser.SelectedValue))
|
|
{
|
|
ShowNotify("请选择轮班职工!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
if (string.IsNullOrWhiteSpace(ddlSuccessionUser.SelectedValue))
|
|
{
|
|
ShowNotify("请选择继任职工!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
var englist = gvEngineeringSystemOptionLs();
|
|
if (englist.Count > 0) list.AddRange(englist);
|
|
var devlist = gvDeviceSystemOptionLs();
|
|
if (devlist.Count > 0) list.AddRange(devlist);
|
|
if (list.Count == 0)
|
|
{
|
|
ShowNotify("请选择公用工程或工艺装置的系统!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
var optionlist = gvOperationLs();
|
|
if (optionlist.Count == 0)
|
|
{
|
|
ShowNotify("请添加操作问题!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
var maintenancelist = gvMaintenanceLs();
|
|
if (maintenancelist.Count == 0)
|
|
{
|
|
ShowNotify("请添加维护问题!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
var main = Funs.DB.Running_LogMain.FirstOrDefault(x => x.MainId == this.MainId);
|
|
var addlist = new List<Running_LogManagement>();
|
|
var addoptionlist = new List<Running_Operation>();
|
|
var addmaintenancelist = new List<Running_Maintenance>();
|
|
//删除系统日志记录
|
|
var deleteRunnings = Funs.DB.Running_LogManagement.Where(x => x.MainId == this.MainId);
|
|
if (deleteRunnings.Count() > 0)
|
|
{
|
|
Funs.DB.Running_LogManagement.DeleteAllOnSubmit(deleteRunnings);
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
bool add = false;
|
|
if (main == null)
|
|
{
|
|
add = true;
|
|
main = new Running_LogMain();
|
|
main.MainId = Guid.NewGuid().ToString();
|
|
main.AddUser = this.CurrUser.UserId;
|
|
main.AddTime = DateTime.Now;
|
|
}
|
|
main.ProjectId = this.CurrUser.LoginProjectId;
|
|
main.JobNo = txtJobNo.Text;
|
|
main.ShiftType = ddlShiftType.SelectedValue;
|
|
main.StartData = DateTime.Parse(txtStartData.Text);
|
|
main.EndData = DateTime.Parse(txtEndData.Text);
|
|
if (add) Funs.DB.Running_LogMain.InsertOnSubmit(main);
|
|
//子系统
|
|
foreach (var item in list)
|
|
{
|
|
var model = new Running_LogManagement();
|
|
model.RunningId = Guid.NewGuid().ToString();
|
|
model.ProjectId = this.CurrUser.LoginProjectId;
|
|
model.MainId = main.MainId;
|
|
model.InstallationId = item.InstallationId;
|
|
model.ProcessesId = item.ProcessesId;
|
|
model.SystemId = item.SystemId;
|
|
model.JobNo = txtJobNo.Text;
|
|
model.HandoverCare = txtHandoverCare.Text;
|
|
model.ShiftType = ddlShiftType.SelectedValue;
|
|
model.ShiftUser = ddlShiftUser.SelectedValue;
|
|
model.SuccessionUser = ddlSuccessionUser.SelectedValue;
|
|
model.StartData = DateTime.Parse(txtStartData.Text);
|
|
model.EndData = DateTime.Parse(txtEndData.Text);
|
|
model.Situation = item.Situation;
|
|
model.Remarks = item.Remarks;
|
|
model.AddUser = this.CurrUser.UserId;
|
|
model.AddTime = DateTime.Now;
|
|
model.Sort = item.Sort;
|
|
addlist.Add(model);
|
|
}
|
|
//操作问题
|
|
foreach (var itemoption in optionlist)
|
|
{
|
|
addoptionlist.Add(new Running_Operation()
|
|
{
|
|
OperationId = Guid.NewGuid().ToString(),
|
|
MainId = main.MainId,
|
|
OperationReason = itemoption.OperationReason,
|
|
OperationHandle = itemoption.OperationHandle,
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
AddUser = this.CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
});
|
|
}
|
|
//维护问题
|
|
foreach (var itemmain in maintenancelist)
|
|
{
|
|
addmaintenancelist.Add(new Running_Maintenance()
|
|
{
|
|
MaintenanceId = Guid.NewGuid().ToString(),
|
|
MainId = main.MainId,
|
|
MaintenanceReason = itemmain.MaintenanceReason,
|
|
MaintenanceHandle = itemmain.MaintenanceHandle,
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
AddUser = this.CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
});
|
|
}
|
|
|
|
|
|
if (addlist.Count > 0) Funs.DB.Running_LogManagement.InsertAllOnSubmit(addlist);
|
|
|
|
var deleteOperas = Funs.DB.Running_Operation.Where(x => x.MainId == this.MainId).ToList();
|
|
if (deleteOperas.Count > 0)
|
|
{
|
|
Funs.DB.Running_Operation.DeleteAllOnSubmit(deleteOperas);
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
var deleteMaints = Funs.DB.Running_Maintenance.Where(x => x.MainId == this.MainId).ToList();
|
|
if (deleteMaints.Count > 0)
|
|
{
|
|
Funs.DB.Running_Maintenance.DeleteAllOnSubmit(deleteMaints);
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
Funs.DB.Running_Operation.InsertAllOnSubmit(addoptionlist);
|
|
Funs.DB.Running_Maintenance.InsertAllOnSubmit(addmaintenancelist);
|
|
Funs.DB.SubmitChanges();
|
|
|
|
ShowNotify("操作成功!", MessageBoxIcon.Success);
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 公用工程日志管理绑定
|
|
/// </summary>
|
|
public void EngineeringDataBrid(List<Running_LogManagementDto> list = null)
|
|
{
|
|
var engineeringModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && x.PreRunName.Trim() == "公用工程");
|
|
if (engineeringModel == null)
|
|
{
|
|
list = new List<Running_LogManagementDto>();
|
|
gvEngineeringOption.DataSource = list;
|
|
gvEngineeringOption.DataBind();
|
|
return;
|
|
}
|
|
if (list == null)
|
|
{
|
|
list = new List<Running_LogManagementDto>();
|
|
var query = from a in Funs.DB.Running_LogManagement
|
|
join b in Funs.DB.PreRun_SysDevice on a.SystemId equals b.PreRunId
|
|
where a.MainId == this.MainId && a.InstallationId == engineeringModel.PreRunId
|
|
orderby a.Sort ascending
|
|
select new Running_LogManagementDto
|
|
{
|
|
RunningId = a.RunningId,
|
|
ProjectId = a.ProjectId,
|
|
InstallationId = a.InstallationId,
|
|
ProcessesId = a.ProcessesId,
|
|
SystemId = a.SystemId,
|
|
SystemName = b.PreRunName,
|
|
JobNo = a.JobNo,
|
|
ShiftType = a.ShiftType,
|
|
ShiftUser = a.ShiftUser,
|
|
SuccessionUser = a.SuccessionUser,
|
|
StartData = a.StartData,
|
|
EndData = a.EndData,
|
|
Situation = a.Situation,
|
|
Remarks = a.Remarks,
|
|
HandoverCare = a.HandoverCare,
|
|
AddUser = a.AddUser,
|
|
AddTime = a.AddTime
|
|
};
|
|
|
|
var data = query.ToList();
|
|
if (data.Count > 0) list.AddRange(data);
|
|
}
|
|
gvEngineeringOption.DataSource = list;
|
|
gvEngineeringOption.DataBind();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取公用工程绑定集合
|
|
/// </summary>
|
|
private List<Running_LogManagementDto> gvEngineeringSystemOptionLs()
|
|
{
|
|
List<Running_LogManagementDto> massQuestionLs = new List<Running_LogManagementDto>();
|
|
JArray mergedData = gvEngineeringOption.GetMergedData();
|
|
foreach (JObject mergedRow in mergedData)
|
|
{
|
|
string status = mergedRow.Value<string>("status");
|
|
JObject values = mergedRow.Value<JObject>("values");
|
|
int i = mergedRow.Value<int>("index");
|
|
massQuestionLs.Add(new Running_LogManagementDto
|
|
{
|
|
RunningId = this.gvEngineeringOption.Rows[i].DataKeys[0].ToString(),
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
InstallationId = this.gvEngineeringOption.Rows[i].DataKeys[1].ToString(),
|
|
ProcessesId = this.gvEngineeringOption.Rows[i].DataKeys[2].ToString(),
|
|
SystemId = this.gvEngineeringOption.Rows[i].DataKeys[3].ToString(),
|
|
SystemName = this.gvEngineeringOption.Rows[i].DataKeys[4].ToString(),
|
|
Situation = values.Value<string>("Situation"),
|
|
Remarks = values.Value<string>("Remarks"),
|
|
AddUser = CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
Sort = i + 1
|
|
});
|
|
}
|
|
return massQuestionLs;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 工艺装置日志管理绑定
|
|
/// </summary>
|
|
public void DriveDataBrid(List<Running_LogManagementDto> list = null)
|
|
{
|
|
var deviceModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && x.PreRunName.Trim() == "工艺装置");
|
|
if (deviceModel == null)
|
|
{
|
|
list = new List<Running_LogManagementDto>();
|
|
gvDeviceOption.DataSource = list;
|
|
gvDeviceOption.DataBind();
|
|
return;
|
|
}
|
|
if (list == null)
|
|
{
|
|
list = new List<Running_LogManagementDto>();
|
|
var query = from a in Funs.DB.Running_LogManagement
|
|
join b in Funs.DB.PreRun_SysDevice on a.SystemId equals b.PreRunId
|
|
where a.MainId == this.MainId && a.InstallationId == deviceModel.PreRunId
|
|
orderby a.Sort ascending
|
|
select new Running_LogManagementDto
|
|
{
|
|
RunningId = a.RunningId,
|
|
ProjectId = a.ProjectId,
|
|
InstallationId = a.InstallationId,
|
|
ProcessesId = a.ProcessesId,
|
|
SystemId = a.SystemId,
|
|
SystemName = b.PreRunName,
|
|
JobNo = a.JobNo,
|
|
ShiftType = a.ShiftType,
|
|
ShiftUser = a.ShiftUser,
|
|
SuccessionUser = a.SuccessionUser,
|
|
StartData = a.StartData,
|
|
EndData = a.EndData,
|
|
Situation = a.Situation,
|
|
Remarks = a.Remarks,
|
|
HandoverCare = a.HandoverCare,
|
|
AddUser = a.AddUser,
|
|
AddTime = a.AddTime,
|
|
Sort = a.Sort
|
|
};
|
|
|
|
var data = query.ToList();
|
|
if (data.Count > 0) list.AddRange(data);
|
|
}
|
|
gvDeviceOption.DataSource = list;
|
|
gvDeviceOption.DataBind();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取工艺装置绑定集合
|
|
/// </summary>
|
|
private List<Running_LogManagementDto> gvDeviceSystemOptionLs()
|
|
{
|
|
List<Running_LogManagementDto> massQuestionLs = new List<Running_LogManagementDto>();
|
|
JArray mergedData = gvDeviceOption.GetMergedData();
|
|
foreach (JObject mergedRow in mergedData)
|
|
{
|
|
string status = mergedRow.Value<string>("status");
|
|
JObject values = mergedRow.Value<JObject>("values");
|
|
int i = mergedRow.Value<int>("index");
|
|
massQuestionLs.Add(new Running_LogManagementDto
|
|
{
|
|
RunningId = this.gvDeviceOption.Rows[i].DataKeys[0].ToString(),
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
InstallationId = this.gvDeviceOption.Rows[i].DataKeys[1].ToString(),
|
|
ProcessesId = this.gvDeviceOption.Rows[i].DataKeys[2].ToString(),
|
|
SystemId = this.gvDeviceOption.Rows[i].DataKeys[3].ToString(),
|
|
SystemName = this.gvDeviceOption.Rows[i].DataKeys[4].ToString(),
|
|
Situation = values.Value<string>("Situation"),
|
|
Remarks = values.Value<string>("Remarks"),
|
|
AddUser = CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
Sort = i + 1
|
|
});
|
|
}
|
|
return massQuestionLs;
|
|
}
|
|
|
|
public class Running_LogManagementDto : Running_LogManagement
|
|
{
|
|
public string SystemName { get; set; }
|
|
}
|
|
|
|
#region 操作问题
|
|
|
|
/// <summary>
|
|
/// 操作问题绑定
|
|
/// </summary>
|
|
public void gvOperationBrid()
|
|
{
|
|
var query = from a in Funs.DB.Running_Operation join b in Funs.DB.Running_LogMain on a.MainId equals b.MainId select a;
|
|
var list = query.ToList();
|
|
gvOperation.DataSource = list;
|
|
gvOperation.DataBind();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 操作问题集合
|
|
/// </summary>
|
|
private List<Running_Operation> gvOperationLs()
|
|
{
|
|
List<Running_Operation> massQuestionLs = new List<Running_Operation>();
|
|
JArray mergedData = gvOperation.GetMergedData();
|
|
foreach (JObject mergedRow in mergedData)
|
|
{
|
|
string status = mergedRow.Value<string>("status");
|
|
JObject values = mergedRow.Value<JObject>("values");
|
|
int i = mergedRow.Value<int>("index");
|
|
massQuestionLs.Add(new Running_Operation
|
|
{
|
|
OperationId = IsStrVal(this.gvOperation.Rows[i].DataKeys[0]),
|
|
MainId = IsStrVal(this.gvOperation.Rows[i].DataKeys[1]),
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
OperationReason = values.Value<string>("OperationReason"),
|
|
OperationHandle = values.Value<string>("OperationHandle"),
|
|
AddUser = CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
Sort = i
|
|
});
|
|
}
|
|
return massQuestionLs;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 维护问题删除
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void gvOperation_RowCommand(object sender, GridCommandEventArgs e)
|
|
{
|
|
if (e.CommandName == "Delete")
|
|
{
|
|
string rowID = e.RowID;
|
|
var model = Funs.DB.Running_Operation.FirstOrDefault(p => p.OperationId == rowID);
|
|
if (model != null)
|
|
{
|
|
Funs.DB.Running_Operation.DeleteOnSubmit(model);
|
|
Funs.DB.SubmitChanges();
|
|
gvOperationBrid();
|
|
ShowNotify("删除成功!");
|
|
}
|
|
else
|
|
{
|
|
var list = gvOperationLs();
|
|
list.RemoveAll(x => x.OperationId == rowID);
|
|
gvOperation.DataSource = list;
|
|
gvOperation.DataBind();
|
|
ShowNotify("删除成功!");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增
|
|
/// </summary>
|
|
protected void btnOperationAdd_Click(object sender, EventArgs e)
|
|
{
|
|
var list = gvOperationLs();
|
|
Running_Operation model = new Running_Operation
|
|
{
|
|
OperationId = Guid.NewGuid().ToString()
|
|
};
|
|
list.Add(model);
|
|
this.gvOperation.DataSource = list;
|
|
this.gvOperation.DataBind();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 维护问题
|
|
|
|
/// <summary>
|
|
/// 维护问题绑定
|
|
/// </summary>
|
|
public void gvMaintenanceBrid()
|
|
{
|
|
var query = from a in Funs.DB.Running_Maintenance join b in Funs.DB.Running_LogMain on a.MainId equals b.MainId select a;
|
|
var list = query.ToList();
|
|
gvMaintenance.DataSource = list;
|
|
gvMaintenance.DataBind();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 维护问题集合
|
|
/// </summary>
|
|
private List<Running_Maintenance> gvMaintenanceLs()
|
|
{
|
|
List<Running_Maintenance> massQuestionLs = new List<Running_Maintenance>();
|
|
JArray mergedData = gvMaintenance.GetMergedData();
|
|
foreach (JObject mergedRow in mergedData)
|
|
{
|
|
string status = mergedRow.Value<string>("status");
|
|
JObject values = mergedRow.Value<JObject>("values");
|
|
int i = mergedRow.Value<int>("index");
|
|
massQuestionLs.Add(new Running_Maintenance
|
|
{
|
|
MaintenanceId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[0]),
|
|
MainId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[1]),
|
|
ProjectId = this.CurrUser.LoginProjectId,
|
|
MaintenanceReason = values.Value<string>("MaintenanceReason"),
|
|
MaintenanceHandle = values.Value<string>("MaintenanceHandle"),
|
|
AddUser = CurrUser.UserId,
|
|
AddTime = DateTime.Now,
|
|
Sort = i
|
|
});
|
|
}
|
|
return massQuestionLs;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 维护问题删除
|
|
/// </summary>
|
|
protected void gvMaintenance_RowCommand(object sender, GridCommandEventArgs e)
|
|
{
|
|
if (e.CommandName == "Delete")
|
|
{
|
|
string rowID = e.RowID;
|
|
var model = Funs.DB.Running_Maintenance.FirstOrDefault(p => p.MaintenanceId == rowID);
|
|
if (model != null)
|
|
{
|
|
Funs.DB.Running_Maintenance.DeleteOnSubmit(model);
|
|
Funs.DB.SubmitChanges();
|
|
gvMaintenanceBrid();
|
|
ShowNotify("删除成功!");
|
|
}
|
|
else
|
|
{
|
|
var list = gvMaintenanceLs();
|
|
list.RemoveAll(x => x.MaintenanceId == rowID);
|
|
gvMaintenance.DataSource = list;
|
|
gvMaintenance.DataBind();
|
|
ShowNotify("删除成功!");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增
|
|
/// </summary>
|
|
protected void btnMaintenanceAdd_Click(object sender, EventArgs e)
|
|
{
|
|
var list = gvMaintenanceLs();
|
|
Running_Maintenance model = new Running_Maintenance
|
|
{
|
|
MaintenanceId = Guid.NewGuid().ToString()
|
|
};
|
|
list.Add(model);
|
|
this.gvMaintenance.DataSource = list;
|
|
this.gvMaintenance.DataBind();
|
|
}
|
|
|
|
#endregion
|
|
|
|
public string IsStrVal(object value)
|
|
{
|
|
var result = string.Empty;
|
|
if (value != null) result = value.ToString();
|
|
return result;
|
|
}
|
|
|
|
}
|
|
} |