329 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			329 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
using BLL;
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Data;
 | 
						|
using System.Data.SqlClient;
 | 
						|
using System.Linq;
 | 
						|
 | 
						|
namespace FineUIPro.Web.HSSE.Solution
 | 
						|
{
 | 
						|
    public partial class ExpertArgumentList : PageBase
 | 
						|
    {
 | 
						|
        #region 加载页面
 | 
						|
        /// <summary>
 | 
						|
        /// 加载页面
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Page_Load(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (!IsPostBack)
 | 
						|
            {
 | 
						|
                ////权限按钮方法
 | 
						|
                this.GetButtonPower();
 | 
						|
                ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
 | 
						|
                // 绑定表格
 | 
						|
                BindGrid();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 绑定数据
 | 
						|
        /// </summary>
 | 
						|
        private void BindGrid()
 | 
						|
        {
 | 
						|
            string strSql = @"SELECT Larger.LargerHazardListId,Larger.HazardCode,Larger.ProjectId,Larger.RecordTime,Larger.RecardManId,sysUser.UserName as RecardManName,Larger.Remark,Larger.States,Larger.VersionNo"
 | 
						|
                          + @",(CASE WHEN Larger.States=1 THEN '已完成' WHEN Larger.States=-1 THEN '已作废' ELSE '待提交' END) AS StatesName"
 | 
						|
                          + @" FROM dbo.Solution_LargerHazardList AS Larger"
 | 
						|
                          + @" LEFT JOIN Sys_User AS sysUser on Larger.RecardManId=sysUser.UserId WHERE 1=1 ";
 | 
						|
            List<SqlParameter> listStr = new List<SqlParameter>();
 | 
						|
            strSql += " AND Larger.ProjectId = @ProjectId";
 | 
						|
            if (!string.IsNullOrEmpty(Request.Params["projectId"]))  ///是否文件柜查看页面传项目值
 | 
						|
            {
 | 
						|
                listStr.Add(new SqlParameter("@ProjectId", Request.Params["projectId"]));
 | 
						|
                strSql += " AND Larger.States = @States";  ///状态为已完成
 | 
						|
                listStr.Add(new SqlParameter("@States", BLL.Const.State_1));
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(this.txtHazardCode.Text.Trim()))
 | 
						|
            {
 | 
						|
                strSql += " AND Larger.HazardCode LIKE @HazardCode";
 | 
						|
                listStr.Add(new SqlParameter("@HazardCode", "%" + this.txtHazardCode.Text.Trim() + "%"));
 | 
						|
            }
 | 
						|
            SqlParameter[] parameter = listStr.ToArray();
 | 
						|
            DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
 | 
						|
            Grid1.RecordCount = tb.Rows.Count;
 | 
						|
            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 TextBox_TextChanged(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            this.BindGrid();
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 表排序、分页、关闭窗口
 | 
						|
        /// <summary>
 | 
						|
        /// 分页
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
 | 
						|
        {
 | 
						|
            Grid1.PageIndex = e.NewPageIndex;
 | 
						|
            BindGrid();
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 排序
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Grid1_Sort(object sender, GridSortEventArgs e)
 | 
						|
        {
 | 
						|
            BindGrid();
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 分页显示条数下拉框
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
 | 
						|
            BindGrid();
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 关闭弹出窗
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Window1_Close(object sender, WindowCloseEventArgs e)
 | 
						|
        {
 | 
						|
            BindGrid();
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Grid双击事件
 | 
						|
        /// <summary>
 | 
						|
        /// Grid行双击事件
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
 | 
						|
        {
 | 
						|
            btnMenuModify_Click(null, null);
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 编辑
 | 
						|
        /// <summary>
 | 
						|
        /// 编辑按钮
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnMenuModify_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (Grid1.SelectedRowIndexArray.Length == 0)
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
 | 
						|
                return;
 | 
						|
            }
 | 
						|
 | 
						|
            var getRecord = BLL.ExpertArgumentService.GetLargerHazardListById(Grid1.SelectedRowID);
 | 
						|
            if (getRecord != null)
 | 
						|
            {
 | 
						|
                if (!this.btnMenuModify.Hidden && (getRecord.States == BLL.Const.State_0 || string.IsNullOrEmpty(getRecord.States)))   ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
 | 
						|
                {
 | 
						|
                    PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ExpertArgumentListEdit.aspx?LargerHazardListId={0}", getRecord.LargerHazardListId, "查看 - ")));
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ExpertArgumentListView.aspx?LargerHazardListId={0}", getRecord.LargerHazardListId, "编辑 - ")));
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 删除
 | 
						|
        /// <summary>
 | 
						|
        ///  删除
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnMenuDel_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (Grid1.SelectedRowIndexArray.Length > 0)
 | 
						|
            {
 | 
						|
                foreach (int rowIndex in Grid1.SelectedRowIndexArray)
 | 
						|
                {
 | 
						|
                    string rowID = Grid1.DataKeys[rowIndex][0].ToString();
 | 
						|
                    var getRecord = BLL.ExpertArgumentService.GetLargerHazardListById(rowID);
 | 
						|
                    if (getRecord != null)
 | 
						|
                    {
 | 
						|
                        BLL.LogService.AddSys_Log(this.CurrUser, getRecord.HazardCode, getRecord.LargerHazardListId, BLL.Const.ProjectExpertArgumentMenuId, BLL.Const.BtnDelete);
 | 
						|
                        BLL.ExpertArgumentService.DeleteLargerHazardListItemByLargerHazardListId(rowID);
 | 
						|
                        BLL.ExpertArgumentService.DeleteLargerHazardListById(rowID);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
                BindGrid();
 | 
						|
                ShowNotify("删除数据成功!(表格数据已重新绑定)");
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 获取按钮权限
 | 
						|
        /// <summary>
 | 
						|
        /// 获取按钮权限
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="button"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        private void GetButtonPower()
 | 
						|
        {
 | 
						|
            if (Request.Params["value"] == "0")
 | 
						|
            {
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectExpertArgumentMenuId);
 | 
						|
            if (buttonList.Count() > 0)
 | 
						|
            {
 | 
						|
                if (buttonList.Contains(BLL.Const.BtnAdd))
 | 
						|
                {
 | 
						|
                    this.btnNew.Hidden = false;
 | 
						|
                }
 | 
						|
                if (buttonList.Contains(BLL.Const.BtnModify))
 | 
						|
                {
 | 
						|
                    this.btnMenuModify.Hidden = false;
 | 
						|
                    this.btnUpgraded.Hidden = false;
 | 
						|
                }
 | 
						|
                if (buttonList.Contains(BLL.Const.BtnDelete))
 | 
						|
                {
 | 
						|
                    this.btnMenuDel.Hidden = false;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 导出按钮
 | 
						|
        /// 导出按钮
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnOut_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            Response.ClearContent();
 | 
						|
            string filename = Funs.GetNewFileName();
 | 
						|
            Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("危大工程清单" + filename, System.Text.Encoding.UTF8) + ".xls");
 | 
						|
            Response.ContentType = "application/excel";
 | 
						|
            Response.ContentEncoding = System.Text.Encoding.UTF8;
 | 
						|
            this.Grid1.PageSize = this.Grid1.RecordCount;
 | 
						|
            this.BindGrid();
 | 
						|
            Response.Write(GetGridTableHtml(Grid1));
 | 
						|
            Response.End();
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        protected void btnUpgraded_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (Grid1.SelectedRowIndexArray.Length == 0)
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
 | 
						|
                return;
 | 
						|
            }
 | 
						|
 | 
						|
            var getRecord = BLL.ExpertArgumentService.GetLargerHazardListById(Grid1.SelectedRowID);
 | 
						|
            if (getRecord != null && getRecord.States == Const.State_1)
 | 
						|
            {
 | 
						|
                string newV = "V1.0";
 | 
						|
                var getV = getRecord.VersionNo;
 | 
						|
                if (!string.IsNullOrEmpty(getV))
 | 
						|
                {
 | 
						|
                    try
 | 
						|
                    {
 | 
						|
                        string a = Funs.GetStrListByStr(getV.Substring(1), '.')[0];
 | 
						|
                        newV = "V" + (Funs.GetNewIntOrZero(a) + 1) + ".0";
 | 
						|
                    }
 | 
						|
                    catch (Exception ex)
 | 
						|
                    { }
 | 
						|
                }
 | 
						|
 | 
						|
                string NewId = SQLHelper.GetNewID();
 | 
						|
                Model.Solution_LargerHazardList newLargerHazardList = new Model.Solution_LargerHazardList
 | 
						|
                {
 | 
						|
                    LargerHazardListId = NewId,
 | 
						|
                    ProjectId = getRecord.ProjectId,
 | 
						|
                    RecardManId = this.CurrUser.UserId,
 | 
						|
                    RecordTime = DateTime.Now,
 | 
						|
                    Remark = getRecord.Remark,
 | 
						|
                    VersionNo = newV,
 | 
						|
                    States =Const.State_0,
 | 
						|
                };
 | 
						|
                newLargerHazardList.HazardCode=  BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectExpertArgumentMenuId, this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
 | 
						|
                BLL.ExpertArgumentService.AddLargerHazardList(newLargerHazardList);
 | 
						|
 | 
						|
                var getItems = Funs.DB.Solution_LargerHazardListItem.Where(x => x.LargerHazardListId == getRecord.LargerHazardListId);                         
 | 
						|
                if (getItems.Count() > 0)
 | 
						|
                {
 | 
						|
                    foreach (var item in getItems)
 | 
						|
                    {
 | 
						|
                        Model.Solution_LargerHazardListItem newItem = new Model.Solution_LargerHazardListItem
 | 
						|
                        {
 | 
						|
                            LargerHazardListItemId = SQLHelper.GetNewID(),
 | 
						|
                            SortIndex = item.SortIndex,
 | 
						|
                            LargerHazardListId = NewId,
 | 
						|
                            UnitWorkId = item.UnitWorkId,
 | 
						|
                            WorkPackageId = item.WorkPackageId,
 | 
						|
                            WorkPackageSize = item.WorkPackageSize,
 | 
						|
                            ExpectedStartTime = item.ExpectedStartTime,
 | 
						|
                            ExpectedEndTime = item.ExpectedEndTime,
 | 
						|
                            IsArgument = item.IsArgument,
 | 
						|
                            UnitId = item.UnitId,
 | 
						|
                        };
 | 
						|
                        Funs.DB.Solution_LargerHazardListItem.InsertOnSubmit(newItem);
 | 
						|
                        Funs.DB.SubmitChanges();
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                this.BindGrid();
 | 
						|
                PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ExpertArgumentListEdit.aspx?LargerHazardListId={0}", NewId, "查看 - ")));
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("未提交单据不能升版本!", MessageBoxIcon.Warning);
 | 
						|
                return;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        protected void btnNew_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            string NewId = SQLHelper.GetNewID();
 | 
						|
            Model.Solution_LargerHazardList newLargerHazardList = new Model.Solution_LargerHazardList
 | 
						|
            {
 | 
						|
                LargerHazardListId = NewId,
 | 
						|
                ProjectId =this.CurrUser.LoginProjectId,
 | 
						|
                RecardManId = this.CurrUser.UserId,
 | 
						|
                RecordTime = DateTime.Now,
 | 
						|
                VersionNo = "V1.0",
 | 
						|
                States = Const.State_0,
 | 
						|
            };
 | 
						|
            newLargerHazardList.HazardCode = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectExpertArgumentMenuId, this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
 | 
						|
            BLL.ExpertArgumentService.AddLargerHazardList(newLargerHazardList);
 | 
						|
            this.BindGrid();
 | 
						|
            PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ExpertArgumentListEdit.aspx?LargerHazardListId={0}", NewId, "新增 - ")));
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |