using BLL; using Model; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.HSSE.SolutionNew { public partial class EditConstructSolution : PageBase { #region 定义变量 /// /// 方案审查主键 /// public string ConstructSolutionId { get { return (string)ViewState["ConstructSolutionId"]; } set { ViewState["ConstructSolutionId"] = value; } } public string State { get { return (string)ViewState["State"]; } set { ViewState["State"] = value; } } #endregion #region 定义集合 /// /// 定义会签意见集合 /// public static List approves = new List(); #endregion public int ContactImg { get { return Convert.ToInt32(ViewState["ContactImg"]); } set { ViewState["ContactImg"] = value; } } public string lastCanRemoveApproveId { get { return (string)ViewState["lastCanRemoveApproveId"]; } set { ViewState["lastCanRemoveApproveId"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { var unitWork = UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId); var unitWorks = from x in unitWork select new { UnitWorkId = x.UnitWorkId, UnitWorkName = x.UnitWorkCode + "-" + x.UnitWorkName + BLL.UnitWorkService.GetProjectType(x.ProjectType) }; gvUnitWork.DataSource = unitWorks; gvUnitWork.DataBind(); var gvCNProfessional = CNProfessionalService.GetList(); gvCNPro.DataSource = gvCNProfessional; gvCNPro.DataBind(); ListItem[] lis = new ListItem[1]; lis[0] = new ListItem("0.0", "0"); drpEdition.DataValueField = "Value"; drpEdition.DataTextField = "Text"; drpEdition.DataSource = lis; drpEdition.DataBind(); drpEdition.SelectedValue = "0"; BLL.SolutionTempleteTypeService.InitSolutionTempleteDropDownList(drpModelType, false,"HSSE"); BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType,1, false); UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false); if (this.CurrUser.UnitId != null && this.CurrUser.UnitId != Const.UnitId_CD && this.CurrUser.UnitId != Const.hfnbdId) { drpUnit.SelectedValue = this.CurrUser.UnitId; drpUnit.Enabled = false; } BindZYRole(); BindZLRole(); BindAQRole(); BindKZRole(); BindSGRole(); BindXMRole(); ContactImg = 0; //CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSConstructSolutionMenuId); txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); ConstructSolutionId = Request.Params["constructSolutionId"]; this.State = "1"; if (!string.IsNullOrWhiteSpace(ConstructSolutionId)) { HFConstructSolutionId.Text = ConstructSolutionId; Model.Solution_HSSEConstructSolution constructSolution = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId); txtCode.Text = constructSolution.Code; this.State = constructSolution.State; if (!string.IsNullOrEmpty(constructSolution.UnitId)) { drpUnit.SelectedValue = constructSolution.UnitId; } if (!string.IsNullOrEmpty(constructSolution.SolutionType)) { drpModelType.SelectedValue = constructSolution.SolutionType; if (this.drpModelType.SelectedItem.Text == "施工组织设计") { this.drpSpecialType.Enabled = false; this.drpSpecialType.SelectedValue = null; this.drpSpecialType.Required = false; } else if (this.drpModelType.SelectedItem.Text == "一般方案") { BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 2, false); this.drpSpecialType.Enabled = true; this.drpSpecialType.Required = true; } else { BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 1, false); this.drpSpecialType.Enabled = true; this.drpSpecialType.Required = true; } } if (!string.IsNullOrEmpty(constructSolution.SpecialSchemeTypeId)) { drpSpecialType.SelectedValue = constructSolution.SpecialSchemeTypeId; } if (constructSolution.CompileDate != null) { txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", constructSolution.CompileDate); } txtSolutionName.Text = constructSolution.SolutionName; if (!string.IsNullOrEmpty(constructSolution.UnitWorkIds)) { if (constructSolution.UnitWorkIds.Length > 0) { txtUnitWork.Values = constructSolution.UnitWorkIds.Split(','); } } if (!string.IsNullOrEmpty(constructSolution.CNProfessionalCodes)) { if (constructSolution.CNProfessionalCodes.Length > 0) { txtCNProfessional.Values = constructSolution.CNProfessionalCodes.Split(','); } } if (constructSolution.Edition != null) { drpEdition.Items.Clear(); ListItem[] list = new ListItem[constructSolution.Edition.Value+1]; for (int i = 0; i <= constructSolution.Edition.Value; i++) { list[i] = new ListItem((i/10.0).ToString("#0.0"), ""+i); } drpEdition.DataValueField = "Value"; drpEdition.DataTextField = "Text"; drpEdition.DataSource = list; drpEdition.DataBind(); drpEdition.SelectedIndex = constructSolution.Edition.Value; if (constructSolution.Edition.Value == 0 && constructSolution.State == Const.CQMSConstructSolution_Compile) { imgBtnFile2.Hidden = true; } else if ( constructSolution.State == Const.CQMSConstructSolution_Audit) { imgBtnFile2.Hidden = true; } } bindApprove(); var zyUserIds =HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "ZY"); if (zyUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile) { SetCheck(trOne, zyUserIds); } var zlUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "ZL"); if (zlUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile) { SetCheck(trTwo, zlUserIds); } var aqUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "AQ"); if (aqUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile) { SetCheck(trThree, aqUserIds); } var kzUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "KZ"); if (kzUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile) { SetCheck(trFour, kzUserIds); } var sgUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "SG"); if (sgUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile) { SetCheck(trFive, sgUserIds); } var xmUserIds = HSSEConstructSolutionApproveService.GetUserIdsApprovesBySignType(ConstructSolutionId, "XM"); if (xmUserIds.Count > 0&& constructSolution.State != Const.CQMSConstructSolution_ReCompile) { SetCheck(trSixe, xmUserIds); } Model.Solution_HSSEConstructSolutionApprove curapprove = HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, CurrUser.UserId, Convert.ToInt32(constructSolution.Edition)); if (curapprove != null) { initDropSameGroup(this.drpSameGroup, curapprove.SignType); switch (curapprove.SignType) { case "ZY": this.drpSameGroup.SelectedValueArray = zyUserIds.ToArray(); break; case "ZL": this.drpSameGroup.SelectedValueArray = zlUserIds.ToArray(); break; case "AQ": this.drpSameGroup.SelectedValueArray = aqUserIds.ToArray(); break; case "KZ": this.drpSameGroup.SelectedValueArray = kzUserIds.ToArray(); break; case "SG": this.drpSameGroup.SelectedValueArray = sgUserIds.ToArray(); break; case "Xm": this.drpSameGroup.SelectedValueArray = xmUserIds.ToArray(); break; } } if (constructSolution.State == Const.CQMSConstructSolution_ReCompile) { agree.Hidden = true; options.Hidden = true; optio.Hidden = true; var disAgreeMans = Funs.DB.Solution_HSSEConstructSolutionApprove.Where(x => x.ConstructSolutionId == constructSolution.ConstructSolutionId && x.Edition + 1 == constructSolution.Edition && x.IsAgree == false).Select(x => x.ApproveMan).ToList(); Panel2.Enabled = false; SetCheck(trOne, disAgreeMans); SetCheck(trTwo, disAgreeMans); SetCheck(trThree, disAgreeMans); SetCheck(trFour, disAgreeMans); SetCheck(trFive, disAgreeMans); SetCheck(trSixe, disAgreeMans); } if (constructSolution.State == Const.CQMSConstructSolution_Audit) { txtProjectName.Enabled = false; txtCode.Enabled = false; drpUnit.Enabled = false; drpModelType.Enabled = false; drpSpecialType.Enabled = false; txtCompileDate.Enabled = false; txtSolutionName.Enabled = false; txtCNProfessional.Enabled = false; txtUnitWork.Enabled = false; ContactImg = -1; Panel2.Enabled = false; } //提交版本人多次修改 if (constructSolution.CompileMan.Equals(CurrUser.UserId)) { txtProjectName.Enabled = true; txtCode.Enabled = true; drpUnit.Enabled = true; drpModelType.Enabled = true; drpSpecialType.Enabled = true; txtCompileDate.Enabled = true; txtSolutionName.Enabled = true; txtCNProfessional.Enabled = true; txtUnitWork.Enabled = true; ContactImg = 0; if (constructSolution.State != Const.CQMSConstructSolution_ReCompile)//重新编辑时不允许修改上次不同意的人 { Panel2.Enabled = true; } rblIsAgree.Hidden = true; rblIsAgree.Required = false; options.Hidden = true; txtOptions.Required = false; optio.Hidden = true; if (constructSolution.State != Const.CQMSConstructSolution_ReCompile && constructSolution.State != Const.CQMSConstructSolution_Compile) { this.btnSubmit.Hidden = true; this.btnSave.Hidden = true; } } //if (!string.IsNullOrEmpty(countersign.CVRole)) //{ // GetCheck(tvCV.Nodes[0].ChildNodes, countersign.CVRole); //} if (this.drpModelType.SelectedItem.Text == "施工组织设计") { drpSpecialType.Enabled = false; } } else { agree.Hidden = true; options.Hidden = true; optio.Hidden = true; plApprove2.Hidden = true; imgBtnFile2.Hidden = true; // txtCode.Text = SQLHelper.RunProcNewId2("SpGetNewCode3ByProjectId", "dbo.Solution_HSSEConstructSolution", "Code", CurrUser.LoginProjectId); } txtProjectName.Text = ProjectService.GetProjectByProjectId(CurrUser.LoginProjectId).ProjectName; } } /// /// 审批列表 /// private void bindApprove() { var list = HSSEConstructSolutionApproveService.getListData(ConstructSolutionId); if (list.Count() > 0) { var last = list.LastOrDefault(); if (last.ApproveMan == CurrUser.UserId) { lastCanRemoveApproveId = last.ConstructSolutionApproveId; } } gvApprove.DataSource = list; gvApprove.DataBind(); } /// /// 最后一行 /// /// /// /// public bool IsLast(Object approveId) { if ((string)approveId == lastCanRemoveApproveId) { return true; } else { return false; } } public string man(Object man) { string appman = string.Empty; if (UserService.GetUserByUserId(man.ToString()) != null) { appman = UserService.GetUserByUserId(man.ToString()).UserName; } return appman; } #region 保存/提交 protected void btnSave_Click(object sender, EventArgs e) { //validate(Const.BtnSave, "save"); if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSConstructSolutionMenuId, Const.BtnSave)) { SaveHSSEConstructSolution("save"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); Alert.ShowInTop("保存成功!", MessageBoxIcon.Success); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } protected void btnSubmit_Click(object sender, EventArgs e) { validate(Const.BtnSubmit, "submit"); } /// /// 保存验证 /// /// /// public void validate(string buttonName, string tip) { if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSConstructSolutionMenuId, buttonName)) { string err = string.Empty; var edition = this.drpEdition.SelectedValue; if (!AttachFileService.Getfile(HFConstructSolutionId.Text+ edition, Const.CQMSConstructSolutionMenuId)) { err += "请上传附件,"; } if (this.drpModelType.SelectedItem.Text != "施工组织设计") { if (drpSpecialType.SelectedValue == BLL.Const._Null) { err += "请选择在分部分项工程,"; } } //if (string.IsNullOrEmpty(hdFilePath.Value)) //{ // err += "请上传附件,"; //} if (drpEdition.SelectedValue == "0" && buttonName == "提交") { if (!nodesCheckd(trOne)) { err += "请选择专业工程师,"; } //if (!nodesCheckd(trTwo)) //{ // err += "请选择质量工程师,"; //} if (!nodesCheckd(trThree)) { err += "请选择HSE工程师,"; } if (!nodesCheckd(trFive)) { err += "请选择施工经理,"; } } else { List list = new List(); list.Add(trOne); list.Add(trTwo); list.Add(trThree); list.Add(trFour); list.Add(trFive); list.Add(trSixe); var res = false; foreach (var item in list) { if (nodesCheckd(item)) { res = true; break; } } if (!res) { err += "请选择总包会签人员,"; } } if (!string.IsNullOrWhiteSpace(err)) { err = err.Substring(0, err.LastIndexOf(",")); err += "!"; } if (!string.IsNullOrWhiteSpace(err)) { Alert.ShowInTop(err, MessageBoxIcon.Warning); return; } if (!string.IsNullOrWhiteSpace(ConstructSolutionId)) {//更新时操作 if (tip == "save") { EditConstructSol("save"); } else { EditConstructSol("submit"); } } else { if (tip == "save") { SaveHSSEConstructSolution("save"); } else { SaveHSSEConstructSolution("submit"); } //添加时操作 } PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); if (tip == "save") { tip = "保存成功!"; } else { tip = "提交成功!"; } Alert.ShowInTop(tip, MessageBoxIcon.Success); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } /// /// 编辑时候保存 /// private void EditConstructSol(string saveType) { Model.Solution_HSSEConstructSolution constructSolution = new Model.Solution_HSSEConstructSolution(); constructSolution.Code = txtCode.Text.Trim(); constructSolution.ProjectId = CurrUser.LoginProjectId; if (drpUnit.SelectedValue != BLL.Const._Null) { constructSolution.UnitId = drpUnit.SelectedValue; } if (drpModelType.SelectedValue != BLL.Const._Null) { constructSolution.SolutionType = drpModelType.SelectedValue; } if (drpSpecialType.SelectedValue != BLL.Const._Null ) { constructSolution.SpecialSchemeTypeId = drpSpecialType.SelectedValue; } constructSolution.SolutionName = txtSolutionName.Text.Trim(); int edtion = Convert.ToInt32(this.drpEdition.SelectedValue); constructSolution.Edition = edtion; if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim())) { constructSolution.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim()); } if (txtUnitWork.Values.Length > 0) { constructSolution.UnitWorkIds = string.Join(",", txtUnitWork.Values); } if (txtCNProfessional.Values.Length > 0) { constructSolution.CNProfessionalCodes = string.Join(",", txtCNProfessional.Values); } if (!string.IsNullOrEmpty(ConstructSolutionId)) { constructSolution.ConstructSolutionId = ConstructSolutionId; Model.Solution_HSSEConstructSolution constructSolution1 = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId); if (saveType == "submit") { if (CurrUser.UserId != constructSolution1.CompileMan) //办理人不是编制人,提示查看审批信息 { Model.Solution_HSSEConstructSolutionApprove sApprove = new Model.Solution_HSSEConstructSolutionApprove(); sApprove.ConstructSolutionId = constructSolution.ConstructSolutionId; sApprove.ApproveMan = constructSolution1.CompileMan; sApprove.ApproveType = "S"; HSSEConstructSolutionApproveService.AddConstructSolutionApprove(sApprove); if (constructSolution1.State == Const.CQMSConstructSolution_Audit) { constructSolution.State = constructSolution1.State; } else { constructSolution.State = Const.CQMSConstructSolution_Audit; } } else { countersign(constructSolution.ConstructSolutionId); constructSolution.State = constructSolution1.State; } if (!CurrUser.UserId.Equals(constructSolution1.CompileMan)) { Model.Solution_HSSEConstructSolutionApprove approve = HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, CurrUser.UserId, Convert.ToInt32(constructSolution1.Edition)); if (approve == null) { approve = new Model.Solution_HSSEConstructSolutionApprove(); approve.ConstructSolutionId = constructSolution.ConstructSolutionId; // approve.ApproveDate = DateTime.Now; approve.ApproveMan = this.CurrUser.UserId; approve.ApproveType = Const.CQMSConstructSolution_Compile; approve.Edition = Convert.ToInt32(this.drpEdition.SelectedValue); } if (saveType == "submit") { approve.ApproveDate = DateTime.Now; } if (rblIsAgree.SelectedIndex == 2) { Model.Solution_HSSEConstructSolutionApprove curapprove = approve;// HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, CurrUser.UserId, Convert.ToInt32(constructSolution.Edition)); foreach (var id in this.drpSameGroup.SelectedValueArray) { Model.Solution_HSSEConstructSolutionApprove hasapprove = HSSEConstructSolutionApproveService.GetConstructSoluAppByApproveMan(ConstructSolutionId, id, Convert.ToInt32(constructSolution.Edition)); if (hasapprove == null) { Model.Solution_HSSEConstructSolutionApprove newapprove = new Model.Solution_HSSEConstructSolutionApprove(); newapprove.ConstructSolutionId = curapprove.ConstructSolutionId; newapprove.ApproveMan = id; newapprove.ApproveType = curapprove.ApproveType; newapprove.SignType = curapprove.SignType; newapprove.Edition = curapprove.Edition; ; // delSolutionApprove(curapprove.ConstructSolutionId, id, curapprove.SignType); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(newapprove); APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); } } approve.SignType = "S"; approve.IsAgree = true; } else { approve.IsAgree = Convert.ToBoolean(rblIsAgree.SelectedValue); } approve.ApproveIdea = txtOptions.Text.Trim(); if (string.IsNullOrEmpty(approve.ConstructSolutionApproveId)) { HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve); } else { HSSEConstructSolutionApproveService.UpdateConstructSolutionApprove(approve); } } else { if (saveType == "submit") { if (constructSolution1.State == Const.CQMSConstructSolution_Audit)//==会签状态升级版本 { Model.Solution_HSSEConstructSolutionApprove reApprove = new Model.Solution_HSSEConstructSolutionApprove(); reApprove.ConstructSolutionId = constructSolution.ConstructSolutionId; reApprove.ApproveDate = DateTime.Now; reApprove.ApproveMan = constructSolution1.CompileMan; reApprove.ApproveType = Const.CQMSConstructSolution_ReCompile; //edtion++; reApprove.Edition = edtion; HSSEConstructSolutionApproveService.AddConstructSolutionApprove(reApprove); } else { Model.Solution_HSSEConstructSolutionApprove approves = HSSEConstructSolutionApproveService.GetConstructSolApproveByApproveMan(ConstructSolutionId, constructSolution1.CompileMan); if (approves == null) { approves = new Model.Solution_HSSEConstructSolutionApprove(); approves.ConstructSolutionId = constructSolution.ConstructSolutionId; // approve.ApproveDate = DateTime.Now; approves.ApproveMan = this.CurrUser.UserId; approves.ApproveType = Const.CQMSConstructSolution_Compile; approves.Edition = Convert.ToInt32(this.drpEdition.SelectedValue); approves.Edition = Convert.ToInt32(edtion); approves.IsAgree = Convert.ToBoolean(rblIsAgree.SelectedValue); approves.ApproveIdea = txtOptions.Text.Trim(); approves.ApproveDate = DateTime.Now; HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approves); } else { approves.ApproveDate = DateTime.Now; HSSEConstructSolutionApproveService.UpdateConstructSolutionApprove(approves); } } } } } else { constructSolution.State = constructSolution1.State; } //提交时候,更新状态,打回的时候升级版本 if (CurrUser.UserId.Equals(constructSolution1.CompileMan)) { //if (constructSolution1.State != Const.CQMSConstructSolution_Audit) //{ // edtion++; //} //constructSolution.Edition = Convert.ToInt32(edtion); constructSolution.State = Const.CQMSConstructSolution_Audit; } HSSEConstructSolutionService.UpdateConstructSolution(constructSolution); //判断状态,全部会签同意,则审批完成 if (saveType == "submit") { List allApproves = HSSEConstructSolutionApproveService.GetHandleConstructSolutionApprovesByConstructSolutionId(ConstructSolutionId, constructSolution.Edition == null ? 0 : Convert.ToInt32(constructSolution.Edition)); var count = allApproves.Where(p => p.ApproveDate != null && p.IsAgree != null && Convert.ToBoolean(p.IsAgree)).Count();//查询会签同意的 var fcount = allApproves.Where(p => p.ApproveDate != null && p.IsAgree != null && !Convert.ToBoolean(p.IsAgree)).Count();//查询会签不同意的 if ((count + fcount) == allApproves.Count) { if (count == allApproves.Count) { var cons = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId); cons.State = Const.CQMSConstructSolution_Complete; cons.CompileDate = DateTime.Now; HSSEConstructSolutionService.UpdateConstructSolution(cons); } //有不同意意见,打回重新编制 if (fcount > 0) { var cons = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId); Model.Solution_HSSEConstructSolutionApprove reApprove = new Model.Solution_HSSEConstructSolutionApprove(); reApprove.ConstructSolutionId = constructSolution.ConstructSolutionId; reApprove.ApproveMan = cons.CompileMan; reApprove.ApproveType = Const.CQMSConstructSolution_ReCompile; edtion++; reApprove.Edition = edtion; HSSEConstructSolutionApproveService.AddConstructSolutionApprove(reApprove); cons.State = Const.CQMSConstructSolution_ReCompile; cons.Edition = edtion; cons.CompileDate = DateTime.Now; constructSolution.State = Const.CQMSConstructSolution_ReCompile; HSSEConstructSolutionService.UpdateConstructSolution(cons); } } } LogService.AddSys_Log(CurrUser, constructSolution.Code, ConstructSolutionId, Const.CQMSConstructSolutionMenuId, "修改施工方案"); } } #endregion #region 添加时候的保存 /// /// 保存方案审查 /// /// 保存类型 private void SaveHSSEConstructSolution(string saveType) { //if (tvHSE.CheckedNodes.Count == 0 || (tvHSE.CheckedNodes.Count > 0 && tvHSE.CheckedNodes[0].Value == "0")) //{ // ScriptManager.RegisterStartupScript(this, typeof(string), "_alert", "alert('请选择HSE会签人员!')", true); // return; //} Model.Solution_HSSEConstructSolution constructSolution = new Model.Solution_HSSEConstructSolution(); constructSolution.Code = txtCode.Text.Trim(); constructSolution.ProjectId = CurrUser.LoginProjectId; if (drpUnit.SelectedValue != BLL.Const._Null) { constructSolution.UnitId = drpUnit.SelectedValue; } if (drpModelType.SelectedValue != BLL.Const._Null) { constructSolution.SolutionType = drpModelType.SelectedValue; } if (drpSpecialType.SelectedValue != BLL.Const._Null) { constructSolution.SpecialSchemeTypeId = drpSpecialType.SelectedValue; } constructSolution.SolutionName = txtSolutionName.Text.Trim(); if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim())) { constructSolution.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim()); } if (txtUnitWork.Values.Length > 0) { constructSolution.UnitWorkIds = string.Join(",", txtUnitWork.Values); } if (txtCNProfessional.Values.Length > 0) { constructSolution.CNProfessionalCodes = string.Join(",", txtCNProfessional.Values); } if (!string.IsNullOrEmpty(HFConstructSolutionId.Text)) { constructSolution.ConstructSolutionId = HFConstructSolutionId.Text; } else { constructSolution.ConstructSolutionId = SQLHelper.GetNewID(typeof(Model.Solution_HSSEConstructSolution)); } if (saveType == "submit") { constructSolution.State = Const.CQMSConstructSolution_Audit; } else { Model.Solution_HSSEConstructSolution cs = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId); if (cs != null) { constructSolution.State = cs.State; } else { constructSolution.State = Const.CQMSConstructSolution_Compile; } } constructSolution.CompileMan = CurrUser.UserId; constructSolution.Edition = Convert.ToInt32(this.drpEdition.SelectedValue); if (!string.IsNullOrEmpty(HFConstructSolutionId.Text)) { HSSEConstructSolutionService.UpdateConstructSolution(constructSolution); } else { HSSEConstructSolutionService.AddConstructSolution(constructSolution); } if (saveType == "submit") { Model.Solution_HSSEConstructSolutionApprove approve1 = new Model.Solution_HSSEConstructSolutionApprove(); approve1.ConstructSolutionId = constructSolution.ConstructSolutionId; approve1.ApproveDate = DateTime.Now; approve1.ApproveMan = this.CurrUser.UserId; approve1.ApproveType = Const.CQMSConstructSolution_Compile; approve1.Edition = Convert.ToInt32(this.drpEdition.SelectedValue); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve1); } LogService.AddSys_Log(CurrUser, constructSolution.Code, ConstructSolutionId, Const.CQMSConstructSolutionMenuId, "添加施工方案"); //} //提交 if (saveType == "submit") { countersign(constructSolution.ConstructSolutionId); } LogService.AddSys_Log(CurrUser, constructSolution.Code, ConstructSolutionId, Const.CQMSConstructSolutionMenuId, "编制方案审查"); } #endregion /// /// 删除未选择的代办记录 /// /// private void delSolutionApprove(string constructSolutionId, string man, string signType) { var count = HSSEConstructSolutionApproveService.getListSolutionApproveCount(constructSolutionId, man, signType); if (count > 0) { HSSEConstructSolutionApproveService.delSolutionApprove(constructSolutionId, man); } } /// /// 会签 /// private void countersign(string constructSolutionId) { var solution = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(constructSolutionId); if (trOne.Nodes[0].Nodes.Count > 0) { foreach (TreeNode tn in trOne.Nodes[0].Nodes) { if (tn.Checked) { Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove(); approve.ConstructSolutionId = constructSolutionId; approve.ApproveMan = tn.NodeID; approve.ApproveType = Const.CQMSConstructSolution_Audit; approve.SignType = "ZY"; int edtion = Convert.ToInt32(this.drpEdition.SelectedValue); if (solution != null) { // edtion++; } approve.Edition = edtion; delSolutionApprove(constructSolutionId, tn.NodeID, "ZY"); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve); APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); } else { delSolutionApprove(constructSolutionId, tn.NodeID, "ZY"); } } } if (trTwo.Nodes[0].Nodes.Count > 0) { foreach (TreeNode tn in trTwo.Nodes[0].Nodes) { if (tn.Checked) { Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove(); approve.ConstructSolutionId = constructSolutionId; approve.ApproveMan = tn.NodeID; approve.ApproveType = Const.CQMSConstructSolution_Audit; approve.SignType = "ZL"; int edtion = Convert.ToInt32(this.drpEdition.SelectedValue); if (solution != null) { // edtion++; } approve.Edition = edtion; delSolutionApprove(constructSolutionId, tn.NodeID, "ZL"); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve); APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); } else { delSolutionApprove(constructSolutionId, tn.NodeID, "ZL"); } } } if (trThree.Nodes[0].Nodes.Count > 0) { foreach (TreeNode tn in trThree.Nodes[0].Nodes) { if (tn.Checked) { Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove(); approve.ConstructSolutionId = constructSolutionId; approve.ApproveMan = tn.NodeID; approve.ApproveType = Const.CQMSConstructSolution_Audit; approve.SignType = "AQ"; int edtion = Convert.ToInt32(this.drpEdition.SelectedValue); if (solution != null) { // edtion++; } approve.Edition = edtion; delSolutionApprove(constructSolutionId, tn.NodeID, "AQ"); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve); APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); } else { delSolutionApprove(constructSolutionId, tn.NodeID, "AQ"); } } } if (trFour.Nodes[0].Nodes.Count > 0) { foreach (TreeNode tn in trFour.Nodes[0].Nodes) { if (tn.Checked) { Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove(); approve.ConstructSolutionId = constructSolutionId; approve.ApproveMan = tn.NodeID; approve.ApproveType = Const.CQMSConstructSolution_Audit; approve.SignType = "KZ"; int edtion = Convert.ToInt32(this.drpEdition.SelectedValue); if (solution != null) { // edtion++; } approve.Edition = edtion; delSolutionApprove(constructSolutionId, tn.NodeID, "KZ"); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve); APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); } else { delSolutionApprove(constructSolutionId, tn.NodeID, "KZ"); } } } if (trFive.Nodes[0].Nodes.Count > 0) { foreach (TreeNode tn in trFive.Nodes[0].Nodes) { if (tn.Checked) { Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove(); approve.ConstructSolutionId = constructSolutionId; approve.ApproveMan = tn.NodeID; approve.ApproveType = Const.CQMSConstructSolution_Audit; approve.SignType = "SG"; int edtion = Convert.ToInt32(this.drpEdition.SelectedValue); //if (solution != null) //{ // edtion++; //} approve.Edition = edtion; delSolutionApprove(constructSolutionId, tn.NodeID, "SG"); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve); APICommonService.SendSubscribeMessage(approve.ApproveMan, "施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); } else { delSolutionApprove(constructSolutionId, tn.NodeID, "SG"); } } } if (trSixe.Nodes[0].Nodes.Count > 0) { foreach (TreeNode tn in trSixe.Nodes[0].Nodes) { if (tn.Checked) { Model.Solution_HSSEConstructSolutionApprove approve = new Model.Solution_HSSEConstructSolutionApprove(); approve.ConstructSolutionId = constructSolutionId; approve.ApproveMan = tn.NodeID; approve.ApproveType = Const.CQMSConstructSolution_Audit; approve.SignType = "XM"; int edtion = Convert.ToInt32(this.drpEdition.SelectedValue); //if (solution != null) //{ // edtion++; //} approve.Edition = edtion; delSolutionApprove(constructSolutionId, tn.NodeID, "XM"); HSSEConstructSolutionApproveService.AddConstructSolutionApprove(approve); APICommonService.SendSubscribeMessage(approve.ApproveMan, "安全施工方案待办理", this.CurrUser.UserName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now)); } else { delSolutionApprove(constructSolutionId, tn.NodeID, "XM"); } } } } #region 动态加载角色树 /// /// 设置树的节点选择 /// /// /// private void SetCheck(Tree tree, List userIds) { foreach (TreeNode tn in tree.Nodes[0].Nodes) { if (userIds.Contains(tn.NodeID)) { tn.Checked = true; } } } private void initDropSameGroup(DropDownList drop , string type) { List users = new List(); using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { switch (type) { case "ZY": var userListzy = 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.ZBCNEngineer) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId select x; users = userListzy.ToList(); break; case "ZL": var userListzl = 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.QAManager) || p.RoleId.Contains(Const.CQEngineer)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; users = userListzl.ToList(); break; case "AQ": 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) || p.RoleId.Contains(Const.HSSEEngineer)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; users = userListaq.ToList(); break; case "KZ": var userListkz = 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.ControlManager) || p.RoleId.Contains(Const.KZEngineer)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; users = userListkz.ToList(); break; case "SG": var userListsg = 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.ConstructionManager) || p.RoleId.Contains(Const.ConstructionAssistantManager)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; users = userListsg.ToList(); break; case "Xm": var userListxm = 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.ProjectManager) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; users = userListxm.ToList(); break; } } drop.DataTextField = "UserName"; drop.DataValueField = "UserId"; drop.DataSource = users; drop.DataBind(); } /// 加载角色树:动态加载 /// private void BindZYRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "专业工程师"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trOne.Nodes.Add(rootNode); trOne.EnableCheckBox = true; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var userList = 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.ZBCNEngineer) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId select x; //var ss = LINQToDataTable(userList); foreach (var u in userList) { TreeNode Node = new TreeNode(); Node.Text = u.UserName; Node.NodeID = u.UserId; Node.EnableCheckEvent = true; rootNode.Nodes.Add(Node); } } } private void BindZLRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "质量组"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trTwo.Nodes.Add(rootNode); trTwo.EnableCheckBox = true; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var userList = 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.QAManager) || p.RoleId.Contains(Const.CQEngineer)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; foreach (var u in userList) { TreeNode roleNode = new TreeNode(); roleNode.Text = u.UserName; roleNode.NodeID = u.UserId; rootNode.Nodes.Add(roleNode); } } } /// /// 判断是否有选择 /// /// /// public Boolean nodesCheckd(Tree node) { bool res = false; if (node.Nodes[0].Nodes.Count > 0) { foreach (var item in node.Nodes[0].Nodes) { if (item.Checked) { res = true; break; } } } return res; } private void BindAQRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "HSE组"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trThree.Nodes.Add(rootNode); trThree.EnableCheckBox = true; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var userList = 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) || p.RoleId.Contains(Const.HSSEEngineer)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; foreach (var u in userList) { TreeNode roleNode = new TreeNode(); roleNode.Text = u.UserName; roleNode.NodeID = u.UserId; rootNode.Nodes.Add(roleNode); } } } private void BindKZRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "控制组"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trFour.Nodes.Add(rootNode); trFour.EnableCheckBox = true; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var userList = 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.ControlManager) || p.RoleId.Contains(Const.KZEngineer)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; foreach (var u in userList) { TreeNode roleNode = new TreeNode(); roleNode.Text = u.UserName; roleNode.NodeID = u.UserId; rootNode.Nodes.Add(roleNode); } } } private void BindSGRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "施工经理"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trFive.Nodes.Add(rootNode); trFive.EnableCheckBox = true; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var userList = 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.ConstructionManager) || p.RoleId.Contains(Const.ConstructionAssistantManager)) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; foreach (var u in userList) { TreeNode roleNode = new TreeNode(); roleNode.Text = u.UserName; roleNode.NodeID = u.UserId; rootNode.Nodes.Add(roleNode); } } } private void BindXMRole() { TreeNode rootNode = new TreeNode();//定义根节点 rootNode.Text = "项目经理"; rootNode.NodeID = "0"; rootNode.Expanded = true; rootNode.EnableCheckEvent = true; trSixe.Nodes.Add(rootNode); trSixe.EnableCheckBox = true; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var userList = 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.ProjectManager) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId orderby x.UserCode select x; foreach (var u in userList) { TreeNode roleNode = new TreeNode(); roleNode.Text = u.UserName; roleNode.NodeID = u.UserId; rootNode.Nodes.Add(roleNode); } } } #endregion #region 树结构的全选 protected void trOne_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trOne.CheckAllNodes(e.Node.Nodes); } else { trOne.UncheckAllNodes(e.Node.Nodes); } } protected void trTwo_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trTwo.CheckAllNodes(e.Node.Nodes); } else { trTwo.UncheckAllNodes(e.Node.Nodes); } } protected void trThree_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trThree.CheckAllNodes(e.Node.Nodes); } else { trThree.UncheckAllNodes(e.Node.Nodes); } } protected void trFour_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trFour.CheckAllNodes(e.Node.Nodes); } else { trFour.UncheckAllNodes(e.Node.Nodes); } } protected void trFive_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trFive.CheckAllNodes(e.Node.Nodes); } else { trFive.UncheckAllNodes(e.Node.Nodes); } } protected void trSixe_NodeCheck(object sender, TreeCheckEventArgs e) { if (e.Checked) { trSixe.CheckAllNodes(e.Node.Nodes); } else { trSixe.UncheckAllNodes(e.Node.Nodes); } } #endregion protected void imgBtnFile_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(HFConstructSolutionId.Text)) //新增记录 { HFConstructSolutionId.Text = SQLHelper.GetNewID(typeof(Model.Solution_HSSEConstructSolution)); } if (this.drpEdition.SelectedValue == "0" && this.imgBtnFile2.Hidden && this.State==Const.CQMSConstructSolution_Compile)//编辑的时候,查看当前版本 { var edition = this.drpEdition.SelectedValue; PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}", 0, HFConstructSolutionId.Text + edition, Const.CQMSConstructSolutionMenuId))); } else if( this.State == Const.CQMSConstructSolution_ReCompile &&( this.drpEdition.SelectedIndex+1) == this.drpEdition.Items.Count)//编辑的时候,查看当前版本 { var edition = this.drpEdition.SelectedValue; PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}", 0, HFConstructSolutionId.Text + edition, Const.CQMSConstructSolutionMenuId))); }else { PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}", -1, HFConstructSolutionId.Text + this.drpEdition.SelectedValue, Const.CQMSConstructSolutionMenuId))); } } protected void imgBtnFile_Click2(object sender, EventArgs e) { if (string.IsNullOrEmpty(HFConstructSolutionId.Text)) //新增记录 { HFConstructSolutionId.Text = SQLHelper.GetNewID(typeof(Model.Solution_HSSEConstructSolution)); } var edition = this.drpEdition.SelectedValue; if (this.imgBtnFile2.Hidden == false) { edition = "" + (Convert.ToInt32(this.drpEdition.SelectedValue) - 1); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}", -1, HFConstructSolutionId.Text + edition, Const.CQMSConstructSolutionMenuId))); } protected void btnapprove_Click(object sender, EventArgs e) { //HFConstructSolutionId.Text var approve = HSSEConstructSolutionApproveService.GetConstructSolutionApproveByApproveMan(HFConstructSolutionId.Text, CurrUser.UserId); if (approve != null) { var approveId = approve.ConstructSolutionApproveId; PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}", 0, approveId, Const.CQMSConstructSolutionMenuId))); } } protected void rblIsAgree_CheckedChanged(object sender, EventArgs e) { if (this.rblIsAgree.SelectedIndex == 2) { sameGroup.Hidden = false; optio.Hidden =true ; options.Hidden = true; } else { sameGroup.Hidden = true; optio.Hidden = false; options.Hidden = false; } } protected void gvApprove_RowCommand(object sender, GridCommandEventArgs e) { object[] keys = gvApprove.DataKeys[e.RowIndex]; string fileId = string.Empty; if (keys == null) { return; } else { fileId = keys[0].ToString(); var appr = Funs.DB.Solution_HSSEConstructSolutionApprove.Where(u => u.ConstructSolutionApproveId == fileId).FirstOrDefault(); if (appr.ApproveType == Const.CQMSConstructSolution_Compile || appr.ApproveType == Const.CQMSConstructSolution_ReCompile) { fileId = appr.ConstructSolutionId + appr.Edition; } } PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}", -1, fileId, Const.CQMSConstructSolutionMenuId))); } /// /// 根据施工方案加载专项施工方案 /// /// /// protected void drpModelType_SelectedIndexChanged(object sender, EventArgs e) { if (drpModelType.SelectedValue != BLL.Const._Null) { if (this.drpModelType.SelectedItem.Text == "施工组织设计") { this.drpSpecialType.Enabled = false; this.drpSpecialType.SelectedValue = null; this.drpSpecialType.Required = false; } else if (this.drpModelType.SelectedItem.Text == "一般方案") { BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 2, false); this.drpSpecialType.Enabled = true; this.drpSpecialType.Required = true; } else { BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(drpSpecialType, 1, false); this.drpSpecialType.Enabled = true; this.drpSpecialType.Required = true; } } } /// /// 审批列表删除记录 /// /// /// protected void btnRevoke_Click(object sender, EventArgs e) { System.Web.UI.WebControls.Button btn = (System.Web.UI.WebControls.Button)sender; // 获取点击按钮所在的行索引 int rowIndex = (btn.NamingContainer as IDataItemContainer).DisplayIndex; var ID = gvApprove.DataKeys[rowIndex][0]; var approve = Funs.DB.Solution_HSSEConstructSolutionApprove.Where(x => x.ConstructSolutionApproveId == ID).FirstOrDefault(); if (approve != null) { approve.ApproveDate = null; approve.ApproveIdea = null; approve.IsAgree = null; Funs.DB.SubmitChanges(); } //更新方案状态 Model.Solution_HSSEConstructSolution constructSolution = HSSEConstructSolutionService.GetConstructSolutionByConstructSolutionId(ConstructSolutionId); var ApproveModel = HSSEConstructSolutionApproveService.getListData(ConstructSolutionId).LastOrDefault() ; if (constructSolution != null) { if (ApproveModel != null) { constructSolution.State = ApproveModel.ApproveType; } else { constructSolution.State = Const.CQMSConstructSolution_Compile; } } HSSEConstructSolutionService.UpdateConstructSolution(constructSolution); bindApprove(); } } }