using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; namespace FineUIPro.Web.CQMS.ManageReport { public partial class QuarterlyProjectQualityEdit : PageBase { #region 定义变量 /// /// 主键 /// public string QuarterlyProjectQualityId { get { return (string)ViewState["QuarterlyProjectQualityId"]; } set { ViewState["QuarterlyProjectQualityId"] = value; } } #region 项目主键 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); this.ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId) { this.ProjectId = Request.Params["projectId"]; } BLL.ConstValue.InitConstValueDropDownList(this.ddlYearId, BLL.ConstValue.Group_0008, true); BLL.ConstValue.InitConstValueDropDownList(this.ddlQuarter, BLL.ConstValue.Group_0011, true); BLL.UserService.InitUserProjectIdUnitIdDropDownList(this.drpCompileMan, this.ProjectId, this.CurrUser.UnitId, true); BLL.UserService.InitUserProjectIdUnitIdDropDownList(this.drpResponsiblePerson, this.ProjectId, this.CurrUser.UnitId, true); this.QuarterlyProjectQualityId = Request.Params["QuarterlyProjectQualityId"]; if (!string.IsNullOrEmpty(this.QuarterlyProjectQualityId)) { var quarterlyProjectQuality = BLL.ProjectQuarterlyProjectQualityService.GetQuarterlyProjectQualityById(this.QuarterlyProjectQualityId); if (quarterlyProjectQuality != null) { this.ProjectId = quarterlyProjectQuality.ProjectId; if (quarterlyProjectQuality.Year.HasValue) { this.ddlYearId.SelectedValue = quarterlyProjectQuality.Year.ToString(); } if (quarterlyProjectQuality.Quarter.HasValue) { this.ddlQuarter.SelectedValue = quarterlyProjectQuality.Quarter.ToString(); } if (quarterlyProjectQuality.CompileDate != null) { this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", quarterlyProjectQuality.CompileDate); } if (!string.IsNullOrEmpty(quarterlyProjectQuality.ResponsiblePerson)) { this.drpResponsiblePerson.SelectedValue = quarterlyProjectQuality.ResponsiblePerson; } if (!string.IsNullOrEmpty(quarterlyProjectQuality.CompileMan)) { this.drpCompileMan.SelectedValue = quarterlyProjectQuality.CompileMan; } this.txtTel.Text = quarterlyProjectQuality.Tel; this.txtQualityManagePersonNum.Text = quarterlyProjectQuality.QualityManagePersonNum.HasValue ? quarterlyProjectQuality.QualityManagePersonNum.ToString() : ""; this.txtAdvancedTitlePersonNum.Text = quarterlyProjectQuality.AdvancedTitlePersonNum.HasValue ? quarterlyProjectQuality.AdvancedTitlePersonNum.ToString() : ""; this.txtIntermediateTitlePersonNum.Text = quarterlyProjectQuality.IntermediateTitlePersonNum.HasValue ? quarterlyProjectQuality.IntermediateTitlePersonNum.ToString() : ""; this.txtBeImplementedProjectNum.Text = quarterlyProjectQuality.BeImplementedProjectNum.HasValue ? quarterlyProjectQuality.BeImplementedProjectNum.ToString() : ""; this.txtStartImplementedProjectNum.Text = quarterlyProjectQuality.StartImplementedProjectNum.HasValue ? quarterlyProjectQuality.StartImplementedProjectNum.ToString() : ""; this.txtAccumulativeStartImplemented.Text = quarterlyProjectQuality.AccumulativeStartImplemented.HasValue ? quarterlyProjectQuality.AccumulativeStartImplemented.ToString() : ""; this.txtCompleteProjectNum.Text = quarterlyProjectQuality.CompleteProjectNum.HasValue ? quarterlyProjectQuality.CompleteProjectNum.ToString() : ""; this.txtYearCompleteProjectNum.Text = quarterlyProjectQuality.YearCompleteProjectNum.HasValue ? quarterlyProjectQuality.YearCompleteProjectNum.ToString() : ""; this.txtQuarterTotal.Text = quarterlyProjectQuality.QuarterTotal.HasValue ? quarterlyProjectQuality.QuarterTotal.ToString() : ""; this.txtQuarterFirstPassNum.Text = quarterlyProjectQuality.QuarterFirstPassNum.HasValue ? quarterlyProjectQuality.QuarterFirstPassNum.ToString() : ""; this.txtQuarterFirstPassRate.Text = quarterlyProjectQuality.QuarterFirstPassRate.HasValue ? quarterlyProjectQuality.QuarterFirstPassRate.ToString() : ""; this.txtYearTotal.Text = quarterlyProjectQuality.YearTotal.HasValue ? quarterlyProjectQuality.YearTotal.ToString() : ""; this.txtYearFirstPassNum.Text = quarterlyProjectQuality.YearFirstPassNum.HasValue ? quarterlyProjectQuality.YearFirstPassNum.ToString() : ""; this.txtYearFirstPassRate.Text = quarterlyProjectQuality.YearFirstPassRate.HasValue ? quarterlyProjectQuality.YearFirstPassRate.ToString() : ""; this.txtQuaterCheckSuperviseNum.Text = quarterlyProjectQuality.QuaterCheckSuperviseNum.HasValue ? quarterlyProjectQuality.QuaterCheckSuperviseNum.ToString() : ""; this.txtQuaterCorrectiveNoticeNum.Text = quarterlyProjectQuality.QuaterCorrectiveNoticeNum.HasValue ? quarterlyProjectQuality.QuaterCorrectiveNoticeNum.ToString() : ""; this.txtQuaterQualityProblemNum.Text = quarterlyProjectQuality.QuaterQualityProblemNum.HasValue ? quarterlyProjectQuality.QuaterQualityProblemNum.ToString() : ""; this.txtQuaterClosedQualityProblemNum.Text = quarterlyProjectQuality.QuaterClosedQualityProblemNum.HasValue ? quarterlyProjectQuality.QuaterClosedQualityProblemNum.ToString() : ""; this.txtYearCheckSuperviseNum.Text = quarterlyProjectQuality.YearCheckSuperviseNum.HasValue ? quarterlyProjectQuality.YearCheckSuperviseNum.ToString() : ""; this.txtYearCorrectiveNoticeNum.Text = quarterlyProjectQuality.YearCorrectiveNoticeNum.HasValue ? quarterlyProjectQuality.YearCorrectiveNoticeNum.ToString() : ""; this.txtYearQualityProblemNum.Text = quarterlyProjectQuality.YearQualityProblemNum.HasValue ? quarterlyProjectQuality.YearQualityProblemNum.ToString() : ""; this.txtYearClosedQualityProblemNum.Text = quarterlyProjectQuality.YearClosedQualityProblemNum.HasValue ? quarterlyProjectQuality.YearClosedQualityProblemNum.ToString() : ""; this.txtQuaterQualityAccidentNum.Text = quarterlyProjectQuality.QuaterQualityAccidentNum.HasValue ? quarterlyProjectQuality.QuaterQualityAccidentNum.ToString() : ""; this.txtQuaterDirectEconomicLoss.Text = quarterlyProjectQuality.QuaterDirectEconomicLoss.HasValue ? quarterlyProjectQuality.QuaterDirectEconomicLoss.ToString() : ""; this.txtYearQualityAccidentNum.Text = quarterlyProjectQuality.YearQualityAccidentNum.HasValue ? quarterlyProjectQuality.YearQualityAccidentNum.ToString() : ""; this.txtYearDirectEconomicLoss.Text = quarterlyProjectQuality.YearDirectEconomicLoss.HasValue ? quarterlyProjectQuality.YearDirectEconomicLoss.ToString() : ""; } } else { DateTime showDate = DateTime.Now.AddMonths(-3); this.ddlQuarter.SelectedValue = Funs.GetNowQuarterlyByTime(showDate).ToString(); this.ddlYearId.SelectedValue = showDate.Year.ToString(); this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); DateTime startTime = Funs.GetQuarterlyMonths(this.ddlYearId.SelectedValue, this.ddlQuarter.SelectedValue); DateTime endTime = startTime.AddMonths(3); } } } #endregion #region 年季度变化事件 /// /// 年季度变化事件 /// /// /// protected void drpYear_SelectedIndexChanged(object sender, EventArgs e) { if (this.ddlYearId.SelectedValue != BLL.Const._Null && this.ddlQuarter.SelectedValue != BLL.Const._Null) { DateTime startTime = Funs.GetQuarterlyMonths(this.ddlYearId.SelectedValue, this.ddlQuarter.SelectedValue); DateTime endTime = startTime.AddMonths(3); } } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (this.ddlYearId.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择年度", MessageBoxIcon.Warning); return; } if (this.ddlQuarter.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择季度", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSave); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 保存数据 /// /// private void SaveData(string type) { Model.InformationProject_QuarterlyProjectQuality quarterlyProjectQuality = new Model.InformationProject_QuarterlyProjectQuality { ProjectId = this.ProjectId, UnitId = string.IsNullOrEmpty(this.CurrUser.UnitId) ? BLL.Const.UnitId_CWCEC : this.CurrUser.UnitId, QualityManagePersonNum = Funs.GetNewInt(this.txtQualityManagePersonNum.Text.Trim()), AdvancedTitlePersonNum = Funs.GetNewInt(this.txtAdvancedTitlePersonNum.Text.Trim()), IntermediateTitlePersonNum = Funs.GetNewInt(this.txtIntermediateTitlePersonNum.Text.Trim()), BeImplementedProjectNum = Funs.GetNewInt(this.txtBeImplementedProjectNum.Text.Trim()), StartImplementedProjectNum = Funs.GetNewInt(this.txtStartImplementedProjectNum.Text.Trim()), AccumulativeStartImplemented = Funs.GetNewInt(this.txtAccumulativeStartImplemented.Text.Trim()), CompleteProjectNum = Funs.GetNewInt(this.txtCompleteProjectNum.Text.Trim()), YearCompleteProjectNum = Funs.GetNewInt(this.txtYearCompleteProjectNum.Text.Trim()), QuarterTotal = Funs.GetNewInt(this.txtQuarterTotal.Text.Trim()), QuarterFirstPassNum = Funs.GetNewInt(this.txtQuarterFirstPassNum.Text.Trim()), QuarterFirstPassRate = Funs.GetNewDecimal(this.txtQuarterFirstPassRate.Text.Trim()), YearTotal = Funs.GetNewInt(this.txtYearTotal.Text.Trim()), YearFirstPassNum = Funs.GetNewInt(this.txtYearFirstPassNum.Text.Trim()), YearFirstPassRate = Funs.GetNewDecimal(this.txtYearFirstPassRate.Text.Trim()), QuaterCheckSuperviseNum = Funs.GetNewInt(this.txtQuaterCheckSuperviseNum.Text.Trim()), QuaterCorrectiveNoticeNum = Funs.GetNewInt(this.txtQuaterCorrectiveNoticeNum.Text.Trim()), QuaterQualityProblemNum = Funs.GetNewInt(this.txtQuaterQualityProblemNum.Text.Trim()), QuaterClosedQualityProblemNum = Funs.GetNewInt(this.txtQuaterClosedQualityProblemNum.Text.Trim()), YearCheckSuperviseNum = Funs.GetNewInt(this.txtYearCheckSuperviseNum.Text.Trim()), YearCorrectiveNoticeNum = Funs.GetNewInt(this.txtYearCorrectiveNoticeNum.Text.Trim()), YearQualityProblemNum = Funs.GetNewInt(this.txtYearQualityProblemNum.Text.Trim()), YearClosedQualityProblemNum = Funs.GetNewInt(this.txtYearClosedQualityProblemNum.Text.Trim()), QuaterQualityAccidentNum = Funs.GetNewInt(this.txtQuaterQualityAccidentNum.Text.Trim()), QuaterDirectEconomicLoss = Funs.GetNewDecimal(this.txtQuaterDirectEconomicLoss.Text.Trim()), YearQualityAccidentNum = Funs.GetNewInt(this.txtYearQualityAccidentNum.Text.Trim()), YearDirectEconomicLoss = Funs.GetNewInt(this.txtYearDirectEconomicLoss.Text.Trim()), Tel = this.txtTel.Text.Trim() }; if (this.ddlYearId.SelectedValue != BLL.Const._Null) { quarterlyProjectQuality.Year = Funs.GetNewIntOrZero(this.ddlYearId.SelectedValue); } if (this.ddlQuarter.SelectedValue != BLL.Const._Null) { quarterlyProjectQuality.Quarter = Funs.GetNewIntOrZero(this.ddlQuarter.SelectedValue); } if (this.drpResponsiblePerson.SelectedValue != BLL.Const._Null) { quarterlyProjectQuality.ResponsiblePerson = this.drpResponsiblePerson.SelectedValue; } if (this.drpCompileMan.SelectedValue != BLL.Const._Null) { quarterlyProjectQuality.CompileMan = this.drpCompileMan.SelectedValue; } quarterlyProjectQuality.CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text.Trim()); if (!string.IsNullOrEmpty(this.QuarterlyProjectQualityId)) { quarterlyProjectQuality.QuarterlyProjectQualityId = this.QuarterlyProjectQualityId; BLL.ProjectQuarterlyProjectQualityService.UpdateQuarterlyProjectQuality(quarterlyProjectQuality); BLL.LogService.AddSys_Log(this.CurrUser, quarterlyProjectQuality.Year.ToString() + "-" + quarterlyProjectQuality.Quarter.ToString(), quarterlyProjectQuality.QuarterlyProjectQualityId, BLL.Const.ProjectQuarterlyProjectQualityMenuId, BLL.Const.BtnModify); } else { Model.InformationProject_QuarterlyProjectQuality oldDrillConductedQuarterlyReport = (from x in Funs.DB.InformationProject_QuarterlyProjectQuality where x.ProjectId == quarterlyProjectQuality.ProjectId && x.Year == quarterlyProjectQuality.Year && x.Quarter == quarterlyProjectQuality.Quarter select x).FirstOrDefault(); if (oldDrillConductedQuarterlyReport == null) { this.QuarterlyProjectQualityId = SQLHelper.GetNewID(typeof(Model.InformationProject_QuarterlyProjectQuality)); quarterlyProjectQuality.QuarterlyProjectQualityId = this.QuarterlyProjectQualityId; BLL.ProjectQuarterlyProjectQualityService.AddQuarterlyProjectQuality(quarterlyProjectQuality); BLL.LogService.AddSys_Log(this.CurrUser, quarterlyProjectQuality.Year.ToString() + "-" + quarterlyProjectQuality.Quarter.ToString(), quarterlyProjectQuality.QuarterlyProjectQualityId, BLL.Const.ProjectQuarterlyProjectQualityMenuId, BLL.Const.BtnAdd); } else { Alert.ShowInTop("该季度记录已存在", MessageBoxIcon.Warning); return; } } } #endregion /// /// 本季度完成一次合格率 /// /// /// protected void txtQuarterTotal_TextChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.txtQuarterTotal.Text.Trim()) && !string.IsNullOrEmpty(txtQuarterFirstPassNum.Text.Trim())) { txtQuarterFirstPassRate.Text = (Funs.GetNewDecimalOrZero(txtQuarterFirstPassNum.Text.Trim()) / Funs.GetNewDecimalOrZero(this.txtQuarterTotal.Text.Trim())*100).ToString(); } else { this.txtQuarterFirstPassRate.Text = string.Empty; } } /// /// 本年度完成一次合格率 /// /// /// protected void txtYearTotal_TextChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.txtYearTotal.Text.Trim()) && !string.IsNullOrEmpty(this.txtYearFirstPassNum.Text.Trim())) { this.txtYearFirstPassRate.Text = (Funs.GetNewDecimalOrZero(this.txtYearFirstPassNum.Text.Trim()) / Funs.GetNewDecimalOrZero(this.txtYearTotal.Text.Trim())*100).ToString(); } } /// /// 获取本年累计开始实施项目数量(个) /// /// /// //protected void txtStartImplementedProjectNum_TextChanged(object sender, EventArgs e) //{ // var q = (from x in Funs.DB.InformationProject_QuarterlyProjectQuality where x.Year == Convert.ToInt32(this.ddlYearId.SelectedValue) select x.StartImplementedProjectNum).Sum(); // if (q > 0) // { // this.txtAccumulativeStartImplemented.Text = (q + Funs.GetNewIntOrZero(txtStartImplementedProjectNum.Text.Trim())).ToString(); // } //} /// /// 获取本年累计完成(竣工)项目数量(个) /// /// /// //protected void txtCompleteProjectNum_TextChanged(object sender, EventArgs e) //{ // var q = (from x in Funs.DB.InformationProject_QuarterlyProjectQuality where x.Year == Convert.ToInt32(this.ddlYearId.SelectedValue) select x.CompleteProjectNum).Sum(); // if (q > 0) // { // this.txtYearCompleteProjectNum.Text = (q + Funs.GetNewIntOrZero(this.txtCompleteProjectNum.Text.Trim())).ToString(); // } //} } }