五环焊接拍片数、合格数汇总逻辑

This commit is contained in:
2025-06-27 10:37:04 +08:00
parent 4d1f663dc2
commit cf3e980b10
5 changed files with 104 additions and 63 deletions
+47 -21
View File
@@ -326,21 +326,21 @@ namespace BLL
//// 并行执行异步方法
//var welderNumTask = HJGLData_HJGLService.GetWelderNumAsync(); //获取焊工总数
//var dineInfoListTask = HJGLData_HJGLService.GetDineInfoAsync(); //获达因数信息
//var chCheckItemListTask = HJGLData_HJGLService.GetCHCheckItemAsync(); //获取焊接检查信息
var chCheckItemListTask = HJGLData_HJGLService.GetCHCheckItemAsync(); //获取焊接检查信息
// 等待所有异步方法执行完成
await Task.WhenAll(
projectHJGLDataListTask
projectHJGLDataListTask,
//welderNumTask,
//dineInfoListTask,
//chCheckItemListTask
chCheckItemListTask
);
// 统一获取异步方法的返回值
var projectHJGLDataList = await projectHJGLDataListTask;
//var welderNum = await welderNumTask;
//var dineInfoList = await dineInfoListTask;
//var chCheckItemList = await chCheckItemListTask;
var chCheckItemList = await chCheckItemListTask;
var table = new HJGLData_HJGL
@@ -352,13 +352,13 @@ namespace BLL
WelderNum = projectHJGLDataList.Sum(x => x.WelderNum),
TotalDineNum = projectHJGLDataList.Sum(x => x.TotalDineNum),
CompleteDineNum = projectHJGLDataList.Sum(x => x.CompleteDineNum),
TotalFilmNum = projectHJGLDataList.Sum(x => x.TotalFilmNum),
OKFilmNum = projectHJGLDataList.Sum(x => x.OKFilmNum),
//TotalFilmNum = projectHJGLDataList.Sum(x => x.TotalFilmNum),
//OKFilmNum = projectHJGLDataList.Sum(x => x.OKFilmNum),
//WelderNum = welderNum.Count(),
//TotalDineNum = Convert.ToInt32(dineInfoList.Sum(x => x.Size)),
//CompleteDineNum = Convert.ToInt32(dineInfoList.Sum(x => x.DoneDin)),
//TotalFilmNum = Convert.ToInt32(chCheckItemList.Sum(x => x.CHT_TotalFilm)),
//OKFilmNum = Convert.ToInt32(chCheckItemList.Sum(x => x.CHT_PassFilm)),
TotalFilmNum = Convert.ToInt32(chCheckItemList.Sum(x => x.CHT_TotalFilm)),
OKFilmNum = Convert.ToInt32(chCheckItemList.Sum(x => x.CHT_PassFilm)),
CreateMan = Const.sysglyId,
CreateDate = DateTime.Now
};
@@ -530,19 +530,45 @@ namespace BLL
/// <returns></returns>
public static List<CHCheckItemOutput> GetCHCheckItem()
{
var result = (from x in Funs.DB.CH_CheckItem
join y in Funs.DB.CH_Check on x.CHT_CheckID equals y.CHT_CheckID
where BeUnderConstructionList.Contains(y.ProjectId)
select new Model.CHCheckItemOutput()
{
Id = x.CHT_CheckItemID,
ProjectId = y.ProjectId,
UnitId = y.UnitId,
CHT_TotalFilm = x.CHT_TotalFilm,
CHT_PassFilm = x.CHT_PassFilm
//UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
}).ToList();
return result;
//var result = (from x in Funs.DB.CH_CheckItem
// join y in Funs.DB.CH_Check on x.CHT_CheckID equals y.CHT_CheckID
// where BeUnderConstructionList.Contains(y.ProjectId)
// select new Model.CHCheckItemOutput()
// {
// Id = x.CHT_CheckItemID,
// ProjectId = y.ProjectId,
// UnitId = y.UnitId,
// CHT_TotalFilm = x.CHT_TotalFilm,
// CHT_PassFilm = x.CHT_PassFilm
// //UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
// }).ToList();
List<CHCheckItemOutput> list =new List<CHCheckItemOutput>();
var ndtLists = from x in Funs.DB.ProcessControl_NondestructiveTest_New where x.ProfessionalName == "工艺管道" select x;
if (ndtLists.Count() > 0)
{
foreach (var project in BeUnderConstructionList)
{
var ndt = (from x in ndtLists
where x.ProjectId == project
orderby x.CreateDate descending
select x).FirstOrDefault();
if (ndt != null)
{
if (ndt.TotalQuantity.HasValue)
{
list.Add(new CHCheckItemOutput {
Id = ndt.Id,
ProjectId = project,
//UnitId = y.UnitId,
CHT_TotalFilm = ndt.TotalQuantity,
CHT_PassFilm = Convert.ToInt32(ndt.TotalQuantity.Value * Funs.GetNewDecimalOrZero(ndt.TotalRate) / 100)
});
}
}
}
}
return list;
}
/// <summary>
/// 获取焊接检查信息(异步)