288 lines
12 KiB
C#
288 lines
12 KiB
C#
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
|
|
select new { x.TestRunMonthSummaryId, x.ProjectId, x.UserId, y.UserName, x.Major, x.ProcessName, x.RaiseDate, x.ProblemDescription, x.HandleMethod, x.ExperienceOrSuggestion }).ToList();
|
|
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)));
|
|
table.Columns.Add(new DataColumn("Major", typeof(String)));
|
|
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();
|
|
row["Id"] = SQLHelper.GetNewID();
|
|
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();
|
|
row["Id"] = item.TestRunMonthSummaryId;
|
|
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();
|
|
}
|
|
}
|
|
row["Major"] = item.Major;
|
|
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();
|
|
}
|
|
}
|
|
|
|
/// <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;
|
|
}
|
|
}
|
|
} |