using BLL; using System; namespace FineUIPro.Web.CQMS.WBS.Control { public partial class DivisionSubProjectsNewEdit :PageBase { #region 定义变量 /// /// 主键 /// public string DivisionId { get { return (string)ViewState["DivisionId"]; } set { ViewState["DivisionId"] = value; } } /// /// 上级Id /// public string ParentId { get { return (string)ViewState["ParentId"]; } set { ViewState["ParentId"] = value; } } /// /// 1-分部,2-分项 /// public string Type { get { return (string)ViewState["Type"]; } set { ViewState["Type"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetButtonPower(); this.Type = Request.Params["type"]; this.DivisionId = Request.Params["DivisionId"]; this.ParentId = Request.Params["ParentId"]; if (!string.IsNullOrEmpty(this.ParentId)) { Model.Division_SubProjects subProjects = BLL.SubProjectsService.GetSubProjectsById(this.ParentId); if (subProjects != null) { this.txtBranchEngineeringCode.Text = subProjects.BranchEngineeringCode; this.txtBranchEngineeringName.Text = subProjects.BranchEngineeringName; if (this.Type == "1")//子分部工程 { this.txtSubBranchEngineeringName.Required = true; this.txtSubBranchEngineeringName.ShowRedStar = true; if (!string.IsNullOrEmpty(this.DivisionId)) { var divis = BLL.SubProjectsService.GetSubProjectsById(this.DivisionId); if (divis != null) { this.txtSubBranchEngineeringName.Text = divis.SubBranchEngineeringName; this.txtSort.Text = divis.Sort.HasValue ? divis.Sort.ToString() : ""; this.txtRemark.Text = divis.Remark; } } else { //自动获取排序号 int sort = BLL.SubProjectsService.GetSubProjectsByProjectId(this.CurrUser.LoginProjectId); if (sort > 0) { this.txtSort.Text = (sort + 1).ToString(); } } } else if (this.Type == "2")//分项工程 { this.txtSubBranchEngineeringName.Required = true; this.txtSubBranchEngineeringName.ShowRedStar = true; this.txtProEngineeringName.Required = true; this.txtProEngineeringName.ShowRedStar = true; this.txtProEngineeringCode.Required = true; this.txtProEngineeringCode.ShowRedStar = true; this.txtProEngineeringNum.Required = true; this.txtProEngineeringNum.ShowRedStar = true; var sub = BLL.SubProjectsService.GetSubProjectsById(subProjects.ParentId); if (sub != null) { this.txtBranchEngineeringName.Text = sub.BranchEngineeringName; } this.txtSubBranchEngineeringName.Text = subProjects.SubBranchEngineeringName; if (!string.IsNullOrEmpty(this.DivisionId)) { var divis = BLL.SubProjectsService.GetSubProjectsById(this.DivisionId); if (divis != null) { this.txtProEngineeringName.Text = divis.ProEngineeringName; this.txtProEngineeringCode.Text = divis.ProEngineeringCode; this.txtProEngineeringNum.Text = divis.ProEngineeringNum; this.txtSort.Text = divis.Sort.HasValue ? divis.Sort.ToString() : ""; this.txtRemark.Text = divis.Remark; } } else { //自动获取排序号 int sort = BLL.SubProjectsService.GetSubProjectsByProjectId(this.CurrUser.LoginProjectId); if (sort > 0) { this.txtSort.Text = (sort + 1).ToString(); } } } } } else //分部工程 { if (!string.IsNullOrEmpty(this.DivisionId)) { Model.Division_SubProjects subProjects = BLL.SubProjectsService.GetSubProjectsById(this.DivisionId); if (subProjects != null) { this.txtBranchEngineeringCode.Text = subProjects.BranchEngineeringCode; this.txtBranchEngineeringName.Text = subProjects.BranchEngineeringName; this.txtRemark.Text = subProjects.Remark; this.txtSort.Text = subProjects.Sort.HasValue ? subProjects.Sort.ToString() : ""; } } else { //自动获取排序号 int sort = BLL.SubProjectsService.GetSubProjectsByProjectId(this.CurrUser.LoginProjectId); if (sort > 0) { this.txtSort.Text = (sort + 1).ToString(); } else { this.txtSort.Text = "1"; } } } if (!string.IsNullOrEmpty(this.ParentId)) { this.txtBranchEngineeringCode.Readonly = true; this.txtBranchEngineeringName.Readonly = true; if (this.Type == "1")//子分部工程 { this.Panel1.Hidden = true; this.childBra.Hidden = false; } else if (this.Type == "2")//分项工程 { var pare = BLL.SubProjectsService.GetSubProjectsById(this.ParentId); if (pare != null) { if (!string.IsNullOrEmpty(pare.ParentId)) { this.childBra.Hidden = false; this.txtSubBranchEngineeringName.Readonly = true; } else { this.childBra.Hidden = true; } } this.Panel1.Hidden = false; } } else { this.Panel1.Hidden = true; } } } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { Model.Division_SubProjects newSubProjects = new Model.Division_SubProjects(); newSubProjects.ProjectId = this.CurrUser.LoginProjectId; newSubProjects.BranchEngineeringCode = this.txtBranchEngineeringCode.Text.Trim(); newSubProjects.Remark = this.txtRemark.Text.Trim(); newSubProjects.AddUser = this.CurrUser.UserId; newSubProjects.OperateTime = DateTime.Now; newSubProjects.Sort = Funs.GetNewInt(this.txtSort.Text.Trim()); if (!string.IsNullOrEmpty(this.ParentId)) { newSubProjects.ParentId = this.ParentId; if (this.Type == "1")//子分部工程 { newSubProjects.SubBranchEngineeringName = this.txtSubBranchEngineeringName.Text.Trim(); if (!string.IsNullOrEmpty(this.DivisionId)) { var div = BLL.SubProjectsService.GetSubProjectsById(this.DivisionId); if(div!=null) { newSubProjects.DivisionLevel = div.DivisionLevel; } newSubProjects.DivisionId = this.DivisionId; BLL.SubProjectsService.UpdateSubProjects(newSubProjects); } else { var sub = BLL.SubProjectsService.GetSubProjectsById(this.ParentId); if (sub.DivisionLevel == 1) { newSubProjects.DivisionLevel = 2; } newSubProjects.ProEngineeringName = this.txtProEngineeringName.Text.Trim(); newSubProjects.DivisionId = SQLHelper.GetNewID(typeof(Model.Division_SubProjects)); this.DivisionId = newSubProjects.DivisionId; BLL.SubProjectsService.AddSubProjects(newSubProjects); } } else if (this.Type == "2")//分项工程 { newSubProjects.ProEngineeringName = this.txtProEngineeringName.Text.Trim(); newSubProjects.ProEngineeringCode = this.txtProEngineeringCode.Text.Trim(); newSubProjects.ProEngineeringNum = this.txtProEngineeringNum.Text.Trim(); if (!string.IsNullOrEmpty(this.DivisionId)) { var div = BLL.SubProjectsService.GetSubProjectsById(this.DivisionId); if (div != null) { newSubProjects.DivisionLevel = div.DivisionLevel; } newSubProjects.DivisionId = this.DivisionId; BLL.SubProjectsService.UpdateSubProjects(newSubProjects); } else { var sub = BLL.SubProjectsService.GetSubProjectsById(this.ParentId); if (sub.DivisionLevel == 1) { newSubProjects.DivisionLevel = 2; } else if (sub.DivisionLevel==2) { newSubProjects.DivisionLevel = 3; } newSubProjects.DivisionId = SQLHelper.GetNewID(typeof(Model.Division_SubProjects)); this.DivisionId = newSubProjects.DivisionId; BLL.SubProjectsService.AddSubProjects(newSubProjects); } } } else //分部工程 { newSubProjects.BranchEngineeringName = this.txtBranchEngineeringName.Text.Trim(); newSubProjects.DivisionLevel = 1; newSubProjects.ProEngineeringCode = "00"; newSubProjects.ProEngineeringNum = newSubProjects.BranchEngineeringCode + "00"; if (!string.IsNullOrEmpty(this.DivisionId)) { newSubProjects.DivisionId = this.DivisionId; BLL.SubProjectsService.UpdateSubProjects(newSubProjects); } else { newSubProjects.DivisionId = SQLHelper.GetNewID(typeof(Model.Division_SubProjects)); this.DivisionId = newSubProjects.DivisionId; BLL.SubProjectsService.AddSubProjects(newSubProjects); } } ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } #endregion #region 分项工程编号触发事件 /// /// 分项工程编号触发事件 /// /// /// protected void txtProEngineeringCode_TextChanged(object sender, EventArgs e) { this.txtProEngineeringNum.Text = string.Empty; if (!string.IsNullOrEmpty(this.txtBranchEngineeringCode.Text.Trim())&&!string.IsNullOrEmpty(this.txtProEngineeringCode.Text.Trim())) { this.txtProEngineeringNum.Text = this.txtBranchEngineeringCode.Text.Trim() + this.txtProEngineeringCode.Text.Trim(); } } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { if (Request.Params["value"] == "0") { return; } var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.DivisionSubProjectsMenuId); if (buttonList.Count > 0) { if (buttonList.Contains(BLL.Const.BtnSave)) { this.btnSave.Hidden = false; } } } #endregion } }