using BLL; using Model; using System; using System.Linq; using System.ServiceModel; using System.Text.RegularExpressions; namespace FineUIPro.Web.ProjectData { public partial class ProjectSetSave : PageBase { /// /// 定义项 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); ProjectTypeService.InitProjectTypeDropDownList(this.drpProjectType, true); ProjectTypeService.InitProvinceDropDownList(this.drpProvince, true); this.ProjectId = Request.QueryString["ProjectId"]; UnitService.InitBranchUnitDropDownList(this.drpUnit, true, true); this.drpUnit.SelectedValue = Const.UnitId_SEDIN; if (!String.IsNullOrEmpty(this.ProjectId)) { var project = BLL.ProjectService.GetProjectByProjectId(this.ProjectId); if (project != null) { this.txtProjectCode.Text = project.ProjectCode; this.txtProjectName.Text = project.ProjectName; this.txtProjectAddress.Text = project.ProjectAddress; this.txtWorkRange.Text = project.WorkRange; this.txtContractNo.Text = project.ContractNo; this.txtRemark.Text = project.Remark; if (project.Duration != null) { this.txtDuration.Text = project.Duration.ToString(); } if (project.StartDate.HasValue) { this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", project.StartDate); } if (project.EndDate.HasValue) { this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", project.EndDate); } this.txtShortName.Text = project.ShortName; if (!string.IsNullOrEmpty(project.ProjectType)) { this.drpProjectType.SelectedValue = project.ProjectType; } if (!string.IsNullOrEmpty(project.UnitId)) { this.drpUnit.SelectedValue = project.UnitId; } this.initProjectRoles(); ///项目经理 this.drpProjectManager.SelectedValue = SitePerson_PersonService.GetPersonIdByProjectIdRoleID(this.ProjectId, Const.ProjectManager); ///施工经理 this.drpConstructionManager.SelectedValue = SitePerson_PersonService.GetPersonIdByProjectIdRoleID(this.ProjectId, Const.ConstructionManager); ////安全经理 this.drpHSSEManager.SelectedValue = SitePerson_PersonService.GetPersonIdByProjectIdRoleID(this.ProjectId, Const.HSSEManager); this.drpProjectState.SelectedValue = project.ProjectState; this.ckIsUpTotalMonth.Checked = project.IsUpTotalMonth.Value; if (project.IsForeign == true) { this.ckbIsForeign.Checked = true; } this.txtMapCoordinates.Text = project.MapCoordinates; this.txtProjectMoney.Text = project.ProjectMoney.ToString(); this.txtConstructionMoney.Text = project.ConstructionMoney.ToString(); this.txtTelephone.Text = project.Telephone; this.txtCountry.Text = project.Country; if (!string.IsNullOrEmpty(project.Province)) { this.drpProvince.SelectedValue = project.Province; } this.txtCity.Text = project.City; this.txtEnglishRemark.Text = project.EnglishRemark; } } else { this.initProjectRoles(); } } } /// /// 保存数据 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (!this.ckbIsForeign.Checked) { if (this.drpProvince.SelectedValue == BLL.Const._Null) { ShowNotify("请选择省份!", MessageBoxIcon.Warning); return; } } Base_Project project = new Base_Project { ProjectCode = this.txtProjectCode.Text.Trim(), ProjectName = Regex.Replace(this.txtProjectName.Text, @"\s", ""), ProjectAddress = this.txtProjectAddress.Text.Trim(), WorkRange = this.txtWorkRange.Text.Trim(), ContractNo = this.txtContractNo.Text.Trim(), Duration = Funs.GetNewDecimal(this.txtDuration.Text.Trim()), MapCoordinates = this.txtMapCoordinates.Text.Trim(), ProjectState = this.drpProjectState.SelectedValue, ProjectMoney = Funs.GetNewDecimal(this.txtProjectMoney.Text), ConstructionMoney = Funs.GetNewDecimal(this.txtConstructionMoney.Text), Remark = this.txtRemark.Text.Trim(), Telephone = this.txtTelephone.Text.Trim(), Country = this.txtCountry.Text.Trim(), City = this.txtCity.Text.Trim(), EnglishRemark = this.txtEnglishRemark.Text.Trim(), }; if (!string.IsNullOrEmpty(txtStartDate.Text.Trim())) { project.StartDate = Funs.GetNewDateTime(this.txtStartDate.Text.Trim()); } if (!string.IsNullOrEmpty(txtEndDate.Text.Trim())) { project.EndDate = Funs.GetNewDateTime(this.txtEndDate.Text.Trim()); } project.ShortName = this.txtShortName.Text.Trim(); if (this.drpProjectType.SelectedValue != BLL.Const._Null) { project.ProjectType = this.drpProjectType.SelectedValue; } if (this.drpProvince.SelectedValue != BLL.Const._Null) { project.Province = this.drpProvince.SelectedValue; } if (this.drpUnit.SelectedValue != BLL.Const._Null) { project.UnitId = this.drpUnit.SelectedValue; } //project.PostCode = this.txtPostCode.Text.Trim(); project.IsUpTotalMonth = Convert.ToBoolean(this.ckIsUpTotalMonth.Checked); project.IsForeign = Convert.ToBoolean(this.ckbIsForeign.Checked); if (String.IsNullOrEmpty(this.ProjectId)) { project.ProjectId = SQLHelper.GetNewID(); project.ProjectState = BLL.Const.ProjectState_1; this.ProjectId = project.ProjectId; ProjectService.AddProject(project); // 初始化焊接环境变量设置 BLL.Project_SysSetService.InsertHjglInit(project.ProjectId); LogService.AddSys_Log(this.CurrUser, project.ProjectCode, project.ProjectId, BLL.Const.ProjectSetMenuId, BLL.Const.BtnAdd); } else { var getProject = BLL.ProjectService.GetProjectByProjectId(this.ProjectId); if (getProject != null) { project.FromProjectId = getProject.FromProjectId; } project.ProjectId = this.ProjectId; ProjectService.UpdateProject(project); LogService.AddSys_Log(this.CurrUser, project.ProjectCode, project.ProjectId, BLL.Const.ProjectSetMenuId, BLL.Const.BtnModify); } this.SetProjectManager(project.ProjectId);/// 设置项目、施工、安全经理 ShowNotify("保存数据成功!", MessageBoxIcon.Success); // 2. 关闭本窗体,然后刷新父窗体 // PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); // 2. 关闭本窗体,然后回发父窗体 PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); //PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(wedId) + ActiveWindow.GetHideReference()); } #region 验证项目名称、项目编号是否存在 /// /// 验证项目名称、项目编号是否存在 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { var q = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == this.txtProjectCode.Text.Trim() && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null))); if (q != null) { ShowNotify("输入的项目编号已存在!", MessageBoxIcon.Warning); } var q2 = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectName == this.txtProjectName.Text.Trim() && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null))); if (q2 != null) { ShowNotify("输入的项目名称已存在!", MessageBoxIcon.Warning); } } #endregion #region 设置项目、施工、安全经理 /// /// 设置项目、施工、安全经理 /// /// private void SetProjectManager(string projectId) { ////项目经理 SitePerson_PersonService.SaveSitePersonProjectRole(projectId, Const.ProjectManager, this.drpProjectManager.SelectedValue); ////施工经理 SitePerson_PersonService.SaveSitePersonProjectRole(projectId, Const.ConstructionManager, this.drpConstructionManager.SelectedValue); ////安全经理 SitePerson_PersonService.SaveSitePersonProjectRole(projectId, Const.HSSEManager, this.drpHSSEManager.SelectedValue); } #endregion protected void txtStartDate_Blur(object sender, EventArgs e) { var sDate = Funs.GetNewDateTime(this.txtStartDate.Text); var eDate = Funs.GetNewDateTime(this.txtEndDate.Text); if (sDate.HasValue && eDate.HasValue && eDate.Value > sDate.Value) { int m1 = sDate.Value.Year * 12 + sDate.Value.Month; int m2 = eDate.Value.Year * 12 + eDate.Value.Month; int a = m2 - m1; TimeSpan ts1 = new TimeSpan(sDate.Value.Ticks); TimeSpan ts2 = new TimeSpan(eDate.Value.AddMonths(0 - a).Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); this.txtDuration.Text = (Math.Round((ts.Days * 1.0 / 30), 1) + a).ToString(); } } protected void ckbIsForeign_CheckedChanged(object sender, CheckedEventArgs e) { if (this.ckbIsForeign.Checked) { this.drpProvince.ShowRedStar = false; this.drpProvince.Required = false; } else { this.drpProvince.ShowRedStar = true; this.drpProvince.Required = true; } } protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e) { this.initProjectRoles(); } protected void initProjectRoles() { string unitId = this.drpUnit.SelectedValue == Const._Null ? Const.UnitId_SEDIN : this.drpUnit.SelectedValue; ///项目经理 Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpProjectManager, null, unitId, null, true); ///施工经理 Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpConstructionManager, null, unitId, null, true); ///安全经理 Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpHSSEManager, null, unitId, null, true); } } }