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) 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) { agree.Hidden = true; options.Hidden = true; optio.Hidden = true; } if (ProjectPlan.States == Const.ProjectPlan_Reviewing) { 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; } //提交版本人多次修改 if (ProjectPlan.CompileMan.Equals(CurrUser.PersonId)) { txtProjectPlanCode.Enabled = true; txtProjectPlanName.Enabled = true; txtVersionNo.Enabled = true; drpProjectType.Enabled = true; drpProject.Readonly = true; drpCompileMan.Enabled = true; txtCompileDate.Enabled = true; ContactImg = 0; Model.ActionPlan_ProjectPlanApprove approve = ProjectPlanApproveService.GetProjectPlanApproveByApproveMan(ProjectPlanId, CurrUser.PersonId); if (approve == null) { rblIsAgree.Hidden = true; rblIsAgree.Required = false; options.Hidden = true; txtOptions.Required = false; optio.Hidden = true; } } } 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; agree.Hidden = true; txtEdition.Text = "0"; options.Hidden = true; optio.Hidden = true; plApprove2.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 = ProjectPlanApproveService.getListData(ProjectPlanId); 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); approve.IsAgree = Convert.ToBoolean(rblIsAgree.SelectedValue); approve.ApproveIdea = txtOptions.Text.Trim(); 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; approve.ApproveIdea = this.txtOptions.Text.Trim(); approve.IsAgree = Convert.ToBoolean(this.rblIsAgree.SelectedValue); BLL.ProjectPlanApproveService.UpdateProjectPlanApprove(approve); } List approve3s = BLL.ProjectPlanApproveService.GetReviewings(ProjectPlanId, edtion); //审批集合 List approve3Ends = BLL.ProjectPlanApproveService.GetReviewingEnds(ProjectPlanId, edtion); //审批完成集合 int okNum = approve3Ends.Count(x => x.IsAgree == true); //审批同意数量 if (approve3s.Count == approve3Ends.Count) { if (approve3s.Count == okNum) //全部同意,审批完成 { ProjectPlan.States = Const.ProjectPlan_Complete; } 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; ProjectPlan.Edition= edtion; } } } } 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))); } } }