using BLL; using System; using System.Collections.Generic; using System.Linq; namespace FineUIPro.Web.ZHGL.Plan { public partial class ProjectPlanEdit : PageBase { #region 定义项 /// /// 主键 /// public string ProjectPlanId { get { return (string)ViewState["ProjectPlanId"]; } set { ViewState["ProjectPlanId"] = value; } } /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } public int ContactImg { get { return Convert.ToInt32(ViewState["ContactImg"]); } set { ViewState["ContactImg"] = value; } } /// /// 定义会签意见集合 /// public static List approves = new List(); #endregion #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); this.ProjectId = this.CurrUser.LoginProjectId; this.ProjectPlanId = Request.Params["ProjectPlanId"]; ProjectService.InitAllProjectDropDownList(this.drpProject, true); var q = (from x in Funs.DB.Person_Persons where x.UnitId == Const.UnitId_SEDIN && x.DepartId == Const.Depart_constructionId && x.RoleIds != null && x.RoleIds != Const.NoOfficeRole && x.RoleIds != string.Empty && (!x.IsPost.HasValue || x.IsPost == true) orderby x.PersonName select x).ToList(); Model.ActionPlan_ProjectPlan ProjectPlan = BLL.ProjectPlanService.GetProjectPlanById(this.ProjectPlanId); if (ProjectPlan != null) { var compileMan = BLL.Person_PersonsService.GetPerson_PersonsById(ProjectPlan.CompileMan); if (compileMan != null) { q.Add(compileMan); } } this.drpCompileMan.DataTextField = "PersonName"; this.drpCompileMan.DataValueField = "PersonId"; this.drpCompileMan.DataSource = q; this.drpCompileMan.DataBind(); Funs.FineUIPleaseSelect(this.drpCompileMan); this.drpPerson.DataTextField = "PersonName"; this.drpPerson.DataValueField = "PersonId"; this.drpPerson.DataSource = q; this.drpPerson.DataBind(); Funs.FineUIPleaseSelect(this.drpPerson); ContactImg = 0; if (!string.IsNullOrEmpty(this.ProjectPlanId)) { if (ProjectPlan != null) { HFProjectPlanId.Text = this.ProjectPlanId; this.ProjectId = ProjectPlan.ProjectId; if (ProjectPlan.Edition != null) { txtEdition.Text = ProjectPlan.Edition.ToString(); } this.drpProject.SelectedValue = ProjectPlan.ProjectId; ///读取编号 this.txtProjectPlanCode.Text = ProjectPlan.ProjectPlanCode; this.txtProjectPlanName.Text = ProjectPlan.ProjectPlanName; this.txtVersionNo.Text = ProjectPlan.VersionNo; if (!string.IsNullOrEmpty(ProjectPlan.ProjectType)) { this.drpProjectType.SelectedValue = ProjectPlan.ProjectType; } else { this.drpProjectType.Hidden = true; } if (!string.IsNullOrEmpty(ProjectPlan.CompileMan)) { this.drpCompileMan.SelectedValue = ProjectPlan.CompileMan; } if (ProjectPlan.CompileDate != null) { this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", ProjectPlan.CompileDate); } List list = BLL.ProjectPlanApproveService.GetReviewingPersonIds(this.ProjectPlanId); if (list.Count > 0) { this.drpPerson.SelectedValueArray = list.ToArray(); } bindApprove(); if (ProjectPlan.States == Const.ProjectPlan_ReCompile || ProjectPlan.States == Const.ProjectPlan_Compile) { this.Opinion.Hidden = true; } if (ProjectPlan.States == Const.ProjectPlan_Reviewing) { BindGrid(); txtProjectPlanCode.Readonly = true; txtProjectPlanName.Readonly = true; txtVersionNo.Readonly = true; drpProjectType.Readonly = true; drpProject.Readonly = true; drpCompileMan.Readonly = true; txtCompileDate.Readonly = true; drpPerson.Readonly = true; ContactImg = -1; } } WindowAtt_Close(null, null); } else { this.drpCompileMan.SelectedValue = this.CurrUser.PersonId; this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); this.trAtt.Hidden = true; txtEdition.Text = "0"; plApprove2.Hidden = true; this.Opinion.Hidden = true; ////自动生成编码 //this.txtProjectPlanCode.Text = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.OfficeProjectPlanMenuId, this.ProjectId, this.CurrUser.UnitId); this.txtProjectPlanName.Text = this.SimpleForm1.Title; this.txtVersionNo.Text = "V1.0"; } } } /// /// 审批列表 /// private void bindApprove() { var list = ProjectPlanOpinionService.getListData(ProjectPlanId, this.CurrUser.PersonId); gvApprove.DataSource = list; gvApprove.DataBind(); } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (this.drpCompileMan.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择编制人!", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSave); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (this.drpProject.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning); return; } if (this.drpCompileMan.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择编制人!", MessageBoxIcon.Warning); return; } if (string.IsNullOrEmpty(HFProjectPlanId.Text)) { Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning); return; } if (this.drpPerson.SelectedItemArray.Length == 1 && this.drpPerson.SelectedValue == Const._Null) { Alert.ShowInTop("请选择评审人员!", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSubmit); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 保存数据 /// /// private void SaveData(string type) { Model.ActionPlan_ProjectPlan ProjectPlan = new Model.ActionPlan_ProjectPlan { ProjectPlanCode = this.txtProjectPlanCode.Text.Trim(), ProjectPlanName = this.txtProjectPlanName.Text.Trim(), VersionNo = this.txtVersionNo.Text.Trim(), ProjectType = this.drpProjectType.SelectedValue, }; if (this.drpProject.SelectedValue != BLL.Const._Null) { ProjectPlan.ProjectId = this.drpProject.SelectedValue; } if (this.drpCompileMan.SelectedValue != BLL.Const._Null) { ProjectPlan.CompileMan = this.drpCompileMan.SelectedValue; } if (!string.IsNullOrEmpty(this.txtCompileDate.Text.Trim())) { ProjectPlan.CompileDate = Convert.ToDateTime(this.txtCompileDate.Text.Trim()); } int edtion = Convert.ToInt32(txtEdition.Text); ProjectPlan.Edition = edtion; if (!string.IsNullOrEmpty(this.ProjectPlanId)) { ProjectPlan.ProjectPlanId = this.ProjectPlanId; Model.ActionPlan_ProjectPlan ProjectPlan1 = ProjectPlanService.GetProjectPlanById(ProjectPlanId); if (type == BLL.Const.BtnSubmit) { if (ProjectPlan1.States == Const.ProjectPlan_Compile || ProjectPlan1.States == Const.ProjectPlan_ReCompile) { Model.ActionPlan_ProjectPlanApprove approve = ProjectPlanApproveService.GetConstructSoluAppByApproveMan(ProjectPlanId, CurrUser.PersonId, Convert.ToInt32(ProjectPlan1.Edition)); if (type == BLL.Const.BtnSubmit) { approve.ApproveDate = DateTime.Now; } approve.Edition = Convert.ToInt32(edtion); ProjectPlanApproveService.UpdateProjectPlanApprove(approve); if (approve.IsAgree == true) { foreach (var item in this.drpPerson.SelectedValueArray) { if (item != Const._Null) { Model.ActionPlan_ProjectPlanApprove approve2 = new Model.ActionPlan_ProjectPlanApprove(); approve2.ProjectPlanId = ProjectPlan.ProjectPlanId; approve2.ApproveMan = item; approve2.ApproveType = Const.ProjectPlan_Reviewing; approve2.Edition = Convert.ToInt32(edtion); BLL.ProjectPlanApproveService.AddProjectPlanApprove(approve2); } } ProjectPlan.States = Const.ProjectPlan_Reviewing; } else { Model.ActionPlan_ProjectPlanApprove reApprove = new Model.ActionPlan_ProjectPlanApprove(); reApprove.ProjectPlanId = ProjectPlan.ProjectPlanId; reApprove.ApproveMan = ProjectPlan1.CompileMan; reApprove.ApproveType = Const.ProjectPlan_ReCompile; edtion++; reApprove.Edition = edtion; ProjectPlanApproveService.AddProjectPlanApprove(reApprove); ProjectPlan.States = Const.ProjectPlan_ReCompile; } } else if (ProjectPlan1.States == Const.ProjectPlan_Reviewing) { ProjectPlan.States = Const.ProjectPlan_Reviewing; Model.ActionPlan_ProjectPlanApprove approve = ProjectPlanApproveService.GetConstructSoluAppByApproveMan(ProjectPlanId, CurrUser.PersonId, Convert.ToInt32(ProjectPlan1.Edition)); if (approve != null) { approve.ApproveDate = DateTime.Now; BLL.ProjectPlanApproveService.UpdateProjectPlanApprove(approve); } List approve3s = BLL.ProjectPlanApproveService.GetReviewings(ProjectPlanId, edtion); //审批集合 List approve3Ends = BLL.ProjectPlanApproveService.GetReviewingEnds(ProjectPlanId, edtion); //审批完成集合 if (approve3s.Count == approve3Ends.Count) { ProjectPlan.States = Const.ProjectPlan_Complete; } } } else { ProjectPlan.States = ProjectPlan1.States; } //提交时候,更新提交版本 //if (CurrUser.PersonId.Equals(ProjectPlan1.CompileMan)) //{ // if (ProjectPlan1.States != Const.ProjectPlan_Audit) // { // edtion++; // } // ProjectPlan.Edition = Convert.ToInt32(edtion); // ProjectPlan.States = Const.ProjectPlan_Audit; //} BLL.ProjectPlanService.UpdateProjectPlan(ProjectPlan); BLL.LogService.AddSys_Log(this.CurrUser, this.txtProjectPlanCode.Text, this.ProjectPlanId, BLL.Const.OfficeProjectPlanMenuId, Const.BtnModify); } else { if (!string.IsNullOrEmpty(HFProjectPlanId.Text)) { ProjectPlan.ProjectPlanId = HFProjectPlanId.Text; } else { ProjectPlan.ProjectPlanId = SQLHelper.GetNewID(typeof(Model.ActionPlan_ProjectPlan)); } ProjectPlan.States = BLL.Const.ProjectPlan_Compile; if (type == BLL.Const.BtnSubmit) { ProjectPlan.States = BLL.Const.ProjectPlan_Reviewing; } BLL.ProjectPlanService.AddProjectPlan(ProjectPlan); if (type == BLL.Const.BtnSubmit) { Model.ActionPlan_ProjectPlanApprove approve1 = new Model.ActionPlan_ProjectPlanApprove(); approve1.ProjectPlanId = ProjectPlan.ProjectPlanId; approve1.ApproveDate = DateTime.Now; approve1.ApproveMan = this.CurrUser.PersonId; approve1.ApproveType = Const.ProjectPlan_Compile; approve1.Edition = Convert.ToInt32(txtEdition.Text); ProjectPlanApproveService.AddProjectPlanApprove(approve1); foreach (var item in this.drpPerson.SelectedValueArray) { if (item != Const._Null) { Model.ActionPlan_ProjectPlanApprove approve2 = new Model.ActionPlan_ProjectPlanApprove(); approve2.ProjectPlanId = ProjectPlan.ProjectPlanId; approve2.ApproveMan = item; approve2.ApproveType = Const.ProjectPlan_Reviewing; approve2.Edition = Convert.ToInt32(edtion); BLL.ProjectPlanApproveService.AddProjectPlanApprove(approve2); } } } else { Model.ActionPlan_ProjectPlanApprove approve1 = new Model.ActionPlan_ProjectPlanApprove(); approve1.ProjectPlanId = ProjectPlan.ProjectPlanId; approve1.ApproveMan = this.CurrUser.PersonId; approve1.ApproveType = Const.ProjectPlan_Compile; approve1.Edition = Convert.ToInt32(txtEdition.Text); ProjectPlanApproveService.AddProjectPlanApprove(approve1); } BLL.LogService.AddSys_Log(this.CurrUser, this.txtProjectPlanCode.Text, this.ProjectPlanId, BLL.Const.OfficeProjectPlanMenuId, Const.BtnAdd); } } #endregion #region 附件上传 /// /// 上传附件 /// /// /// protected void btnAttachUrl_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(HFProjectPlanId.Text)) //新增记录 { HFProjectPlanId.Text = SQLHelper.GetNewID(typeof(Model.ActionPlan_ProjectPlan)); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/ProjectPlanAttachUrl&menuId={1}&type={2}", HFProjectPlanId.Text, BLL.Const.OfficeProjectPlanMenuId, ContactImg))); } protected void btnapprove_Click(object sender, EventArgs e) { //HFConstructSolutionId.Text var approve = ProjectPlanApproveService.GetProjectPlanApproveByApproveMan(HFProjectPlanId.Text, CurrUser.PersonId); if (approve != null) { var approveId = approve.ProjectPlanApproveId; PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/ProjectPlanAttachUrl&menuId={2}", 0, approveId, Const.OfficeProjectPlanMenuId))); } } #endregion protected void WindowAtt_Close(object sender, WindowCloseEventArgs e) { this.divC.InnerHtml = string.Empty; var getAtt = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == HFProjectPlanId.Text); if (getAtt != null) { this.divC.InnerHtml = UploadAttachmentService.ShowAttachment("../../", getAtt.AttachUrl); } else { this.trAtt.Hidden = true; } } public string man(Object man) { string appman = string.Empty; if (Person_PersonsService.GetPerson_PersonsById(man.ToString()) != null) { appman = Person_PersonsService.GetPerson_PersonsById(man.ToString()).PersonName; } return appman; } 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(); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/ProjectPlanAttachUrl&menuId={2}", -1, fileId, Const.OfficeProjectPlanMenuId))); } /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, EventArgs e) { BindGrid(); } /// /// 绑定数据 /// private void BindGrid() { var opinions = BLL.ProjectPlanOpinionService.GetProjectPlanOpinionByProjectPlanId(this.ProjectPlanId, this.CurrUser.PersonId); this.Grid1.DataSource = opinions; this.Grid1.DataBind(); } #region 新增 /// /// 添加 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectPlanOpinionEdit.aspx?ProjectPlanId={0}", this.ProjectPlanId, "编辑 - "))); } #endregion #region 编辑 /// /// 双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { this.EditData(); } /// /// 右键编辑事件 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { this.EditData(); } /// /// 编辑数据方法 /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectPlanOpinionEdit.aspx?ProjectPlanOpinionId={0}", id, "编辑 - "))); } #endregion /// /// 右键删除事件 /// /// /// protected void btnMenuDelete_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); BLL.EquipmentInItemService.DeleteEquipmentInItemById(rowID); } BindGrid(); ShowNotify("删除数据成功!(表格数据已重新绑定)", MessageBoxIcon.Success); } } }