| 
									
										
										
										
											2024-03-28 10:14:38 +08:00
										 |  |  |  | using BLL; | 
					
						
							|  |  |  |  | using Newtonsoft.Json.Linq; | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Data; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Web.UI.WebControls; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace FineUIPro.Web.ZHGL.TestRunPerformance | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public partial class TestRunMonthSummaryReportEdit : PageBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         #region 加载 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 加载页面 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Page_Load(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!IsPostBack) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 string Id = Request.Params["TestRunMonthSummaryReportId"]; | 
					
						
							|  |  |  |  |                 Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |                 var userIds = (from x in db.Person_TestRunMonthSummary select x.UserId).Distinct().ToList(); | 
					
						
							|  |  |  |  |                 var users = from x in db.Sys_User where userIds.Contains(x.UserId) select x; | 
					
						
							|  |  |  |  |                 this.drpUser.DataTextField = "UserName"; | 
					
						
							|  |  |  |  |                 this.drpUser.DataValueField = "UserId"; | 
					
						
							|  |  |  |  |                 this.drpUser.DataSource = users; | 
					
						
							|  |  |  |  |                 this.drpUser.DataBind(); | 
					
						
							|  |  |  |  |                 Funs.FineUIPleaseSelect(this.drpUser); | 
					
						
							|  |  |  |  |                 this.drpUser.SelectedValue = this.CurrUser.UserId; | 
					
						
							|  |  |  |  |                 Model.ZHGL_TestRunMonthSummaryReport report = BLL.TestRunMonthSummaryReportService.GetTestRunMonthSummaryReportById(Id); | 
					
						
							|  |  |  |  |                 if (report != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     if (!string.IsNullOrEmpty(report.UserId)) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         this.drpUser.SelectedValue = report.UserId; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     if (report.Year != null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         this.txtYear.Text = report.Year.ToString(); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     if (this.drpUser.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.txtYear.Text.Trim())) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         BindGrid(); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private void BindGrid() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             Model.SGGLDB db = Funs.DB; | 
					
						
							|  |  |  |  |             DateTime startDate = Convert.ToDateTime(this.txtYear.Text + "-01" + "-01"); | 
					
						
							|  |  |  |  |             DateTime endDate = startDate.AddYears(1); | 
					
						
							|  |  |  |  |             var projects = from x in db.Base_Project select x; | 
					
						
							|  |  |  |  |             var getTestRunMonthSummarys = (from x in db.Person_TestRunMonthSummary | 
					
						
							|  |  |  |  |                                            join y in db.Sys_User on x.UserId equals y.UserId | 
					
						
							|  |  |  |  |                                            where x.UserId == this.drpUser.SelectedValue && x.RaiseDate >= startDate && x.RaiseDate < endDate | 
					
						
							|  |  |  |  |                                            orderby x.ProjectId | 
					
						
							| 
									
										
										
										
											2024-04-01 10:29:19 +08:00
										 |  |  |  |                                            select new { x.TestRunMonthSummaryId, x.ProjectId, x.UserId, y.UserName, x.Major, x.ProcessName, x.RaiseDate, x.ProblemDescription, x.HandleMethod, x.ExperienceOrSuggestion }).ToList(); | 
					
						
							| 
									
										
										
										
											2024-03-28 10:14:38 +08:00
										 |  |  |  |             if (getTestRunMonthSummarys.Count() > 0) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 DataTable table = new DataTable(); | 
					
						
							|  |  |  |  |                 DateTime startMonth; | 
					
						
							|  |  |  |  |                 List<DateTime> months = new List<DateTime>(); | 
					
						
							|  |  |  |  |                 startMonth = startDate; | 
					
						
							|  |  |  |  |                 do | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     months.Add(startMonth); | 
					
						
							|  |  |  |  |                     startMonth = startMonth.AddMonths(1); | 
					
						
							|  |  |  |  |                 } while (startMonth < endDate); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 table.Columns.Add(new DataColumn("Id", typeof(String))); | 
					
						
							|  |  |  |  |                 table.Columns.Add(new DataColumn("Code", typeof(String))); | 
					
						
							|  |  |  |  |                 table.Columns.Add(new DataColumn("ProjectName", typeof(String))); | 
					
						
							| 
									
										
										
										
											2024-04-01 10:29:19 +08:00
										 |  |  |  |                 table.Columns.Add(new DataColumn("Major", typeof(String))); | 
					
						
							| 
									
										
										
										
											2024-03-28 10:14:38 +08:00
										 |  |  |  |                 table.Columns.Add(new DataColumn("ProcessName", typeof(String))); | 
					
						
							|  |  |  |  |                 table.Columns.Add(new DataColumn("RaiseDate", typeof(String))); | 
					
						
							|  |  |  |  |                 table.Columns.Add(new DataColumn("ProblemDescription", typeof(String))); | 
					
						
							|  |  |  |  |                 table.Columns.Add(new DataColumn("HandleMethod", typeof(String))); | 
					
						
							|  |  |  |  |                 table.Columns.Add(new DataColumn("ExperienceOrSuggestion", typeof(String))); | 
					
						
							|  |  |  |  |                 DataRow row; | 
					
						
							|  |  |  |  |                 int a = 1; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < months.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row = table.NewRow(); | 
					
						
							| 
									
										
										
										
											2024-04-01 10:29:19 +08:00
										 |  |  |  |                     row["Id"] = SQLHelper.GetNewID(); | 
					
						
							| 
									
										
										
										
											2024-03-28 10:14:38 +08:00
										 |  |  |  |                     row["Code"] = GetNum(i + 1); | 
					
						
							|  |  |  |  |                     row["ProjectName"] = months[i].Year + "年" + months[i].Month + "月份开车技术总结"; | 
					
						
							|  |  |  |  |                     DateTime monthEndDate = months[i].AddMonths(1); | 
					
						
							|  |  |  |  |                     var monthList = getTestRunMonthSummarys.Where(x => x.RaiseDate >= months[i] && x.RaiseDate < monthEndDate).OrderBy(x => x.RaiseDate); | 
					
						
							|  |  |  |  |                     table.Rows.Add(row); | 
					
						
							|  |  |  |  |                     a = 1; | 
					
						
							|  |  |  |  |                     string projectName = string.Empty; | 
					
						
							|  |  |  |  |                     foreach (var item in monthList) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         row = table.NewRow(); | 
					
						
							| 
									
										
										
										
											2024-04-01 10:29:19 +08:00
										 |  |  |  |                         row["Id"] = item.TestRunMonthSummaryId; | 
					
						
							| 
									
										
										
										
											2024-03-28 10:14:38 +08:00
										 |  |  |  |                         var project = projects.FirstOrDefault(x => x.ProjectId == item.ProjectId); | 
					
						
							|  |  |  |  |                         if (project != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             if (string.IsNullOrEmpty(projectName) || projectName != project.ProjectName) | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 row["ProjectName"] = project.ProjectName; | 
					
						
							|  |  |  |  |                                 projectName = row["ProjectName"].ToString(); | 
					
						
							|  |  |  |  |                             } | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         else | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             if (string.IsNullOrEmpty(projectName) || projectName != "本部") | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 row["ProjectName"] = "本部"; | 
					
						
							|  |  |  |  |                                 projectName = row["ProjectName"].ToString(); | 
					
						
							|  |  |  |  |                             } | 
					
						
							|  |  |  |  |                         } | 
					
						
							| 
									
										
										
										
											2024-04-01 10:29:19 +08:00
										 |  |  |  |                         row["Major"] = item.Major; | 
					
						
							| 
									
										
										
										
											2024-03-28 10:14:38 +08:00
										 |  |  |  |                         row["ProcessName"] = item.ProcessName; | 
					
						
							|  |  |  |  |                         row["RaiseDate"] = item.RaiseDate; | 
					
						
							|  |  |  |  |                         row["ProblemDescription"] = item.ProblemDescription; | 
					
						
							|  |  |  |  |                         row["HandleMethod"] = item.HandleMethod; | 
					
						
							|  |  |  |  |                         row["ExperienceOrSuggestion"] = item.ExperienceOrSuggestion; | 
					
						
							|  |  |  |  |                         table.Rows.Add(row); | 
					
						
							|  |  |  |  |                         a++; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 //rows = rows.Substring(0, rows.Length - 1); | 
					
						
							|  |  |  |  |                 this.Grid1.DataSource = table; | 
					
						
							|  |  |  |  |                 this.Grid1.DataBind(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private string GetNum(int i) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string num = string.Empty; | 
					
						
							|  |  |  |  |             if (i == 1) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "一"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 2) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "二"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 3) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "三"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 4) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "四"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 5) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "五"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 6) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "六"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 7) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "七"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 8) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "八"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 9) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "九"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 10) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "十"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 11) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "十一"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else if (i == 12) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 num = "十二"; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return num; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 保存 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 保存按钮 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnSave_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (this.drpUser.SelectedValue == BLL.Const._Null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Alert.ShowInTop("请选择开车人员!", MessageBoxIcon.Warning); | 
					
						
							|  |  |  |  |                 return; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             if (string.IsNullOrEmpty(this.txtYear.Text.Trim())) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 Alert.ShowInTop("请选择年份!", MessageBoxIcon.Warning); | 
					
						
							|  |  |  |  |                 return; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             Save(); | 
					
						
							|  |  |  |  |             ShowNotify("保存成功!", MessageBoxIcon.Success); | 
					
						
							|  |  |  |  |             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private void Save() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string TestRunMonthSummaryReportId = Request.Params["TestRunMonthSummaryReportId"]; | 
					
						
							|  |  |  |  |             Model.ZHGL_TestRunMonthSummaryReport newItem = new Model.ZHGL_TestRunMonthSummaryReport(); | 
					
						
							|  |  |  |  |             newItem.Year = Funs.GetNewInt(this.txtYear.Text.Trim()); | 
					
						
							|  |  |  |  |             newItem.UserId = this.drpUser.SelectedValue; | 
					
						
							|  |  |  |  |             newItem.CompileMan = this.CurrUser.UserId; | 
					
						
							|  |  |  |  |             newItem.CompileDate = DateTime.Now; | 
					
						
							|  |  |  |  |             if (string.IsNullOrEmpty(TestRunMonthSummaryReportId)) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 newItem.TestRunMonthSummaryReportId = SQLHelper.GetNewID(); | 
					
						
							|  |  |  |  |                 BLL.TestRunMonthSummaryReportService.AddTestRunMonthSummaryReport(newItem); | 
					
						
							|  |  |  |  |                 BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunMonthSummaryReportId, BLL.Const.TestRunMonthSummaryReportMenuId, "增加开车月技术总结!"); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 newItem.TestRunMonthSummaryReportId = TestRunMonthSummaryReportId; | 
					
						
							|  |  |  |  |                 BLL.TestRunMonthSummaryReportService.UpdateTestRunMonthSummaryReport(newItem); | 
					
						
							|  |  |  |  |                 BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunMonthSummaryReportId, BLL.Const.TestRunMonthSummaryReportMenuId, "修改开车月技术总结!"); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         protected void drpUser_SelectedIndexChanged(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (this.drpUser.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.txtYear.Text.Trim())) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 BindGrid(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 this.Grid1.DataSource = null; | 
					
						
							|  |  |  |  |                 this.Grid1.DataBind(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-04-01 10:29:19 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取整改前图片(放于Img中) | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="TestRunMonthSummaryId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         protected string ConvertImageUrlByImage(object TestRunMonthSummaryId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string url = string.Empty; | 
					
						
							|  |  |  |  |             string httpUrl = string.Empty; | 
					
						
							|  |  |  |  |             if (TestRunMonthSummaryId != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var file = BLL.AttachFileService.GetAttachFileByToKeyId(TestRunMonthSummaryId.ToString()); | 
					
						
							|  |  |  |  |                 if (file != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     url = BLL.UploadAttachmentService.ShowImage(Funs.SGGLUrl, file.AttachUrl); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return url; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取整改前图片(放于Img中) | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="TestRunMonthSummaryId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         protected string ConvertImageUrlByImage2(object TestRunMonthSummaryId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string url = string.Empty; | 
					
						
							|  |  |  |  |             string httpUrl = string.Empty; | 
					
						
							|  |  |  |  |             if (TestRunMonthSummaryId != null) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var file = BLL.AttachFileService.GetAttachFileByToKeyId(TestRunMonthSummaryId.ToString() + "R"); | 
					
						
							|  |  |  |  |                 if (file != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     url = BLL.UploadAttachmentService.ShowImage(Funs.SGGLUrl, file.AttachUrl); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return url; | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-03-28 10:14:38 +08:00
										 |  |  |  |     } | 
					
						
							|  |  |  |  | } |