using BLL; using Newtonsoft.Json.Linq; using System; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.OfficeCheck.Check { public partial class CheckContentEdit : PageBase { #region 定义项 /// /// 主键 /// public string CheckNoticeId { get { return (string)ViewState["CheckNoticeId"]; } set { ViewState["CheckNoticeId"] = value; } } #endregion #region 加载 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.GetButtonPower(); BLL.ProjectService.InitAllProjectDropDownList(this.drpSubjectProject, true); string type = Request.Params["type"];//查看 if (type == "1") { this.btnSave.Hidden = true; } this.CheckNoticeId = Request.Params["CheckNoticeId"]; if (!string.IsNullOrEmpty(this.CheckNoticeId)) { var checkInfo = BLL.CheckNoticeService.GetCheckNoticeById(this.CheckNoticeId); if (checkInfo != null) { this.drpSubjectProject.SelectedValue = checkInfo.SubjectProjectId; this.txtCheckLeader.Text = Person_PersonsService.GetPersonsNameById(checkInfo.CheckTeamLeader); this.txtSubjectUnitMan.Text = Person_PersonsService.GetPersonsNameById(checkInfo.SubjectUnitMan); } this.txtCheckMan.Text = this.CurrUser.PersonName; this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); this.txtSubjectUnitDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); var table1 = BLL.CheckTable1Service.GetCheckTable1ByCheckNoticeId(this.CheckNoticeId); if (table1 != null) { if (!string.IsNullOrEmpty(table1.SubjectProjectId)) { this.drpSubjectProject.SelectedValue = table1.SubjectProjectId; } this.txtCheckMan.Text = table1.CheckMan; this.txtCheckLeader.Text = table1.CheckLeader; this.txtSubjectUnitMan.Text = table1.SubjectUnitMan; this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", table1.CheckDate); this.txtSubjectUnitDate.Text = string.Format("{0:yyyy-MM-dd}", table1.SubjectUnitDate); if (table1.Total100Score.HasValue) { this.lbTotal100Score.Text = "本表百分制得分 = (实查项实得分之和/实查项应得满分之和*100) " + table1.Total100Score + " 分"; } else { this.lbTotal100Score.Text = "本表百分制得分 = (实查项实得分之和/实查项应得满分之和*100) 分"; } if (table1.Total100Score.HasValue) { this.lbTotalCheckScore.Text = table1.Total100Score.ToString(); } else { this.lbTotalCheckScore.Text = "100"; } //if (table1.TotalLastScore.HasValue) //{ // this.lbTotalLastScore.Text = "综合评定得分 = 本表得分 - 负面清单罚分 = " + table1.TotalLastScore + " 分"; //} //else //{ // this.lbTotalLastScore.Text = "综合评定得分 = 本表得分 - 负面清单罚分 = 分"; //} this.lbEvaluationResult.Text = table1.EvaluationResult; } this.BindGrid(); } } } #endregion #region 数据绑定 private void BindGrid() { string strSql = @"SELECT CheckNoticeId,ID,SortIndex,CheckItem,CheckStandard,CheckMethod,CheckResult,BaseScore,DeletScore,GetScore,Type,IsSelect FROM ProjectSupervision_Check1 WHERE Type='1' AND CheckNoticeId=@CheckNoticeId ORDER BY SortIndex"; SqlParameter[] parameter = new SqlParameter[] { new SqlParameter("@CheckNoticeId",this.CheckNoticeId), }; DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); this.Grid1.DataSource = tb; //求和 this.OutputSummaryData(tb); this.Grid1.DataBind(); } /// /// 合计值 /// /// private void OutputSummaryData(DataTable source) { decimal baseScoreTotal = 0; decimal deletScoreTotal = 0; decimal getScoreTotal = 0; foreach (DataRow row in source.Rows) { if (row["IsSelect"].ToString() == "True") { baseScoreTotal += Funs.GetNewDecimalOrZero(row["BaseScore"].ToString()); deletScoreTotal += Funs.GetNewDecimalOrZero(row["DeletScore"].ToString()); getScoreTotal += Funs.GetNewDecimalOrZero(row["GetScore"].ToString()); } } JObject summary = new JObject(); summary.Add("CheckItem", "合计分"); summary.Add("BaseScore", baseScoreTotal); summary.Add("DeletScore", deletScoreTotal); summary.Add("GetScore", getScoreTotal); this.Grid1.SummaryData = summary; } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } #endregion #region 保存按钮事件 /// /// 保存按钮事件 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (this.drpSubjectProject.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择项目名称!", MessageBoxIcon.Warning); return; } if (this.Grid1.GetModifiedData().Count > 0) { //BLL.ProjectSupervision_Check1Service.DeleteCheckByNoticeId(this.CheckNoticeId); JArray teamGroupData = this.Grid1.GetMergedData(); foreach (JObject teamGroupRow in teamGroupData) { JObject values = teamGroupRow.Value("values"); bool isSelect = Convert.ToBoolean(values.Value("IsSelect")); if (isSelect) { var taleItem = Funs.DB.ProjectSupervision_Check1.FirstOrDefault(x => x.ID == values.Value("ID")); if (taleItem != null) { taleItem.CheckResult = values.Value("CheckResult"); taleItem.IsSelect = Convert.ToBoolean(values.Value("IsSelect")); taleItem.BaseScore = Funs.GetNewDecimalOrZero(values.Value("BaseScore")); taleItem.DeletScore = Funs.GetNewDecimalOrZero(values.Value("DeletScore")); taleItem.GetScore = (taleItem.BaseScore - taleItem.DeletScore); Funs.DB.SubmitChanges(); } } } } decimal totalBaseScore = 0; ///总基准分 decimal totalDeletScore = 0; ///总扣减分 decimal totalGetScore = 0; ///总得分 decimal total100Score = 0; ///换算100分制 decimal totalLastScore = 0; ///综合得分 var tale1Item = from x in Funs.DB.ProjectSupervision_Check1 where x.CheckNoticeId == this.CheckNoticeId && x.Type == "1" orderby x.SortIndex select x; if (tale1Item.Count() > 0) { foreach (var item in tale1Item) { if (item.IsSelect == true) { totalBaseScore += item.BaseScore.Value; totalDeletScore += item.DeletScore.Value; } } if (totalBaseScore > 0) { totalGetScore = totalBaseScore - totalDeletScore; decimal sS = (totalGetScore / totalBaseScore) * 100; total100Score = Math.Round(sS, 2); totalLastScore = total100Score; } } BLL.CheckTable1Service.DeleteCheckTable1ByNoticeId(this.CheckNoticeId); Model.ProjectSupervision_CheckTable1 table1 = new Model.ProjectSupervision_CheckTable1(); if (this.drpSubjectProject.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpSubjectProject.SelectedValue)) { table1.SubjectProjectId = this.drpSubjectProject.SelectedValue; } table1.CheckMan = this.txtCheckMan.Text.Trim(); table1.CheckLeader = this.txtCheckLeader.Text.Trim(); table1.CheckDate = Funs.GetNewDateTime(this.txtCheckDate.Text); table1.SubjectUnitMan = this.txtSubjectUnitMan.Text.Trim(); table1.SubjectUnitDate = Funs.GetNewDateTime(this.txtSubjectUnitDate.Text); table1.TotalBaseScore = totalBaseScore; table1.TotalDeletScore = totalDeletScore; table1.TotalGetScore = totalGetScore; table1.Total100Score = total100Score; table1.TotalLastScore = totalLastScore; table1.EvaluationResult = Funs.ReturnEvaluationResultByScore(table1.TotalLastScore); table1.CheckNoticeId = this.CheckNoticeId; table1.CheckItemId = SQLHelper.GetNewID(); BLL.CheckTable1Service.AddCheckTable1(table1); ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } #endregion #region 按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.CheckNoticeMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnSave)) { this.btnSave.Hidden = false; } } } #endregion } }