This commit is contained in:
2024-05-07 01:58:42 +08:00
parent 90f61fc20d
commit cb28d1b7b7
16 changed files with 1310 additions and 783 deletions
@@ -21,6 +21,8 @@ using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System.IO;
using NPOI.SS.Formula.Functions;
using FineUIPro.Web.ProjectData;
using System.Web.Services.Description;
namespace FineUIPro.Web.TestRun.Report
{
@@ -856,6 +858,351 @@ namespace FineUIPro.Web.TestRun.Report
#endregion
#region
/// <summary>
/// 投料试车绑定
/// </summary>
public void gvFeedingBrid()
{
var result = new List<ParameterSettingsDto>();
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 1) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 1,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == 1
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
gvFeeding.DataSource = result;
TabStrip1.ActiveTabIndex = 3;
gvFeeding.DataBind();
}
/// <summary>
/// 投料试车保存
/// </summary>
protected void btnFeedingSave_Click(object sender, EventArgs e)
{
try
{
var deletelist = Funs.DB.Run_ParameterSettings.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 1);
Funs.DB.Run_ParameterSettings.DeleteAllOnSubmit(deletelist);
Funs.DB.SubmitChanges();
var addList = new List<Run_ParameterSettings>();
JArray mergedData = gvFeeding.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var model = new Run_ParameterSettings();
model.SettingsId = this.gvFeeding.Rows[i].DataKeys[0].ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.InstallationId = this.gvFeeding.Rows[i].DataKeys[1].ToString();
model.ProcessesId = this.gvFeeding.Rows[i].DataKeys[2].ToString();
model.SystemId = this.gvFeeding.Rows[i].DataKeys[3].ToString();
model.States = 1;
var runtype = !string.IsNullOrWhiteSpace(values.Value<string>("RunType")) ? values.Value<string>("RunType") : string.Empty;
if (!string.IsNullOrWhiteSpace(runtype))
{
model.RunType = int.Parse(runtype);
}
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i;
addList.Add(model);
}
Funs.DB.Run_ParameterSettings.InsertAllOnSubmit(addList);
Funs.DB.SubmitChanges();
gvFeedingBrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#endregion
#region
/// <summary>
/// 生产性能考核绑定
/// </summary>
public void PerformPageInit()
{
var model = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (model != null)
{
if (model.States == 1)
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
rbtNotStarted.Checked = true;
}
else if (model.States == 2)
{
txtStartData.Hidden = false;
txtEndData.Hidden = false;
rbtInProgress.Checked = true;
txtStartData.Text = model.StartTime.Value.ToString("yyyy-MM-dd");
txtEndData.Text = model.EndTime.Value.ToString("yyyy-MM-dd");
}
else if (model.States == 2)
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
rbtComplete.Checked = true;
}
}
}
/// <summary>
/// 保存
/// </summary>
protected void btnSubmit_Click(object sender, EventArgs e)
{
bool add = false;
if (rbtInProgress.Checked && string.IsNullOrWhiteSpace(txtStartData.Text))
{
ShowNotify("开始时间不能为空!", MessageBoxIcon.Warning);
return;
}
if (rbtInProgress.Checked && string.IsNullOrWhiteSpace(txtEndData.Text))
{
ShowNotify("结束时间不能为空!", MessageBoxIcon.Warning);
return;
}
var state = 0;
if (rbtNotStarted.Checked)
{
state = 1;
}
if (rbtInProgress.Checked)
{
state = 2;
}
if (rbtComplete.Checked)
{
state = 3;
}
var model = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (model == null)
{
add = true;
model = new Run_ProductionSettings();
model.ProductionId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
}
model.States = state;
if (state == 2)
{
model.StartTime = DateTime.Parse(txtStartData.Text.ToString());
model.EndTime = DateTime.Parse(txtEndData.Text.ToString());
}
else
{
model.StartTime = null;
model.EndTime = null;
}
if (add) Funs.DB.Run_ProductionSettings.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
PerformPageInit();
ShowNotify("保存成功!");
}
/// <summary>
/// 考核选择
/// </summary>
protected void rbtCheck_CheckedChanged(object sender, CheckedEventArgs e)
{
if (rbtInProgress.Checked)
{
txtStartData.Hidden = false;
txtEndData.Hidden = false;
}
else
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
}
}
#endregion
#region
/// <summary>
///生产试运行绑定
/// </summary>
public void gvProducBrid()
{
var result = new List<ParameterSettingsDto>();
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 2) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 2,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == 2
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
gvProduc.DataSource = result;
TabStrip1.ActiveTabIndex = 5;
gvProduc.DataBind();
}
/// <summary>
/// 生产试运行保存
/// </summary>
protected void btnProducSave_Click(object sender, EventArgs e)
{
try
{
var deletelist = Funs.DB.Run_ParameterSettings.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 2);
Funs.DB.Run_ParameterSettings.DeleteAllOnSubmit(deletelist);
Funs.DB.SubmitChanges();
var addList = new List<Run_ParameterSettings>();
JArray mergedData = gvProduc.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var model = new Run_ParameterSettings();
model.SettingsId = this.gvProduc.Rows[i].DataKeys[0].ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.InstallationId = this.gvProduc.Rows[i].DataKeys[1].ToString();
model.ProcessesId = this.gvProduc.Rows[i].DataKeys[2].ToString();
model.SystemId = this.gvProduc.Rows[i].DataKeys[3].ToString();
model.States = 2;
var runtype = !string.IsNullOrWhiteSpace(values.Value<string>("RunType")) ? values.Value<string>("RunType") : string.Empty;
if (!string.IsNullOrWhiteSpace(runtype))
{
model.RunType = int.Parse(runtype);
}
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i;
addList.Add(model);
}
Funs.DB.Run_ParameterSettings.InsertAllOnSubmit(addList);
Funs.DB.SubmitChanges();
gvProducBrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#endregion
#region
/// <summary>
@@ -919,6 +1266,21 @@ namespace FineUIPro.Web.TestRun.Report
//三查四定
DataBridScsd();
}
else if (TabStrip1.ActiveTabIndex == 3)
{
//投料试车
gvFeedingBrid();
}
else if (TabStrip1.ActiveTabIndex == 4)
{
//生产性能考核
PerformPageInit();
}
else if (TabStrip1.ActiveTabIndex == 5)
{
//生产试运行
gvProducBrid();
}
}
public class Run_ScheduleSetUpDto : Run_ScheduleSetUp
@@ -979,6 +1341,29 @@ namespace FineUIPro.Web.TestRun.Report
public int CloseNum { get; set; }
}
/// <summary>
/// 投料试车实体
/// </summary>
public class ParameterSettingsDto : Run_ParameterSettings
{
/// <summary>
/// 项目名称
/// </summary>
public string ProjectName { get; set; }
/// <summary>
/// 装置名称
/// </summary>
public string InstallationName { get; set; }
/// <summary>
/// 工序名称
/// </summary>
public string ProcessesName { get; set; }
/// <summary>
/// 系统名称
/// </summary>
public string SystemName { get; set; }
}
#endregion