344 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			344 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Data; | |||
|  | using System.Linq; | |||
|  | using System.Web.UI; | |||
|  | using System.Web.UI.WebControls; | |||
|  | using BLL; | |||
|  | using Newtonsoft.Json.Linq; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.CQMS.ManageReportNew | |||
|  | { | |||
|  |     public partial class MonthReportNewEdit1 : PageBase | |||
|  |     { | |||
|  |         #region 定义项 | |||
|  |         /// <summary> | |||
|  |         /// 主键 | |||
|  |         /// </summary> | |||
|  |         public string ReportId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["ReportId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["ReportId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public string AddOrUpdate | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["AddOrUpdate"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["AddOrUpdate"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 列表集合 | |||
|  |         private static List<Model.Report_CqmsTarget> detailsGrid1 = new List<Model.Report_CqmsTarget>(); | |||
|  |         #endregion | |||
|  |         #region 加载页面 | |||
|  |         /// <summary> | |||
|  |         /// 加载页面 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 this.EnableViewState = true; | |||
|  |                 this.lblProjectName.Text = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName; | |||
|  |                 this.ReportId = Request.Params["reportId"]; | |||
|  |                 if (!string.IsNullOrEmpty(Request.Params["view"])) | |||
|  |                 { | |||
|  |                     this.Button1.Visible = false; | |||
|  |                     this.Button2.Visible = false; | |||
|  |                 } | |||
|  | 
 | |||
|  |                 if (!string.IsNullOrEmpty(this.ReportId)) | |||
|  |                 { | |||
|  |                     Model.Report_WeekAndMonthReport_New weekAndMonthReport = WeekAndMonthReportNewService.Detail(this.ReportId); | |||
|  |                     if (weekAndMonthReport != null) | |||
|  |                     { | |||
|  |                         if (weekAndMonthReport.SortId != null) | |||
|  |                         { | |||
|  |                             this.txtPeriod.Text = Convert.ToString(weekAndMonthReport.SortId); | |||
|  |                         } | |||
|  |                         if (weekAndMonthReport.StartDate != null) | |||
|  |                         { | |||
|  |                             this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.StartDate); | |||
|  |                         } | |||
|  |                         if (weekAndMonthReport.EndDate != null) | |||
|  |                         { | |||
|  |                             this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.EndDate); | |||
|  |                         } | |||
|  |                     } | |||
|  |                     AddOrUpdate = "update"; | |||
|  | 
 | |||
|  |                     #region 加载本月质量目标管理情况  | |||
|  |                     detailsGrid1.Clear(); | |||
|  |                     detailsGrid1 = (from x in Funs.DB.Report_CqmsTarget | |||
|  |                                     where x.ReportId == this.ReportId | |||
|  |                                     orderby x.SortId | |||
|  |                                     select x).ToList(); | |||
|  |                     if (detailsGrid1.Count > 0) | |||
|  |                     { | |||
|  |                         Grid1.Hidden = false; | |||
|  |                         Grid1.DataSource = detailsGrid1; | |||
|  |                         Grid1.DataBind(); | |||
|  |                     } | |||
|  | 
 | |||
|  |                     #endregion | |||
|  | 
 | |||
|  |                     #region 加载文本框内容 | |||
|  |                     var txtReportList = Funs.DB.Report_TextBoxContent.Where(x => x.ReportId == ReportId).ToList(); | |||
|  |                     txtAre0.Text = txtReportList.FirstOrDefault(x => x.ContentType == "0").ContentText; | |||
|  |                     txtAre1.Text = txtReportList.FirstOrDefault(x => x.ContentType == "1").ContentText; | |||
|  |                     txtAre2.Text = txtReportList.FirstOrDefault(x => x.ContentType == "2").ContentText; | |||
|  | 
 | |||
|  |                     txtAre20.Text = txtReportList.FirstOrDefault(x => x.ContentType == "20").ContentText; | |||
|  |                     txtAre21.Text = txtReportList.FirstOrDefault(x => x.ContentType == "21").ContentText; | |||
|  |                     txtAre22.Text = txtReportList.FirstOrDefault(x => x.ContentType == "22").ContentText; | |||
|  |                     #endregion | |||
|  | 
 | |||
|  | 
 | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     this.txtStartDate.Text = string.IsNullOrEmpty(Request.Params["startdate"]) ? string.Format("{0:yyyy-MM-dd}", DateTime.Now) : Request.Params["startdate"]; | |||
|  |                     this.txtEndDate.Text = string.IsNullOrEmpty(Request.Params["enddate"]) ? string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(this.txtStartDate.Text).AddMonths(1).AddDays(-1)) : Request.Params["enddate"]; | |||
|  |                     //给个新的主键 | |||
|  |                     ReportId = Guid.NewGuid().ToString(); | |||
|  |                     AddOrUpdate = "add"; | |||
|  |                 } | |||
|  |                 hidReportId.Value = ReportId; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 时间选择事件 | |||
|  |         /// <summary> | |||
|  |         /// 开始时间选择事件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void txtStartDate_TextChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim())) | |||
|  |             { | |||
|  |                 string url = Request.Url.ToString(); | |||
|  |                 if (url.Contains("?")) | |||
|  |                 { | |||
|  |                     url = Request.Url.ToString().Substring(0, Request.Url.ToString().LastIndexOf('?')); | |||
|  |                 } | |||
|  |                 Response.Redirect(url + "?startdate=" + txtStartDate.Text + "&enddate=" + txtEndDate.Text); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 本月质量目标管理情况 Grid1方法 | |||
|  |         protected void btnAddGrid1_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             Grid1.Hidden = false; | |||
|  | 
 | |||
|  |             JArray teamGroupData = Grid1.GetMergedData(); | |||
|  |             List<JObject> list = new List<JObject>(); | |||
|  |             foreach (JObject teamGroupRow in teamGroupData) | |||
|  |             { | |||
|  |                 JObject values = teamGroupRow.Value<JObject>("values"); | |||
|  |                 values.Add("Id", teamGroupRow.Value<string>("id")); | |||
|  |                 list.Add(values); | |||
|  |             } | |||
|  |             JObject defaultObj = new JObject | |||
|  |                 {   { "Id",Guid.NewGuid() }, | |||
|  |                     { "ReportId", ReportId }, | |||
|  |                     { "ProStage", "" }, | |||
|  |                     { "ProDescribe",""}, | |||
|  |                     { "TargetValue", "" }, | |||
|  |                     { "MonthPer","" }, | |||
|  |                     { "Remarks", "" }, | |||
|  |                     { "SortId","" }, | |||
|  |                     { "Delete1", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", GetDeleteScriptGrid1(), IconHelper.GetResolvedIconUrl(Icon.Delete)) } | |||
|  |                 }; | |||
|  |             list.Add(defaultObj); | |||
|  |             Grid1.DataSource = list; | |||
|  |             Grid1.DataBind(); | |||
|  |         } | |||
|  | 
 | |||
|  |         protected void Grid1_PreDataBound(object sender, EventArgs e) | |||
|  |         { | |||
|  |             // 设置LinkButtonField的点击客户端事件 | |||
|  |             LinkButtonField deleteField = Grid1.FindColumn("Delete1") as LinkButtonField; | |||
|  |             deleteField.OnClientClick = GetDeleteScriptGrid1(); | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 删除提示 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         private string GetDeleteScriptGrid1() | |||
|  |         { | |||
|  |             return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 保存 | |||
|  |         /// <summary> | |||
|  |         /// 保存按钮 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSave_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             Model.Report_WeekAndMonthReport_New report = new Model.Report_WeekAndMonthReport_New(); | |||
|  |             report.Id = ReportId; | |||
|  |             report.ProjectId = this.CurrUser.LoginProjectId; | |||
|  |             if (!string.IsNullOrEmpty(this.txtPeriod.Text.Trim())) | |||
|  |             { | |||
|  |                 try | |||
|  |                 { | |||
|  |                     report.SortId = this.txtPeriod.Text.Trim(); | |||
|  |                 } | |||
|  |                 catch (Exception) | |||
|  |                 { | |||
|  |                     ScriptManager.RegisterStartupScript(this, typeof(string), "_alert", "alert('周期输入格式不正确,请重新输入!')", true); | |||
|  |                     return; | |||
|  |                 } | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(this.txtStartDate.Text)) | |||
|  |             { | |||
|  |                 report.StartDate = Convert.ToDateTime(this.txtStartDate.Text); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(this.txtEndDate.Text)) | |||
|  |             { | |||
|  |                 report.EndDate = Convert.ToDateTime(this.txtEndDate.Text); | |||
|  |             } | |||
|  |             report.CreateDate = DateTime.Now; | |||
|  |             report.CreateMan = CurrUser.UserId; | |||
|  | 
 | |||
|  |             #region 删除所有子表 | |||
|  |             //本月质量目标管理情况  | |||
|  |             CqmsTargetService.Delete(ReportId); | |||
|  | 
 | |||
|  |             //所有文本框表 | |||
|  |             TextBoxContentService.Delete(ReportId); | |||
|  |             #endregion | |||
|  | 
 | |||
|  |             #region 保存所有子表 | |||
|  |             //保存本月质量目标管理情况 | |||
|  |             saveTarget(); | |||
|  | 
 | |||
|  |             //保存文本框 | |||
|  |             saveTxtContent(); | |||
|  |             #endregion | |||
|  | 
 | |||
|  |             if (AddOrUpdate == "add") | |||
|  |             { | |||
|  |                 WeekAndMonthReportNewService.Insert(report); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 WeekAndMonthReportNewService.Update(report); | |||
|  |             } | |||
|  | 
 | |||
|  |             ShowNotify("编辑成功!", MessageBoxIcon.Success); | |||
|  |             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | |||
|  |         } | |||
|  | 
 | |||
|  |         #region 保存本月质量目标管理情况  | |||
|  |         void saveTarget() | |||
|  |         { | |||
|  |             List<Model.Report_CqmsTarget> detailLists = new List<Model.Report_CqmsTarget>(); | |||
|  |             JArray teamGroupData = Grid1.GetMergedData(); | |||
|  |             foreach (JObject teamGroupRow in teamGroupData) | |||
|  |             { | |||
|  |                 JObject values = teamGroupRow.Value<JObject>("values"); | |||
|  |                 int rowIndex = teamGroupRow.Value<int>("index"); | |||
|  |                 Model.Report_CqmsTarget newDetail = new Model.Report_CqmsTarget | |||
|  |                 { | |||
|  |                     //Id = values.Value<string>("Id"), | |||
|  |                     ReportId = ReportId, | |||
|  |                     ProStage = values.Value<string>("ProStage"), | |||
|  |                     ProDescribe = values.Value<string>("ProDescribe"), | |||
|  |                     TargetValue = values.Value<string>("TargetValue"), | |||
|  |                     MonthPer = values.Value<string>("MonthPer"), | |||
|  |                     Remarks = values.Value<string>("Remarks"), | |||
|  |                     SortId = rowIndex + 1 | |||
|  |                 }; | |||
|  |                 if (Grid1.Rows[rowIndex].DataKeys.Length > 0) | |||
|  |                 { | |||
|  |                     newDetail.Id = Grid1.Rows[rowIndex].DataKeys[0].ToString(); | |||
|  |                 } | |||
|  |                 detailLists.Add(newDetail); | |||
|  |             } | |||
|  |             if (detailLists.Count > 0) | |||
|  |             { | |||
|  |                 Funs.DB.Report_CqmsTarget.InsertAllOnSubmit(detailLists); | |||
|  |                 Funs.DB.SubmitChanges(); | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 保存文本框内容 | |||
|  |         /// </summary> | |||
|  |         void saveTxtContent() | |||
|  |         { | |||
|  |             var txtContentList = new List<Model.Report_TextBoxContent>(); | |||
|  |             #region 给实体赋值 | |||
|  |             var model0 = new Model.Report_TextBoxContent(); | |||
|  |             model0.Id = Guid.NewGuid().ToString(); | |||
|  |             model0.ReportId = ReportId; | |||
|  |             model0.ContentType = "0"; | |||
|  |             model0.ContentText = txtAre0.Text; | |||
|  |             txtContentList.Add(model0); | |||
|  | 
 | |||
|  |             var model1 = new Model.Report_TextBoxContent(); | |||
|  |             model1.Id = Guid.NewGuid().ToString(); | |||
|  |             model1.ReportId = ReportId; | |||
|  |             model1.ContentType = "1"; | |||
|  |             model1.ContentText = txtAre1.Text; | |||
|  |             txtContentList.Add(model1); | |||
|  | 
 | |||
|  |             var model2 = new Model.Report_TextBoxContent(); | |||
|  |             model2.Id = Guid.NewGuid().ToString(); | |||
|  |             model2.ReportId = ReportId; | |||
|  |             model2.ContentType = "2"; | |||
|  |             model2.ContentText = txtAre2.Text; | |||
|  |             txtContentList.Add(model2); | |||
|  | 
 | |||
|  |             var model20 = new Model.Report_TextBoxContent(); | |||
|  |             model20.Id = Guid.NewGuid().ToString(); | |||
|  |             model20.ReportId = ReportId; | |||
|  |             model20.ContentType = "20"; | |||
|  |             model20.ContentText = txtAre20.Text; | |||
|  |             txtContentList.Add(model20); | |||
|  | 
 | |||
|  |             var model21 = new Model.Report_TextBoxContent(); | |||
|  |             model21.Id = Guid.NewGuid().ToString(); | |||
|  |             model21.ReportId = ReportId; | |||
|  |             model21.ContentType = "21"; | |||
|  |             model21.ContentText = txtAre21.Text; | |||
|  |             txtContentList.Add(model21); | |||
|  | 
 | |||
|  |             var model22 = new Model.Report_TextBoxContent(); | |||
|  |             model22.Id = Guid.NewGuid().ToString(); | |||
|  |             model22.ReportId = ReportId; | |||
|  |             model22.ContentType = "22"; | |||
|  |             model22.ContentText = txtAre22.Text; | |||
|  |             txtContentList.Add(model22); | |||
|  |             #endregion | |||
|  |             Funs.DB.Report_TextBoxContent.InsertAllOnSubmit(txtContentList); | |||
|  |             Funs.DB.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |