using System; using System.Collections.Generic; using System.Linq; using System.Web; using BLL; namespace FineUIPro.Web.HSSE.Check { public partial class CheckColligationEdit : PageBase { #region 定义变量 /// /// 主键 /// public string CheckColligationId { get { return (string)ViewState["CheckColligationId"]; } set { ViewState["CheckColligationId"] = value; } } /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } /// /// 定义集合 /// private static List checkColligationDetails = new List(); #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { hdAttachUrl.Text = string.Empty; hdId.Text = string.Empty; this.ProjectId = this.CurrUser.LoginProjectId; this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); this.InitDropDownList(); checkColligationDetails.Clear(); this.CheckColligationId = Request.Params["CheckColligationId"]; var checkColligation = BLL.Check_CheckColligationService.GetCheckColligationByCheckColligationId(this.CheckColligationId); if (checkColligation != null) { this.ProjectId = checkColligation.ProjectId; if (this.ProjectId != this.CurrUser.LoginProjectId) { this.InitDropDownList(); } this.txtCheckColligationCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.CheckColligationId); if (checkColligation.CheckTime != null) { this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", checkColligation.CheckTime); } if (!string.IsNullOrEmpty(checkColligation.CheckType)) { this.drpCheckType.SelectedValue = checkColligation.CheckType; } if (!string.IsNullOrEmpty(checkColligation.PartInUnits)) { this.drpUnit.SelectedValueArray = checkColligation.PartInUnits.Split(','); } if (!string.IsNullOrEmpty(checkColligation.CheckPerson)) { this.drpCheckPerson.SelectedValue = checkColligation.CheckPerson; } //if (!string.IsNullOrEmpty(checkColligation.CheckAreas)) //{ // this.drpCheckAreas.SelectedValueArray = checkColligation.CheckAreas.Split(','); //} if (!string.IsNullOrEmpty(checkColligation.PartInPersonIds)) { this.drpPartInPersons.SelectedValueArray = checkColligation.PartInPersonIds.Split(','); } this.txtPartInPersonNames.Text = checkColligation.PartInPersonNames; this.txtDaySummary.Text = HttpUtility.HtmlDecode(checkColligation.DaySummary); checkColligationDetails = (from x in Funs.DB.View_Check_CheckColligationDetail where x.CheckColligationId == this.CheckColligationId orderby x.CheckItem select x).ToList(); } else { ////自动生成编码 this.txtCheckColligationCode.Text = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectCheckColligationMenuId, this.ProjectId, this.CurrUser.UnitId); this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); this.txtDaySummary.Text = HttpUtility.HtmlDecode("其他情况日小结"); } Grid1.DataSource = checkColligationDetails; Grid1.DataBind(); SetColor(); this.ctlAuditFlow.MenuId = BLL.Const.ProjectCheckColligationMenuId; this.ctlAuditFlow.DataId = this.CheckColligationId; this.ctlAuditFlow.ProjectId = this.ProjectId; this.ctlAuditFlow.UnitId = this.CurrUser.UnitId; } } #endregion /// /// 初始化下拉框 /// private void InitDropDownList() { //参与单位 BLL.UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId, false); this.drpUnit.SelectedValue = this.CurrUser.UnitId; //检查组长 BLL.UserService.InitUserDropDownList(this.drpCheckPerson, this.ProjectId, true); //检查组成员 BLL.UserService.InitUserDropDownList(this.drpPartInPersons, this.ProjectId, true); //单位工程 //BLL.WorkAreaService.InitWorkAreaDropDownList(this.drpCheckAreas, this.ProjectId, false); } #region 选择按钮 /// /// 选择按钮 /// /// /// protected void btnSelect_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.CheckColligationId)) { SaveNew(); } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ShowCheckItem.aspx?CheckColligationId={0}&checkType=3", this.CheckColligationId, "编辑 - "))); } #endregion private void SaveNew() { if (string.IsNullOrEmpty(this.CheckColligationId)) { Model.Check_CheckColligation checkColligation = new Model.Check_CheckColligation { CheckColligationId = SQLHelper.GetNewID(typeof(Model.Check_CheckColligation)), CheckColligationCode = this.txtCheckColligationCode.Text.Trim(), ProjectId = this.ProjectId }; if (this.drpCheckType.SelectedValue != BLL.Const._Null) { checkColligation.CheckType = this.drpCheckType.SelectedValue; } //参与单位 string unitIds = string.Empty; foreach (var item in this.drpUnit.SelectedValueArray) { unitIds += item + ","; } if (!string.IsNullOrEmpty(unitIds)) { unitIds = unitIds.Substring(0, unitIds.LastIndexOf(",")); } checkColligation.PartInUnits = unitIds; if (this.drpCheckPerson.SelectedValue != BLL.Const._Null) { checkColligation.CheckPerson = this.drpCheckPerson.SelectedValue; } ///组成员 string partInPersonIds = string.Empty; string partInPersons = string.Empty; foreach (var item in this.drpPartInPersons.SelectedValueArray) { var user = BLL.UserService.GetUserByUserId(item); if (user != null) { partInPersonIds += user.UserId + ","; partInPersons += user.UserName + ","; } } if (!string.IsNullOrEmpty(partInPersonIds)) { checkColligation.PartInPersonIds = partInPersonIds.Substring(0, partInPersonIds.LastIndexOf(",")); checkColligation.PartInPersons = partInPersons.Substring(0, partInPersons.LastIndexOf(",")); } checkColligation.PartInPersonNames = this.txtPartInPersonNames.Text.Trim(); checkColligation.CheckTime = Funs.GetNewDateTime(this.txtCheckDate.Text.Trim()); checkColligation.DaySummary = HttpUtility.HtmlEncode(this.txtDaySummary.Text.Trim()); ////单据状态 checkColligation.States = BLL.Const.State_0; this.CheckColligationId = checkColligation.CheckColligationId; checkColligation.CompileMan = this.CurrUser.UserId; BLL.Check_CheckColligationService.AddCheckColligation(checkColligation); BLL.LogService.AddSys_Log(this.CurrUser, checkColligation.CheckColligationCode, checkColligation.CheckColligationId, BLL.Const.ProjectCheckColligationMenuId, BLL.Const.BtnAdd); } } #region 提交按钮 /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (!IsAllFix()) { Alert.ShowInTop("请将检查项的不合格项描述补充完整!", MessageBoxIcon.Warning); return; } if (this.ctlAuditFlow.NextStep == BLL.Const.State_1 && this.ctlAuditFlow.NextPerson == BLL.Const._Null) { Alert.ShowInTop("请选择下一步办理人!", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSubmit); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } #endregion #region 保存按钮 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (!IsAllFix()) { Alert.ShowInTop("请将检查项的不合格项描述补充完整!", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSave); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } #endregion #region 明细项是否全部填写内容 /// /// 明细项是否全部填写内容 /// /// private bool IsAllFix() { bool isAllFix = true; if (!string.IsNullOrEmpty(this.CheckColligationId)) { var details = BLL.Check_CheckColligationDetailService.GetCheckColligationDetailByCheckColligationId(this.CheckColligationId); //if (details.Count > 0) //{ foreach (var item in details) { if (string.IsNullOrEmpty(item.Unqualified)) { isAllFix = false; break; } } //} //else //{ // isAllFix = false; //} } return isAllFix; } #endregion /// /// 保存数据 /// /// private void SaveData(string type) { Model.Check_CheckColligation checkColligation = new Model.Check_CheckColligation { CheckColligationCode = this.txtCheckColligationCode.Text.Trim(), ProjectId = this.ProjectId }; if (this.drpCheckType.SelectedValue != BLL.Const._Null) { checkColligation.CheckType = this.drpCheckType.SelectedValue; } //参与单位 string unitIds = string.Empty; foreach (var item in this.drpUnit.SelectedValueArray) { unitIds += item + ","; } if (!string.IsNullOrEmpty(unitIds)) { unitIds = unitIds.Substring(0, unitIds.LastIndexOf(",")); } checkColligation.PartInUnits = unitIds; if (this.drpCheckPerson.SelectedValue != BLL.Const._Null) { checkColligation.CheckPerson = this.drpCheckPerson.SelectedValue; } ///组成员 string partInPersonIds = string.Empty; string partInPersons = string.Empty; foreach (var item in this.drpPartInPersons.SelectedValueArray) { var user = BLL.UserService.GetUserByUserId(item); if (user != null) { partInPersonIds += user.UserId + ","; partInPersons += user.UserName + ","; } } if (!string.IsNullOrEmpty(partInPersonIds)) { checkColligation.PartInPersonIds = partInPersonIds.Substring(0, partInPersonIds.LastIndexOf(",")); checkColligation.PartInPersons = partInPersons.Substring(0, partInPersons.LastIndexOf(",")); } checkColligation.PartInPersonNames = this.txtPartInPersonNames.Text.Trim(); //单位工程 //string workAreaIds = string.Empty; //foreach (var item in this.drpCheckAreas.SelectedValueArray) //{ // workAreaIds += item + ","; //} //if (!string.IsNullOrEmpty(workAreaIds)) //{ // workAreaIds = workAreaIds.Substring(0, workAreaIds.LastIndexOf(",")); //} //checkColligation.CheckAreas = workAreaIds; checkColligation.CheckTime = Funs.GetNewDateTime(this.txtCheckDate.Text.Trim()); checkColligation.DaySummary = HttpUtility.HtmlEncode(this.txtDaySummary.Text.Trim()); ////单据状态 checkColligation.States = BLL.Const.State_0; if (type == BLL.Const.BtnSubmit) { checkColligation.States = this.ctlAuditFlow.NextStep; } if (!string.IsNullOrEmpty(this.CheckColligationId)) { checkColligation.CheckColligationId = this.CheckColligationId; BLL.Check_CheckColligationService.UpdateCheckColligation(checkColligation); BLL.LogService.AddSys_Log(this.CurrUser, checkColligation.CheckColligationCode, checkColligation.CheckColligationId, BLL.Const.ProjectCheckColligationMenuId, BLL.Const.BtnModify); } else { checkColligation.CheckColligationId = SQLHelper.GetNewID(typeof(Model.Check_CheckColligation)); this.CheckColligationId = checkColligation.CheckColligationId; checkColligation.CompileMan = this.CurrUser.UserId; BLL.Check_CheckColligationService.AddCheckColligation(checkColligation); BLL.LogService.AddSys_Log(this.CurrUser, checkColligation.CheckColligationCode, checkColligation.CheckColligationId, BLL.Const.ProjectCheckColligationMenuId, BLL.Const.BtnAdd); } ////保存流程审核数据 this.ctlAuditFlow.btnSaveData(this.ProjectId, BLL.Const.ProjectCheckColligationMenuId, this.CheckColligationId, (type == BLL.Const.BtnSubmit ? true : false), this.txtCheckDate.Text.Trim(), "~/Check/CheckColligationView.aspx?CheckColligationId={0}"); } #region 关闭弹出窗 /// /// 关闭弹出窗 /// /// /// protected void Window1_Close(object sender, EventArgs e) { checkColligationDetails = (from x in Funs.DB.View_Check_CheckColligationDetail where x.CheckColligationId == this.CheckColligationId orderby x.CheckItem select x).ToList(); Grid1.DataSource = checkColligationDetails; Grid1.DataBind(); SetColor(); } #endregion private void SetColor() { for (int i = 0; i < this.Grid1.Rows.Count; i++) { if (this.Grid1.Rows[i].Values[5].ToString() == "") { Grid1.Rows[i].CellCssClasses[5] = "red"; } if (this.Grid1.Rows[i].Values[6].ToString() == "") { Grid1.Rows[i].CellCssClasses[6] = "red"; } if (this.Grid1.Rows[i].Values[7].ToString() == "") { Grid1.Rows[i].CellCssClasses[7] = "red"; } } } #region Grid双击事件 /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnMenuEdit_Click(null, null); } #endregion #region 编辑 /// /// 编辑按钮 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string checkColligationDetailId = Grid1.SelectedRowID; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckColligationDetailEdit.aspx?CheckColligationDetailId={0}", checkColligationDetailId, "编辑 - "))); } #endregion #region 删除 /// /// 批量删除 /// /// /// protected void btnMenuDelete_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var getV = BLL.Check_CheckColligationDetailService.GetCheckColligationDetailByCheckColligationDetailId(rowID); if (getV != null) { BLL.LogService.AddSys_Log(this.CurrUser, getV.CheckItem, getV.CheckColligationDetailId, BLL.Const.ProjectCheckColligationMenuId, BLL.Const.BtnDelete); BLL.Check_CheckColligationDetailService.DeleteCheckColligationDetailById(rowID); } } checkColligationDetails = (from x in Funs.DB.View_Check_CheckColligationDetail where x.CheckColligationId == this.CheckColligationId orderby x.CheckItem select x).ToList(); Grid1.DataSource = checkColligationDetails; Grid1.DataBind(); ShowNotify("删除数据成功!(表格数据已重新绑定)", MessageBoxIcon.Success); } } #endregion #region 获取检查类型 /// /// 获取检查类型 /// /// /// protected string ConvertCheckItemType(object CheckItem) { return BLL.Technique_CheckItemDetailService.ConvertCheckItemType(CheckItem); } #endregion #region 附件上传 /// /// 上传附件 /// /// /// protected void btnAttachUrl_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.CheckColligationId)) { SaveNew(); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckColligation&menuId={1}", this.CheckColligationId, BLL.Const.ProjectCheckColligationMenuId))); } #endregion #region 转换字符串 /// /// 转换整改完成情况 /// /// /// protected string ConvertCompleteStatus(object CompleteStatus) { if (CompleteStatus != null) { if (!string.IsNullOrEmpty(CompleteStatus.ToString())) { bool completeStatus = Convert.ToBoolean(CompleteStatus.ToString()); if (completeStatus) { return "是"; } else { return "否"; } } } return ""; } #endregion #region Grid点击事件 /// /// Grid1行点击事件 /// /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string checkColligationDetailId = Grid1.DataKeys[e.RowIndex][0].ToString(); Model.Check_CheckColligationDetail detail = BLL.Check_CheckColligationDetailService.GetCheckColligationDetailByCheckColligationDetailId(checkColligationDetailId); if (e.CommandName == "click") { Model.Check_CheckColligationDetail newDetail = new Model.Check_CheckColligationDetail { CheckColligationDetailId = SQLHelper.GetNewID(typeof(Model.Check_CheckColligationDetail)), CheckColligationId = detail.CheckColligationId, CheckItem = detail.CheckItem, CheckContent = detail.CheckContent, Unqualified = "隐患", Suggestions = "整改", CompleteStatus = true }; BLL.Check_CheckColligationDetailService.AddCheckColligationDetail(newDetail); checkColligationDetails = (from x in Funs.DB.View_Check_CheckColligationDetail where x.CheckColligationId == this.CheckColligationId orderby x.CheckItem select x).ToList(); Grid1.DataSource = checkColligationDetails; Grid1.DataBind(); SetColor(); } } #endregion protected void btnImport_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.CheckColligationId)) { this.SaveData(BLL.Const.BtnSave); } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckColligationDetailIn.aspx?CheckColligationId={0}", this.CheckColligationId, "导入 - "), "导入", 1024, 560)); } } }