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;
 | |
|         }
 | |
| 
 | |
|     }
 | |
| } |