feat: 优化试压包管理和焊口查询性能

主要改进:
• 添加试压类型字段支持,完善试压包管理功能
• 优化包装管理中的单位工程名称获取逻辑
• 实现焊口查询树形结构缓存机制,提升查询性能
• 修复压力类型显示和空值处理问题
• 更新界面文本描述,提高用户体验
This commit is contained in:
2025-12-01 11:14:50 +08:00
parent ace0e3b5e4
commit 2a191b9233
21 changed files with 470 additions and 277 deletions
+16
View File
@@ -82,7 +82,23 @@ namespace BLL
{
return Funs.DB.Tw_OutputDetail.FirstOrDefault(x => x.Id == Id);
}
/// <summary>
/// 根据明细Id获取对应的出库主表信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public static Model.Tw_InOutMasterOutput GetInOutMasterById(string Id)
{
var detail = Funs.DB.Tw_OutputDetail.FirstOrDefault(x => x.Id == Id);
if (detail == null) return null;
Model.Tw_InOutMasterOutput fliter = new Model.Tw_InOutMasterOutput
{
Id = detail.OutputMasterId
};
var result= TwOutputmasterService.GetListData(fliter).FirstOrDefault();
return result;
}
public static void Add(Model.Tw_OutputDetail newtable)
{
@@ -89,7 +89,7 @@ namespace BLL
public static void InitPressureDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease)
{
dropName.DataValueField = "PressureId";
dropName.DataTextField = "PressureCode";
dropName.DataTextField = "PressureName";
dropName.DataSource = GetPressureList();
dropName.DataBind();
if (isShowPlease)
@@ -209,6 +209,7 @@ namespace BLL
MaterialMade = libItem.MaterialMade,
MaterialDef = libItem.MaterialDef,
Number = tb.Number,
TwOutputDetailId = tb.TwOutputDetailId,
CusBillCode = twOutItem.CusBillCode,
};
result = q.ToList();
@@ -308,7 +308,7 @@ namespace BLL
PipelineComponentCode = x.MaterialCode,
num = x.Number.ToString(),
CU = x.MaterialUnit,
UnitWorkName = x.UnitWorkId == null ? "" : UnitWorkService.GetNameById(x.UnitWorkId),
UnitWorkName = UnitWorkService.GetNameById( TwOutputdetailService.GetInOutMasterById(x.TwOutputDetailId)?.UnitWorkId ),
FlowingSection = model.StackingPosition,
};
result = detailList.ToList();
@@ -84,6 +84,7 @@ namespace BLL
newTestPackage.Check10 = testPackage.Check10;
newTestPackage.Check11 = testPackage.Check11;
newTestPackage.Check12 = testPackage.Check12;
newTestPackage.PressureId = testPackage.PressureId;
db.PTP_TestPackage.InsertOnSubmit(newTestPackage);
db.SubmitChanges();
}
@@ -126,6 +127,7 @@ namespace BLL
newTestPackage.HoldingTime = testPackage.HoldingTime;
newTestPackage.State = testPackage.State;
newTestPackage.TestDate = testPackage.TestDate;
newTestPackage.PressureId = testPackage.PressureId;
db.SubmitChanges();
}
@@ -593,11 +593,23 @@ namespace BLL
var q = iosList[0];
var isoNos = string.Join(",", iosList.Select(x => x.PipelineCode).ToArray());
var isoIds = string.Join("','", iosList.Select(x => x.PipelineId).ToArray());
//获取打底和盖面的焊工单位名称
var CoverWelderUnitName = (from x in Funs.DB.HJGL_WeldJoint
join y in Funs.DB.SitePerson_Person on x.CoverWelderId equals y.PersonId
join z in Funs.DB.Base_Unit on y.UnitId equals z.UnitId
where isoIds.Contains(x.PipelineId)
select z.UnitName ).Distinct().ToList();
var BackingWelderUnitName = (from x in Funs.DB.HJGL_WeldJoint
join y in Funs.DB.SitePerson_Person on x.BackingWelderId equals y.PersonId
join z in Funs.DB.Base_Unit on y.UnitId equals z.UnitId
where isoIds.Contains(x.PipelineId)
select z.UnitName).Distinct().ToList();
CoverWelderUnitName.AddRange(BackingWelderUnitName);
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var UnitWorkName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
var UnitWorkCode = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkCode;
var unitNames = BLL.UnitService.GetUnitNameByUnitId(updateTestPackage.UnitId);
var unitNames = string.Join(",", CoverWelderUnitName.Distinct().ToArray());
keyValuePairs.Add("ProjectName", projectName);
keyValuePairs.Add("UnitWorkName", UnitWorkName);
keyValuePairs.Add("UnitWorkCode", UnitWorkCode);
+1
View File
@@ -350,6 +350,7 @@ namespace BLL
/// <returns></returns>
public static string GetNameById(string id)
{
if( string.IsNullOrEmpty(id) ) return string.Empty;
string name = string.Empty;
var UnitWork = Funs.DB.WBS_UnitWork.FirstOrDefault(x => x.UnitWorkId == id);
if (UnitWork != null)