using BLL; using Model; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.HSSE.Check { public partial class RectifyNoticesAdd : PageBase { #region 定义项 /// /// 主键 /// public string RectifyNoticesId { get { return (string)ViewState["RectifyNoticesId"]; } set { ViewState["RectifyNoticesId"] = value; } } #endregion public string ControlId { get { return (string)ViewState["ControlId"]; } set { ViewState["ControlId"] = value; } } /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //受检单位 BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpUnitId, this.CurrUser.LoginProjectId, Const.ProjectUnitType_2, false); //区域 BLL.UnitWorkService.InitUnitWorkDownList(this.drpWorkAreaId, this.CurrUser.LoginProjectId, true); //if (!string.IsNullOrEmpty(this.drpUnitId.SelectedValue)) //{ // ///安全经理 // BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpSignPerson, "", this.drpUnitId.SelectedValue, true); //} //else { var db = Funs.DB; var userListaq = from x in db.Sys_User join y in db.Project_ProjectUnit on x.UnitId equals y.UnitId join p in db.Project_ProjectUser on x.UserId equals p.UserId where p.RoleId.Contains(Const.HSSEManager) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; this.drpSignPerson.DataSource= userListaq.ToList(); drpSignPerson.DataValueField = "UserId"; drpSignPerson.DataTextField = "UserName"; drpSignPerson.DataBind(); Funs.FineUIPleaseSelect(drpSignPerson); } ///检察人员 BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpCheckMan, this.CurrUser.LoginProjectId, null, true); //Funs.FineUIPleaseSelect(drpIsRectify); RectifyNoticesId = Request.Params["RectifyNoticesId"]; var getRectifyNotices = RectifyNoticesService.GetRectifyNoticesById(RectifyNoticesId); if (getRectifyNotices != null) { if (!string.IsNullOrEmpty(getRectifyNotices.UnitId)) { this.drpUnitId.SelectedValue = getRectifyNotices.UnitId; } if (!string.IsNullOrEmpty(getRectifyNotices.WorkAreaId)) { this.drpWorkAreaId.SelectedValueArray = getRectifyNotices.WorkAreaId.Split(','); } if (!string.IsNullOrEmpty(getRectifyNotices.CheckManIds)) { this.drpCheckMan.SelectedValueArray = getRectifyNotices.CheckManIds.Split(','); } this.txtCheckPerson.Text = getRectifyNotices.CheckManNames; this.txtRectifyNoticesCode.Text = getRectifyNotices.RectifyNoticesCode; this.txtCheckedDate.Text = getRectifyNotices.CheckedDate.ToString(); //if (!string.IsNullOrEmpty(getRectifyNotices.UnitId)) //{ // this.drpSignPerson.Items.Clear(); // BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpSignPerson, this.CurrUser.LoginProjectId, getRectifyNotices.UnitId, true); //} if (!string.IsNullOrEmpty(getRectifyNotices.SignPerson)) { this.drpSignPerson.SelectedValue = getRectifyNotices.SignPerson; } if (!string.IsNullOrEmpty(getRectifyNotices.HiddenHazardType)) { this.drpHiddenHazardType.SelectedValue = getRectifyNotices.HiddenHazardType; } BindGrid(); BindGrid1(); } else { this.txtCheckedDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); ////自动生成编码 var porject = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId); this.txtRectifyNoticesCode.Text = porject.ProjectCode + "-HSE-YHZG-" + CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectRectifyNoticesMenuId, this.CurrUser.LoginProjectId, this.CurrUser.UnitId); ControlId = Request.Params["ControlId"]; if (!string.IsNullOrEmpty(ControlId)) { var control = Funs.DB.HSSE_ConstructionRiskCheck.FirstOrDefault(x => x.ConstructionRiskCheckId == ControlId); if (control != null) { var risk = Funs.DB.HSSE_ConstructionRisk.FirstOrDefault(x => x.ConstructionRiskId == control.ConstructionRiskId); drpWorkAreaId.SelectedValue = risk.WorkAreaId; drpUnitId.SelectedValue = risk.UnitId; List view = getViewTestPlanTrainingList(); var item = new Check_RectifyNoticesItem { RectifyNoticesItemId = SQLHelper.GetNewID(), RectifyNoticesId = this.RectifyNoticesId, WrongContent = risk.LicenseDes }; view.Add(item); //将gd数据保存在list中 Grid1.DataSource = view; Grid1.DataBind(); } } } } } #region 绑定grid /// /// /// public void BindGrid() { if (!string.IsNullOrEmpty(this.RectifyNoticesId)) { string strSql = @"select RectifyNoticesItemId, RectifyNoticesId, WrongContent, Requirement, LimitTime, RectifyResults, IsRectify from [dbo].[Check_RectifyNoticesItem] "; List listStr = new List(); strSql += "where RectifyNoticesId = @RectifyNoticesId"; listStr.Add(new SqlParameter("@RectifyNoticesId", RectifyNoticesId)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } else { Grid1.DataSource = null; Grid1.DataBind(); } } /// /// /// public void BindGrid1() { if (!string.IsNullOrEmpty(this.RectifyNoticesId)) { string strSql = @"select FlowOperateId, RectifyNoticesId, OperateName, OperateManId, OperateTime, IsAgree, Opinion,S.UserName ,(case when IsAgree=0 then '不同意' else '同意' end) as IsAgreeName from Check_RectifyNoticesFlowOperate C left join Sys_User S on C.OperateManId=s.UserId "; List listStr = new List(); strSql += "where RectifyNoticesId= @RectifyNoticesId"; listStr.Add(new SqlParameter("@RectifyNoticesId", RectifyNoticesId)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); var table = this.GetPagedDataTable(gvFlowOperate, tb); gvFlowOperate.DataSource = table; gvFlowOperate.DataBind(); } else { Grid1.DataSource = null; Grid1.DataBind(); } } #endregion protected void btnAdd_Click(object sender, EventArgs e) { List view = getViewTestPlanTrainingList(); Model.Check_RectifyNoticesItem notice = new Model.Check_RectifyNoticesItem { RectifyNoticesItemId = SQLHelper.GetNewID() }; view.Add(notice); //将gd数据保存在list中 Grid1.DataSource = view; Grid1.DataBind(); } #region 收集页面明细信息 /// /// 收集页面信息 /// /// private List getViewTestPlanTrainingList() { List view = new List(); var data = Grid1.GetMergedData(); if (data != null) { foreach (JObject mergedRow in Grid1.GetMergedData()) { JObject values = mergedRow.Value("values"); string wrongContent = values.Value("WrongContent"); string rectifyNoticesItemId = values.Value("RectifyNoticesItemId"); string requirement = values.Value("Requirement"); string limitTime = values.Value("LimitTime"); var item = new Check_RectifyNoticesItem { RectifyNoticesItemId = rectifyNoticesItemId, RectifyNoticesId = this.RectifyNoticesId, WrongContent = wrongContent, Requirement = requirement, LimitTime =Funs.GetNewDateTime( limitTime), }; view.Add(item); } } return view; } #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/RectifyNotices&menuId={1}&strParam=1", itemId, BLL.Const.ProjectRectifyNoticesMenuId))); } if (e.CommandName == "delete") { var getView = getViewTestPlanTrainingList(); var getfi = getView.FirstOrDefault(x => x.RectifyNoticesItemId == itemId); if (getfi != null) { getView.Remove(getfi); } Grid1.DataSource = getView; Grid1.DataBind(); } } #endregion #region 保存方法 protected void btnSave_Click(object sender, EventArgs e) { SaveRectifyNotices(Const.BtnSave); } protected void btnSubmit_Click(object sender, EventArgs e) { SaveRectifyNotices(Const.BtnSubmit); } /// /// 保存方法 /// /// private void SaveRectifyNotices(string saveType) { Model.Check_RectifyNotices newRectifyNotices = new Check_RectifyNotices { RectifyNoticesId = this.RectifyNoticesId, RectifyNoticesCode = this.txtRectifyNoticesCode.Text.Trim(), ProjectId = this.CurrUser.LoginProjectId, CheckedDate = Funs.GetNewDateTime(this.txtCheckedDate.Text.Trim()), CompleteManId = this.CurrUser.UserId, }; newRectifyNotices.States = Const.State_0; if (this.drpSignPerson.SelectedValue != BLL.Const._Null) { newRectifyNotices.SignPerson = this.drpSignPerson.SelectedValue; } if (saveType == Const.BtnSubmit) { newRectifyNotices.States = Const.State_1; if (string.IsNullOrEmpty(newRectifyNotices.SignPerson)) { Alert.ShowInParent("请选择项目安全经理!", MessageBoxIcon.Warning); return; } } if (this.drpUnitId.SelectedValue != BLL.Const._Null) { newRectifyNotices.UnitId = this.drpUnitId.SelectedValue; } if (this.drpWorkAreaId.SelectedValue != BLL.Const._Null) { newRectifyNotices.WorkAreaId = Funs.GetStringByArray(this.drpWorkAreaId.SelectedValueArray); } if (this.drpCheckMan.SelectedValue != BLL.Const._Null) { newRectifyNotices.CheckManIds =Funs.GetStringByArray(this.drpCheckMan.SelectedValueArray); } if (!string.IsNullOrEmpty(txtCheckPerson.Text)) { newRectifyNotices.CheckManNames = txtCheckPerson.Text; } if (this.drpHiddenHazardType.SelectedValue != BLL.Const._Null) { newRectifyNotices.HiddenHazardType = this.drpHiddenHazardType.SelectedValue; } if (!string.IsNullOrEmpty(this.RectifyNoticesId)) { RectifyNoticesService.UpdateRectifyNotices(newRectifyNotices); RectifyNoticesService.DeleteRectifyNoticesRectifyNoticesItemById(this.RectifyNoticesId); } else { this.RectifyNoticesId = newRectifyNotices.RectifyNoticesId = SQLHelper.GetNewID(); if (!string.IsNullOrEmpty(Request.Params["HazardSelectedItemId"])) { newRectifyNotices.DataFrom = Request.Params["HazardSelectedItemId"]; } newRectifyNotices.ControlId = Request.Params["ControlId"]; RectifyNoticesService.AddRectifyNotices(newRectifyNotices); } if (saveType == Const.BtnSubmit) { Model.Check_RectifyNoticesFlowOperate newOItem = new Model.Check_RectifyNoticesFlowOperate { FlowOperateId = SQLHelper.GetNewID(), RectifyNoticesId = newRectifyNotices.RectifyNoticesId, OperateName = "检查人员提交整改单", OperateManId = this.CurrUser.UserId, OperateTime = DateTime.Now, }; Funs.DB.Check_RectifyNoticesFlowOperate.InsertOnSubmit(newOItem); Funs.DB.SubmitChanges(); } var getItem = getViewTestPlanTrainingList(); if (getItem.Count() > 0) { Funs.DB.Check_RectifyNoticesItem.InsertAllOnSubmit(getItem); Funs.DB.SubmitChanges(); } ShowNotify(saveType + "成功!", MessageBoxIcon.Success); if (string.IsNullOrEmpty(Request.Params["Main"])) { PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { PageContext.RegisterStartupScript(String.Format("window.close();")); } } #endregion /// /// /// /// /// protected void drpCheckMan_SelectedIndexChanged(object sender, EventArgs e) { this.drpCheckMan.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpCheckMan.SelectedValueArray); } protected void drpWorkAreaId_SelectedIndexChanged(object sender, EventArgs e) { this.drpWorkAreaId.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpWorkAreaId.SelectedValueArray); } //protected void drpUnitId_SelectedIndexChanged(object sender, EventArgs e) //{ // this.drpSignPerson.Items.Clear(); // BLL.UserService.InitFlowOperateControlUserDropDownList(this.drpSignPerson, "", this.drpUnitId.SelectedValue, true); // this.drpSignPerson.SelectedIndex=0; //} } }