417 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			417 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			C#
		
	
	
	
using BLL;
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
using System.Web.UI.WebControls;
 | 
						|
 | 
						|
namespace FineUIPro.Web.ZHGL.Supervise
 | 
						|
{
 | 
						|
    public partial class SuperviseCheckReportEdit : PageBase
 | 
						|
    {
 | 
						|
        #region 定义变量
 | 
						|
        /// <summary>
 | 
						|
        /// 主键
 | 
						|
        /// </summary>
 | 
						|
        public string SuperviseCheckReportId
 | 
						|
        {
 | 
						|
            get
 | 
						|
            {
 | 
						|
                return (string)ViewState["SuperviseCheckReportId"];
 | 
						|
            }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                ViewState["SuperviseCheckReportId"] = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 定义集合
 | 
						|
        /// </summary>
 | 
						|
        private static List<Model.View_Supervise_SuperviseCheckReportItem> superviseCheckReportItems = new List<Model.View_Supervise_SuperviseCheckReportItem>();
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 加载页面
 | 
						|
        /// <summary>
 | 
						|
        /// 加载页面
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Page_Load(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (!IsPostBack)
 | 
						|
            {
 | 
						|
                hdItemId.Text = string.Empty;
 | 
						|
                hdAttachUrl.Text = string.Empty;
 | 
						|
                hdId.Text = string.Empty;
 | 
						|
                btnClose.OnClientClick = ActiveWindow.GetHideReference();
 | 
						|
 | 
						|
                superviseCheckReportItems.Clear();
 | 
						|
                if (Request.Params["type"] != "-1")
 | 
						|
                {
 | 
						|
                    ////权限按钮方法
 | 
						|
                    this.GetButtonPower();
 | 
						|
                }
 | 
						|
 | 
						|
                BLL.ProjectService.InitProjectDropDownList(this.ddlProjectId, true);
 | 
						|
                BLL.UnitService.InitUnitDropDownList(this.ddlUnitId, this.ddlProjectId.SelectedValue, true);
 | 
						|
                Funs.FineUIPleaseSelect(this.drpCheckType);
 | 
						|
                this.SuperviseCheckReportId = Request.Params["SuperviseCheckReportId"];
 | 
						|
                var superviseCheckReport = BLL.SuperviseCheckReportService.GetSuperviseCheckReportById(this.SuperviseCheckReportId);
 | 
						|
                if (superviseCheckReport != null)
 | 
						|
                {
 | 
						|
                    this.txtSuperviseCheckReportCode.Text = superviseCheckReport.SuperviseCheckReportCode;
 | 
						|
                    if (superviseCheckReport.CheckDate != null)
 | 
						|
                    {
 | 
						|
                        this.dpkCheckDate.Text = string.Format("{0:yyyy-MM-dd}", superviseCheckReport.CheckDate);
 | 
						|
                    }
 | 
						|
                    if (!string.IsNullOrEmpty(superviseCheckReport.CheckType))
 | 
						|
                    {
 | 
						|
                        this.drpCheckType.SelectedValue = superviseCheckReport.CheckType;
 | 
						|
                    }
 | 
						|
                    if (!string.IsNullOrEmpty(superviseCheckReport.ProjectId))
 | 
						|
                    {
 | 
						|
                        this.ddlProjectId.SelectedValue = superviseCheckReport.ProjectId;
 | 
						|
 | 
						|
                        this.ddlUnitId.Items.Clear();
 | 
						|
                        BLL.UnitService.InitUnitDropDownList(this.ddlUnitId, this.ddlProjectId.SelectedValue, true);
 | 
						|
                        if (!string.IsNullOrEmpty(superviseCheckReport.UnitId))
 | 
						|
                        {
 | 
						|
                            this.ddlUnitId.SelectedValue = superviseCheckReport.UnitId;
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    this.txtCheckTeam.Text = superviseCheckReport.CheckTeam;
 | 
						|
                    superviseCheckReportItems = (from x in Funs.DB.View_Supervise_SuperviseCheckReportItem where x.SuperviseCheckReportId == this.SuperviseCheckReportId orderby x.RectifyCode select x).ToList();
 | 
						|
 | 
						|
 | 
						|
                    var report = BLL.SuperviseCheckReportService.GetSuperviseCheckReportById(this.SuperviseCheckReportId);
 | 
						|
                    if (report != null && report.IsIssued == "1")    //已下发
 | 
						|
                    {
 | 
						|
                        this.btnSave.Hidden = true;
 | 
						|
                        this.btnSelect.Hidden = true;
 | 
						|
                        Grid1.Columns[10].Hidden = true;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    this.txtCheckTeam.Text = BLL.UnitService.GetUnitNameByUnitId(this.CurrUser.UnitId) + this.CurrUser.UserName;
 | 
						|
                    this.dpkCheckDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
 | 
						|
                }
 | 
						|
                Grid1.DataSource = superviseCheckReportItems;
 | 
						|
                Grid1.DataBind();
 | 
						|
                GetCheckItem();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        private void GetCheckItem()
 | 
						|
        {
 | 
						|
            for (int i = 0; i < Grid1.Rows.Count; i++)
 | 
						|
            {
 | 
						|
                var item = superviseCheckReportItems.FirstOrDefault(x => x.SuperviseCheckReportItemId == Grid1.Rows[i].Values[7].ToString());
 | 
						|
                if (item != null)
 | 
						|
                {
 | 
						|
                    CheckBoxField checkField = (CheckBoxField)Grid1.FindColumn("ckbIsSelected");
 | 
						|
                    if (item.IsSelected == true)
 | 
						|
                    {
 | 
						|
                        //Grid1.Rows[i].Values[6] = "True";
 | 
						|
                        checkField.SetCheckedState(i, true);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Grid行点击事件
 | 
						|
        /// <summary>
 | 
						|
        /// Grid行事件
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
 | 
						|
        {
 | 
						|
            string rowID = Grid1.DataKeys[e.RowIndex][0].ToString();
 | 
						|
            if (e.CommandName == "IsSelected")
 | 
						|
            {
 | 
						|
                CheckBoxField checkField = (CheckBoxField)Grid1.FindColumn("ckbIsSelected");
 | 
						|
                if (checkField.GetCheckedState(e.RowIndex))
 | 
						|
                {
 | 
						|
                    hdId.Text = rowID;
 | 
						|
                    PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdAttachUrl.ClientID)
 | 
						|
              + Window1.GetShowReference("ShowFileUpload.aspx"));
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if (e.CommandName == "Attach")
 | 
						|
            {
 | 
						|
                var item = superviseCheckReportItems.FirstOrDefault(x => x.SuperviseCheckReportItemId == Grid1.Rows[e.RowIndex].Values[7].ToString());
 | 
						|
                if (item != null)
 | 
						|
                {
 | 
						|
                    PageBase.ShowFileEvent(item.AttachUrl);
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            if (e.CommandName == "Delete")
 | 
						|
            {
 | 
						|
                jerqueSaveList();
 | 
						|
                superviseCheckReportItems = (from x in superviseCheckReportItems where x.SuperviseCheckReportItemId != rowID select x).ToList();
 | 
						|
                Grid1.DataSource = superviseCheckReportItems;
 | 
						|
                Grid1.DataBind();
 | 
						|
                GetCheckItem();
 | 
						|
 | 
						|
                ShowNotify("删除数据成功!", MessageBoxIcon.Success);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 选择按钮
 | 
						|
        /// <summary>
 | 
						|
        /// 选择按钮
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnSelect_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            jerqueSaveList();
 | 
						|
            string lists = string.Empty;
 | 
						|
            foreach (var item in superviseCheckReportItems)
 | 
						|
            {
 | 
						|
                lists += item.RectifyItemId + ",";
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(lists))
 | 
						|
            {
 | 
						|
                lists = lists.Substring(0, lists.LastIndexOf(","));
 | 
						|
            }
 | 
						|
 | 
						|
            string window = String.Format("ShowRectifyItem.aspx?lists={0}", lists, "选择 - ");
 | 
						|
            PageContext.RegisterStartupScript(Window2.GetSaveStateReference(hdItemId.ClientID)
 | 
						|
              + Window2.GetShowReference(window));
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 关闭窗口
 | 
						|
        /// <summary>
 | 
						|
        /// 关闭窗口
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Window2_Close(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (!string.IsNullOrEmpty(hdItemId.Text))
 | 
						|
            {
 | 
						|
                if (superviseCheckReportItems.Count == 0)
 | 
						|
                {
 | 
						|
                    List<string> itemIds = hdItemId.Text.Split(',').ToList();
 | 
						|
                    var rectifyItem = from x in Funs.DB.View_Technique_RectifyItem where itemIds.Contains(x.RectifyItemId) orderby x.RectifyCode select x;
 | 
						|
                    foreach (var item in rectifyItem)
 | 
						|
                    {
 | 
						|
                        Model.View_Supervise_SuperviseCheckReportItem superviseCheckReportItem = new Model.View_Supervise_SuperviseCheckReportItem
 | 
						|
                        {
 | 
						|
                            SuperviseCheckReportItemId = SQLHelper.GetNewID(typeof(Model.Supervise_SuperviseCheckReportItem)),
 | 
						|
                            SuperviseCheckReportId = this.SuperviseCheckReportId,
 | 
						|
                            RectifyItemId = item.RectifyItemId,
 | 
						|
                            HazardSourcePoint = item.HazardSourcePoint,
 | 
						|
                            RiskAnalysis = item.RiskAnalysis,
 | 
						|
                            RiskPrevention = item.RiskPrevention,
 | 
						|
                            SimilarRisk = item.SimilarRisk,
 | 
						|
                            RectifyName = item.RectifyName,
 | 
						|
                            RectifyCode = item.RectifyCode,
 | 
						|
                            IsSelected = false
 | 
						|
                        };
 | 
						|
                        superviseCheckReportItems.Add(superviseCheckReportItem);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    List<string> itemIds = hdItemId.Text.Split(',').ToList();
 | 
						|
                    List<string> superviseCheckReportItemsRectifyItemIds = superviseCheckReportItems.Select(x => x.RectifyItemId).ToList();
 | 
						|
                    foreach (var item in itemIds)
 | 
						|
                    {
 | 
						|
                        if (!superviseCheckReportItemsRectifyItemIds.Contains(item))
 | 
						|
                        {
 | 
						|
                            var rectifyItem = (from x in Funs.DB.View_Technique_RectifyItem where x.RectifyItemId == item orderby x.RectifyCode select x).FirstOrDefault();
 | 
						|
                            if (rectifyItem != null)
 | 
						|
                            {
 | 
						|
                                Model.View_Supervise_SuperviseCheckReportItem superviseCheckReportItem = new Model.View_Supervise_SuperviseCheckReportItem
 | 
						|
                                {
 | 
						|
                                    SuperviseCheckReportItemId = SQLHelper.GetNewID(typeof(Model.Supervise_SuperviseCheckReportItem)),
 | 
						|
                                    SuperviseCheckReportId = this.SuperviseCheckReportId,
 | 
						|
                                    RectifyItemId = rectifyItem.RectifyItemId,
 | 
						|
                                    HazardSourcePoint = rectifyItem.HazardSourcePoint,
 | 
						|
                                    RiskAnalysis = rectifyItem.RiskAnalysis,
 | 
						|
                                    RiskPrevention = rectifyItem.RiskPrevention,
 | 
						|
                                    SimilarRisk = rectifyItem.SimilarRisk,
 | 
						|
                                    RectifyName = rectifyItem.RectifyName,
 | 
						|
                                    RectifyCode = rectifyItem.RectifyCode,
 | 
						|
                                    IsSelected = false
 | 
						|
                                };
 | 
						|
                                superviseCheckReportItems.Add(superviseCheckReportItem);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    superviseCheckReportItems = (from x in superviseCheckReportItems
 | 
						|
                                                 join y in Funs.DB.View_Technique_RectifyItem
 | 
						|
                                                 on x.RectifyItemId equals y.RectifyItemId
 | 
						|
                                                 orderby y.RectifyCode
 | 
						|
                                                 select x).ToList();
 | 
						|
                }
 | 
						|
                Grid1.DataSource = superviseCheckReportItems;
 | 
						|
                Grid1.DataBind();
 | 
						|
                hdItemId.Text = string.Empty;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 保存按钮
 | 
						|
        /// <summary>
 | 
						|
        /// 保存按钮
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnSave_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.drpCheckType.SelectedValue == BLL.Const._Null)
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("检查类别不能为空!", MessageBoxIcon.Warning);
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            Model.Supervise_SuperviseCheckReport superviseCheckReport = new Model.Supervise_SuperviseCheckReport
 | 
						|
            {
 | 
						|
                SuperviseCheckReportCode = this.txtSuperviseCheckReportCode.Text.Trim()
 | 
						|
            };
 | 
						|
            if (!string.IsNullOrEmpty(this.dpkCheckDate.Text.Trim()))
 | 
						|
            {
 | 
						|
                superviseCheckReport.CheckDate = Convert.ToDateTime(this.dpkCheckDate.Text.Trim());
 | 
						|
            }
 | 
						|
            if (this.drpCheckType.SelectedValue != BLL.Const._Null)
 | 
						|
            {
 | 
						|
                superviseCheckReport.CheckType = this.drpCheckType.SelectedValue;
 | 
						|
            }
 | 
						|
            if (this.ddlProjectId.SelectedValue != BLL.Const._Null)
 | 
						|
            {
 | 
						|
                superviseCheckReport.ProjectId = this.ddlProjectId.SelectedValue;
 | 
						|
            }
 | 
						|
            if (this.ddlUnitId.SelectedValue != BLL.Const._Null)
 | 
						|
            {
 | 
						|
                superviseCheckReport.UnitId = this.ddlUnitId.SelectedValue;
 | 
						|
            }
 | 
						|
            superviseCheckReport.CheckTeam = this.txtCheckTeam.Text.Trim();
 | 
						|
            if (string.IsNullOrEmpty(this.SuperviseCheckReportId))
 | 
						|
            {
 | 
						|
                superviseCheckReport.SuperviseCheckReportId = SQLHelper.GetNewID(typeof(Model.Supervise_SuperviseCheckReport));
 | 
						|
                BLL.SuperviseCheckReportService.AddSuperviseCheckReport(superviseCheckReport);
 | 
						|
                BLL.LogService.AddSys_Log(this.CurrUser, superviseCheckReport.SuperviseCheckReportCode, superviseCheckReport.SuperviseCheckReportId, BLL.Const.SuperviseCheckReportMenuId, Const.BtnAdd);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                var report = BLL.SuperviseCheckReportService.GetSuperviseCheckReportById(this.SuperviseCheckReportId);
 | 
						|
                if (report.IsIssued == "1")    //已下发
 | 
						|
                {
 | 
						|
                    ShowNotify("已下发检查整改,无法修改!", MessageBoxIcon.Warning);
 | 
						|
                    return;
 | 
						|
                }
 | 
						|
                superviseCheckReport.SuperviseCheckReportId = this.SuperviseCheckReportId;
 | 
						|
                BLL.SuperviseCheckReportService.UpdateSuperviseCheckReport(superviseCheckReport);
 | 
						|
                BLL.SuperviseCheckReportItemService.DeleteSuperviseCheckReportItemBySuperviseCheckReportId(this.SuperviseCheckReportId);
 | 
						|
                BLL.LogService.AddSys_Log(this.CurrUser, superviseCheckReport.SuperviseCheckReportCode, superviseCheckReport.SuperviseCheckReportId, BLL.Const.SuperviseCheckReportMenuId, Const.BtnModify);
 | 
						|
            }
 | 
						|
            jerqueSaveList();
 | 
						|
            foreach (var item in superviseCheckReportItems)
 | 
						|
            {
 | 
						|
                Model.Supervise_SuperviseCheckReportItem superviseCheckReportItem = new Model.Supervise_SuperviseCheckReportItem
 | 
						|
                {
 | 
						|
                    SuperviseCheckReportItemId = item.SuperviseCheckReportItemId,
 | 
						|
                    SuperviseCheckReportId = superviseCheckReport.SuperviseCheckReportId,
 | 
						|
                    RectifyItemId = item.RectifyItemId,
 | 
						|
                    IsSelected = item.IsSelected,
 | 
						|
                    AttachUrl = item.AttachUrl
 | 
						|
                };
 | 
						|
                BLL.SuperviseCheckReportItemService.AddSuperviseCheckReportItem(superviseCheckReportItem);
 | 
						|
            }
 | 
						|
 | 
						|
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 关闭弹出窗
 | 
						|
        /// <summary>
 | 
						|
        /// 关闭弹出窗
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Window1_Close(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            jerqueSaveList();
 | 
						|
            if (!string.IsNullOrEmpty(hdAttachUrl.Text))
 | 
						|
            {
 | 
						|
                var item = superviseCheckReportItems.FirstOrDefault(x => x.SuperviseCheckReportItemId == hdId.Text);
 | 
						|
                item.AttachUrl = hdAttachUrl.Text;
 | 
						|
                item.AttachUrlName = hdAttachUrl.Text.Substring((hdAttachUrl.Text.LastIndexOf("~") + 1), (hdAttachUrl.Text.Length - hdAttachUrl.Text.LastIndexOf("~") - 1));
 | 
						|
            }
 | 
						|
            Grid1.DataSource = superviseCheckReportItems;
 | 
						|
            Grid1.DataBind();
 | 
						|
            GetCheckItem();
 | 
						|
            hdId.Text = string.Empty;
 | 
						|
            hdAttachUrl.Text = string.Empty;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 保存集合
 | 
						|
        /// <summary>
 | 
						|
        /// 保存集合
 | 
						|
        /// </summary>
 | 
						|
        private void jerqueSaveList()
 | 
						|
        {
 | 
						|
            for (int i = 0; i < Grid1.Rows.Count; i++)
 | 
						|
            {
 | 
						|
                if (Grid1.Rows[i].Values[7] != null && Grid1.Rows[i].Values[7].ToString() != "")
 | 
						|
                {
 | 
						|
                    var item = superviseCheckReportItems.FirstOrDefault(e => e.SuperviseCheckReportItemId == Grid1.Rows[i].Values[7].ToString());
 | 
						|
                    //item.IsSelected = ((System.Web.UI.WebControls.CheckBox)(Grid1.Rows[i].FindControl("ckbIsSelected"))).Checked;
 | 
						|
                    CheckBoxField checkField = (CheckBoxField)Grid1.FindColumn("ckbIsSelected");
 | 
						|
                    item.IsSelected = checkField.GetCheckedState(i);
 | 
						|
                    item.AttachUrl = Grid1.Rows[i].Values[8].ToString();
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 验证检查编号是否存在
 | 
						|
        /// <summary>
 | 
						|
        /// 验证检查编号是否存在
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void TextBox_TextChanged(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            var standard = Funs.DB.Supervise_SuperviseCheckReport.FirstOrDefault(x => x.SuperviseCheckReportCode == this.txtSuperviseCheckReportCode.Text.Trim() && (x.SuperviseCheckReportId != this.SuperviseCheckReportId || (this.SuperviseCheckReportId == null && x.SuperviseCheckReportId != null)));
 | 
						|
            if (standard != null)
 | 
						|
            {
 | 
						|
                ShowNotify("输入的检查编号已存在!", MessageBoxIcon.Warning);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 获取按钮权限
 | 
						|
        /// <summary>
 | 
						|
        /// 获取按钮权限
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="button"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        private void GetButtonPower()
 | 
						|
        {
 | 
						|
            var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SuperviseCheckReportMenuId);
 | 
						|
            if (buttonList.Count() > 0)
 | 
						|
            {
 | 
						|
                if (buttonList.Contains(BLL.Const.BtnSave))
 | 
						|
                {
 | 
						|
                    this.btnSave.Hidden = false;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        protected void ddlProjectId_SelectedIndexChanged(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            this.ddlUnitId.Items.Clear();
 | 
						|
            BLL.UnitService.InitUnitDropDownList(this.ddlUnitId, this.ddlProjectId.SelectedValue, true);
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |