This commit is contained in:
2024-06-26 01:24:42 +08:00
parent 197b55e6bd
commit a032064afc
4 changed files with 221 additions and 208 deletions
@@ -1,6 +1,7 @@
using BLL;
using FineUIPro.Web.DataShow;
using FineUIPro.Web.ProjectData;
using Microsoft.Office.Interop.Word;
using Model;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
@@ -20,13 +21,13 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
/// <summary>
/// 日志
/// </summary>
public string RunningId { get { return (string)ViewState["RunningId"]; } set { ViewState["RunningId"] = value; } }
public string MainId { get { return (string)ViewState["MainId"]; } set { ViewState["MainId"] = value; } }
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.RunningId = Request["RunningId"];
this.MainId = Request["MainId"];
PageBase();
}
}
@@ -101,28 +102,25 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
ddlSuccessionUser.DataSource = users;
ddlSuccessionUser.DataBind();
ddlSuccessionUser.SelectedValue = this.CurrUser.UserId;
List<string> options = new List<string>();
var model = Funs.DB.Running_LogManagement.FirstOrDefault(x => x.RunningId == this.RunningId);
if (model != null)
var mainModel = Funs.DB.Running_LogMain.FirstOrDefault(x => x.MainId == this.MainId);
if (mainModel != null)
{
options.Add(model.SystemId);
txtJobNo.Text = model.JobNo;
ddlShiftUser.SelectedValue = model.ShiftUser;
ddlSuccessionUser.SelectedValue = model.SuccessionUser;
txtStartData.Text = model.StartData.Value.ToString("yyyy-MM-dd HH:mm:ss");
txtEndData.Text = model.EndData.Value.ToString("yyyy-MM-dd HH:mm:ss");
txtHandoverCare.Text = model.HandoverCare;
var dataInstall = alllist.FirstOrDefault(x => x.PreRunId == model.InstallationId);
if (dataInstall.PreRunName == "公用工程")
{
rdbEngineeringOperation.SelectedValueArray = options.ToArray();
EngineeringDataBrid();
}
if (dataInstall.PreRunName == "工艺装置")
{
rdbDeviceOption.SelectedValueArray = options.ToArray();
DriveDataBrid();
}
var managements = Funs.DB.Running_LogManagement.Where(x => x.MainId == this.MainId).ToList();
var manaModel = managements.FirstOrDefault();
var options = managements.ConvertAll(x => x.SystemId);
txtJobNo.Text = mainModel.JobNo;
ddlShiftUser.SelectedValue = manaModel.ShiftUser;
ddlSuccessionUser.SelectedValue = manaModel.SuccessionUser;
txtStartData.Text = mainModel.StartData.Value.ToString("yyyy-MM-dd HH:mm:ss");
txtEndData.Text = mainModel.EndData.Value.ToString("yyyy-MM-dd HH:mm:ss");
txtHandoverCare.Text = manaModel.HandoverCare;
rdbEngineeringOperation.SelectedValueArray = options.ToArray();
EngineeringDataBrid();
rdbDeviceOption.SelectedValueArray = options.ToArray();
DriveDataBrid();
gvOperationBrid();
gvMaintenanceBrid();
}
@@ -241,25 +239,39 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
ShowNotify("请添加维护问题!", MessageBoxIcon.Warning);
return;
}
var main = Funs.DB.Running_LogMain.FirstOrDefault(x => x.MainId == this.MainId);
var addlist = new List<Running_LogManagement>();
var addoptionlist = new List<Running_Operation>();
var addmaintenancelist = new List<Running_Maintenance>();
var ids = list.ConvertAll(x => x.RunningId);
var existlist = Funs.DB.Running_LogManagement.Where(x => ids.Contains(x.RunningId)).ToList();
//删除系统日志记录
var deleteRunnings = Funs.DB.Running_LogManagement.Where(x => x.MainId == this.MainId);
if (deleteRunnings.Count() > 0)
{
Funs.DB.Running_LogManagement.DeleteAllOnSubmit(deleteRunnings);
Funs.DB.SubmitChanges();
}
bool add = false;
if (main == null)
{
add = true;
main = new Running_LogMain();
main.MainId = Guid.NewGuid().ToString();
main.AddUser = this.CurrUser.UserId;
main.AddTime = DateTime.Now;
}
main.ProjectId = this.CurrUser.LoginProjectId;
main.JobNo = txtJobNo.Text;
main.ShiftType = ddlShiftType.SelectedValue;
main.StartData = DateTime.Parse(txtStartData.Text);
main.EndData = DateTime.Parse(txtEndData.Text);
if (add) Funs.DB.Running_LogMain.InsertOnSubmit(main);
//子系统
foreach (var item in list)
{
bool add = false;
var model = existlist.FirstOrDefault(x => x.RunningId == this.RunningId);
if (model == null)
{
add = true;
model = new Running_LogManagement();
model.RunningId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
}
var model = new Running_LogManagement();
model.RunningId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.MainId = main.MainId;
model.InstallationId = item.InstallationId;
model.ProcessesId = item.ProcessesId;
model.SystemId = item.SystemId;
@@ -272,58 +284,50 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
model.EndData = DateTime.Parse(txtEndData.Text);
model.Situation = item.Situation;
model.Remarks = item.Remarks;
foreach (var itemoption in optionlist)
{
addoptionlist.Add(new Running_Operation()
{
OperationId = Guid.NewGuid().ToString(),
RunningId = model.RunningId,
InstallationId = item.InstallationId,
ProcessesId = item.ProcessesId,
SystemId = item.SystemId,
OperationReason = itemoption.OperationReason,
OperationHandle = itemoption.OperationHandle,
ProjectId = this.CurrUser.LoginProjectId,
AddUser = this.CurrUser.UserId,
AddTime = DateTime.Now,
});
}
foreach (var itemmain in maintenancelist)
{
addmaintenancelist.Add(new Running_Maintenance()
{
MaintenanceId = Guid.NewGuid().ToString(),
RunningId = model.RunningId,
InstallationId = item.InstallationId,
ProcessesId = item.ProcessesId,
SystemId = item.SystemId,
MaintenanceReason = itemmain.MaintenanceReason,
MaintenanceHandle = itemmain.MaintenanceHandle,
ProjectId = this.CurrUser.LoginProjectId,
AddUser = this.CurrUser.UserId,
AddTime = DateTime.Now,
});
}
if (add)
{
Funs.DB.SubmitChanges();
addlist.Add(model);
}
else
{
Funs.DB.SubmitChanges();
}
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = item.Sort;
addlist.Add(model);
}
//操作问题
foreach (var itemoption in optionlist)
{
addoptionlist.Add(new Running_Operation()
{
OperationId = Guid.NewGuid().ToString(),
MainId = main.MainId,
OperationReason = itemoption.OperationReason,
OperationHandle = itemoption.OperationHandle,
ProjectId = this.CurrUser.LoginProjectId,
AddUser = this.CurrUser.UserId,
AddTime = DateTime.Now,
});
}
//维护问题
foreach (var itemmain in maintenancelist)
{
addmaintenancelist.Add(new Running_Maintenance()
{
MaintenanceId = Guid.NewGuid().ToString(),
MainId = main.MainId,
MaintenanceReason = itemmain.MaintenanceReason,
MaintenanceHandle = itemmain.MaintenanceHandle,
ProjectId = this.CurrUser.LoginProjectId,
AddUser = this.CurrUser.UserId,
AddTime = DateTime.Now,
});
}
if (addlist.Count > 0) Funs.DB.Running_LogManagement.InsertAllOnSubmit(addlist);
var runIds = list.ConvertAll(x => x.RunningId);
var deleteOperas = Funs.DB.Running_Operation.Where(x => runIds.Contains(x.RunningId)).ToList();
var deleteOperas = Funs.DB.Running_Operation.Where(x => x.MainId == this.MainId).ToList();
if (deleteOperas.Count > 0)
{
Funs.DB.Running_Operation.DeleteAllOnSubmit(deleteOperas);
Funs.DB.SubmitChanges();
}
var deleteMaints = Funs.DB.Running_Maintenance.Where(x => runIds.Contains(x.RunningId)).ToList();
var deleteMaints = Funs.DB.Running_Maintenance.Where(x => x.MainId == this.MainId).ToList();
if (deleteMaints.Count > 0)
{
Funs.DB.Running_Maintenance.DeleteAllOnSubmit(deleteMaints);
@@ -342,40 +346,45 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
/// </summary>
public void EngineeringDataBrid(List<Running_LogManagementDto> list = null)
{
if (list == null) list = new List<Running_LogManagementDto>();
var engineeringModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && x.PreRunName.Trim() == "公用工程");
if (engineeringModel == null)
{
list = new List<Running_LogManagementDto>();
gvEngineeringOption.DataSource = list;
gvEngineeringOption.DataBind();
return;
}
var query = from a in Funs.DB.Running_LogManagement
join b in Funs.DB.PreRun_SysDevice on a.SystemId equals b.PreRunId
where a.RunningId == this.RunningId && a.InstallationId == engineeringModel.PreRunId
select new Running_LogManagementDto
{
RunningId = a.RunningId,
ProjectId = a.ProjectId,
InstallationId = a.InstallationId,
ProcessesId = a.ProcessesId,
SystemId = a.SystemId,
SystemName = b.PreRunName,
JobNo = a.JobNo,
ShiftType = a.ShiftType,
ShiftUser = a.ShiftUser,
SuccessionUser = a.SuccessionUser,
StartData = a.StartData,
EndData = a.EndData,
Situation = a.Situation,
Remarks = a.Remarks,
HandoverCare = a.HandoverCare,
AddUser = a.AddUser,
AddTime = a.AddTime
};
if (list == null)
{
list = new List<Running_LogManagementDto>();
var query = from a in Funs.DB.Running_LogManagement
join b in Funs.DB.PreRun_SysDevice on a.SystemId equals b.PreRunId
where a.MainId == this.MainId && a.InstallationId == engineeringModel.PreRunId
orderby a.Sort ascending
select new Running_LogManagementDto
{
RunningId = a.RunningId,
ProjectId = a.ProjectId,
InstallationId = a.InstallationId,
ProcessesId = a.ProcessesId,
SystemId = a.SystemId,
SystemName = b.PreRunName,
JobNo = a.JobNo,
ShiftType = a.ShiftType,
ShiftUser = a.ShiftUser,
SuccessionUser = a.SuccessionUser,
StartData = a.StartData,
EndData = a.EndData,
Situation = a.Situation,
Remarks = a.Remarks,
HandoverCare = a.HandoverCare,
AddUser = a.AddUser,
AddTime = a.AddTime
};
var data = query.ToList();
if (data.Count > 0) list.AddRange(data);
var data = query.ToList();
if (data.Count > 0) list.AddRange(data);
}
gvEngineeringOption.DataSource = list;
gvEngineeringOption.DataBind();
}
@@ -404,6 +413,7 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
Remarks = values.Value<string>("Remarks"),
AddUser = CurrUser.UserId,
AddTime = DateTime.Now,
Sort = i + 1
});
}
return massQuestionLs;
@@ -414,40 +424,46 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
/// </summary>
public void DriveDataBrid(List<Running_LogManagementDto> list = null)
{
if (list == null) list = new List<Running_LogManagementDto>();
var deviceModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && x.PreRunName.Trim() == "工艺装置");
if (deviceModel == null)
{
list = new List<Running_LogManagementDto>();
gvDeviceOption.DataSource = list;
gvDeviceOption.DataBind();
return;
}
var query = from a in Funs.DB.Running_LogManagement
join b in Funs.DB.PreRun_SysDevice on a.SystemId equals b.PreRunId
where a.RunningId == this.RunningId && a.InstallationId == deviceModel.PreRunId
select new Running_LogManagementDto
{
RunningId = a.RunningId,
ProjectId = a.ProjectId,
InstallationId = a.InstallationId,
ProcessesId = a.ProcessesId,
SystemId = a.SystemId,
SystemName = b.PreRunName,
JobNo = a.JobNo,
ShiftType = a.ShiftType,
ShiftUser = a.ShiftUser,
SuccessionUser = a.SuccessionUser,
StartData = a.StartData,
EndData = a.EndData,
Situation = a.Situation,
Remarks = a.Remarks,
HandoverCare = a.HandoverCare,
AddUser = a.AddUser,
AddTime = a.AddTime
};
if (list == null)
{
list = new List<Running_LogManagementDto>();
var query = from a in Funs.DB.Running_LogManagement
join b in Funs.DB.PreRun_SysDevice on a.SystemId equals b.PreRunId
where a.MainId == this.MainId && a.InstallationId == deviceModel.PreRunId
orderby a.Sort ascending
select new Running_LogManagementDto
{
RunningId = a.RunningId,
ProjectId = a.ProjectId,
InstallationId = a.InstallationId,
ProcessesId = a.ProcessesId,
SystemId = a.SystemId,
SystemName = b.PreRunName,
JobNo = a.JobNo,
ShiftType = a.ShiftType,
ShiftUser = a.ShiftUser,
SuccessionUser = a.SuccessionUser,
StartData = a.StartData,
EndData = a.EndData,
Situation = a.Situation,
Remarks = a.Remarks,
HandoverCare = a.HandoverCare,
AddUser = a.AddUser,
AddTime = a.AddTime,
Sort = a.Sort
};
var data = query.ToList();
if (data.Count > 0) list.AddRange(data);
var data = query.ToList();
if (data.Count > 0) list.AddRange(data);
}
gvDeviceOption.DataSource = list;
gvDeviceOption.DataBind();
}
@@ -476,6 +492,7 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
Remarks = values.Value<string>("Remarks"),
AddUser = CurrUser.UserId,
AddTime = DateTime.Now,
Sort = i + 1
});
}
return massQuestionLs;
@@ -493,7 +510,8 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
/// </summary>
public void gvOperationBrid()
{
var list = Funs.DB.Running_Operation.Where(x => x.RunningId == this.RunningId).ToList();
var query = from a in Funs.DB.Running_Operation join b in Funs.DB.Running_LogMain on a.MainId equals b.MainId select a;
var list = query.ToList();
gvOperation.DataSource = list;
gvOperation.DataBind();
}
@@ -513,11 +531,8 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
massQuestionLs.Add(new Running_Operation
{
OperationId = IsStrVal(this.gvOperation.Rows[i].DataKeys[0]),
RunningId = IsStrVal(this.gvOperation.Rows[i].DataKeys[1]),
ProjectId = this.CurrUser.LoginProjectId,
InstallationId = IsStrVal(this.gvOperation.Rows[i].DataKeys[2]),
ProcessesId = IsStrVal(this.gvOperation.Rows[i].DataKeys[3]),
SystemId = IsStrVal(this.gvOperation.Rows[i].DataKeys[4]),
MainId = IsStrVal(this.gvOperation.Rows[i].DataKeys[1]),
ProjectId = this.CurrUser.LoginProjectId,
OperationReason = values.Value<string>("OperationReason"),
OperationHandle = values.Value<string>("OperationHandle"),
AddUser = CurrUser.UserId,
@@ -581,7 +596,8 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
/// </summary>
public void gvMaintenanceBrid()
{
var list = Funs.DB.Running_Maintenance.Where(x => x.RunningId == this.RunningId).ToList();
var query = from a in Funs.DB.Running_Maintenance join b in Funs.DB.Running_LogMain on a.MainId equals b.MainId select a;
var list = query.ToList();
gvMaintenance.DataSource = list;
gvMaintenance.DataBind();
}
@@ -601,11 +617,8 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
massQuestionLs.Add(new Running_Maintenance
{
MaintenanceId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[0]),
RunningId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[1]),
MainId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[1]),
ProjectId = this.CurrUser.LoginProjectId,
InstallationId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[2]),
ProcessesId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[3]),
SystemId = IsStrVal(this.gvMaintenance.Rows[i].DataKeys[4]),
MaintenanceReason = values.Value<string>("MaintenanceReason"),
MaintenanceHandle = values.Value<string>("MaintenanceHandle"),
AddUser = CurrUser.UserId,