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

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>
/// 获取焊接检查信息(异步)
@@ -86,30 +86,29 @@ namespace BLL
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var table = new Project_HJGLData_Defect
{
Id = newtable.Id,
ProjectId = newtable.ProjectId,
UnitId = newtable.UnitId,
CollCropCode = newtable.CollCropCode,
UnitName = newtable.UnitName,
ReportDate = newtable.ReportDate,
DefectName = newtable.DefectName,
DefectNum = newtable.DefectNum
};
db.Project_HJGLData_Defect.InsertOnSubmit(table);
db.SubmitChanges();
}
var table = new Project_HJGLData_Defect
{
Id = newtable.Id,
ProjectId = newtable.ProjectId,
UnitId = newtable.UnitId,
CollCropCode = newtable.CollCropCode,
UnitName = newtable.UnitName,
ReportDate = newtable.ReportDate,
DefectName = newtable.DefectName,
DefectNum = newtable.DefectNum
};
db.Project_HJGLData_Defect.InsertOnSubmit(table);
db.SubmitChanges();
}
public static void AddBulkProject_HJGLData_Defect(List<Project_HJGLData_Defect> newtables)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
db.Project_HJGLData_Defect.InsertAllOnSubmit(newtables);
db.SubmitChanges();
}
db.Project_HJGLData_Defect.InsertAllOnSubmit(newtables);
db.SubmitChanges();
}
public static void UpdateProject_HJGLData_Defect(Project_HJGLData_Defect newtable)
@@ -384,15 +384,21 @@ namespace BLL
// where y.ProjectId == projectid
// select x.CHT_TotalFilm).ToList().Sum());
int result = 0;
var getD2 = (from x in Funs.DB.HJGL_FL_Data
where x.ProjectId == projectid
orderby x.CompileDate descending
select x).FirstOrDefault();
if (getD2 != null)
{
result = Funs.GetNewIntOrZero(getD2.OneTimeFilmAmount.Split('.')[0]);
}
//int result = 0;
//var getD2 = (from x in Funs.DB.HJGL_FL_Data
// where x.ProjectId == projectid
// orderby x.CompileDate descending
// select x).FirstOrDefault();
//if (getD2 != null)
//{
// result = Funs.GetNewIntOrZero(getD2.OneTimeFilmAmount.Split('.')[0]);
//}
int result = Convert.ToInt32((from x in Funs.DB.ProcessControl_NondestructiveTest_New
where x.ProjectId == projectid && x.ProfessionalName == "工艺管道"
orderby x.CreateDate descending
select x.TotalQuantity
).FirstOrDefault());
return result;
}
/// <summary>
@@ -403,16 +409,26 @@ namespace BLL
{
//int result = Convert.ToInt32((from x in Funs.DB.CH_CheckItem
// join y in Funs.DB.CH_Check on x.CHT_CheckID equals y.CHT_CheckID
// where y.ProjectId == projectid
// where
// select x.CHT_PassFilm).ToList().Sum());
//int result = 0;
//var getD2 = (from x in Funs.DB.HJGL_FL_Data
// where x.ProjectId == projectid
// orderby x.CompileDate descending
// select x).FirstOrDefault();
//if (getD2 != null)
//{
// result = Funs.GetNewIntOrZero(getD2.OneTimeFilmQualifiedAmount.Split('.')[0]);
//}
int result = 0;
var getD2 = (from x in Funs.DB.HJGL_FL_Data
where x.ProjectId == projectid
orderby x.CompileDate descending
select x).FirstOrDefault();
if (getD2 != null)
var ndt = (from x in db.ProcessControl_NondestructiveTest_New where x.ProjectId == projectid && x.ProfessionalName == "工艺管道" orderby x.CreateDate descending select x).FirstOrDefault();
if (ndt != null)
{
result = Funs.GetNewIntOrZero(getD2.OneTimeFilmQualifiedAmount.Split('.')[0]);
if (ndt.TotalQuantity.HasValue)
{
result = Convert.ToInt32(ndt.TotalQuantity.Value * Funs.GetNewDecimalOrZero(ndt.TotalRate) / 100);
}
}
return result;
}