This commit is contained in:
geh
2025-06-18 16:17:36 +08:00
parent 4926935d71
commit 0cb37e2c02
21 changed files with 2751 additions and 692 deletions
+481 -82
View File
@@ -1,6 +1,7 @@
using BLL.CNCECHSSEService;
using FineUIPro;
using Model;
using Model.Customization;
using Newtonsoft.Json;
using NPOI.POIFS.Crypt.Dsig;
using System;
@@ -8,6 +9,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
namespace BLL
{
@@ -52,50 +54,52 @@ namespace BLL
// q= q.Take(Grid1.PageSize * Grid1.PageIndex).Skip(Grid1.PageSize * (Grid1.PageIndex)).ToList();
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in q
select new
{
x.Id,
x.UnitId,
x.CollCropCode,
x.UnitName,
x.ReportDate,
x.TrainPersonNum,
x.TechnicalDisclosePersonNum,
x.UseNum,
x.OKNum,
x.CompanyPersonNum,
x.BranchPersonNum,
x.ProjectPersonNum,
x.ProblemNum,
x.ProblemCompletedNum,
x.ProblemNotCompletedNum,
x.SNum,
x.ANum,
x.BNum,
x.CNum,
x.KeyProcessNum,
x.KeyProcessOKNum,
x.SpecialProcessNum,
x.SpecialProcessOKNum,
x.ConcealedWorksNum,
x.ConcealedWorksOKNum,
x.UnitProjectOnesNum,
x.UnitProjectOnesOKNum,
x.MaterialInRecheckNum,
x.MaterialInRecheckOKNum,
x.SingleProjectNum,
x.UnitProjectNum,
x.SubProjectNum,
x.SubdivisionalWorksNum,
x.InspectionLotNum,
x.State,
x.CreateDate,
x.CreateMan
};
select new
{
x.Id,
x.UnitId,
x.CollCropCode,
x.UnitName,
x.ReportDate,
x.TrainPersonNum,
x.TechnicalDisclosePersonNum,
x.UseNum,
x.OKNum,
x.CompanyPersonNum,
x.BranchPersonNum,
x.ProjectPersonNum,
x.ProblemNum,
x.ProblemCompletedNum,
x.ProblemNotCompletedNum,
x.SNum,
x.ANum,
x.BNum,
x.CNum,
x.KeyProcessNum,
x.KeyProcessOKNum,
x.SpecialProcessNum,
x.SpecialProcessOKNum,
x.ConcealedWorksNum,
x.ConcealedWorksOKNum,
x.UnitProjectOnesNum,
x.UnitProjectOnesOKNum,
x.MaterialInRecheckNum,
x.MaterialInRecheckOKNum,
x.SingleProjectNum,
x.UnitProjectNum,
x.SubProjectNum,
x.SubdivisionalWorksNum,
x.InspectionLotNum,
x.State,
x.CreateDate,
x.CreateMan
};
}
#endregion
#region
public static void AddCQMSData_CQMS(CQMSData_CQMS newtable)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
@@ -136,6 +140,25 @@ namespace BLL
SubProjectNum = newtable.SubProjectNum,
SubdivisionalWorksNum = newtable.SubdivisionalWorksNum,
InspectionLotNum = newtable.InspectionLotNum,
EquipmentInspectionNum = newtable.EquipmentInspectionNum,
EquipmentInspectionQualifiedNum = newtable.EquipmentInspectionQualifiedNum,
MachineInspectionNum = newtable.MachineInspectionNum,
MachineInspectionQualifiedNum = newtable.MachineInspectionQualifiedNum,
PersonInspectionNum = newtable.PersonInspectionNum,
PersonInspectionQualifiedNum = newtable.PersonInspectionQualifiedNum,
MaterialInspectionNum = newtable.MaterialInspectionNum,
MaterialInspectionQualifiedNum = newtable.MaterialInspectionQualifiedNum,
ConstructSolutionNum = newtable.ConstructSolutionNum,
ConstructSolutionProjectApproveNum = newtable.ConstructSolutionProjectApproveNum,
ConstructSolutionUnitApproveNum = newtable.ConstructSolutionUnitApproveNum,
SpecialEquipmentQualityAssuranceSystemNum = newtable.SpecialEquipmentQualityAssuranceSystemNum,
DesignDetailsNum = newtable.DesignDetailsNum,
UnitProjectAcceptNum = newtable.UnitProjectAcceptNum,
UnitProjectAcceptOKNum = newtable.UnitProjectAcceptOKNum,
SubProjectAcceptNum = newtable.SubProjectAcceptNum,
SubProjectAcceptOKNum = newtable.SubProjectAcceptOKNum,
SubdivisionalWorksAcceptNum = newtable.SubdivisionalWorksAcceptNum,
SubdivisionalWorksAcceptOKNum = newtable.SubdivisionalWorksAcceptOKNum,
State = newtable.State,
CreateDate = newtable.CreateDate,
CreateMan = newtable.CreateMan
@@ -144,6 +167,7 @@ namespace BLL
db.SubmitChanges();
}
}
public static void UpdateCQMSData_CQMS(CQMSData_CQMS newtable)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
@@ -185,6 +209,25 @@ namespace BLL
table.SubProjectNum = newtable.SubProjectNum;
table.SubdivisionalWorksNum = newtable.SubdivisionalWorksNum;
table.InspectionLotNum = newtable.InspectionLotNum;
table.EquipmentInspectionNum = newtable.EquipmentInspectionNum;
table.EquipmentInspectionQualifiedNum = newtable.EquipmentInspectionQualifiedNum;
table.MachineInspectionNum = newtable.MachineInspectionNum;
table.MachineInspectionQualifiedNum = newtable.MachineInspectionQualifiedNum;
table.PersonInspectionNum = newtable.PersonInspectionNum;
table.PersonInspectionQualifiedNum = newtable.PersonInspectionQualifiedNum;
table.MaterialInspectionNum = newtable.MaterialInspectionNum;
table.MaterialInspectionQualifiedNum = newtable.MaterialInspectionQualifiedNum;
table.ConstructSolutionNum = newtable.ConstructSolutionNum;
table.ConstructSolutionProjectApproveNum = newtable.ConstructSolutionProjectApproveNum;
table.ConstructSolutionUnitApproveNum = newtable.ConstructSolutionUnitApproveNum;
table.SpecialEquipmentQualityAssuranceSystemNum = newtable.SpecialEquipmentQualityAssuranceSystemNum;
table.DesignDetailsNum = newtable.DesignDetailsNum;
table.UnitProjectAcceptNum = newtable.UnitProjectAcceptNum;
table.UnitProjectAcceptOKNum = newtable.UnitProjectAcceptOKNum;
table.SubProjectAcceptNum = newtable.SubProjectAcceptNum;
table.SubProjectAcceptOKNum = newtable.SubProjectAcceptOKNum;
table.SubdivisionalWorksAcceptNum = newtable.SubdivisionalWorksAcceptNum;
table.SubdivisionalWorksAcceptOKNum = newtable.SubdivisionalWorksAcceptOKNum;
table.State = newtable.State;
table.CreateMan = newtable.CreateMan;
table.CreateDate = newtable.CreateDate;
@@ -206,6 +249,8 @@ namespace BLL
}
}
#endregion
public static CQMSData_CQMS GetCQMSData_CQMSById(string id)
{
var db = Funs.DB;
@@ -258,6 +303,25 @@ namespace BLL
item.SubProjectNum = model.SubProjectNum;
item.SubdivisionalWorksNum = model.SubdivisionalWorksNum;
item.InspectionLotNum = model.InspectionLotNum;
item.EquipmentInspectionNum = model.EquipmentInspectionNum;
item.EquipmentInspectionQualifiedNum = model.EquipmentInspectionQualifiedNum;
item.MachineInspectionNum = model.MachineInspectionNum;
item.MachineInspectionQualifiedNum = model.MachineInspectionQualifiedNum;
item.PersonInspectionNum = model.PersonInspectionNum;
item.PersonInspectionQualifiedNum = model.PersonInspectionQualifiedNum;
item.MaterialInspectionNum = model.MaterialInspectionNum;
item.MaterialInspectionQualifiedNum = model.MaterialInspectionQualifiedNum;
item.ConstructSolutionNum = model.ConstructSolutionNum;
item.ConstructSolutionProjectApproveNum = model.ConstructSolutionProjectApproveNum;
item.ConstructSolutionUnitApproveNum = model.ConstructSolutionUnitApproveNum;
item.SpecialEquipmentQualityAssuranceSystemNum = model.SpecialEquipmentQualityAssuranceSystemNum;
item.DesignDetailsNum = model.DesignDetailsNum;
item.UnitProjectAcceptNum = model.UnitProjectAcceptNum;
item.UnitProjectAcceptOKNum = model.UnitProjectAcceptOKNum;
item.SubProjectAcceptNum = model.SubProjectAcceptNum;
item.SubProjectAcceptOKNum = model.SubProjectAcceptOKNum;
item.SubdivisionalWorksAcceptNum = model.SubdivisionalWorksAcceptNum;
item.SubdivisionalWorksAcceptOKNum = model.SubdivisionalWorksAcceptOKNum;
}
var cqmsDataItems = new List<CqmsDataItem>();
@@ -266,34 +330,29 @@ namespace BLL
return data;
}
public static CQMSData GetTodayCQMSData_CQMS()
public static async Task<CQMSData> GetTodayCQMSData_CQMS()
{
// var q = GetTodayData();
var data = new CQMSData();
data = StatisticalData();
// var data = new CQMSData();
// data = StatisticalData();
//if (q != null && q.State == Const.CNCEC_State_S)
//{
// // data = GetDataByCQMSData_CQMS(q);
// data = StatisticalData();
//}
//else
//{
// data = StatisticalData();
//}
// return data;
var modelTask = StatisitcalDataAsync();
var model = await modelTask;
CQMSData data = model;
return data;
}
public static CQMSData_CQMS GetTodayData()
{
var q = (from x in Funs.DB.CQMSData_CQMS
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).FirstOrDefault();
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).FirstOrDefault();
return q;
}
public static CQMSData_CQMS GetSubUnitCqmsDataByDate(string Unitid, DateTime? reportdate)
{
var result = new Model.CQMSData_CQMS();
if (reportdate == null)
{
@@ -303,7 +362,7 @@ namespace BLL
var base_Unit = UnitService.GetUnitByUnitId(Unitid);
var ProjectData = (from x in Funs.DB.Project_CQMSData_CQMS
where x.ReportDate == reportdate && projectlist.Select(e => e.ProjectId).Contains(x.ProjectId)
select x).ToList();
select x).ToList();
result = new CQMSData_CQMS
{
UnitId = Unitid,
@@ -358,8 +417,8 @@ namespace BLL
{
var result = false;
var q = (from x in Funs.DB.CQMSData_CQMS
where x.ReportDate >= dateTime.Date && x.ReportDate < dateTime.Date.AddDays(1).Date
select x).ToList();
where x.ReportDate >= dateTime.Date && x.ReportDate < dateTime.Date.AddDays(1).Date
select x).ToList();
if (q.Count > 0) result = true;
return result;
}
@@ -372,8 +431,8 @@ namespace BLL
{
var result = false;
var q = (from x in Funs.DB.CQMSData_CQMS
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).ToList();
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).ToList();
if (q.Count > 0) result = true;
return result;
}
@@ -396,8 +455,8 @@ namespace BLL
Project_CQMSDataService.StatisticalAllProjectData();
var ProjectData = (from x in Funs.DB.Project_CQMSData_CQMS
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).ToList();
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
select x).ToList();
var table = new CQMSData_CQMS
{
UnitId = thisUnitId,
@@ -433,6 +492,25 @@ namespace BLL
SubProjectNum = ProjectData.Sum(x => x.SubProjectNum),
SubdivisionalWorksNum = ProjectData.Sum(x => x.SubdivisionalWorksNum),
InspectionLotNum = ProjectData.Sum(x => x.InspectionLotNum),
EquipmentInspectionNum = ProjectData.Sum(x => x.EquipmentInspectionNum),
EquipmentInspectionQualifiedNum = ProjectData.Sum(x => x.EquipmentInspectionQualifiedNum),
MachineInspectionNum = ProjectData.Sum(x => x.MachineInspectionNum),
MachineInspectionQualifiedNum = ProjectData.Sum(x => x.MachineInspectionQualifiedNum),
PersonInspectionNum = ProjectData.Sum(x => x.PersonInspectionNum),
PersonInspectionQualifiedNum = ProjectData.Sum(x => x.PersonInspectionQualifiedNum),
MaterialInspectionNum = ProjectData.Sum(x => x.MaterialInspectionNum),
MaterialInspectionQualifiedNum = ProjectData.Sum(x => x.MaterialInspectionQualifiedNum),
ConstructSolutionNum = ProjectData.Sum(x => x.ConstructSolutionNum),
ConstructSolutionProjectApproveNum = ProjectData.Sum(x => x.ConstructSolutionProjectApproveNum),
ConstructSolutionUnitApproveNum = ProjectData.Sum(x => x.ConstructSolutionUnitApproveNum),
SpecialEquipmentQualityAssuranceSystemNum = ProjectData.Sum(x => x.SpecialEquipmentQualityAssuranceSystemNum),
DesignDetailsNum = ProjectData.Sum(x => x.DesignDetailsNum),
UnitProjectAcceptNum = ProjectData.Sum(x => x.UnitProjectAcceptNum),
UnitProjectAcceptOKNum = ProjectData.Sum(x => x.UnitProjectAcceptOKNum),
SubProjectAcceptNum = ProjectData.Sum(x => x.SubProjectAcceptNum),
SubProjectAcceptOKNum = ProjectData.Sum(x => x.SubProjectAcceptOKNum),
SubdivisionalWorksAcceptNum = ProjectData.Sum(x => x.SubdivisionalWorksAcceptNum),
SubdivisionalWorksAcceptOKNum = ProjectData.Sum(x => x.SubdivisionalWorksAcceptOKNum),
CreateMan = Const.sysglyId,
CreateDate = DateTime.Now
};
@@ -454,6 +532,241 @@ namespace BLL
return data;
}
/// <summary>
/// 获取质量统计数据
/// </summary>
public static async Task<CQMSData> StatisitcalDataAsync()
{
var thisUnitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) thisUnitId = thisUnit.UnitId;
var baseUnit = UnitService.GetUnitByUnitId(thisUnitId);
// 并行执行异步方法
var companyPersonNumTask = CQMSDataService.GetCompanyPersonNumAsync(); //获取企业总部人数
var branchPersonNumTask = CQMSDataService.GetBranchPersonNumAsync(); //获取分支机构人数
var projectPersonNumTask = CQMSDataService.GetProjectPersonNumAsync(); //获取项目专职人数
var trainPersonNumTask = CQMSDataService.GetTrainPersonNumAsync(); //获取质量培训人次数
var technicalDisclosePersonTask = CQMSDataService.GetTechnicalDisclosePersonNumAsync(); //获取技术交底人次数
var inspectionEquipmentTask = CQMSDataService.GetComprehensive_InspectionEquipmentAsync(); //获取设备报验
var inspectionPersonTask = CQMSDataService.GetComprehensive_InspectionPersonAsync(); //获取人员报验
var inspectionMachineTask = CQMSDataService.GetComprehensive_InspectionMachineAsync(); //获取机具报验
var useNumTask = CQMSDataService.GetUseNumAsync(); //获取在用计量器具数
var okNumTask = CQMSDataService.GetOkNumAsync(); //获取校准合格数
var singleProjectNumTask = CQMSDataService.GetSingleProjectNumAsync(); //获取单项工程个数
var unitProjectNumTask = CQMSDataService.GetUnitProjectNumAsync(); //获取单位工程个数
var subProjectNuTask = CQMSDataService.GetSubProjectNumAsync(); //获取分部工程个数
var subdivisionalWorksNuTask = CQMSDataService.GetSubdivisionalWorksNumAsync(); //获取分项工程个数
var inspectionLotNumTask = CQMSDataService.GetInspectionLotNumAsync(); //获取检验批个数
var constructSolutionTask = CQMSDataService.GetConstructSolutionAsync(); //施工方案数量
var cqmsProblemTask = CQMSDataService.GetCQMSProblemAsync(); //获取企业级、项目级质量问题
//质量验收数据
var keyProcessNumTask = CQMSDataService.GetKeyProcessNumAsync(); //获取关键工序验收数
var keyProcessOKNumTask = CQMSDataService.GetKeyProcessOkNumAsync(); //获取关键工序验收合格数
var specialProcessNumTask = CQMSDataService.GetSpecialProcessNumAsync(); //获取特殊过程验收数
var specialProcessOKNumTask = CQMSDataService.GetSpecialProcessOkNumAsync(); //获取特殊过程验收合格数
var concealedWorksNumTask = CQMSDataService.GetConcealedWorksNumAsync(); //获取隐蔽工程验收数
var concealedWorksOKNumTask = CQMSDataService.GetConcealedWorksOkNumAsync(); //获取隐蔽工程验收合格数
var unitProjectAcceptNumTask = CQMSDataService.GetUnitProjectAcceptNumAsync(); //获取单位工程验收数
var unitProjectAcceptOKNumTask = CQMSDataService.GetUnitProjectAcceptOKNumAsync(); //获取单位工程验收合格数
var subProjectAcceptNumTask = CQMSDataService.GetSubProjectAcceptNumAsync(); //获取分部工程验收数
var subProjectAcceptOKNumTask = CQMSDataService.GetSubProjectAcceptOKNumAsync(); //获取分部工程验收合格数
var subdivisionalWorksAcceptNumTask = CQMSDataService.GetSubdivisionalWorksAcceptNumAsync(); //获取分项工程验收数
var subdivisionalWorksAcceptOKNumTask = CQMSDataService.GetSubdivisionalWorksAcceptOKNumAsync(); //获取分项工程验收合格数
var materialInRecheckNumTask = CQMSDataService.GetMaterialInRecheckNumAsync(); //获取复核材料数
var materialInRecheckOKNumTask = CQMSDataService.GetMaterialInRecheckOKNumAsync(); //获取复核材料合格数
// 等待所有异步方法执行完成
await Task.WhenAll(
companyPersonNumTask, branchPersonNumTask, projectPersonNumTask,
trainPersonNumTask, technicalDisclosePersonTask,
inspectionEquipmentTask, inspectionPersonTask, inspectionMachineTask,
useNumTask, okNumTask,
singleProjectNumTask, unitProjectNumTask, subProjectNuTask, subdivisionalWorksNuTask, inspectionLotNumTask,
constructSolutionTask,
cqmsProblemTask,
keyProcessNumTask, keyProcessOKNumTask, specialProcessNumTask, specialProcessOKNumTask, concealedWorksNumTask, concealedWorksOKNumTask,
unitProjectAcceptNumTask, unitProjectAcceptOKNumTask, subProjectAcceptNumTask, subProjectAcceptOKNumTask, subdivisionalWorksAcceptNumTask, subdivisionalWorksAcceptOKNumTask,
materialInRecheckNumTask, materialInRecheckOKNumTask
);
// 统一获取异步方法的返回值
var companyPersonNum = await companyPersonNumTask;
var branchPersonNum = await branchPersonNumTask;
var projectPersonNumList = await projectPersonNumTask;
var trainPersonNumList = await trainPersonNumTask;
var technicalDisclosePersonList = await technicalDisclosePersonTask;
var inspectionEquipmentList = await inspectionEquipmentTask;
var inspectionPersonList = await inspectionPersonTask;
var inspectionMachineList = await inspectionMachineTask;
var useNum = await useNumTask;
var okNum = await okNumTask;
var singleProjectNum = await singleProjectNumTask;
var unitProjectNum = await unitProjectNumTask;
var subProjectNum = await subProjectNuTask;
var subdivisionalWorksNum = await subdivisionalWorksNuTask;
var inspectionLotNum = await inspectionLotNumTask;
var constructSolutionList = await constructSolutionTask;
var cqmsProblemList = await cqmsProblemTask;
var keyProcessNum = await keyProcessNumTask;
var keyProcessOKNum = await keyProcessOKNumTask;
var specialProcessNum = await specialProcessNumTask;
var specialProcessOKNum = await specialProcessOKNumTask;
var concealedWorksNum = await concealedWorksNumTask;
var concealedWorksOKNum = await concealedWorksOKNumTask;
var unitProjectAcceptNum = await unitProjectAcceptNumTask;
var unitProjectAcceptOKNum = await unitProjectAcceptOKNumTask;
var subProjectAcceptNum = await subProjectAcceptNumTask;
var subProjectAcceptOKNum = await subProjectAcceptOKNumTask;
var subdivisionalWorksAcceptNum = await subdivisionalWorksAcceptNumTask;
var subdivisionalWorksAcceptOKNum = await subdivisionalWorksAcceptOKNumTask;
var materialInRecheckNum = await materialInRecheckNumTask;
var materialInRecheckOKNum = await materialInRecheckOKNumTask;
// 构造结果对象
var table = new CQMSData_CQMS
{
UnitId = thisUnitId,
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
CompanyPersonNum = companyPersonNum,//
BranchPersonNum = branchPersonNum,//
ProjectPersonNum = projectPersonNumList.Count(),
TrainPersonNum = trainPersonNumList.Count(),
TechnicalDisclosePersonNum = technicalDisclosePersonList.Sum(x => x.TrainPersonNum),
EquipmentInspectionNum = inspectionEquipmentList.Count(),
EquipmentInspectionQualifiedNum = inspectionEquipmentList.Where(x => x.SamplingResult == "1").Count(),
PersonInspectionNum = inspectionPersonList.Count(),
PersonInspectionQualifiedNum = inspectionPersonList.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true).Count(),
MachineInspectionNum = inspectionMachineList.Count(),
MachineInspectionQualifiedNum = inspectionMachineList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true).Count(),
MaterialInspectionNum = 0,
MaterialInspectionQualifiedNum = 0,
UseNum = useNum.Count(),
OKNum = okNum.Count(),
SingleProjectNum = singleProjectNum.Count(),
UnitProjectNum = unitProjectNum.Count(),
SubProjectNum = subProjectNum.Count(),
SubdivisionalWorksNum = subdivisionalWorksNum.Count(),
InspectionLotNum = inspectionLotNum.Sum(x => x.Sum),
ConstructSolutionNum = constructSolutionList.Count(),
ConstructSolutionProjectApproveNum = constructSolutionList.Where(x => x.State == "1").Count(),
ConstructSolutionUnitApproveNum = 0,//
SpecialEquipmentQualityAssuranceSystemNum = 0,//
DesignDetailsNum = technicalDisclosePersonList.Sum(x => x.TrainPersonNum),
ProblemNum = cqmsProblemList.Count(),
ProblemCompletedNum = cqmsProblemList.Where(x => x.State == "7").Count(),
ProblemNotCompletedNum = cqmsProblemList.Where(x => x.State != "7").Count(),
KeyProcessNum = keyProcessNum.Count(),
KeyProcessOKNum = keyProcessOKNum.Count(),
SpecialProcessNum = specialProcessNum.Count(),
SpecialProcessOKNum = specialProcessOKNum.Count(),
ConcealedWorksNum = concealedWorksNum.Count(),
ConcealedWorksOKNum = concealedWorksOKNum.Count(),
UnitProjectAcceptNum = unitProjectAcceptNum.Count(),
UnitProjectAcceptOKNum = unitProjectAcceptOKNum.Count(),
SubProjectAcceptNum = subProjectAcceptNum.Count(),
SubProjectAcceptOKNum = subProjectAcceptOKNum.Count(),
SubdivisionalWorksAcceptNum = subdivisionalWorksAcceptNum.Count(),
SubdivisionalWorksAcceptOKNum = subdivisionalWorksAcceptOKNum.Count(),
MaterialInRecheckNum = materialInRecheckNum.Count(),
MaterialInRecheckOKNum = materialInRecheckOKNum.Count()
};
#region
Project_CQMSDataService.DeleteProject_CQMSData_CQMByDate(DateTime.Now.Date);
foreach (var projectid in BeUnderConstructionList)
{
var projectCqmsData = new Project_CQMSData_CQMS
{
Id = SQLHelper.GetNewID(),
ProjectId = projectid,
UnitId = thisUnitId,
CollCropCode = baseUnit.CollCropCode,
UnitName = baseUnit.UnitName,
ReportDate = DateTime.Now.Date,
CompanyPersonNum = companyPersonNum,//
BranchPersonNum = branchPersonNum,//
ProjectPersonNum = projectPersonNumList.Count(x => x.ProjectId == projectid),
TrainPersonNum = trainPersonNumList.Count(x => x.ProjectId == projectid),
TechnicalDisclosePersonNum = technicalDisclosePersonList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
EquipmentInspectionNum = inspectionEquipmentList.Count(x => x.ProjectId == projectid),
EquipmentInspectionQualifiedNum = inspectionEquipmentList.Where(x => x.SamplingResult == "1" && x.ProjectId == projectid).Count(),
PersonInspectionNum = inspectionPersonList.Count(x => x.ProjectId == projectid),
PersonInspectionQualifiedNum = inspectionPersonList.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true && x.ProjectId == projectid).Count(),
MachineInspectionNum = inspectionMachineList.Count(x => x.ProjectId == projectid),
MachineInspectionQualifiedNum = inspectionMachineList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true && x.ProjectId == projectid).Count(),
MaterialInspectionNum = 0,
MaterialInspectionQualifiedNum = 0,
UseNum = useNum.Count(x => x.ProjectId == projectid),
OKNum = okNum.Count(x => x.ProjectId == projectid),
SingleProjectNum = singleProjectNum.Count(x => x.ProjectId == projectid),
UnitProjectNum = unitProjectNum.Count(x => x.ProjectId == projectid),
SubProjectNum = subProjectNum.Count(x => x.ProjectId == projectid),
SubdivisionalWorksNum = subdivisionalWorksNum.Count(x => x.ProjectId == projectid),
InspectionLotNum = inspectionLotNum.Where(x => x.ProjectId == projectid).Sum(x => x.Sum),
ConstructSolutionNum = constructSolutionList.Count(x => x.ProjectId == projectid),
ConstructSolutionProjectApproveNum = constructSolutionList.Where(x => x.State == "1" && x.ProjectId == projectid).Count(),
ConstructSolutionUnitApproveNum = 0,//
SpecialEquipmentQualityAssuranceSystemNum = 0,//
DesignDetailsNum = technicalDisclosePersonList.Where(x => x.ProjectId == projectid).Sum(x => x.TrainPersonNum),
ProblemNum = cqmsProblemList.Count(x => x.ProjectId == projectid),
ProblemCompletedNum = cqmsProblemList.Where(x => x.State == "7" && x.ProjectId == projectid).Count(),
ProblemNotCompletedNum = cqmsProblemList.Where(x => x.State != "7" && x.ProjectId == projectid).Count(),
KeyProcessNum = keyProcessNum.Count(x => x.ProjectId == projectid),
KeyProcessOKNum = keyProcessOKNum.Count(x => x.ProjectId == projectid),
SpecialProcessNum = specialProcessNum.Count(x => x.ProjectId == projectid),
SpecialProcessOKNum = specialProcessOKNum.Count(x => x.ProjectId == projectid),
ConcealedWorksNum = concealedWorksNum.Count(x => x.ProjectId == projectid),
ConcealedWorksOKNum = concealedWorksOKNum.Count(x => x.ProjectId == projectid),
UnitProjectAcceptNum = unitProjectAcceptNum.Count(x => x.ProjectId == projectid),
UnitProjectAcceptOKNum = unitProjectAcceptOKNum.Count(x => x.ProjectId == projectid),
SubProjectAcceptNum = subProjectAcceptNum.Count(x => x.ProjectId == projectid),
SubProjectAcceptOKNum = subProjectAcceptOKNum.Count(x => x.ProjectId == projectid),
SubdivisionalWorksAcceptNum = subdivisionalWorksAcceptNum.Count(x => x.ProjectId == projectid),
SubdivisionalWorksAcceptOKNum = subdivisionalWorksAcceptOKNum.Count(x => x.ProjectId == projectid),
MaterialInRecheckNum = materialInRecheckNum.Count(x => x.ProjectId == projectid),
MaterialInRecheckOKNum = materialInRecheckOKNum.Count(x => x.ProjectId == projectid)
};
Project_CQMSDataService.AddProject_CQMSData_CQMS(projectCqmsData);
}
#endregion
if (IsReportByToday())
{
table.Id = GetTodayData().Id;
table.State = Const.CNCEC_State_1;
UpdateCQMSData_CQMS(table);
}
else
{
table.Id = SQLHelper.GetNewID();
table.State = Const.CNCEC_State_0;
AddCQMSData_CQMS(table);
}
var data = new CQMSData();
data = GetDataByCQMSData_CQMS(table);
return data;
}
public static CQMSData GetDataByCQMSData_CQMS(CQMSData_CQMS table)
{
var data = new CQMSData();
@@ -497,13 +810,31 @@ namespace BLL
item.SubProjectNum = table.SubProjectNum;
item.SubdivisionalWorksNum = table.SubdivisionalWorksNum;
item.InspectionLotNum = table.InspectionLotNum;
item.EquipmentInspectionNum = table.EquipmentInspectionNum;
item.EquipmentInspectionQualifiedNum = table.EquipmentInspectionQualifiedNum;
item.MachineInspectionNum = table.MachineInspectionNum;
item.MachineInspectionQualifiedNum = table.MachineInspectionQualifiedNum;
item.PersonInspectionNum = table.PersonInspectionNum;
item.PersonInspectionQualifiedNum = table.PersonInspectionQualifiedNum;
item.MaterialInspectionNum = table.MaterialInspectionNum;
item.MaterialInspectionQualifiedNum = table.MaterialInspectionQualifiedNum;
item.ConstructSolutionNum = table.ConstructSolutionNum;
item.ConstructSolutionProjectApproveNum = table.ConstructSolutionProjectApproveNum;
item.ConstructSolutionUnitApproveNum = table.ConstructSolutionUnitApproveNum;
item.SpecialEquipmentQualityAssuranceSystemNum = table.SpecialEquipmentQualityAssuranceSystemNum;
item.DesignDetailsNum = table.DesignDetailsNum;
item.UnitProjectAcceptNum = table.UnitProjectAcceptNum;
item.UnitProjectAcceptOKNum = table.UnitProjectAcceptOKNum;
item.SubProjectAcceptNum = table.SubProjectAcceptNum;
item.SubProjectAcceptOKNum = table.SubProjectAcceptOKNum;
item.SubdivisionalWorksAcceptNum = table.SubdivisionalWorksAcceptNum;
item.SubdivisionalWorksAcceptOKNum = table.SubdivisionalWorksAcceptOKNum;
var cqmsDataItems = new List<CqmsDataItem>();
cqmsDataItems.Add(item);
data.CQMSDataItems = cqmsDataItems;
return data;
}
/// <summary>
/// 获取企业总部人数
/// </summary>
@@ -514,9 +845,9 @@ namespace BLL
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsCQMS == true && x.UnitId == unitId
select x).Count();
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsCQMS == true && x.UnitId == unitId
select x).Count();
return result;
}
@@ -539,9 +870,9 @@ namespace BLL
var thisUnit = CommonService.GetIsThisUnit();
if (thisUnit != null) unitId = thisUnit.UnitId;
var result = (from x in Funs.DB.Person_CompanyBranchPerson
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsCQMS == true && x.UnitId != unitId
select x).Count();
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.IsOnJob == true && y.IsCQMS == true && x.UnitId != unitId
select x).Count();
return result;
}
@@ -558,15 +889,15 @@ namespace BLL
/// 获取项目专职人数
/// </summary>
/// <returns></returns>
public static List<Model.OfSafetySupervisorsOutput> GetProjectPersonNum()
public static IEnumerable<Model.OfSafetySupervisorsOutput> GetProjectPersonNum()
{
var result = (from x in Funs.DB.SitePerson_Person
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where BeUnderConstructionList.Contains(p.ProjectId) && y.IsCQMS == true && x.IsUsed == true && x.IdentityCard != null
where BeUnderConstructionList.Contains(p.ProjectId) && y.IsCQMS == true && x.IsUsed == true
select new Model.OfSafetySupervisorsOutput
{
ProjectId = x.ProjectId,
@@ -576,7 +907,7 @@ namespace BLL
Name = x.PersonName,
Sex = x.Sex == null ? "" : (x.Sex == "1" ? "男" : "女"),
IdentityCard = x.IdentityCard,
WorkPostName = PostService.GetPostNameById(x.WorkPostId),
WorkPostName = y.WorkPostName == null ? "" : y.WorkPostName,
Phone = x.Telephone
}).ToList();
result = result
@@ -589,7 +920,7 @@ namespace BLL
/// 获取项目专职人数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<Model.OfSafetySupervisorsOutput>> GetProjectPersonNumAsync()
public static async Task<IEnumerable<Model.OfSafetySupervisorsOutput>> GetProjectPersonNumAsync()
{
return await Task.Run(GetProjectPersonNum);
}
@@ -605,8 +936,10 @@ namespace BLL
from p in pGroup.DefaultIfEmpty()
join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
join y in Funs.DB.SitePerson_Person on x.InspectionPersonId equals y.PersonId
join z in Funs.DB.Base_WorkPost on y.WorkPostId equals z.WorkPostId
join y in Funs.DB.SitePerson_Person on x.InspectionPersonId equals y.PersonId into yGroup
from y in yGroup.DefaultIfEmpty()
join m in Funs.DB.Base_WorkPost on y.WorkPostId equals m.WorkPostId into mGroup
from m in mGroup.DefaultIfEmpty()
where BeUnderConstructionList.Contains(p.ProjectId) && x.IsTrain == true && x.CompileDate > Const.DtmarkTime
select new Model.OfSafetySupervisorsOutput
{
@@ -617,7 +950,7 @@ namespace BLL
Name = x.PersonName,
Sex = y.Sex == null ? "" : (y.Sex == "1" ? "男" : "女"),
IdentityCard = y.IdentityCard,
WorkPostName = PostService.GetPostNameById(y.WorkPostId),
WorkPostName = m.WorkPostName == null ? "" : m.WorkPostName,
Phone = y.Telephone
}).ToList();
return result;
@@ -870,11 +1203,16 @@ namespace BLL
/// 获取检验批个数
/// </summary>
/// <returns></returns>
public static List<WBS_BreakdownProject> GetInspectionLotNum()
public static List<WBSBreakdownProjectOutput> GetInspectionLotNum()
{
var result = (from x in Funs.DB.WBS_BreakdownProject
where BeUnderConstructionList.Contains(x.ProjectId) && x.IsSelected == true
select x).ToList();
group x by x.ProjectId into g
select new Model.WBSBreakdownProjectOutput()
{
ProjectId = g.Key,
Sum = g.Count(),
}).ToList() ;
return result;
}
@@ -882,7 +1220,7 @@ namespace BLL
/// 获取检验批个数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<WBS_BreakdownProject>> GetInspectionLotNumAsync()
public static async Task<List<WBSBreakdownProjectOutput>> GetInspectionLotNumAsync()
{
return await Task.Run(GetInspectionLotNum);
}
@@ -1204,6 +1542,68 @@ namespace BLL
}
/// 获取材料进场复验数
/// </summary>
/// <returns></returns>
public static List<InspectionManagementOutput> GetMaterialInRecheckNum()
{
var result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
join z in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals z.InspectionId
where BeUnderConstructionList.Contains(y.ProjectId) && y.CheckAcceptType == "5" && x.CreateDate > Const.DtmarkTime
select new Model.InspectionManagementOutput()
{
ProjectId = y.ProjectId,
//ProjectName = p.ProjectName,
//UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.InspectionDetailId,
BreakdownCode = y.BreakdownCode,
BreakdownName = y.BreakdownName,
Basis = y.Basis,
CheckPoints = y.CheckPoints,
}).ToList();
return result;
}
/// <summary>
/// 获取材料进场复验数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<InspectionManagementOutput>> GetMaterialInRecheckNumAsync()
{
return await Task.Run(GetMaterialInRecheckNum);
}
/// <summary>
/// 获取材料进场复验数合格数
/// </summary>
/// <returns></returns>
public static List<InspectionManagementOutput> GetMaterialInRecheckOKNum()
{
var result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
join z in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals z.InspectionId
where BeUnderConstructionList.Contains(y.ProjectId) && y.CheckAcceptType == "5" && z.IsOnceQualified == true && x.CreateDate > Const.DtmarkTime
select new Model.InspectionManagementOutput()
{
ProjectId = y.ProjectId,
//ProjectName = p.ProjectName,
//UnitName = UnitService.getUnitNamesUnitIds(x.UnitIds),
Id = x.InspectionDetailId,
BreakdownCode = y.BreakdownCode,
BreakdownName = y.BreakdownName,
Basis = y.Basis,
CheckPoints = y.CheckPoints,
}).ToList();
return result;
}
/// <summary>
/// 获取材料进场复验数合格数(异步)
/// </summary>
/// <returns></returns>
public static async Task<List<InspectionManagementOutput>> GetMaterialInRecheckOKNumAsync()
{
return await Task.Run(GetMaterialInRecheckOKNum);
}
/// <summary>
/// 获取分部工程验收数
/// </summary>
@@ -1328,7 +1728,6 @@ namespace BLL
{
return await Task.Run(GetSubdivisionalWorksAcceptOKNum);
}
#endregion
}