450 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			450 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | |
| using Model;
 | |
| using Newtonsoft.Json.Linq;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Data;
 | |
| using System.Data.SqlClient;
 | |
| using System.Linq;
 | |
| using System.Web;
 | |
| using System.Web.UI;
 | |
| using System.Web.UI.WebControls;
 | |
| 
 | |
| namespace FineUIPro.Web.OfficeCheck.Check
 | |
| {
 | |
|     public partial class RectifyEdit : PageBase
 | |
|     {
 | |
|         #region 定义项
 | |
|         /// <summary>
 | |
|         /// 检查Id
 | |
|         /// </summary>
 | |
|         public string CheckNoticeId
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return (string)ViewState["CheckNoticeId"];
 | |
|             }
 | |
|             set
 | |
|             {
 | |
|                 ViewState["CheckNoticeId"] = value;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 定义集合
 | |
|         /// </summary>
 | |
|         public static List<Model.ProjectSupervision_RectifyItem> rectifyItemLists = new List<Model.ProjectSupervision_RectifyItem>();
 | |
|         #endregion
 | |
| 
 | |
|         #region 加载
 | |
|         /// <summary>
 | |
|         /// 加载
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void Page_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!IsPostBack)
 | |
|             {
 | |
|                 //受检项目       
 | |
|                 BLL.ProjectService.InitAllProjectDropDownList(this.drpProjectId, true);
 | |
|                 ///安全经理
 | |
|                 BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpSignPerson, this.CurrUser.LoginProjectId, Const.UnitId_CWCEC, true);
 | |
|                 ///检察人员
 | |
|                 BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpCheckMan, this.CurrUser.LoginProjectId, null, true);
 | |
|                 string type = Request.Params["type"];
 | |
|                 if (type == "1")
 | |
|                 {
 | |
|                     this.btnSave.Hidden = true;
 | |
|                     this.btnAdd.Hidden = true;
 | |
|                     this.Grid1.Columns[8].Hidden = true;
 | |
|                 }
 | |
|                 this.CheckNoticeId = Request.Params["CheckNoticeId"];
 | |
|                 if (!string.IsNullOrEmpty(this.CheckNoticeId))
 | |
|                 {
 | |
|                     Model.ProjectSupervision_Rectify RectifyNotices = ProjectSupervision_RectifyService.GetRectifyByCheckNoticeId(this.CheckNoticeId);
 | |
|                     if (RectifyNotices != null)
 | |
|                     {
 | |
|                         this.hdRectifyNoticesId.Text = RectifyNotices.RectifyId;
 | |
|                         if (!string.IsNullOrEmpty(RectifyNotices.ProjectId))
 | |
|                         {
 | |
|                             this.drpProjectId.SelectedValue = RectifyNotices.ProjectId;
 | |
|                         }
 | |
|                         if (!string.IsNullOrEmpty(RectifyNotices.CheckManIds))
 | |
|                         {
 | |
|                             this.drpCheckMan.SelectedValueArray = RectifyNotices.CheckManIds.Split(',');
 | |
|                         }
 | |
|                         this.txtCheckPerson.Text = RectifyNotices.CheckManNames;
 | |
|                         this.txtRectifyNoticesCode.Text = RectifyNotices.RectifyCode;
 | |
|                         this.txtCheckedDate.Text = RectifyNotices.CheckedDate.ToString();
 | |
|                         if (!string.IsNullOrEmpty(RectifyNotices.HiddenHazardType))
 | |
|                         {
 | |
|                             this.drpHiddenHazardType.SelectedValue = RectifyNotices.HiddenHazardType;
 | |
|                         }
 | |
|                         if (!string.IsNullOrEmpty(RectifyNotices.SignPerson))
 | |
|                         {
 | |
|                             this.drpSignPerson.SelectedValue = RectifyNotices.SignPerson;
 | |
|                         }
 | |
|                         BindGrid();
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         this.txtCheckedDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
 | |
|                     }
 | |
|                     rectifyItemLists.Clear();
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 绑定明细
 | |
|         /// </summary>
 | |
|         public void BindGrid()
 | |
|         {
 | |
|             string strSql = @"select RectifyItemId, RectifyId, WrongContent, Requirement, LimitTime, RectifyResults, IsRectify  from ProjectSupervision_RectifyItem ";
 | |
|             List<SqlParameter> listStr = new List<SqlParameter>();
 | |
|             strSql += "where RectifyId = @RectifyId";
 | |
|             listStr.Add(new SqlParameter("@RectifyId", this.hdRectifyNoticesId.Text));
 | |
|             SqlParameter[] parameter = listStr.ToArray();
 | |
|             DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
 | |
|             var table = this.GetPagedDataTable(Grid1, tb);
 | |
|             Grid1.DataSource = table;
 | |
|             Grid1.DataBind();
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region 添加按钮
 | |
|         protected void btnAdd_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             addViewTestPlanTrainingList();
 | |
|             Model.ProjectSupervision_RectifyItem notice = new Model.ProjectSupervision_RectifyItem();
 | |
|             notice.RectifyItemId = SQLHelper.GetNewID(typeof(Model.ProjectSupervision_RectifyItem));
 | |
|             rectifyItemLists.Add(notice);
 | |
|             //将gd数据保存在list中
 | |
|             Grid1.DataSource = rectifyItemLists;
 | |
|             Grid1.DataBind();
 | |
| 
 | |
|         }
 | |
| 
 | |
|         private void addViewTestPlanTrainingList()
 | |
|         {
 | |
|             rectifyItemLists.Clear();
 | |
|             var data = Grid1.GetMergedData();
 | |
|             if (data != null)
 | |
|             {
 | |
|                 foreach (JObject mergedRow in Grid1.GetMergedData())
 | |
|                 {
 | |
|                     int i = mergedRow.Value<int>("index");
 | |
|                     JObject values = mergedRow.Value<JObject>("values");
 | |
|                     string wrongContent = values.Value<string>("WrongContent");
 | |
|                     string rectifyNoticesItemId = values.Value<string>("RectifyItemId");
 | |
|                     string requirement = values.Value<string>("Requirement");
 | |
|                     string rectifyResults = values.Value<string>("RectifyResults");
 | |
|                     System.Web.UI.WebControls.TextBox txtlimitTim = (System.Web.UI.WebControls.TextBox)Grid1.Rows[i].FindControl("txtLimitTimes");
 | |
|                     System.Web.UI.WebControls.DropDownList drpIsRect = (System.Web.UI.WebControls.DropDownList)Grid1.Rows[i].FindControl("drpIsRectify");
 | |
|                     var item = new ProjectSupervision_RectifyItem();
 | |
|                     item.RectifyItemId = rectifyNoticesItemId;
 | |
|                     item.RectifyId = hdRectifyNoticesId.Text.Trim();
 | |
|                     item.WrongContent = wrongContent;
 | |
|                     item.Requirement = requirement;
 | |
|                     item.LimitTime = Funs.GetNewDateTime(txtlimitTim.Text);
 | |
|                     item.RectifyResults = rectifyResults;
 | |
|                     rectifyItemLists.Add(item);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region 整改单明细数据验证
 | |
|         ///// <summary>
 | |
|         ///// 整改单明细数据验证
 | |
|         ///// </summary>
 | |
|         ///// <returns></returns>
 | |
|         //private bool validate()
 | |
|         //{
 | |
|         //    bool res = false;
 | |
|         //    string err = string.Empty;
 | |
|         //    foreach (JObject mergedRow in Grid1.GetMergedData())
 | |
|         //    {
 | |
|         //        int i = mergedRow.Value<int>("index");
 | |
|         //        JObject values = mergedRow.Value<JObject>("values");
 | |
|         //        string WrongContent = values.Value<string>("WrongContent");
 | |
|         //        string Requirement = values.Value<string>("Requirement");
 | |
|         //        if (string.IsNullOrWhiteSpace(WrongContent) || string.IsNullOrWhiteSpace(Requirement))
 | |
|         //        {
 | |
|         //            err += "第" + (i + 1).ToString() + "行:";
 | |
| 
 | |
|         //            if (string.IsNullOrWhiteSpace(WrongContent))
 | |
|         //            {
 | |
|         //                err += "请输入具体位置及隐患内容,";
 | |
|         //            }
 | |
|         //            if (string.IsNullOrWhiteSpace(Requirement))
 | |
|         //            {
 | |
|         //                err += "请输入整改要求,";
 | |
|         //            }
 | |
|         //            err = err.Substring(0, err.LastIndexOf(","));
 | |
|         //            err += "!";
 | |
|         //        }
 | |
|         //    }
 | |
|         //    if (Grid1.Rows.Count > 0)
 | |
|         //    {
 | |
|         //        if (!string.IsNullOrWhiteSpace(err))
 | |
|         //        {
 | |
|         //            Alert.ShowInTop(err, MessageBoxIcon.Warning);
 | |
|         //        }
 | |
|         //        else
 | |
|         //        {
 | |
|         //            res = true;
 | |
|         //        }
 | |
|         //    }
 | |
|         //    else
 | |
|         //    {
 | |
|         //        Alert.ShowInTop("请整改单内容!", MessageBoxIcon.Warning);
 | |
|         //    }
 | |
|         //    return res;
 | |
|         //}
 | |
|         #endregion
 | |
| 
 | |
|         #region Grid行点击事件
 | |
|         protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
 | |
|         {
 | |
|             string itemId = Grid1.DataKeys[e.RowIndex][0].ToString();
 | |
|             if (e.CommandName == "AttachUrl")
 | |
|             {
 | |
|                 PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/Rectify&menuId={1}&type=0&strParam=1", itemId, BLL.Const.CheckInfoMenuId)));
 | |
|             }
 | |
|             if (e.CommandName == "delete")
 | |
|             {
 | |
|                 rectifyItemLists.Remove(rectifyItemLists.FirstOrDefault(p => p.RectifyItemId == itemId));
 | |
|                 Grid1.DataSource = rectifyItemLists;
 | |
|                 Grid1.DataBind();
 | |
|             }
 | |
|             if (e.CommandName == "ReAttachUrl")
 | |
|             {
 | |
|                 PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/Rectify&menuId={1}&type=0&strParam=2", itemId, BLL.Const.CheckInfoMenuId)));
 | |
|             }
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region Grid行绑定事件
 | |
|         protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
 | |
|         {
 | |
|             //DataRowView row = e.DataItem as DataRowView;
 | |
|             for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | |
|             {
 | |
|                 System.Web.UI.WebControls.DropDownList drpIsRectify = (System.Web.UI.WebControls.DropDownList)(this.Grid1.Rows[i].FindControl("drpIsRectify"));
 | |
|                 HiddenField hdIsRectify = (HiddenField)(this.Grid1.Rows[i].FindControl("hdIsRectify"));
 | |
|                 if (!string.IsNullOrEmpty(hdIsRectify.Text))
 | |
|                 {
 | |
|                     if (hdIsRectify.Text == "True")
 | |
|                     {
 | |
|                         drpIsRectify.SelectedValue = "true";
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         drpIsRectify.SelectedValue = "false";
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region 时间转换
 | |
|         /// <summary>
 | |
|         /// 时间转换
 | |
|         /// </summary>
 | |
|         /// <param name="date"></param>
 | |
|         /// <returns></returns>
 | |
|         public string ConvertDate(object date)
 | |
|         {
 | |
|             if (!Convert.IsDBNull(date))
 | |
|             {
 | |
|                 return string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(date));
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 return null;
 | |
|             }
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region 保存
 | |
|         protected void btnSave_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             SaveRectifyNotices("save");
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 提交
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void btnSubmit_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             SaveRectifyNotices("submit");
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存方法
 | |
|         /// </summary>
 | |
|         /// <param name="saveType"></param>
 | |
|         private void SaveRectifyNotices(string saveType)
 | |
|         {
 | |
|             if (this.drpSignPerson.SelectedValue == BLL.Const._Null)
 | |
|             {
 | |
|                 Alert.ShowInTop("项目安全经理不能为空!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             Model.ProjectSupervision_Rectify Notices = new Model.ProjectSupervision_Rectify();
 | |
|             Notices.RectifyCode = this.txtRectifyNoticesCode.Text.Trim();
 | |
|             if (this.drpProjectId.SelectedValue != BLL.Const._Null)
 | |
|             {
 | |
|                 Notices.ProjectId = this.drpProjectId.SelectedValue;
 | |
|             }
 | |
|             if (this.drpCheckMan.SelectedValue != BLL.Const._Null)
 | |
|             {
 | |
|                 string str = GetStringByArray(this.drpCheckMan.SelectedValueArray);
 | |
|                 Notices.CheckManIds = str;
 | |
|             }
 | |
|             if (!string.IsNullOrEmpty(txtCheckPerson.Text))
 | |
|             {
 | |
|                 Notices.CheckManNames = txtCheckPerson.Text;
 | |
|             }
 | |
|             if (!string.IsNullOrEmpty(this.txtCheckedDate.Text.Trim()))
 | |
|             {
 | |
|                 Notices.CheckedDate = Convert.ToDateTime(this.txtCheckedDate.Text.Trim());
 | |
|             }
 | |
|             if (this.drpHiddenHazardType.SelectedValue != BLL.Const._Null)
 | |
|             {
 | |
|                 Notices.HiddenHazardType = this.drpHiddenHazardType.SelectedValue;
 | |
|             }
 | |
|             if (this.drpSignPerson.SelectedValue != BLL.Const._Null)
 | |
|             {
 | |
|                 Notices.SignPerson = this.drpSignPerson.SelectedValue;
 | |
|             }
 | |
|             if (saveType == "submit")
 | |
|             {
 | |
|                 Notices.States = BLL.Const.State_1;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 Notices.States = BLL.Const.State_0;
 | |
|             }
 | |
| 
 | |
|             if (!string.IsNullOrEmpty(this.hdRectifyNoticesId.Text))
 | |
|             {
 | |
|                 Notices.RectifyId = this.hdRectifyNoticesId.Text;
 | |
|                 ProjectSupervision_RectifyService.UpdateRectify(Notices);
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 Notices.CheckNoticeId = this.CheckNoticeId;
 | |
|                 Notices.RectifyId = SQLHelper.GetNewID(typeof(Model.ProjectSupervision_Rectify));
 | |
|                 ProjectSupervision_RectifyService.AddRectify(Notices);
 | |
|                 this.hdRectifyNoticesId.Text = Notices.RectifyId;
 | |
|             }
 | |
|             saveNoticesItemDetail();//增加明细
 | |
|             ShowNotify("保存成功!", MessageBoxIcon.Success);
 | |
|             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存明细
 | |
|         /// </summary>
 | |
|         public void saveNoticesItemDetail()
 | |
|         {
 | |
|             int j = 0;
 | |
|             var data = Grid1.GetMergedData();
 | |
|             if (data != null)
 | |
|             {
 | |
|                 foreach (JObject mergedRow in Grid1.GetMergedData())
 | |
|                 {
 | |
|                     int i = mergedRow.Value<int>("index");
 | |
|                     JObject values = mergedRow.Value<JObject>("values");
 | |
|                     string wrongContent = values.Value<string>("WrongContent");
 | |
|                     string rectifyNoticesItemId = values.Value<string>("RectifyItemId");
 | |
|                     string requirement = values.Value<string>("Requirement");
 | |
|                     string rectifyResults = values.Value<string>("RectifyResults");
 | |
|                     System.Web.UI.WebControls.TextBox txtlimitTim = (System.Web.UI.WebControls.TextBox)Grid1.Rows[i].FindControl("txtLimitTimes");
 | |
|                     System.Web.UI.WebControls.DropDownList drpIsRect = (System.Web.UI.WebControls.DropDownList)Grid1.Rows[i].FindControl("drpIsRectify");
 | |
|                     string limitTime = txtlimitTim.Text.Trim();
 | |
|                     Model.ProjectSupervision_RectifyItem rectifyNoticesItem = Funs.DB.ProjectSupervision_RectifyItem.FirstOrDefault(e => e.RectifyItemId == rectifyNoticesItemId);
 | |
|                     if (rectifyNoticesItem != null)
 | |
|                     {
 | |
|                         rectifyNoticesItem.RectifyItemId = rectifyNoticesItemId;
 | |
|                         rectifyNoticesItem.RectifyId = this.hdRectifyNoticesId.Text.Trim();
 | |
|                         rectifyNoticesItem.WrongContent = wrongContent.Trim();
 | |
|                         rectifyNoticesItem.Requirement = requirement.Trim();
 | |
|                         rectifyNoticesItem.LimitTime = Funs.GetNewDateTime(limitTime);
 | |
|                         rectifyNoticesItem.RectifyResults = rectifyResults.Trim();
 | |
|                         rectifyNoticesItem.IsRectify = Convert.ToBoolean(drpIsRect.SelectedValue);
 | |
|                         Funs.DB.SubmitChanges();
 | |
|                         if (rectifyNoticesItem.IsRectify == true)
 | |
|                         {
 | |
|                             j++;
 | |
|                         }
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
| 
 | |
|                         var item = new ProjectSupervision_RectifyItem();
 | |
|                         item.RectifyItemId = rectifyNoticesItemId;
 | |
|                         item.RectifyId = this.hdRectifyNoticesId.Text.Trim();
 | |
|                         item.WrongContent = wrongContent.Trim();
 | |
|                         item.Requirement = requirement.Trim();
 | |
|                         item.LimitTime = Funs.GetNewDateTime(limitTime);
 | |
|                         item.RectifyResults = rectifyResults.Trim();
 | |
|                         item.IsRectify = Convert.ToBoolean(drpIsRect.SelectedValue);
 | |
|                         Funs.DB.ProjectSupervision_RectifyItem.InsertOnSubmit(item);
 | |
|                         Funs.DB.SubmitChanges();
 | |
|                     }
 | |
|                 }
 | |
|                 if (j == data.Count)
 | |
|                 {
 | |
|                     var re = BLL.ProjectSupervision_RectifyService.GetRectifyById(this.hdRectifyNoticesId.Text.Trim());
 | |
|                     if (re != null)
 | |
|                     {
 | |
|                         re.States = BLL.Const.State_3;
 | |
|                         BLL.ProjectSupervision_RectifyService.UpdateRectify(re);
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         #endregion
 | |
| 
 | |
|         #region 格式化字符串
 | |
|         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 DropDownList下拉选择
 | |
|         protected void drpCheckMan_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             string[] array = this.drpCheckMan.SelectedValueArray;
 | |
|             List<string> str = new List<string>();
 | |
|             foreach (var item in array)
 | |
|             {
 | |
|                 if (item != BLL.Const._Null)
 | |
|                 {
 | |
|                     str.Add(item);
 | |
|                 }
 | |
|             }
 | |
|             this.drpCheckMan.SelectedValueArray = str.ToArray();
 | |
|         }
 | |
|         #endregion        
 | |
|     }
 | |
| } |