using BLL; using System; namespace FineUIPro.Web.JDGL.WBS { public partial class WBSSetAuditEdit : PageBase { #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadData(); string id = Request.Params["Id"]; string type = Request.Params["Type"]; string oper = Request.Params["oper"]; if (oper == "add") //增加 { if (type == "cnProfession") { Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(id); if (cnProfession != null) { txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", cnProfession.StartDate); txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", cnProfession.EndDate); } } else if (type == "unitProject") { Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(id); if (unitProject != null) { txtCode.Text = GetNewCode(unitProject.UnitProjectCode, 0, "wbsSet"); //this.txtCode.Readonly = true; if (unitProject.StartDate != null) { txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", unitProject.StartDate); txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", unitProject.EndDate); } } } else if (type == "wbsSet") { Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(id); if (wbsSet != null) { txtCode.Text = GetNewCode(wbsSet.WbsSetCode, 0, "wbsSet"); //this.txtCode.Readonly = true; if (wbsSet.StartDate != null) { txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", wbsSet.StartDate); txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", wbsSet.EndDate); } } } } else //修改 { if (type == "unitProject") { Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(id); if (unitProject != null) { txtCode.Text = unitProject.UnitProjectCode; txtName.Text = unitProject.UnitProjectName; if (unitProject.StartDate != null) { txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", unitProject.StartDate); txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", unitProject.EndDate); } if (unitProject.SortIndex != null) { txtSortIndex.Text = unitProject.SortIndex.ToString(); } txtRemark.Text = unitProject.Remark; } } else if (type == "wbsSet") { Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(id); if (wbsSet != null) { txtCode.Text = wbsSet.WbsSetCode; txtName.Text = wbsSet.WbsSetName; if (wbsSet.StartDate != null) { txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", wbsSet.StartDate); txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", wbsSet.EndDate); } txtRemark.Text = wbsSet.Remark; if (BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(id).Count == 0) //末级节点 { this.trWbsSet2.Hidden = false; if (wbsSet.Weights != null) { txtWeights.Text = wbsSet.Weights.ToString(); } } } } else if (type == "cnProfession") { //this.trUnit.Hidden = false; Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(id); if (cnProfession != null) { txtCode.Text = cnProfession.CnProfessionCode; txtName.Text = cnProfession.CnProfessionName; if (cnProfession.StartDate != null) { txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", cnProfession.StartDate); txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", cnProfession.EndDate); } this.trSortIndex.Hidden = true; this.txtRemark.Hidden = true; //this.drpUnit.DataTextField = "UnitName"; //this.drpUnit.DataValueField = "UnitId"; //this.drpUnit.DataSource = BLL.UnitService.GetUnitByProjectIdList(cnProfession.ProjectId); //this.drpUnit.DataBind(); //Funs.FineUIPleaseSelect(this.drpUnit); //if (!string.IsNullOrEmpty(cnProfession.UnitId)) //{ // this.drpUnit.SelectedValue = cnProfession.UnitId; //} } } } } } #region 获取编号 /// /// 获取编号 /// /// /// /// /// private string GetNewCode(string code, int i, string type) { string newCode = string.Empty; string testCode = string.Empty; string istr = string.Empty; i++; if (i < 10) { istr = "0" + i.ToString(); } else { istr = i.ToString(); } testCode = string.Empty; testCode = code + istr; if (BLL.WbsSetService.GetWbsSetByWbsSetCode(testCode, this.CurrUser.LoginProjectId) == null) { newCode = testCode; } else { do { i++; if (i < 10) { istr = "0" + i.ToString(); } else { istr = i.ToString(); } testCode = code + istr; } while (BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(testCode) != null); newCode = testCode; } return newCode; } #endregion private void LoadData() { btnClose.OnClientClick = ActiveWindow.GetHideReference(); } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { string id = Request.Params["Id"]; string type = Request.Params["Type"]; string oper = Request.Params["oper"]; if (oper == "add") //增加 { string newId = string.Empty; if (type == "cnProfession") { Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(id); Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); newId = unitProject.UnitProjectId; unitProject.UnitProjectCode = txtCode.Text.Trim(); unitProject.UnitProjectName = txtName.Text.Trim(); unitProject.SuperUnitProjectId = null; if (cnProfession != null) { unitProject.ProjectId = cnProfession.ProjectId; unitProject.InstallationId = cnProfession.InstallationId; } unitProject.CnProfessionId = id; unitProject.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); unitProject.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); unitProject.Remark = txtRemark.Text.Trim(); unitProject.IsSelected = true; unitProject.IsApprove = true; if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) { unitProject.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); } BLL.UnitProjectService.AddUnitProject(unitProject); } else if (type == "unitProject") { Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(id); Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); newId = wbsSet.WbsSetId; wbsSet.WbsSetCode = txtCode.Text.Trim(); wbsSet.WbsSetName = txtName.Text.Trim(); if (unitProject != null) { wbsSet.InstallationId = unitProject.InstallationId; wbsSet.CnProfessionId = unitProject.CnProfessionId; wbsSet.ProjectId = unitProject.ProjectId; } wbsSet.UnitProjectId = id; wbsSet.SuperWbsSetId = null; wbsSet.Flag = 1; wbsSet.IsSelected = true; wbsSet.IsApprove = true; wbsSet.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); wbsSet.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); wbsSet.Remark = txtRemark.Text.Trim(); if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) { wbsSet.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtWeights.Text.Trim())) { wbsSet.Weights = Funs.GetNewDecimal(this.txtWeights.Text.Trim()); } BLL.WbsSetService.AddWbsSet(wbsSet); } else if (type == "wbsSet") { Model.Wbs_WbsSet oldWbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(id); Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); newId = wbsSet.WbsSetId; wbsSet.WbsSetCode = txtCode.Text.Trim(); wbsSet.WbsSetName = txtName.Text.Trim(); if (oldWbsSet != null) { wbsSet.InstallationId = oldWbsSet.InstallationId; wbsSet.CnProfessionId = oldWbsSet.CnProfessionId; wbsSet.ProjectId = oldWbsSet.ProjectId; wbsSet.UnitProjectId = oldWbsSet.UnitProjectId; } wbsSet.SuperWbsSetId = id; wbsSet.Flag = (oldWbsSet.Flag ?? 0) + 1; wbsSet.IsSelected = true; wbsSet.IsApprove = true; wbsSet.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); wbsSet.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); wbsSet.Remark = txtRemark.Text.Trim(); if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) { wbsSet.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtWeights.Text.Trim())) { wbsSet.Weights = Funs.GetNewDecimal(this.txtWeights.Text.Trim()); } BLL.WbsSetService.AddWbsSet(wbsSet); } else if (type == "installation") { Model.Project_Installation installation = BLL.Project_InstallationService.GetInstallationByInstallationId(id); Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); newId = unitProject.UnitProjectId; unitProject.UnitProjectCode = txtCode.Text.Trim(); unitProject.UnitProjectName = txtName.Text.Trim(); unitProject.SuperUnitProjectId = null; if (installation != null) { unitProject.ProjectId = installation.ProjectId; unitProject.InstallationId = installation.InstallationId; } unitProject.CnProfessionId = null; unitProject.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); unitProject.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); unitProject.Remark = txtRemark.Text.Trim(); unitProject.IsSelected = true; unitProject.IsApprove = true; if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) { unitProject.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); } BLL.UnitProjectService.AddUnitProject(unitProject); } PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(newId) + ActiveWindow.GetHidePostBackReference()); } else //修改 { if (type == "unitProject") { Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(id); if (unitProject != null) { unitProject.UnitProjectCode = txtCode.Text.Trim(); unitProject.UnitProjectName = txtName.Text.Trim(); unitProject.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); unitProject.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); unitProject.Remark = txtRemark.Text.Trim(); if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) { unitProject.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); } BLL.UnitProjectService.UpdateUnitProject(unitProject); } } else if (type == "wbsSet") { Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(id); if (wbsSet != null) { wbsSet.WbsSetCode = txtCode.Text.Trim(); wbsSet.WbsSetName = txtName.Text.Trim(); wbsSet.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); wbsSet.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); wbsSet.Remark = txtRemark.Text.Trim(); if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) { wbsSet.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtWeights.Text.Trim())) { wbsSet.Weights = Funs.GetNewDecimal(this.txtWeights.Text.Trim()); } BLL.WbsSetService.UpdateWbsSet(wbsSet); } } else if (type == "cnProfession") { Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(id); if (cnProfession != null) { cnProfession.CnProfessionCode = txtCode.Text.Trim(); cnProfession.CnProfessionName = txtName.Text.Trim(); cnProfession.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); cnProfession.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); //if (this.drpUnit.SelectedValue != BLL.Const._Null) //{ // cnProfession.UnitId = this.drpUnit.SelectedValue; //} BLL.CnProfessionService.UpdateCnProfession(cnProfession); } } else if (type == "installation") { Model.Project_Installation installation = BLL.Project_InstallationService.GetInstallationByInstallationId(id); if (installation != null) { installation.InstallationCode = txtCode.Text.Trim(); installation.InstallationName = txtName.Text.Trim(); installation.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); installation.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); installation.Def = this.txtRemark.Text.Trim(); if (this.drpUnit.SelectedValue != BLL.Const._Null) { installation.UnitId = this.drpUnit.SelectedValue; } BLL.Project_InstallationService.UpdateInstallation(installation); } } //BLL.LogService.AddSys_Log(this.CurrUser, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "修改单位、分部、分项工程"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } #endregion } }