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(","));
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |