374 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			374 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Data; | |||
|  | using System.Data.SqlClient; | |||
|  | using System.Linq; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.HSSE.Emergency | |||
|  | { | |||
|  |     public partial class EmergencyProcessEdit : PageBase | |||
|  |     { | |||
|  |         #region 定义项 | |||
|  |         /// <summary> | |||
|  |         /// 主键 | |||
|  |         /// </summary> | |||
|  |         public string EmergencyProcessId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["EmergencyProcessId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["EmergencyProcessId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 项目主键 | |||
|  |         /// </summary> | |||
|  |         public string ProjectId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["ProjectId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["ProjectId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 加载 | |||
|  |         /// <summary> | |||
|  |         /// 加载页面 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 this.GetButtonPower(); | |||
|  |                 this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); | |||
|  |                 this.EmergencyProcessId = Request.Params["EmergencyProcessId"]; | |||
|  |                 if (!string.IsNullOrEmpty(this.EmergencyProcessId)) | |||
|  |                 { | |||
|  |                     var EmergencyProcess = Funs.DB.Emergency_EmergencyProcess.FirstOrDefault(x => x.EmergencyProcessId == this.EmergencyProcessId); | |||
|  |                     if (EmergencyProcess != null) | |||
|  |                     { | |||
|  |                         this.txtProcessSteps.Text = EmergencyProcess.ProcessSteps; | |||
|  |                         this.txtProcessName.Text = EmergencyProcess.ProcessName; | |||
|  |                         this.txtStepOperator.Text = EmergencyProcess.StepOperator; | |||
|  |                         //this.txtRemark.Text = EmergencyProcess.Remark; | |||
|  |                         if (EmergencyProcess.ProcessSteps == "0") | |||
|  |                         { | |||
|  |                             this.State1.Hidden = false; | |||
|  |                             this.State2.Hidden = true; | |||
|  |                             this.State2Person.Hidden = true; | |||
|  |                             BindGrid(); | |||
|  |                         } | |||
|  |                         else | |||
|  |                         { | |||
|  |                             EmergencyTeamAndTrainService.InitTeamDropDownList(drpTeam, this.CurrUser.LoginProjectId, true); | |||
|  |                             if (!string.IsNullOrEmpty(EmergencyProcess.ProcessTeam)) | |||
|  |                             { | |||
|  |                                 this.drpTeam.SelectedValueArray = EmergencyProcess.ProcessTeam.Split(','); | |||
|  |                                 string Users = string.Empty; | |||
|  |                                 string[] array = this.drpTeam.SelectedValueArray; | |||
|  |                                 List<string> str = new List<string>(); | |||
|  |                                 foreach (var item in array) | |||
|  |                                 { | |||
|  |                                     if (item != BLL.Const._Null) | |||
|  |                                     { | |||
|  |                                         var TeamItem = (from x in Funs.DB.Emergency_EmergencyTeamItem where x.FileId == item select x).ToList(); | |||
|  |                                         foreach (var teams in TeamItem) | |||
|  |                                         { | |||
|  |                                             Users += PersonService.GetPersonNameById(teams.PersonId) + ","; | |||
|  |                                         } | |||
|  |                                     } | |||
|  |                                 } | |||
|  |                                 if (!string.IsNullOrEmpty(Users)) | |||
|  |                                 { | |||
|  |                                     txtUser.Text = Users.Substring(0, Users.LastIndexOf(",")); | |||
|  |                                 } | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         private void BindGrid() | |||
|  |         { | |||
|  |             string strSql = @"select * from Emergency_EmergencyProcessItem where EmergencyProcessId=@EmergencyProcessId"; | |||
|  |             List<SqlParameter> listStr = new List<SqlParameter>(); | |||
|  |             listStr.Add(new SqlParameter("@EmergencyProcessId", this.EmergencyProcessId)); | |||
|  |             SqlParameter[] parameter = listStr.ToArray(); | |||
|  |             DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); | |||
|  |             Grid1.RecordCount = tb.Rows.Count; | |||
|  |             tb = GetFilteredTable(Grid1.FilteredData, tb); | |||
|  |             var table = this.GetPagedDataTable(Grid1, tb); | |||
|  |             Grid1.DataSource = table; | |||
|  |             Grid1.DataBind(); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 保存 | |||
|  |         /// <summary> | |||
|  |         /// 保存按钮 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSave_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             this.SaveData(); | |||
|  |             PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 保存数据 | |||
|  |         /// </summary> | |||
|  |         /// <param name="type"></param> | |||
|  |         void SaveData() | |||
|  |         { | |||
|  |             var EmergencyProcess = Funs.DB.Emergency_EmergencyProcess.FirstOrDefault(x => x.EmergencyProcessId == this.EmergencyProcessId); | |||
|  |             if (EmergencyProcess != null) | |||
|  |             { | |||
|  | 
 | |||
|  |                 EmergencyProcess.ProcessName = this.txtProcessName.Text.Trim(); | |||
|  |                 EmergencyProcess.StepOperator = this.txtStepOperator.Text.Trim(); | |||
|  |                 //EmergencyProcess.Remark = this.txtRemark.Text.Trim(); | |||
|  |                 //队伍 | |||
|  |                 EmergencyProcess.ProcessTeam = Funs.GetStringByArray(this.drpTeam.SelectedValueArray); | |||
|  |                 Funs.DB.SubmitChanges(); | |||
|  |                 if (EmergencyProcess.ProcessSteps == "0") | |||
|  |                 { | |||
|  |                     var getViewList = this.CollectGridInfo(); | |||
|  |                     foreach (var item in getViewList) | |||
|  |                     { | |||
|  |                         var ProcessItem = Funs.DB.Emergency_EmergencyProcessItem.FirstOrDefault(x => x.EmergencyProcessItemId == item.EmergencyProcessItemId); | |||
|  |                         if (ProcessItem != null) | |||
|  |                         { | |||
|  |                             ProcessItem.Content = item.Content; | |||
|  |                             ProcessItem.SortId = item.SortId; | |||
|  |                             Funs.DB.SubmitChanges(); | |||
|  |                         } | |||
|  |                         else | |||
|  |                         { | |||
|  |                             Model.Emergency_EmergencyProcessItem newItem = new Model.Emergency_EmergencyProcessItem | |||
|  |                             { | |||
|  |                                 EmergencyProcessItemId = item.EmergencyProcessItemId, | |||
|  |                                 EmergencyProcessId = this.EmergencyProcessId, | |||
|  |                                 Content = item.Content, | |||
|  |                                 SortId = item.SortId, | |||
|  |                             }; | |||
|  |                             Funs.DB.Emergency_EmergencyProcessItem.InsertOnSubmit(newItem); | |||
|  |                             Funs.DB.SubmitChanges(); | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         //private string GetStringByArray(string[] array) | |||
|  |         //{ | |||
|  |         //    string str = string.Empty; | |||
|  |         //    foreach (var item in array) | |||
|  |         //    { | |||
|  |         //        if (item != BLL.Const._Null) | |||
|  |         //        { | |||
|  |         //            str += item + ","; | |||
|  |         //        } | |||
|  |         //    } | |||
|  |         //    if (!string.IsNullOrEmpty(str)) | |||
|  |         //    { | |||
|  |         //        str = str.Substring(0, str.LastIndexOf(",")); | |||
|  |         //    } | |||
|  |         //    return str; | |||
|  |         //} | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 获取按钮权限 | |||
|  |         /// <summary> | |||
|  |         /// 获取按钮权限 | |||
|  |         /// </summary> | |||
|  |         /// <param name="button"></param> | |||
|  |         /// <returns></returns> | |||
|  |         void GetButtonPower() | |||
|  |         { | |||
|  |             if (Request.Params["value"] == "0") | |||
|  |             { | |||
|  |                 return; | |||
|  |             } | |||
|  |             var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectEmergencyProcessMenuId); | |||
|  |             if (buttonList.Count() > 0) | |||
|  |             { | |||
|  |                 if (buttonList.Contains(BLL.Const.BtnModify)) | |||
|  |                 { | |||
|  |                     this.btnSave.Hidden = false; | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 确定按钮 | |||
|  |         /// <summary> | |||
|  |         /// 确定按钮 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSure_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             var getViewList = this.CollectGridInfo(); | |||
|  |             getViewList = getViewList.Where(x => x.EmergencyProcessItemId != this.hdEmergencyProcessId.Text).ToList(); | |||
|  |             Model.Emergency_EmergencyProcessItem newView = new Model.Emergency_EmergencyProcessItem | |||
|  |             { | |||
|  |                 EmergencyProcessItemId = SQLHelper.GetNewID(), | |||
|  |                 EmergencyProcessId = this.EmergencyProcessId, | |||
|  |                 Content = this.txtContent.Text, | |||
|  |                 SortId=this.txtSortId.Text, | |||
|  |             }; | |||
|  |             getViewList.Add(newView); | |||
|  |              | |||
|  |             this.Grid1.DataSource = getViewList; | |||
|  |             this.Grid1.DataBind(); | |||
|  |             this.InitText(); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 收集页面信息 | |||
|  |         /// <summary> | |||
|  |         ///  收集页面信息 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         private List<Model.Emergency_EmergencyProcessItem> CollectGridInfo() | |||
|  |         { | |||
|  |             List<Model.Emergency_EmergencyProcessItem> getViewList = new List<Model.Emergency_EmergencyProcessItem>(); | |||
|  |             for (int i = 0; i < Grid1.Rows.Count; i++) | |||
|  |             { | |||
|  |                 Model.Emergency_EmergencyProcessItem newView = new Model.Emergency_EmergencyProcessItem | |||
|  |                 { | |||
|  |                     EmergencyProcessItemId = Grid1.Rows[i].DataKeys[0].ToString(), | |||
|  |                     EmergencyProcessId = this.EmergencyProcessId, | |||
|  |                     Content = Grid1.Rows[i].Values[1].ToString(), | |||
|  |                     SortId = Grid1.Rows[i].Values[0].ToString(), | |||
|  |                 }; | |||
|  |                 getViewList.Add(newView); | |||
|  |             } | |||
|  | 
 | |||
|  |             return getViewList; | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 页面清空 | |||
|  |         /// <summary> | |||
|  |         /// 页面清空 | |||
|  |         /// </summary> | |||
|  |         private void InitText() | |||
|  |         { | |||
|  |             this.hdEmergencyProcessId.Text = string.Empty; | |||
|  |             this.txtContent.Text = string.Empty; | |||
|  |             this.txtSortId.Text = string.Empty; | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Grid 操作事件 | |||
|  |         /// <summary> | |||
|  |         /// 双击 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) | |||
|  |         { | |||
|  |             this.EditData(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 编辑 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnMenuEdit_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             this.EditData(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 编辑事件 | |||
|  |         /// </summary> | |||
|  |         private void EditData() | |||
|  |         { | |||
|  |             if (Grid1.SelectedRowIndexArray.Length == 0) | |||
|  |             { | |||
|  |                 Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning); | |||
|  |                 return; | |||
|  |             } | |||
|  |             var getViewList = this.CollectGridInfo(); | |||
|  |             var item = getViewList.FirstOrDefault(x => x.EmergencyProcessItemId == Grid1.SelectedRowID); | |||
|  |             if (item != null) | |||
|  |             { | |||
|  |                 this.hdEmergencyProcessId.Text = item.EmergencyProcessItemId; | |||
|  |                 this.txtContent.Text = item.Content; | |||
|  |                 this.txtSortId.Text = item.SortId; | |||
|  |             } | |||
|  |              | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  删除 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnMenuDelete_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (Grid1.SelectedRowIndexArray.Length > 0) | |||
|  |             { | |||
|  |                 var getViewList = this.CollectGridInfo(); | |||
|  |                 foreach (int rowIndex in Grid1.SelectedRowIndexArray) | |||
|  |                 { | |||
|  |                     string rowID = Grid1.DataKeys[rowIndex][0].ToString(); | |||
|  |                     var item = getViewList.FirstOrDefault(x => x.EmergencyProcessItemId == rowID); | |||
|  |                     if (item != null) | |||
|  |                     { | |||
|  |                         getViewList.Remove(item); | |||
|  |                     } | |||
|  |                     var ProcessItem = Funs.DB.Emergency_EmergencyProcessItem.First(x => x.EmergencyProcessItemId == rowID); | |||
|  |                     if (ProcessItem != null) { | |||
|  |                         Funs.DB.Emergency_EmergencyProcessItem.DeleteOnSubmit(ProcessItem); | |||
|  |                         Funs.DB.SubmitChanges(); | |||
|  |                     } | |||
|  |                 } | |||
|  | 
 | |||
|  |                 this.Grid1.DataSource = getViewList; | |||
|  |                 this.Grid1.DataBind(); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         protected void drpTeam_SelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             txtUser.Text = string.Empty; ; | |||
|  |             string Users = string.Empty; | |||
|  |             string[] array = this.drpTeam.SelectedValueArray; | |||
|  |             List<string> str = new List<string>(); | |||
|  |             foreach (var item in array) | |||
|  |             { | |||
|  |                 if (item != BLL.Const._Null) | |||
|  |                 { | |||
|  |                     var TeamItem = (from x in Funs.DB.Emergency_EmergencyTeamItem where x.FileId == item select x).ToList(); | |||
|  |                     foreach (var teams in TeamItem) | |||
|  |                     { | |||
|  |                         Users += PersonService.GetPersonNameById(teams.PersonId)+ ","; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(Users)) | |||
|  |             { | |||
|  |                 txtUser.Text = Users.Substring(0, Users.LastIndexOf(",")); | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |