集团数据对接
This commit is contained in:
@@ -249,6 +249,67 @@ namespace BLL
|
||||
return responeData;
|
||||
}
|
||||
|
||||
|
||||
public static HJGLData StatisticalData()
|
||||
{
|
||||
var data = new HJGLData();
|
||||
var thisUnitId = string.Empty;
|
||||
var thisUnit = CommonService.GetIsThisUnit();
|
||||
if (thisUnit != null) thisUnitId = thisUnit.UnitId;
|
||||
var baseUnit = UnitService.GetUnitByUnitId(thisUnitId);
|
||||
var ProjectData = (from x in Funs.DB.Project_HJGLData_HJGL
|
||||
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
|
||||
select x).ToList();
|
||||
Project_HJGLData_HJGLService.StatisticalAllProjectData();
|
||||
Project_HJGLData_DefectService.StatisticalAllProjectData();
|
||||
|
||||
var table = new HJGLData_HJGL
|
||||
{
|
||||
UnitId = thisUnitId,
|
||||
CollCropCode = baseUnit.CollCropCode,
|
||||
UnitName = baseUnit.UnitName,
|
||||
ReportDate = DateTime.Now.Date,
|
||||
WelderNum = ProjectData.Sum(x => x.WelderNum),
|
||||
TotalDineNum = ProjectData.Sum(x => x.TotalDineNum),
|
||||
CompleteDineNum = ProjectData.Sum(x => x.CompleteDineNum),
|
||||
TotalFilmNum = ProjectData.Sum(x => x.TotalFilmNum),
|
||||
OKFilmNum = ProjectData.Sum(x => x.OKFilmNum),
|
||||
CreateMan = Const.sysglyId,
|
||||
CreateDate = DateTime.Now
|
||||
};
|
||||
if (IsReportByToday())
|
||||
{
|
||||
table.Id = GetTodayData().Id;
|
||||
table.State = Const.CNCEC_State_1;
|
||||
UpdateHJGLData_HJGL(table);
|
||||
}
|
||||
else
|
||||
{
|
||||
table.Id = SQLHelper.GetNewID();
|
||||
table.State = Const.CNCEC_State_0;
|
||||
|
||||
AddHJGLData_HJGL(table);
|
||||
}
|
||||
|
||||
var item = new HJGLDataItem();
|
||||
item.CollCropCode = table.CollCropCode;
|
||||
item.CompleteDineNum = table.CompleteDineNum;
|
||||
item.Id = table.Id;
|
||||
item.OKFilmNum = table.OKFilmNum;
|
||||
item.ReportDate = table.ReportDate.Value.ToShortDateString();
|
||||
item.TotalDineNum = table.TotalDineNum;
|
||||
item.TotalFilmNum = table.TotalFilmNum;
|
||||
item.UnitId = table.UnitId;
|
||||
item.WelderNum = table.WelderNum;
|
||||
item.HJGLDataDefectItems = Project_HJGLData_DefectService.getTodayProject_HJGLData_Defect();
|
||||
var hJGLDataItems = new List<HJGLDataItem>();
|
||||
hJGLDataItems.Add(item);
|
||||
|
||||
data.HJGLDataItems = hJGLDataItems;
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
public static async Task<HJGLData> StatisticalDataAsync()
|
||||
{
|
||||
var data = new HJGLData();
|
||||
@@ -256,23 +317,30 @@ namespace BLL
|
||||
var thisUnit = CommonService.GetIsThisUnit();
|
||||
if (thisUnit != null) thisUnitId = thisUnit.UnitId;
|
||||
var baseUnit = UnitService.GetUnitByUnitId(thisUnitId);
|
||||
|
||||
Project_HJGLData_HJGLService.StatisticalAllProjectData();
|
||||
Project_HJGLData_DefectService.StatisticalAllProjectData();
|
||||
// 并行执行异步方法
|
||||
var welderNumTask = HJGLData_HJGLService.GetWelderNumAsync(); //获取焊工总数
|
||||
var dineInfoListTask = HJGLData_HJGLService.GetDineInfoAsync(); //获达因数信息
|
||||
var chCheckItemListTask = HJGLData_HJGLService.GetCHCheckItemAsync(); //获取焊接检查信息
|
||||
var projectHJGLDataListTask = HJGLData_HJGLService.GetProjectHJGLDataAsync(); //获取焊接检查信息
|
||||
|
||||
//// 并行执行异步方法
|
||||
//var welderNumTask = HJGLData_HJGLService.GetWelderNumAsync(); //获取焊工总数
|
||||
//var dineInfoListTask = HJGLData_HJGLService.GetDineInfoAsync(); //获达因数信息
|
||||
//var chCheckItemListTask = HJGLData_HJGLService.GetCHCheckItemAsync(); //获取焊接检查信息
|
||||
|
||||
// 等待所有异步方法执行完成
|
||||
await Task.WhenAll(
|
||||
welderNumTask,
|
||||
dineInfoListTask,
|
||||
chCheckItemListTask
|
||||
projectHJGLDataListTask
|
||||
//welderNumTask,
|
||||
//dineInfoListTask,
|
||||
//chCheckItemListTask
|
||||
);
|
||||
|
||||
// 统一获取异步方法的返回值
|
||||
var welderNum = await welderNumTask;
|
||||
var dineInfoList = await dineInfoListTask;
|
||||
var chCheckItemList = await chCheckItemListTask;
|
||||
var projectHJGLDataList = await projectHJGLDataListTask;
|
||||
//var welderNum = await welderNumTask;
|
||||
//var dineInfoList = await dineInfoListTask;
|
||||
//var chCheckItemList = await chCheckItemListTask;
|
||||
|
||||
|
||||
var table = new HJGLData_HJGL
|
||||
@@ -281,67 +349,71 @@ namespace BLL
|
||||
CollCropCode = baseUnit.CollCropCode,
|
||||
UnitName = baseUnit.UnitName,
|
||||
ReportDate = DateTime.Now.Date,
|
||||
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)),
|
||||
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),
|
||||
//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)),
|
||||
CreateMan = Const.sysglyId,
|
||||
CreateDate = DateTime.Now
|
||||
};
|
||||
//Project_HJGLData_HJGLService.DeleteProject_HJGLData_HJGLByDate(DateTime.Now.Date);
|
||||
//// 预先对 dineInfoList 和 chCheckItemList 按 ProjectId 进行分组
|
||||
//var dineInfoDict = dineInfoList
|
||||
// .Where(x => BeUnderConstructionList.Contains(x.ProjectId))
|
||||
// .GroupBy(x => x.ProjectId)
|
||||
// .ToDictionary(g => g.Key, g => new
|
||||
// {
|
||||
// TotalDineNum = g.Sum(x => x.Size),
|
||||
// CompleteDineNum = g.Sum(x => x.DoneDin)
|
||||
// });
|
||||
|
||||
Project_HJGLData_HJGLService.DeleteProject_HJGLData_HJGLByDate(DateTime.Now.Date);
|
||||
// 预先对 dineInfoList 和 chCheckItemList 按 ProjectId 进行分组
|
||||
var dineInfoDict = dineInfoList
|
||||
.Where(x => BeUnderConstructionList.Contains(x.ProjectId))
|
||||
.GroupBy(x => x.ProjectId)
|
||||
.ToDictionary(g => g.Key, g => new
|
||||
{
|
||||
TotalDineNum = g.Sum(x => x.Size),
|
||||
CompleteDineNum = g.Sum(x => x.DoneDin)
|
||||
});
|
||||
//var chCheckItemDict = chCheckItemList
|
||||
// .Where(x => BeUnderConstructionList.Contains(x.ProjectId))
|
||||
// .GroupBy(x => x.ProjectId)
|
||||
// .ToDictionary(g => g.Key, g => new
|
||||
// {
|
||||
// TotalFilmNum = g.Sum(x => x.CHT_TotalFilm),
|
||||
// OKFilmNum = g.Sum(x => x.CHT_PassFilm)
|
||||
// });
|
||||
|
||||
var chCheckItemDict = chCheckItemList
|
||||
.Where(x => BeUnderConstructionList.Contains(x.ProjectId))
|
||||
.GroupBy(x => x.ProjectId)
|
||||
.ToDictionary(g => g.Key, g => new
|
||||
{
|
||||
TotalFilmNum = g.Sum(x => x.CHT_TotalFilm),
|
||||
OKFilmNum = g.Sum(x => x.CHT_PassFilm)
|
||||
});
|
||||
//foreach (var projectid in BeUnderConstructionList)
|
||||
//{
|
||||
// // 获取焊工数量
|
||||
// int welderCount = welderNum.Count(x => x.ProjectId == projectid);
|
||||
|
||||
foreach (var projectid in BeUnderConstructionList)
|
||||
{
|
||||
// 获取焊工数量
|
||||
int welderCount = welderNum.Count(x => x.ProjectId == projectid);
|
||||
// // 获取达因信息
|
||||
// var dineInfo = dineInfoDict.TryGetValue(projectid, out var dineData)
|
||||
// ? dineData
|
||||
// : new { TotalDineNum = (double?)0, CompleteDineNum = (double?)0 };
|
||||
|
||||
// 获取达因信息
|
||||
var dineInfo = dineInfoDict.TryGetValue(projectid, out var dineData)
|
||||
? dineData
|
||||
: new { TotalDineNum = (double?)0, CompleteDineNum = (double?)0 };
|
||||
// // 获取拍片信息
|
||||
// var chCheckItem = chCheckItemDict.TryGetValue(projectid, out var checkData)
|
||||
// ? checkData
|
||||
// : new { TotalFilmNum = (int?)0, OKFilmNum = (int?)0 };
|
||||
|
||||
// 获取拍片信息
|
||||
var chCheckItem = chCheckItemDict.TryGetValue(projectid, out var checkData)
|
||||
? checkData
|
||||
: new { TotalFilmNum = (int?)0, OKFilmNum = (int?)0 };
|
||||
// var projectCqmsData = new Project_HJGLData_HJGL()
|
||||
// {
|
||||
// Id = SQLHelper.GetNewID(),
|
||||
// ProjectId = projectid,
|
||||
// UnitId = thisUnitId,
|
||||
// CollCropCode = baseUnit.CollCropCode,
|
||||
// UnitName = baseUnit.UnitName,
|
||||
// ReportDate = DateTime.Now.Date,
|
||||
// WelderNum = welderCount,
|
||||
// TotalDineNum = Convert.ToInt32(dineInfo.TotalDineNum),
|
||||
// CompleteDineNum = Convert.ToInt32(dineInfo.CompleteDineNum),
|
||||
// TotalFilmNum = chCheckItem.TotalFilmNum,
|
||||
// OKFilmNum = chCheckItem.OKFilmNum,
|
||||
// };
|
||||
|
||||
var projectCqmsData = new Project_HJGLData_HJGL()
|
||||
{
|
||||
Id = SQLHelper.GetNewID(),
|
||||
ProjectId = projectid,
|
||||
UnitId = thisUnitId,
|
||||
CollCropCode = baseUnit.CollCropCode,
|
||||
UnitName = baseUnit.UnitName,
|
||||
ReportDate = DateTime.Now.Date,
|
||||
WelderNum = welderCount,
|
||||
TotalDineNum = Convert.ToInt32(dineInfo.TotalDineNum),
|
||||
CompleteDineNum = Convert.ToInt32(dineInfo.CompleteDineNum),
|
||||
TotalFilmNum = chCheckItem.TotalFilmNum,
|
||||
OKFilmNum = chCheckItem.OKFilmNum,
|
||||
};
|
||||
|
||||
Project_HJGLData_HJGLService.AddProject_HJGLData_HJGL(projectCqmsData);
|
||||
}
|
||||
// Project_HJGLData_HJGLService.AddProject_HJGLData_HJGL(projectCqmsData);
|
||||
//}
|
||||
|
||||
|
||||
if (IsReportByToday())
|
||||
@@ -451,6 +523,7 @@ namespace BLL
|
||||
{
|
||||
return await Task.Run(GetDineInfo);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取焊接检查信息
|
||||
/// </summary>
|
||||
@@ -479,5 +552,25 @@ namespace BLL
|
||||
{
|
||||
return await Task.Run(GetCHCheckItem);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目焊接信息
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<Project_HJGLData_HJGL> GetProjectHJGLData()
|
||||
{
|
||||
var result = (from x in Funs.DB.Project_HJGLData_HJGL
|
||||
where BeUnderConstructionList.Contains(x.ProjectId) && x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
|
||||
select x).ToList();
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取项目焊接信息(异步)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static async Task<List<Project_HJGLData_HJGL>> GetProjectHJGLDataAsync()
|
||||
{
|
||||
return await Task.Run(GetProjectHJGLData);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1809,7 +1809,7 @@ namespace BLL
|
||||
join y in Funs.DB.QualityAudit_PersonQuality on x.PersonId equals y.PersonId
|
||||
join m in Funs.DB.Base_WorkPost on p.WorkPostId equals m.WorkPostId into mGroup
|
||||
from m in mGroup.DefaultIfEmpty()
|
||||
where BeUnderConstructionList.Contains(p.ProjectId) && p.IsUsed == true && m.PostType == Const.PostType_2 && (x.LimitDate == null || x.LimitDate < DateTime.Now)
|
||||
where BeUnderConstructionList.Contains(p.ProjectId) && p.IsUsed == true && m.PostType == Const.PostType_2 && (x.LimitDate == null || x.LimitDate > DateTime.Now)
|
||||
select new Model.OfSafetySupervisorsOutput
|
||||
{
|
||||
ProjectId = p.ProjectId,
|
||||
|
||||
@@ -320,6 +320,27 @@ namespace BLL
|
||||
public static int GetTotalDineNum(string projectid)
|
||||
{
|
||||
int result = 0;
|
||||
var getD1 = from x in Funs.DB.HJGL_FL_TotalQuantity
|
||||
where x.ProjectId == projectid
|
||||
select x;
|
||||
if (getD1.Count() > 0)
|
||||
{
|
||||
foreach (var item in getD1)
|
||||
{
|
||||
result += Funs.GetNewIntOrZero(item.TotalWeldQuantity.Split('.')[0]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
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.TotalWeldQuantity.Split('.')[0]);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
@@ -329,6 +350,27 @@ namespace BLL
|
||||
public static int GetCompleteDineNum(string projectid)
|
||||
{
|
||||
int result = 0;
|
||||
var getD1 = from x in Funs.DB.HJGL_FL_TotalQuantity
|
||||
where x.ProjectId == projectid
|
||||
select x;
|
||||
if (getD1.Count() > 0)
|
||||
{
|
||||
foreach (var item in getD1)
|
||||
{
|
||||
result += Funs.GetNewIntOrZero(item.TotalCompleted.Split('.')[0]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
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.TotalCompleted.Split('.')[0]);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
@@ -337,10 +379,20 @@ namespace BLL
|
||||
/// <returns></returns>
|
||||
public static int GetTotalFilmNum(string projectid)
|
||||
{
|
||||
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
|
||||
select x.CHT_TotalFilm).ToList().Sum());
|
||||
//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
|
||||
// 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]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
@@ -349,10 +401,19 @@ namespace BLL
|
||||
/// <returns></returns>
|
||||
public static int GetOKFilmNum(string projectid)
|
||||
{
|
||||
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
|
||||
select x.CHT_PassFilm).ToList().Sum());
|
||||
//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
|
||||
// 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]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -1504,7 +1504,7 @@ namespace BLL
|
||||
{
|
||||
var result = (from x in Funs.DB.Solution_LargerHazard
|
||||
where x.ProjectId == projectid && x.IsSuperLargerHazard == false && x.RecordTime > Const.DtmarkTime
|
||||
select x.OperativesNum).ToList().Sum(x => x.Value);
|
||||
select x).ToList().Sum(x => x.OperativesNum ?? 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1567,7 +1567,7 @@ namespace BLL
|
||||
{
|
||||
var result =
|
||||
(from x in Funs.DB.Solution_LargerHazard
|
||||
where x.ProjectId == projectid && x.IsSuperLargerHazard == true && x.RecordTime > Const.DtmarkTime
|
||||
where x.ProjectId == projectid && x.IsSuperLargerHazard == true && x.OperativesNum != null && x.RecordTime > Const.DtmarkTime
|
||||
select x.OperativesNum).ToList().Sum(x => x.Value);
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user