20240331 质量月报

This commit is contained in:
2024-03-31 01:12:53 +08:00
parent 1791d28bde
commit 4aa229ef1f
54 changed files with 6959 additions and 1709 deletions
@@ -308,6 +308,18 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
saveTxtContent();
//保存9.计量器具报验管理情况
saveMeasuringInspection();
//保存10.现场质量共检数据
saveInspectionDataInspection();
//保存11.压力管道监检情况
savePressureInspection();
//保存12.管道试压包管理情况
savePipingInspection();
//保存13.特种设备监检情况
saveSpecialInspection();
//保存14.NCR管理情况
saveNcrManagementInspection();
//保存15.质量巡检情况
saveQualityInspection();
@@ -423,13 +435,23 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
Funs.DB.Report_TextBoxContent.InsertAllOnSubmit(txtContentList);
Funs.DB.SubmitChanges();
}
#endregion
void lodAllGrid(string objType)
{
//加载9.计量器具报验管理情况
loadMeasuringInspection(objType);
//加载10.现场质量共检数据
loadInspectionDataInspection(objType);
//加载11.压力管道监检情况
loadPressureInspection(objType);
//加载12.管道试压包管理情况
loadPipingInspection(objType);
//加载13.特种设备监检情况
loadSpecialInspection(objType);
////加载14.NCR管理情况
loadNcrManagementInspection();
//加载15.质量巡检情况
loadQualityInspection(objType);
//加载16.质量专项检查情况
@@ -438,6 +460,720 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
loadFileReport(objType);
}
#region 9. gvMeasuringInspection方法
/// <summary>
/// 计量器具报验管理情况
/// </summary>
void loadMeasuringInspection(string objType)
{
var db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = new List<Model.Report_CQMS_MonthReportItem>();
int i = 1;
int Quantity1Sum = 0;
int Quantity2Sum = 0;
//加载所有单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
foreach (var item in units)
{
var query = from c in db.Comprehensive_InspectionMachine
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId && c.InspectionType.Equals("计量")
select new
{
c.InspectionDate,
c.ProjectId,
u.UnitId,
u.UnitName
};
var AllList = query.ToList();
var monethCount = query
.Where(x => (x.InspectionDate >= Convert.ToDateTime(startDate) && x.InspectionDate <= Convert.ToDateTime(endDate)));
Model.Report_CQMS_MonthReportItem model = new Model.Report_CQMS_MonthReportItem();
model.Id = Guid.NewGuid().ToString();
model.ContentName = item.UnitName;
model.MonthsCount = monethCount.Count();
model.ProjectCount = AllList.Count();
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType == "1")
{
var NewModel = db.Report_CQMS_MonthReportItem.FirstOrDefault(x => x.ReportId == ReportId && x.ContentName == item.UnitName && x.ReType == "9");
if (NewModel != null)
{
model.RectificationRate = NewModel.RectificationRate;
model.Remarks = NewModel.Remarks;
}
}
list.Add(model);
Quantity1Sum += monethCount.Count();
Quantity2Sum += AllList.Count();
i++;
}
gvMeasuringInspection.DataSource = list;
gvMeasuringInspection.DataBind();
//合计
JObject summary = new JObject();
summary.Add("ContentName", "合计");
summary.Add("MonthsCount", Quantity1Sum.ToString());
summary.Add("ProjectCount", Quantity2Sum.ToString());
gvMeasuringInspection.SummaryData = summary;
}
#endregion
#region 10. gvInspectionDataInspection方法
/// <summary>
/// 现场质量共检数据
/// </summary>
void loadInspectionDataInspection(string objType)
{
CheckLotBindStatisc("CV");//检验批统计:土建
CheckLotBindStatisc("EQ");//检验批统计:设备
CheckLotBindStatisc("PP");//检验批统计:管道
CheckLotBindStatisc("EL");//检验批统计:电气
CheckLotBindStatisc("IN");//检验批统计:仪表
CheckLotBindStatisc("FF");//检验批统计:反腐
CheckLotBindStatisc("XF");//检验批统计:消防
#region
var db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = new List<Model.Report_CQMS_MonthReportItem>();
int i = 1;
int Quantity1Sum = 0;
int Quantity2Sum = 0;
//加载所有单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
foreach (var item in units)
{
var query = from c in db.View_CQMS_InspectionManagementDetail
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
select new
{
c.CheckDate,
c.ProjectId,
u.UnitId,
u.UnitName
};
var AllList = query.ToList();
var monethCount = query
.Where(x => (x.CheckDate >= Convert.ToDateTime(startDate) && x.CheckDate <= Convert.ToDateTime(endDate)));
Model.Report_CQMS_MonthReportItem model = new Model.Report_CQMS_MonthReportItem();
model.Id = Guid.NewGuid().ToString();
model.ContentName = item.UnitName;
model.MonthsCount = monethCount.Count();
model.ProjectCount = AllList.Count();
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType == "1")
{
var NewModel = db.Report_CQMS_MonthReportItem.FirstOrDefault(x => x.ReportId == ReportId && x.ContentName == item.UnitName && x.ReType == "10");
if (NewModel != null)
{
model.RectificationRate = NewModel.RectificationRate;
model.Remarks = NewModel.Remarks;
}
}
list.Add(model);
Quantity1Sum += monethCount.Count();
Quantity2Sum += AllList.Count();
i++;
}
gvInspectionDataInspection.DataSource = list;
gvInspectionDataInspection.DataBind();
//合计
JObject summary = new JObject();
summary.Add("ContentName", "合计");
summary.Add("MonthsCount", Quantity1Sum.ToString());
summary.Add("ProjectCount", Quantity2Sum.ToString());
gvInspectionDataInspection.SummaryData = summary;
#endregion
}
public void CheckLotBindStatisc(string cNProfessionalCode)
{
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
List<Model.CheckStatisc> StatisticsList = new List<Model.CheckStatisc>();
Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
int CheckNum = 0;
int TotalCheckNum = 0;
int OKNum = 0;
int TotalOKNum = 0;
string OneOKRate = string.Empty;
string TotalOneOKRate = string.Empty;
if (project != null)
{
if (project.StartDate != null)
{
projectStartDate = Convert.ToDateTime(project.StartDate);
}
}
//int i = 1;
string cNProfessionalId = (from x in Funs.DB.Base_CNProfessional where x.CNProfessionalCode == cNProfessionalCode select x.CNProfessionalId).FirstOrDefault();
List<string> workNames = new List<string>();
//专业下所有集合
List<Model.View_CQMS_InspectionManagementDetail> totalManagementList = BLL.InspectionManagementService.getInspectionManagementDetailListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, cNProfessionalId, projectStartDate, endDate, false);
//专业下当期集合
List<Model.View_CQMS_InspectionManagementDetail> managementList = BLL.InspectionManagementService.getInspectionManagementDetailListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, cNProfessionalId, startDate, endDate, false);
workNames = totalManagementList.Select(x => x.UnitWorkId).DefaultIfEmpty().Distinct()?.ToList();
foreach (string item in workNames)
{
Model.WBS_UnitWork ins = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(item);
if (ins != null)
{
Model.CheckStatisc checkStatisc = new Model.CheckStatisc();
checkStatisc.Id = Guid.NewGuid().ToString();
checkStatisc.WorkName = ins.UnitWorkName;
checkStatisc.CheckNum = managementList.Count(x => x.UnitWorkId == item);
checkStatisc.TotalCheckNum = totalManagementList.Count(x => x.UnitWorkId == item);
checkStatisc.OKNum = managementList.Count(x => x.UnitWorkId == item && x.IsOnceQualified == true);
checkStatisc.TotalOKNum = totalManagementList.Count(x => x.UnitWorkId == item && x.IsOnceQualified == true);
StatisticsList.Add(checkStatisc);
}
}
foreach (var item in StatisticsList)
{
if (item.CheckNum != 0)//被除数不能为零
{
item.OneOKRate = Math.Round((double)item.OKNum / (double)item.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
item.OneOKRate = "0%";
}
if (item.TotalCheckNum != 0)//被除数不能为零
{
item.TotalOneOKRate = Math.Round((double)item.TotalOKNum / (double)item.TotalCheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
item.TotalOneOKRate = "0%";
}
CheckNum += item.CheckNum;
TotalCheckNum += item.TotalCheckNum;
OKNum += item.OKNum;
TotalOKNum += item.TotalOKNum;
}
if (CheckNum != 0)//被除数不能为零
{
OneOKRate = Math.Round((double)OKNum / (double)CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
OneOKRate = "0%";
}
if (TotalCheckNum != 0)//被除数不能为零
{
TotalOneOKRate = Math.Round((double)TotalOKNum / (double)TotalCheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
TotalOneOKRate = "0%";
}
//检验批统计:土建
if (cNProfessionalCode == "CV")
{
this.gvTj.DataSource = StatisticsList;
this.gvTj.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CheckNum", CheckNum.ToString()); //当前检查点数
summary.Add("TotalCheckNum", TotalCheckNum.ToString());//累计点数
summary.Add("OKNum", OKNum.ToString());//当前合格点数
summary.Add("TotalOKNum", TotalOKNum.ToString());//累计合格点数
summary.Add("OneOKRate", OneOKRate.ToString());//本周合格点数
summary.Add("TotalOneOKRate", TotalOneOKRate.ToString());//本周累计合格点数
gvTj.SummaryData = summary;
}
//检验批统计:设备
if (cNProfessionalCode == "EQ")
{
this.GvSb.DataSource = StatisticsList;
this.GvSb.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CheckNum", CheckNum.ToString()); //当前检查点数
summary.Add("TotalCheckNum", TotalCheckNum.ToString());//累计点数
summary.Add("OKNum", OKNum.ToString());//当前合格点数
summary.Add("TotalOKNum", TotalOKNum.ToString());//累计合格点数
summary.Add("OneOKRate", OneOKRate.ToString());//本周合格点数
summary.Add("TotalOneOKRate", TotalOneOKRate.ToString());//本周累计合格点数
GvSb.SummaryData = summary;
}
//检验批统计:管道
if (cNProfessionalCode == "PP")
{
this.GvGD.DataSource = StatisticsList;
this.GvGD.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CheckNum", CheckNum.ToString()); //当前检查点数
summary.Add("TotalCheckNum", TotalCheckNum.ToString());//累计点数
summary.Add("OKNum", OKNum.ToString());//当前合格点数
summary.Add("TotalOKNum", TotalOKNum.ToString());//累计合格点数
summary.Add("OneOKRate", OneOKRate.ToString());//本周合格点数
summary.Add("TotalOneOKRate", TotalOneOKRate.ToString());//本周累计合格点数
GvGD.SummaryData = summary;
}
//检验批统计:电气
if (cNProfessionalCode == "EL")
{
this.GvDq.DataSource = StatisticsList;
this.GvDq.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CheckNum", CheckNum.ToString()); //当前检查点数
summary.Add("TotalCheckNum", TotalCheckNum.ToString());//累计点数
summary.Add("OKNum", OKNum.ToString());//当前合格点数
summary.Add("TotalOKNum", TotalOKNum.ToString());//累计合格点数
summary.Add("OneOKRate", OneOKRate.ToString());//本周合格点数
summary.Add("TotalOneOKRate", TotalOneOKRate.ToString());//本周累计合格点数
GvDq.SummaryData = summary;
}
//检验批统计:仪表
if (cNProfessionalCode == "IN")
{
this.GvYb.DataSource = StatisticsList;
this.GvYb.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CheckNum", CheckNum.ToString()); //当前检查点数
summary.Add("TotalCheckNum", TotalCheckNum.ToString());//累计点数
summary.Add("OKNum", OKNum.ToString());//当前合格点数
summary.Add("TotalOKNum", TotalOKNum.ToString());//累计合格点数
summary.Add("OneOKRate", OneOKRate.ToString());//本周合格点数
summary.Add("TotalOneOKRate", TotalOneOKRate.ToString());//本周累计合格点数
GvYb.SummaryData = summary;
}
//检验批统计:反腐
if (cNProfessionalCode == "FF")
{
this.GvFf.DataSource = StatisticsList;
this.GvFf.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CheckNum", CheckNum.ToString()); //当前检查点数
summary.Add("TotalCheckNum", TotalCheckNum.ToString());//累计点数
summary.Add("OKNum", OKNum.ToString());//当前合格点数
summary.Add("TotalOKNum", TotalOKNum.ToString());//累计合格点数
summary.Add("OneOKRate", OneOKRate.ToString());//本周合格点数
summary.Add("TotalOneOKRate", TotalOneOKRate.ToString());//本周累计合格点数
GvFf.SummaryData = summary;
}
//检验批统计:消防
if (cNProfessionalCode == "XF")
{
this.GvXf.DataSource = StatisticsList;
this.GvXf.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CheckNum", CheckNum.ToString()); //当前检查点数
summary.Add("TotalCheckNum", TotalCheckNum.ToString());//累计点数
summary.Add("OKNum", OKNum.ToString());//当前合格点数
summary.Add("TotalOKNum", TotalOKNum.ToString());//累计合格点数
summary.Add("OneOKRate", OneOKRate.ToString());//本周合格点数
summary.Add("TotalOneOKRate", TotalOneOKRate.ToString());//本周累计合格点数
GvXf.SummaryData = summary;
}
}
#endregion
#region 11. gvPressureInspection方法
/// <summary>
/// 压力管道监检情况
/// </summary>
void loadPressureInspection(string objType)
{
var db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = new List<Model.Report_CQMS_MonthReportItem>();
int i = 1;
int Quantity0Sum = 0;
int Quantity1Sum = 0;
int Quantity2Sum = 0;
//加载所有单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
foreach (var item in units)
{
var query = from c in db.Comprehensive_PressurePipe
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.Projctid == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
select new
{
c.ReportTime,
c.Projctid,
u.UnitId,
u.UnitName,
c.ActualNumber,
c.PressurePipeNumber
};
var AllList = query.ToList();
var monethCount = query
.Where(x => (x.ReportTime >= Convert.ToDateTime(startDate) && x.ReportTime <= Convert.ToDateTime(endDate)));
Model.Report_CQMS_MonthReportItem model = new Model.Report_CQMS_MonthReportItem();
model.Id = Guid.NewGuid().ToString();
model.ContentName = item.UnitName;
model.MonthsCount = Convert.ToInt32(monethCount.Sum(o => o.PressurePipeNumber));
model.ProjectCount = Convert.ToInt32(AllList.Sum(o => o.PressurePipeNumber));
model.TotalNoBackCount = Convert.ToInt32(monethCount.Sum(o => o.ActualNumber));//总数
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType == "1")
{
var NewModel = db.Report_CQMS_MonthReportItem.FirstOrDefault(x => x.ReportId == ReportId && x.ContentName == item.UnitName && x.ReType == "11");
if (NewModel != null)
{
model.RectificationRate = NewModel.RectificationRate;
model.Remarks = NewModel.Remarks;
}
}
list.Add(model);
Quantity0Sum += Convert.ToInt32(AllList.Sum(o => o.ActualNumber));
Quantity1Sum += Convert.ToInt32(monethCount.Sum(o => o.PressurePipeNumber));
Quantity2Sum += Convert.ToInt32(AllList.Sum(o => o.PressurePipeNumber));
i++;
}
gvPressureInspection.DataSource = list;
gvPressureInspection.DataBind();
//合计
JObject summary = new JObject();
summary.Add("ContentName", "合计");
summary.Add("TotalNoBackCount", Quantity0Sum.ToString());//总数
summary.Add("MonthsCount", Quantity1Sum.ToString());
summary.Add("ProjectCount", Quantity2Sum.ToString());
gvPressureInspection.SummaryData = summary;
}
#endregion
#region 12. gvPipingInspection方法
/// <summary>
/// 管道试压包管理情况
/// </summary>
void loadPipingInspection(string objType)
{
var db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = new List<Model.Report_CQMS_MonthReportItem>();
int i = 1;
int Quantity0Sum = 0;
int Quantity1Sum = 0;
int Quantity2Sum = 0;
//加载所有单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
foreach (var item in units)
{
var query = from c in db.Comprehensive_PressurePipe
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.Projctid == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
select new
{
c.ReportTime,
c.Projctid,
u.UnitId,
u.UnitName,
c.PackageNumber,
c.IssuedReportNumber
};
var AllList = query.ToList();
var monethCount = query
.Where(x => (x.ReportTime >= Convert.ToDateTime(startDate) && x.ReportTime <= Convert.ToDateTime(endDate)));
Model.Report_CQMS_MonthReportItem model = new Model.Report_CQMS_MonthReportItem();
model.Id = Guid.NewGuid().ToString();
model.ContentName = item.UnitName;
model.TotalNoBackCount = Convert.ToInt32(monethCount.Sum(o => o.PackageNumber));
model.MonthsCount = Convert.ToInt32(monethCount.Sum(o => o.IssuedReportNumber));
model.ProjectCount = Convert.ToInt32(AllList.Sum(o => o.IssuedReportNumber));
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType == "1")
{
var NewModel = db.Report_CQMS_MonthReportItem.FirstOrDefault(x => x.ReportId == ReportId && x.ContentName == item.UnitName && x.ReType == "11");
if (NewModel != null)
{
model.RectificationRate = NewModel.RectificationRate;
model.Remarks = NewModel.Remarks;
}
}
list.Add(model);
Quantity0Sum += Convert.ToInt32(monethCount.Sum(o => o.PackageNumber));
Quantity1Sum += Convert.ToInt32(monethCount.Sum(o => o.IssuedReportNumber));
Quantity2Sum += Convert.ToInt32(AllList.Sum(o => o.IssuedReportNumber));
i++;
}
gvPipingInspection.DataSource = list;
gvPipingInspection.DataBind();
//合计
JObject summary = new JObject();
summary.Add("ContentName", "合计");
summary.Add("TotalNoBackCount", Quantity0Sum.ToString());
summary.Add("MonthsCount", Quantity1Sum.ToString());
summary.Add("ProjectCount", Quantity2Sum.ToString());
gvPipingInspection.SummaryData = summary;
}
#endregion
#region 13. gvSpecialInspection方法
/// <summary>
/// 特种设备监检情况
/// </summary>
void loadSpecialInspection(string objType)
{
var db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = new List<Model.Report_CQMS_MonthReportItem>();
int i = 1;
int Quantity0Sum = 0;
int Quantity1Sum = 0;
int Quantity2Sum = 0;
//加载所有单位
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && (x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1)
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
foreach (var item in units)
{
var query = from c in db.Comprehensive_SpecialEquipment
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
select new
{
c.ReportTime,
c.ProjectId,
u.UnitId,
u.UnitName,
c.SunNumber,
c.MonitoringReportNumber
};
var AllList = query.ToList();
var monethCount = query
.Where(x => (x.ReportTime >= Convert.ToDateTime(startDate) && x.ReportTime <= Convert.ToDateTime(endDate)));
Model.Report_CQMS_MonthReportItem model = new Model.Report_CQMS_MonthReportItem();
model.Id = Guid.NewGuid().ToString();
model.ContentName = item.UnitName;
model.TotalNoBackCount = Convert.ToInt32(monethCount.Sum(o=>o.SunNumber));
model.MonthsCount = Convert.ToInt32(monethCount.Sum(o=>o.MonitoringReportNumber));
model.ProjectCount = Convert.ToInt32(AllList.Sum(o => o.MonitoringReportNumber));
model.ReportId = ReportId;
//如果是修改,查询表中数据
if (objType == "1")
{
var NewModel = db.Report_CQMS_MonthReportItem.FirstOrDefault(x => x.ReportId == ReportId && x.ContentName == item.UnitName && x.ReType == "13");
if (NewModel != null)
{
model.RectificationRate = NewModel.RectificationRate;
model.Remarks = NewModel.Remarks;
}
}
list.Add(model);
Quantity0Sum += Convert.ToInt32(monethCount.Sum(o => o.SunNumber));
Quantity1Sum += Convert.ToInt32(monethCount.Sum(o => o.MonitoringReportNumber));
Quantity2Sum += Convert.ToInt32(AllList.Sum(o => o.MonitoringReportNumber));
i++;
}
gvSpecialInspection.DataSource = list;
gvSpecialInspection.DataBind();
//合计
JObject summary = new JObject();
summary.Add("ContentName", "合计");
summary.Add("TotalNoBackCount", Quantity0Sum.ToString());
summary.Add("MonthsCount", Quantity1Sum.ToString());
summary.Add("ProjectCount", Quantity2Sum.ToString());
gvSpecialInspection.SummaryData = summary;
}
#endregion
#region 14.NCR管理情况 gvNcrManagementInspection方法
/// <summary>
/// NCR管理情况
/// </summary>
void loadNcrManagementInspection()
{
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
List<Model.NCRReportStatisc> StatisticsList = new List<Model.NCRReportStatisc>();
int i = 1;
int CurrentPeriodOkNumSum = 0;
int OKNumSum = 0;
int CheckNumSum = 0;
string OKRateSum = string.Empty;
var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
DateTime projectStartDate = Convert.ToDateTime("2000-01-01");
if (project != null && project.StartDate != null)
{
projectStartDate = project.StartDate.Value;
}
var units = from x in Funs.DB.Project_ProjectUnit
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitType == BLL.Const.ProjectUnitType_2
orderby y.UnitCode
select new { x.UnitId, y.UnitName };
var db = Funs.DB;
foreach (var item in units)
{
var query = from c in db.Comprehensive_NCRManagement
join u in db.Base_Unit on c.SendUnit equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.ReceiveUnit == item.UnitId
select new
{
c.NCRManagementId,
c.ProjectId,
u.UnitId,
u.UnitName,
c.IssuedDate,
c.Status
};
var AllList = query.ToList();
var unitNCRStatic = query
.Where(x => (x.IssuedDate >= Convert.ToDateTime(startDate) && x.IssuedDate <= Convert.ToDateTime(endDate)));
Model.NCRReportStatisc NCRStatisc = new Model.NCRReportStatisc();
NCRStatisc.Id = Guid.NewGuid().ToString();
NCRStatisc.WorkName = item.UnitName;
NCRStatisc.CurrentPeriodOkNum = unitNCRStatic.Count(x => x.Status == "3");
NCRStatisc.OKNum = AllList.Count(x => x.Status == "3");
NCRStatisc.CheckNum = AllList.Count();
if (NCRStatisc.CheckNum != 0)//被除数不能为零
{
NCRStatisc.OKRate = Math.Round((double)NCRStatisc.OKNum / (double)NCRStatisc.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
NCRStatisc.OKRate = "0%";
}
StatisticsList.Add(NCRStatisc);
CurrentPeriodOkNumSum += NCRStatisc.CurrentPeriodOkNum;
OKNumSum += NCRStatisc.OKNum;
CheckNumSum += NCRStatisc.CheckNum;
i++;
}
if (CheckNumSum != 0)//被除数不能为零
{
OKRateSum = Math.Round((double)OKNumSum / (double)CheckNumSum * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
OKRateSum = "0%";
}
this.gvNcrManagementInspection.DataSource = StatisticsList;
this.gvNcrManagementInspection.DataBind();
//合计
JObject summary = new JObject();
summary.Add("WorkName", "合计");
summary.Add("CurrentPeriodOkNum", CurrentPeriodOkNumSum.ToString());
summary.Add("OKNum", OKNumSum.ToString());
summary.Add("CheckNum", CheckNumSum.ToString());
summary.Add("OKRate", OKRateSum.ToString());
gvNcrManagementInspection.SummaryData = summary;
}
#endregion
#region 15. gvQualityInspection方法
/// <summary>
/// 加载质量巡检情况
@@ -819,6 +1555,214 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
#endregion
#region
#region 9.
void saveMeasuringInspection() {
List<Model.Report_CQMS_MonthReportItem> detailLists = new List<Model.Report_CQMS_MonthReportItem>();
JArray teamGroupData = gvMeasuringInspection.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_CQMS_MonthReportItem newDetail = new Model.Report_CQMS_MonthReportItem
{
ReportId = ReportId,
ReType = "9",
ContentName = values.Value<string>("ContentName"),
MonthsCount = values.Value<int>("MonthsCount"),
ProjectCount = values.Value<int>("ProjectCount"),
//RectificationRate = values.Value<string>("RectificationRate"),
Remarks = values.Value<string>("Remarks")
};
if (gvMeasuringInspection.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = gvMeasuringInspection.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_CQMS_MonthReportItem.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
#region 10.
void saveInspectionDataInspection()
{
List<Model.Report_CQMS_MonthReportItem> detailLists = new List<Model.Report_CQMS_MonthReportItem>();
JArray teamGroupData = gvInspectionDataInspection.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_CQMS_MonthReportItem newDetail = new Model.Report_CQMS_MonthReportItem
{
ReportId = ReportId,
ReType = "10",
ContentName = values.Value<string>("ContentName"),
MonthsCount = values.Value<int>("MonthsCount"),
ProjectCount = values.Value<int>("ProjectCount"),
//RectificationRate = values.Value<string>("RectificationRate"),
Remarks = values.Value<string>("Remarks")
};
if (gvInspectionDataInspection.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = gvInspectionDataInspection.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_CQMS_MonthReportItem.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
#region 11.
void savePressureInspection()
{
List<Model.Report_CQMS_MonthReportItem> detailLists = new List<Model.Report_CQMS_MonthReportItem>();
JArray teamGroupData = gvPressureInspection.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_CQMS_MonthReportItem newDetail = new Model.Report_CQMS_MonthReportItem
{
ReportId = ReportId,
ReType = "11",
TotalNoBackCount = values.Value<int>("TotalNoBackCount"),
ContentName = values.Value<string>("ContentName"),
MonthsCount = values.Value<int>("MonthsCount"),
ProjectCount = values.Value<int>("ProjectCount"),
//RectificationRate = values.Value<string>("RectificationRate"),
Remarks = values.Value<string>("Remarks")
};
if (gvPressureInspection.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = gvPressureInspection.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_CQMS_MonthReportItem.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
#region 12.
void savePipingInspection()
{
List<Model.Report_CQMS_MonthReportItem> detailLists = new List<Model.Report_CQMS_MonthReportItem>();
JArray teamGroupData = gvPipingInspection.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_CQMS_MonthReportItem newDetail = new Model.Report_CQMS_MonthReportItem
{
ReportId = ReportId,
ReType = "12",
TotalNoBackCount = values.Value<int>("TotalNoBackCount"),
ContentName = values.Value<string>("ContentName"),
MonthsCount = values.Value<int>("MonthsCount"),
ProjectCount = values.Value<int>("ProjectCount"),
//RectificationRate = values.Value<string>("RectificationRate"),
Remarks = values.Value<string>("Remarks")
};
if (gvPipingInspection.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = gvPipingInspection.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_CQMS_MonthReportItem.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
#region 13.
void saveSpecialInspection()
{
List<Model.Report_CQMS_MonthReportItem> detailLists = new List<Model.Report_CQMS_MonthReportItem>();
JArray teamGroupData = gvSpecialInspection.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_CQMS_MonthReportItem newDetail = new Model.Report_CQMS_MonthReportItem
{
ReportId = ReportId,
ReType = "13",
TotalNoBackCount= values.Value<int>("TotalNoBackCount"),
ContentName = values.Value<string>("ContentName"),
MonthsCount = values.Value<int>("MonthsCount"),
ProjectCount = values.Value<int>("ProjectCount"),
//RectificationRate = values.Value<string>("RectificationRate"),
Remarks = values.Value<string>("Remarks")
};
if (gvSpecialInspection.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = gvSpecialInspection.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_CQMS_MonthReportItem.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
#region 14.NCR管理情况
void saveNcrManagementInspection()
{
List<Model.Report_CQMS_MonthReportItem> detailLists = new List<Model.Report_CQMS_MonthReportItem>();
JArray teamGroupData = gvNcrManagementInspection.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Report_CQMS_MonthReportItem newDetail = new Model.Report_CQMS_MonthReportItem
{
ReportId = ReportId,
ReType = "14",
ContentName = values.Value<string>("ContentName"),
MonthsCount = values.Value<int>("MonthsCount"),
ProjectCount = values.Value<int>("ProjectCount"),
//RectificationRate = values.Value<string>("RectificationRate"),
Remarks = values.Value<string>("Remarks")
};
if (gvNcrManagementInspection.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.Id = gvNcrManagementInspection.Rows[rowIndex].DataKeys[0].ToString();
}
detailLists.Add(newDetail);
}
if (detailLists.Count > 0)
{
Funs.DB.Report_CQMS_MonthReportItem.InsertAllOnSubmit(detailLists);
Funs.DB.SubmitChanges();
}
}
#endregion
#region 15.
/// <summary>
/// 15.质量巡检情况