提交代码

This commit is contained in:
2023-12-20 15:48:05 +08:00
parent 2516cfbe69
commit f49eba5e5f
58 changed files with 8868 additions and 1411 deletions
@@ -224,6 +224,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ddlWorkPackType.Items.Insert(0, new ListItem("设备", "2"));
ddlWorkPackType.SelectedValue = "2";
}
if (workPage.WorkPackType == 3)
{
ddlWorkPackType.Items.Clear();
ddlWorkPackType.Items.Insert(0, new ListItem("仪表索引", "3"));
ddlWorkPackType.SelectedValue = "3";
}
//加载数据
PipingBrid(ddlWorkPackType.SelectedValue, subSystemId, propertyTechnologyIds, selectStr);
}
@@ -372,26 +378,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
try
{
if (string.IsNullOrWhiteSpace(ddlfbs.SelectedValue))
{
ShowNotify("请选择分包商!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlcbs.SelectedValue))
{
ShowNotify("请选择承包商!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddljl.SelectedValue))
{
ShowNotify("请选择监理!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlyz.SelectedValue))
{
ShowNotify("请选择业主!", MessageBoxIcon.Warning);
return;
}
if (ddbSysPiping.Values.Length == 0)
{
ShowNotify("请选择设备!", MessageBoxIcon.Warning);
@@ -405,108 +391,163 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
}
var workPackType = int.Parse(ddlWorkPackType.SelectedValue);
List<PreRun_SubInspectTerm> subTrems = new List<PreRun_SubInspectTerm>();
List<PreRun_SubInspectTermItem> subTremItems = new List<PreRun_SubInspectTermItem>();
var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
var termItems = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == subInspectId).ToList();
if (termItems.Count > 0 && termItems.Count(x => x.InspectionResults == null) == 0)
var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
var workPackModel = Funs.DB.PreRun_WorkPackage.FirstOrDefault(x => x.WorkPackId == workPackId);
if (workPackModel.SpecialWorkPack == 0)
{
ShowNotify("所有检查项已存在检查结果,无法保存!", MessageBoxIcon.Warning);
return;
}
JArray mergedData = Grid1.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 termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
var subItemId = this.Grid1.Rows[i].DataKeys[1].ToString();
var workInspectId = this.Grid1.Rows[i].DataKeys[2].ToString();
//获取子系统信息
var list = new List<PreRun_SubInspectTermItem>();
var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
if (subSysModel != null)
if (string.IsNullOrWhiteSpace(ddlfbs.SelectedValue))
{
//获取子系统工作包检查表,如果不存在则添加
if (subTrem == null)
ShowNotify("请选择分包商!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlcbs.SelectedValue))
{
ShowNotify("请选择承包商!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddljl.SelectedValue))
{
ShowNotify("请选择监理!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlyz.SelectedValue))
{
ShowNotify("请选择业主!", MessageBoxIcon.Warning);
return;
}
List<PreRun_SubInspectTerm> subTrems = new List<PreRun_SubInspectTerm>();
List<PreRun_SubInspectTermItem> subTremItems = new List<PreRun_SubInspectTermItem>();
var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
var termItems = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == subInspectId).ToList();
if (termItems.Count > 0 && termItems.Count(x => x.InspectionResults == null) == 0)
{
ShowNotify("所有检查项已存在检查结果,无法保存!", MessageBoxIcon.Warning);
return;
}
JArray mergedData = Grid1.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 termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
var subItemId = this.Grid1.Rows[i].DataKeys[1].ToString();
var workInspectId = this.Grid1.Rows[i].DataKeys[2].ToString();
//获取子系统信息
var list = new List<PreRun_SubInspectTermItem>();
if (subSysModel != null)
{
subTrem = new PreRun_SubInspectTerm();
subTrem.SubInspectId = Guid.NewGuid().ToString();
subTrem.WorkPackId = workPackId;
subTrem.ProjectId = this.CurrUser.LoginProjectId;
subTrem.InstallationId = subSysModel.InstallationId;
subTrem.ProcessesId = subSysModel.ProcessesId;
subTrem.SystemId = subSysModel.SystemId;
subTrem.SubSystemId = subSysModel.PreRunId;
subTrem.Subcontractor = ddlfbs.SelectedValue;
subTrem.Contractor = ddlcbs.SelectedValue;
subTrem.Supervision = ddljl.SelectedValue;
subTrem.Owner = ddlyz.SelectedValue;
subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
subTrem.AddUser = this.CurrUser.UserId;
subTrem.AddTime = DateTime.Now;
subTrems.Add(subTrem);
}
else
{
subTrem.Subcontractor = ddlfbs.SelectedValue;
subTrem.Contractor = ddlcbs.SelectedValue;
subTrem.Supervision = ddljl.SelectedValue;
subTrem.Owner = ddlyz.SelectedValue;
Funs.DB.SubmitChanges();
}
var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
if (model == null)
{
model = new PreRun_SubInspectTermItem();
model.TermItemId = termItemId;
model.SubItemId = subItemId;
model.SubInspectId = subTrem.SubInspectId;
model.WorkPackId = workPackId;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WorkInspectId = workInspectId;
model.WorkInspectName = values.Value<string>("WorkInspectName");
model.InstallationId = subSysModel.InstallationId;
model.ProcessesId = subSysModel.ProcessesId;
model.SystemId = subSysModel.SystemId;
model.SubSystemId = subSysModel.PreRunId;
model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value<string>("InspectedUser")) ? values.Value<string>("InspectedUser") : string.Empty;
model.Subcontractor = ddlfbs.SelectedValue;
model.Contractor = ddlcbs.SelectedValue;
model.Supervision = ddljl.SelectedValue;
model.Owner = ddlyz.SelectedValue;
model.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
model.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i + 1;
subTremItems.Add(model);
}
else
{
model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value<string>("InspectedUser")) ? values.Value<string>("InspectedUser") : string.Empty;
model.WorkInspectName = values.Value<string>("WorkInspectName");
Funs.DB.SubmitChanges();
//获取子系统工作包检查表,如果不存在则添加
if (subTrem == null)
{
subTrem = new PreRun_SubInspectTerm();
subTrem.SubInspectId = Guid.NewGuid().ToString();
subTrem.WorkPackId = workPackId;
subTrem.ProjectId = this.CurrUser.LoginProjectId;
subTrem.InstallationId = subSysModel.InstallationId;
subTrem.ProcessesId = subSysModel.ProcessesId;
subTrem.SystemId = subSysModel.SystemId;
subTrem.SubSystemId = subSysModel.PreRunId;
subTrem.Subcontractor = ddlfbs.SelectedValue;
subTrem.Contractor = ddlcbs.SelectedValue;
subTrem.Supervision = ddljl.SelectedValue;
subTrem.Owner = ddlyz.SelectedValue;
subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
subTrem.AddUser = this.CurrUser.UserId;
subTrem.AddTime = DateTime.Now;
subTrems.Add(subTrem);
}
else
{
subTrem.Subcontractor = ddlfbs.SelectedValue;
subTrem.Contractor = ddlcbs.SelectedValue;
subTrem.Supervision = ddljl.SelectedValue;
subTrem.Owner = ddlyz.SelectedValue;
Funs.DB.SubmitChanges();
}
var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
if (model == null)
{
model = new PreRun_SubInspectTermItem();
model.TermItemId = termItemId;
model.SubItemId = subItemId;
model.SubInspectId = subTrem.SubInspectId;
model.WorkPackId = workPackId;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WorkInspectId = workInspectId;
model.WorkInspectName = values.Value<string>("WorkInspectName");
model.InstallationId = subSysModel.InstallationId;
model.ProcessesId = subSysModel.ProcessesId;
model.SystemId = subSysModel.SystemId;
model.SubSystemId = subSysModel.PreRunId;
model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value<string>("InspectedUser")) ? values.Value<string>("InspectedUser") : string.Empty;
model.Subcontractor = ddlfbs.SelectedValue;
model.Contractor = ddlcbs.SelectedValue;
model.Supervision = ddljl.SelectedValue;
model.Owner = ddlyz.SelectedValue;
model.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
model.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i + 1;
subTremItems.Add(model);
}
else
{
model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value<string>("InspectedUser")) ? values.Value<string>("InspectedUser") : string.Empty;
model.WorkInspectName = values.Value<string>("WorkInspectName");
Funs.DB.SubmitChanges();
}
}
}
}
if (subTrems != null) Funs.DB.PreRun_SubInspectTerm.InsertAllOnSubmit(subTrems);
if (subTremItems.Count > 0) Funs.DB.PreRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems);
Funs.DB.SubmitChanges();
if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
{
subTrem.InspectionIsAllPass = 1;
if (subTrems != null) Funs.DB.PreRun_SubInspectTerm.InsertAllOnSubmit(subTrems);
if (subTremItems.Count > 0) Funs.DB.PreRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems);
Funs.DB.SubmitChanges();
if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
{
subTrem.InspectionIsAllPass = 1;
}
else
{
subTrem.InspectionIsAllPass = 0;
}
Funs.DB.SubmitChanges();
this.InitTreeMenu();
BindGrid();
}
else
{
subTrem.InspectionIsAllPass = 0;
var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
if (subTrem == null)
{
subTrem = new PreRun_SubInspectTerm();
subTrem.SubInspectId = Guid.NewGuid().ToString();
subTrem.WorkPackId = workPackId;
subTrem.ProjectId = this.CurrUser.LoginProjectId;
subTrem.InstallationId = subSysModel.InstallationId;
subTrem.ProcessesId = subSysModel.ProcessesId;
subTrem.SystemId = subSysModel.SystemId;
subTrem.SubSystemId = subSysModel.PreRunId;
subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
subTrem.InspectionIsAllPass = 1;
subTrem.IsSiteImplement = 1;
subTrem.AddUser = this.CurrUser.UserId;
subTrem.AddTime = DateTime.Now;
Funs.DB.PreRun_SubInspectTerm.InsertOnSubmit(subTrem);
}
else
{
subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
}
Funs.DB.SubmitChanges();
this.InitTreeMenu();
BindGrid();
}
Funs.DB.SubmitChanges();
this.InitTreeMenu();
ShowNotify("保存成功!");
}
catch (Exception ex)
@@ -671,6 +712,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var selectPtids = string.Join(",", yscInspectItems.ConvertAll(x => x.PropertyTechnologyId)).Split(',').ToList();
var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
var listInstrument = Funs.DB.PreRun_InstrumentSysPiping.Where(x => selectPtids.Contains(x.InstrumentId)).ToList();
foreach (var itemYsc in yscInspectItems)
{
@@ -700,13 +742,26 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
SubSystemId = itemYsc.SubSystemId
});
}
var itemInstrument = listInstrument.Where(x => ids.Contains(x.InstrumentId)).ToList();
if (itemInstrument.Count > 0)
{
codeStr = $"仪表:{string.Join(",", itemInstrument.ConvertAll(x => x.InstrumentTag))}";
yczData.Add(new SelectPropertyTechnology()
{
Id = itemYsc.SubInspectId,
Code = codeStr,
WorkPackId = itemYsc.WorkPackId,
SubSystemId = itemYsc.SubSystemId
});
}
}
}
return yczData;
}
/// <summary>
/// 管道设备绑定
/// 管道设备,仪表索引绑定
/// </summary>
public void PipingBrid(string WorkPackType, string subSystemId, string propertyTechnologyIds, string selectStr)
{
@@ -766,7 +821,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
}
else
if (WorkPackType == "2")
{
if (string.IsNullOrWhiteSpace(propertyTechnologyIds))
{
@@ -820,6 +875,61 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
}
if (WorkPackType == "3")
{
if (string.IsNullOrWhiteSpace(propertyTechnologyIds))
{
var sysData = from instrument in Funs.DB.PreRun_InstrumentSysPiping
join selectinstrument in Funs.DB.PreRun_SubInstrumentSelect on instrument.InstrumentId equals selectinstrument.InstrumentId
where selectinstrument.SubSystemId == subSystemId
select new SelectPropertyTechnology()
{
Id = instrument.InstrumentId,
Code = $"仪表:({instrument.InstrumentTag})"
};
sysPipingData = sysData.ToList();
}
else
{
var ids = propertyTechnologyIds.Split(',');
var sysData = from instrument in Funs.DB.PreRun_InstrumentSysPiping
join selectinstrument in Funs.DB.PreRun_SubInstrumentSelect on instrument.InstrumentId equals selectinstrument.InstrumentId
where selectinstrument.SubSystemId == subSystemId && !ids.Contains(instrument.InstrumentId)
select new SelectPropertyTechnology()
{
Id = instrument.InstrumentId,
Code = $"仪表:({instrument.InstrumentTag})"
};
sysPipingData = sysData.ToList();
}
if (sysPipingData.Count() > 0)
{
cbSysPiping.DataTextField = "Code";
cbSysPiping.DataValueField = "Id";
cbSysPiping.DataSource = sysPipingData;
cbSysPiping.DataBind();
List<string> values = new List<string>();
List<string> texts = new List<string>();
if (!string.IsNullOrWhiteSpace(selectStr))
{
var selectIds = selectStr.Split(',').ToList();
var selectData = sysPipingData.Where(x => selectIds.Contains(x.Id)).ToList();
if (selectData.Count() > 0)
{
values = selectData.ConvertAll(x => x.Id);
texts = selectData.ConvertAll(x => x.Code);
}
}
ddbSysPiping.Values = values.ToArray();
ddbSysPiping.Texts = texts.ToArray();
}
else
{
cbSysPiping.Items.Clear();
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
}
}
/// <summary>