20221008 焊接数据分析修改

This commit is contained in:
2022-10-08 23:50:15 +08:00
parent 4ad6950292
commit 2302d80940
12 changed files with 825 additions and 272 deletions
+457 -181
View File
@@ -205,7 +205,7 @@ namespace FineUIPro.Web
////焊接检测单明细
getCH_CheckItemList = (from x in Funs.DB.HJGL_Batch_NDEItem
join y in Funs.DB.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals y.TrustBatchItemId
join z in Funs.DB.HJGL_WeldJoint on y.WeldJointId equals z.WeldJointId
join z in Funs.DB.View_HJGL_WeldJoint on y.WeldJointId equals z.WeldJointId
join line in Funs.DB.HJGL_Pipeline on z.PipelineId equals line.PipelineId
where z.ProjectId == this.ProjectId
select new Model.sp_index_HJGLItem
@@ -213,10 +213,16 @@ namespace FineUIPro.Web
ProjectId = line.ProjectId,
ID = x.NDEItemID,
UnitId = line.UnitId, ///重定义单位
UnitName=z.UnitName,
WorkAreaId = line.UnitId, /// 重定义区域
MaterialId = line.UnitWorkId, ///重定义材质
CHT_TotalFilm = x.TotalFilm,
CHT_PassFilm = x.PassFilm
CHT_PassFilm = x.PassFilm,
Specification = z.Specification,
WeldTypeCode=z.WeldTypeCode,
JointAttribute=z.JointAttribute,
UnitWorkName=z.UnitWorkName,
MaterialCode=z.MaterialCode
}).ToList();
////总焊工
getAllWelderList = from x in Funs.DB.SitePerson_Person
@@ -230,6 +236,8 @@ namespace FineUIPro.Web
getecharts05();
getecharts06();
this.divWelderEfficacyNum.InnerText = BLL.HJGL_WeldingReportService.GetWelderEfficacy(this.CurrUser .LoginProjectId).ToString() ;
this.echarts02Value.InnerText = Math.Floor(Math.Round(decimal.Parse((PipeRate1 / (PipeRate1+ PipeRate2)).ToString("0.000")), 2) * 100).ToString();
}
@@ -364,43 +372,150 @@ namespace FineUIPro.Web
#endregion
#region
protected string E08_Type01;
protected string E08_Values01;
protected string E08_Type02;
protected string E08_Values02;
protected string E08_Type03;
protected string E08_Values03;
protected string E04_Type01;
protected string E04_Values01;
protected string E04_Type02;
protected string E04_Values02;
protected string E04_Type03;
protected string E04_Values03;
protected string E04_Type04;
protected string E04_Values04;
protected string E04_Type05;
protected string E04_Values05;
protected string E04_Type06;
protected string E04_Values06;
/// <summary>
/// 焊接一次合格率
/// </summary>
//protected void getecharts04()
//{
// E08_Type01 = "[]";
// E08_Values01 = "[]";
// E08_Type02 = "[]";
// E08_Values02 = "[]";
// E08_Type03 = "[]";
// E08_Values03 = "[]";
// double PassRate = 0;
// int current_pass_film = 0;
// int cht_totalfilm = 0;
// //// 按单位
// List<string> type01List = new List<string>();
// List<double> count011List = new List<double>();
// foreach (var itemUnit in getProjectUnitList)
// {
// string unitName = UnitService.GetUnitNameByUnitId(itemUnit.UnitId);
// type01List.Add(unitName);
// var getUJots = from x in getCH_CheckItemList
// where x.UnitId == itemUnit.UnitId
// select x;
// PassRate = 0;
// current_pass_film = getUJots.Sum(x => x.CHT_PassFilm) ?? 0;
// cht_totalfilm = getUJots.Sum(x => x.CHT_TotalFilm) ?? 0;
// if (cht_totalfilm > 0)
// {
// PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
// }
// count011List.Add(PassRate);
// }
// if (type01List.Count() > 0)
// {
// E08_Type01 = JsonConvert.SerializeObject(type01List);
// E08_Values01 = JsonConvert.SerializeObject(count011List);
// }
// ///按单位工程
// List<string> type02List = new List<string>();
// List<double> count021List = new List<double>();
// var getWorkAreas = from x in Funs.DB.WBS_UnitWork
// where x.ProjectId == this.ProjectId
// select x;
// foreach (var itemWorkArea in getWorkAreas)
// {
// type02List.Add(itemWorkArea.UnitWorkName);
// var getWJots = from x in getCH_CheckItemList
// where x.WorkAreaId == itemWorkArea.UnitWorkId
// select x;
// PassRate = 0;
// current_pass_film = getWJots.Sum(x => x.CHT_PassFilm) ?? 0;
// cht_totalfilm = getWJots.Sum(x => x.CHT_TotalFilm) ?? 0;
// if (cht_totalfilm > 0)
// {
// PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
// }
// count021List.Add(PassRate);
// }
// if (type02List.Count() > 0)
// {
// E08_Type02 = JsonConvert.SerializeObject(type02List);
// E08_Values02 = JsonConvert.SerializeObject(count021List);
// }
// ///按材质类别
// List<string> type03List = new List<string>();
// List<double> count031List = new List<double>();
// var getMaterials = from x in Funs.DB.Base_Material
// join y in Funs.DB.HJGL_Pipeline on x.MaterialId equals y.MaterialId
// where y.ProjectId == this.ProjectId
// select x;
// foreach (var itemMaterial in getMaterials)
// {
// string code = itemMaterial.MaterialCode;
// type03List.Add(code);
// var getMJots = from x in getCH_CheckItemList
// where x.MaterialId == itemMaterial.MaterialId
// select x;
// PassRate = 0;
// current_pass_film = getMJots.Sum(x => x.CHT_PassFilm) ?? 0;
// cht_totalfilm = getMJots.Sum(x => x.CHT_TotalFilm) ?? 0;
// if (cht_totalfilm > 0)
// {
// PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
// }
// count031List.Add(PassRate);
// }
// if (type03List.Count() > 0)
// {
// E08_Type03 = JsonConvert.SerializeObject(type03List);
// E08_Values03 = JsonConvert.SerializeObject(count031List);
// }
//}
protected void getecharts04()
{
E08_Type01 = "[]";
E08_Values01 = "[]";
E04_Type01 = "[]";
E04_Values01 = "[]";
E04_Type02 = "[]";
E04_Values02 = "[]";
E04_Type03 = "[]";
E04_Values03 = "[]";
E04_Type04 = "[]";
E04_Values04 = "[]";
E08_Type02 = "[]";
E08_Values02 = "[]";
E04_Type05 = "[]";
E04_Values05 = "[]";
E04_Type06 = "[]";
E04_Values06 = "[]";
E08_Type03 = "[]";
E08_Values03 = "[]";
double PassRate = 0;
int current_pass_film = 0;
int cht_totalfilm = 0;
//// 按单位
List<string> type01List = new List<string>();
List<double> count011List = new List<double>();
foreach (var itemUnit in getProjectUnitList)
var tb_type01 = getCH_CheckItemList.GroupBy(x => x.UnitName).Select(x => new {
UnitName=x.Key,
Current_pass_film=x.Sum(m => m.CHT_PassFilm) ??0,
Cht_totalfilm = x.Sum(m => m.CHT_TotalFilm) ?? 0
});
foreach (var item in tb_type01)
{
string unitName = UnitService.GetUnitNameByUnitId(itemUnit.UnitId);
type01List.Add(unitName);
var getUJots = from x in getCH_CheckItemList
where x.UnitId == itemUnit.UnitId
select x;
type01List.Add(item.UnitName);
PassRate = 0;
current_pass_film = getUJots.Sum(x => x.CHT_PassFilm) ?? 0;
cht_totalfilm = getUJots.Sum(x => x.CHT_TotalFilm) ?? 0;
current_pass_film = item.Current_pass_film;
cht_totalfilm = item.Cht_totalfilm;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
@@ -409,25 +524,24 @@ namespace FineUIPro.Web
}
if (type01List.Count() > 0)
{
E08_Type01 = JsonConvert.SerializeObject(type01List);
E08_Values01 = JsonConvert.SerializeObject(count011List);
E04_Type01 = JsonConvert.SerializeObject(type01List);
E04_Values01 = JsonConvert.SerializeObject(count011List);
}
///按单位工程
List<string> type02List = new List<string>();
List<double> count021List = new List<double>();
var getWorkAreas = from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.ProjectId
select x;
foreach (var itemWorkArea in getWorkAreas)
var tb_type02 = getCH_CheckItemList.GroupBy(x => x.UnitWorkName).Select(x => new {
UnitWorkName = x.Key,
Current_pass_film = x.Sum(m => m.CHT_PassFilm) ?? 0,
Cht_totalfilm = x.Sum(m => m.CHT_TotalFilm) ?? 0
});
foreach (var item in tb_type02)
{
type02List.Add(itemWorkArea.UnitWorkName);
var getWJots = from x in getCH_CheckItemList
where x.WorkAreaId == itemWorkArea.UnitWorkId
select x;
type02List.Add(item.UnitWorkName);
PassRate = 0;
current_pass_film = getWJots.Sum(x => x.CHT_PassFilm) ?? 0;
cht_totalfilm = getWJots.Sum(x => x.CHT_TotalFilm) ?? 0;
current_pass_film = item.Current_pass_film;
cht_totalfilm = item.Cht_totalfilm;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
@@ -436,28 +550,25 @@ namespace FineUIPro.Web
}
if (type02List.Count() > 0)
{
E08_Type02 = JsonConvert.SerializeObject(type02List);
E08_Values02 = JsonConvert.SerializeObject(count021List);
E04_Type02 = JsonConvert.SerializeObject(type02List);
E04_Values02 = JsonConvert.SerializeObject(count021List);
}
///按材质类别
List<string> type03List = new List<string>();
List<double> count031List = new List<double>();
var getMaterials = from x in Funs.DB.Base_Material
join y in Funs.DB.HJGL_Pipeline on x.MaterialId equals y.MaterialId
where y.ProjectId == this.ProjectId
select x;
foreach (var itemMaterial in getMaterials)
var tb_type03 = getCH_CheckItemList.GroupBy(x => x.MaterialCode).Select(x => new {
MaterialCode = x.Key,
Current_pass_film = x.Sum(m => m.CHT_PassFilm) ?? 0,
Cht_totalfilm = x.Sum(m => m.CHT_TotalFilm) ?? 0
});
foreach (var item in tb_type03)
{
string code = itemMaterial.MaterialCode;
type03List.Add(code);
var getMJots = from x in getCH_CheckItemList
where x.MaterialId == itemMaterial.MaterialId
select x;
type03List.Add(item.MaterialCode);
PassRate = 0;
current_pass_film = getMJots.Sum(x => x.CHT_PassFilm) ?? 0;
cht_totalfilm = getMJots.Sum(x => x.CHT_TotalFilm) ?? 0;
current_pass_film = item.Current_pass_film;
cht_totalfilm = item.Cht_totalfilm;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
@@ -466,122 +577,296 @@ namespace FineUIPro.Web
}
if (type03List.Count() > 0)
{
E08_Type03 = JsonConvert.SerializeObject(type03List);
E08_Values03 = JsonConvert.SerializeObject(count031List);
E04_Type03 = JsonConvert.SerializeObject(type03List);
E04_Values03 = JsonConvert.SerializeObject(count031List);
}
//焊缝规格
List<string> type04List = new List<string>();
List<double> count041List = new List<double>();
var tb_type04 = getCH_CheckItemList.GroupBy(x => x.Specification).Select(x => new {
Specification = x.Key,
Current_pass_film = x.Sum(m => m.CHT_PassFilm) ?? 0,
Cht_totalfilm = x.Sum(m => m.CHT_TotalFilm) ?? 0
});
foreach (var item in tb_type04)
{
type04List.Add(item.Specification);
PassRate = 0;
current_pass_film = item.Current_pass_film;
cht_totalfilm = item.Cht_totalfilm;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
}
count041List.Add(PassRate);
}
if (type04List.Count() > 0)
{
E04_Type04 = JsonConvert.SerializeObject(type04List);
E04_Values04 = JsonConvert.SerializeObject(count041List);
}
//焊缝类型
List<string> type05List = new List<string>();
List<double> count051List = new List<double>();
var tb_type05 = getCH_CheckItemList.GroupBy(x => x.WeldTypeCode).Select(x => new {
WeldTypeCode = x.Key,
Current_pass_film = x.Sum(m => m.CHT_PassFilm) ?? 0,
Cht_totalfilm = x.Sum(m => m.CHT_TotalFilm) ?? 0
});
foreach (var item in tb_type05)
{
type05List.Add(item.WeldTypeCode);
PassRate = 0;
current_pass_film = item.Current_pass_film;
cht_totalfilm = item.Cht_totalfilm;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
}
count051List.Add(PassRate);
}
if (type05List.Count() > 0)
{
E04_Type05 = JsonConvert.SerializeObject(type05List);
E04_Values05 = JsonConvert.SerializeObject(count051List);
}
//焊缝属性
List<string> type06List = new List<string>();
List<double> count061List = new List<double>();
var tb_type06 = getCH_CheckItemList.GroupBy(x => x.JointAttribute).Select(x => new {
JointAttribute = x.Key,
Current_pass_film = x.Sum(m => m.CHT_PassFilm) ?? 0,
Cht_totalfilm = x.Sum(m => m.CHT_TotalFilm) ?? 0
});
foreach (var item in tb_type06)
{
type06List.Add(item.JointAttribute);
PassRate = 0;
current_pass_film = item.Current_pass_film;
cht_totalfilm = item.Cht_totalfilm;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
}
count061List.Add(PassRate);
}
if (type06List.Count() > 0)
{
E04_Type06 = JsonConvert.SerializeObject(type06List);
E04_Values06 = JsonConvert.SerializeObject(count061List);
}
}
#endregion
#region
#region
protected string E05_Type01;
protected string E05_Values01_1;
protected string E05_Values01_2;
protected string E05_Values01;
protected string E05_Type02;
protected string E05_Values02_1;
protected string E05_Values02_2;
protected string E05_Values02;
protected string E05_Type03;
protected string E05_Values03_1;
protected string E05_Values03_2;
protected string E05_Values03;
protected string E05_Type04;
protected string E05_Values04;
/// <summary>
/// 焊接进度分析
/// </summary>
//protected void getecharts05()
//{
// E05_Type01 = "[]";
// E05_Values01_1 = "[]";
// E05_Values01_2 = "[]";
// E05_Type02 = "[]";
// E05_Values02_1 = "[]";
// E05_Values02_2 = "[]";
// E05_Type03 = "[]";
// E05_Values03_1 = "[]";
// E05_Values03_2 = "[]";
// //// 按单位
// List<string> type01List = new List<string>();
// List<int> count011List = new List<int>();
// List<int> count012List = new List<int>();
// foreach (var itemUnit in getProjectUnitList)
// {
// string unitName = UnitService.GetUnitNameByUnitId(itemUnit.UnitId);
// type01List.Add(unitName);
// var getUJots = from x in getAllJotList
// join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
// where y.UnitId == itemUnit.UnitId
// select x;
// count011List.Add(getUJots.Count());
// var getUCJots = from x in getFinishedJotList
// join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
// where y.UnitId == itemUnit.UnitId
// select x;
// count012List.Add(getUCJots.Count());
// }
// if (type01List.Count() > 0)
// {
// E05_Type01 = JsonConvert.SerializeObject(type01List);
// E05_Values01_1 = JsonConvert.SerializeObject(count011List);
// E05_Values01_2 = JsonConvert.SerializeObject(count012List);
// }
// ///按单位工程
// List<string> type02List = new List<string>();
// List<int> count021List = new List<int>();
// List<int> count022List = new List<int>();
// var getWorkAreas = from x in Funs.DB.WBS_UnitWork
// where x.ProjectId == this.ProjectId
// select x;
// foreach (var itemWorkArea in getWorkAreas)
// {
// type02List.Add(itemWorkArea.UnitWorkName);
// var getWJots = from x in getAllJotList
// join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
// where y.UnitWorkId == itemWorkArea.UnitWorkId
// select x;
// count021List.Add(getWJots.Count());
// var getWCJots = from x in getFinishedJotList
// join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
// where y.UnitWorkId == itemWorkArea.UnitWorkId
// select x;
// count022List.Add(getWCJots.Count());
// }
// if (type02List.Count() > 0)
// {
// E05_Type02 = JsonConvert.SerializeObject(type02List);
// E05_Values02_1 = JsonConvert.SerializeObject(count021List);
// E05_Values02_2 = JsonConvert.SerializeObject(count022List);
// }
// ///按材质类别
// List<string> type03List = new List<string>();
// List<int> count031List = new List<int>();
// List<int> count032List = new List<int>();
// var getMaterials = (from x in Funs.DB.Base_Material
// join y in Funs.DB.HJGL_Pipeline on x.MaterialId equals y.MaterialId
// where y.ProjectId == this.ProjectId
// select x).ToList().Distinct();
// foreach (var itemMaterial in getMaterials)
// {
// string code = itemMaterial.MaterialCode;
// type03List.Add(code);
// var getWJots = from x in getAllJotList
// join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
// where y.MaterialId == itemMaterial.MaterialId
// select x;
// count031List.Add(getWJots.Count());
// var getWCJots = from x in getFinishedJotList
// join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
// where y.MaterialId == itemMaterial.MaterialId
// select x;
// count032List.Add(getWCJots.Count());
// }
// if (type03List.Count() > 0)
// {
// E05_Type03 = JsonConvert.SerializeObject(type03List);
// E05_Values03_1 = JsonConvert.SerializeObject(count031List);
// E05_Values03_2 = JsonConvert.SerializeObject(count032List);
// }
//}
protected void getecharts05()
{
E05_Type01 = "[]";
E05_Values01_1 = "[]";
E05_Values01_2 = "[]";
E05_Type02 = "[]";
E05_Values02_1 = "[]";
E05_Values02_2 = "[]";
E05_Type01="[]";
E05_Values01="[]";
E05_Type02 = "[]";
E05_Values02 = "[]";
E05_Type03 = "[]";
E05_Values03 = "[]";
E05_Type04 = "[]";
E05_Values04 = "[]";
E05_Type03 = "[]";
E05_Values03_1 = "[]";
E05_Values03_2 = "[]";
//// 按单位
var alllist = from x in Funs.DB.HJGL_Batch_NDEItem
join y in Funs.DB.HJGL_Batch_NDE on x.NDEID equals y.NDEID
join z in Funs.DB.View_Batch_NDEItem on x.NDEID equals z.NDEID
join m in Funs.DB.View_HJGL_Pipeline on z.PipelineCode equals m.PipelineCode
join n in Funs.DB.View_HJGL_WeldJoint on z.WeldJointId equals n.WeldJointId
where x.CheckDefects != null && x.CheckDefects != "" && y.ProjectId == this.CurrUser.LoginProjectId
select new
{
x.CheckDefects,
m.MaterialCode,
n.Specification,
n.WeldTypeCode,
n.JointAttribute,
};
///按材质类别
List<string> type01List = new List<string>();
List<int> count011List = new List<int>();
List<int> count012List = new List<int>();
foreach (var itemUnit in getProjectUnitList)
List<decimal> count011List = new List<decimal>();
var tb_type01 = alllist.GroupBy(x => x.MaterialCode).Select(x => new
{
string unitName = UnitService.GetUnitNameByUnitId(itemUnit.UnitId);
type01List.Add(unitName);
var getUJots = from x in getAllJotList
join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
where y.UnitId == itemUnit.UnitId
select x;
count011List.Add(getUJots.Count());
var getUCJots = from x in getFinishedJotList
join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
where y.UnitId == itemUnit.UnitId
select x;
count012List.Add(getUCJots.Count());
MaterialCode = x.Key,
Defect = x.Count()
});
foreach (var item in tb_type01)
{
type01List.Add(item.MaterialCode);
count011List.Add(item.Defect);
}
if (type01List.Count() > 0)
{
E05_Type01 = JsonConvert.SerializeObject(type01List);
E05_Values01_1 = JsonConvert.SerializeObject(count011List);
E05_Values01_2 = JsonConvert.SerializeObject(count012List);
E05_Values01 = JsonConvert.SerializeObject(count011List);
}
///按单位工程
//焊缝规格
List<string> type02List = new List<string>();
List<int> count021List = new List<int>();
List<int> count022List = new List<int>();
var getWorkAreas = from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.ProjectId
select x;
foreach (var itemWorkArea in getWorkAreas)
List<decimal> count021List = new List<decimal>();
var tb_type02 = alllist.GroupBy(x => x.Specification).Select(x => new
{
type02List.Add(itemWorkArea.UnitWorkName);
var getWJots = from x in getAllJotList
join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
where y.UnitWorkId == itemWorkArea.UnitWorkId
select x;
count021List.Add(getWJots.Count());
var getWCJots = from x in getFinishedJotList
join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
where y.UnitWorkId == itemWorkArea.UnitWorkId
select x;
count022List.Add(getWCJots.Count());
Specification = x.Key,
Defect = x.Count()
});
foreach (var item in tb_type02)
{
type02List.Add(item.Specification);
count021List.Add(item.Defect);
}
if (type02List.Count() > 0)
{
E05_Type02 = JsonConvert.SerializeObject(type02List);
E05_Values02_1 = JsonConvert.SerializeObject(count021List);
E05_Values02_2 = JsonConvert.SerializeObject(count022List);
E05_Values02 = JsonConvert.SerializeObject(count021List);
}
///按材质类别
//焊缝类型
List<string> type03List = new List<string>();
List<int> count031List = new List<int>();
List<int> count032List = new List<int>();
var getMaterials = (from x in Funs.DB.Base_Material
join y in Funs.DB.HJGL_Pipeline on x.MaterialId equals y.MaterialId
where y.ProjectId == this.ProjectId
select x).ToList().Distinct();
foreach (var itemMaterial in getMaterials)
List<decimal> count031List = new List<decimal>();
var tb_type03 = alllist.GroupBy(x => x.WeldTypeCode).Select(x => new
{
string code = itemMaterial.MaterialCode;
type03List.Add(code);
var getWJots = from x in getAllJotList
join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
where y.MaterialId == itemMaterial.MaterialId
select x;
count031List.Add(getWJots.Count());
var getWCJots = from x in getFinishedJotList
join y in getAllJIsoInfoList on x.PipelineId equals y.PipelineId
where y.MaterialId == itemMaterial.MaterialId
select x;
count032List.Add(getWCJots.Count());
WeldTypeCode = x.Key,
Defect = x.Count()
});
foreach (var item in tb_type03)
{
type03List.Add(item.WeldTypeCode);
count031List.Add(item.Defect);
}
if (type03List.Count() > 0)
{
E05_Type03 = JsonConvert.SerializeObject(type03List);
E05_Values03_1 = JsonConvert.SerializeObject(count031List);
E05_Values03_2 = JsonConvert.SerializeObject(count032List);
E05_Values03 = JsonConvert.SerializeObject(count031List);
}
//焊缝属性
List<string> type04List = new List<string>();
List<decimal> count041List = new List<decimal>();
var tb_type04 = alllist.GroupBy(x => x.JointAttribute).Select(x => new
{
JointAttribute = x.Key,
Defect = x.Count()
});
foreach (var item in tb_type04)
{
type04List.Add(item.JointAttribute);
count041List.Add(item.Defect);
}
if (type04List.Count() > 0)
{
E05_Type04 = JsonConvert.SerializeObject(type04List);
E05_Values04 = JsonConvert.SerializeObject(count041List);
}
}
#endregion
@@ -604,10 +889,8 @@ namespace FineUIPro.Web
E06_Values02 = "[]";
E06_Type03 = "[]";
E06_Values03 = "[]";
double PassRate = 0;
int current_pass_film = 0;
int cht_totalfilm = 0;
var allwelder = from x in Funs.DB.SitePerson_Person
decimal TotalDin=0;
var allwelderEfficacy= from x in Funs.DB.SitePerson_Person
join y in Funs.DB.HJGL_WeldJoint on x.PersonId equals y.CoverWelderId
join z in Funs.DB.HJGL_WeldingDaily on y.WeldingDailyId equals z.WeldingDailyId
join m in Funs.DB.HJGL_Pipeline on y.PipelineId equals m.PipelineId
@@ -623,84 +906,77 @@ namespace FineUIPro.Web
//// 按单位
List<string> type01List = new List<string>();
List<double> count011List = new List<double>();
List<decimal> count011List = new List<decimal>();
foreach (var itemUnit in getProjectUnitList)
{
string unitName = UnitService.GetUnitNameByUnitId(itemUnit.UnitId);
type01List.Add(unitName);
var getUJots = from x in getCH_CheckItemList
var getUJots = from x in allwelderEfficacy
where x.UnitId == itemUnit.UnitId
select x;
PassRate = 0;
current_pass_film = getUJots.Sum(x => x.CHT_PassFilm) ?? 0;
cht_totalfilm = getUJots.Sum(x => x.CHT_TotalFilm) ?? 0;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
}
count011List.Add(PassRate);
TotalDin = getUJots.Sum(x => x.Size) ?? 0;
count011List.Add(TotalDin);
}
if (type01List.Count() > 0)
{
E08_Type01 = JsonConvert.SerializeObject(type01List);
E08_Values01 = JsonConvert.SerializeObject(count011List);
E06_Type01 = JsonConvert.SerializeObject(type01List);
E06_Values01 = JsonConvert.SerializeObject(count011List);
}
///按单位工程
List<string> type02List = new List<string>();
List<double> count021List = new List<double>();
List<decimal> count021List = new List<decimal>();
var getWorkAreas = from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.ProjectId
select x;
foreach (var itemWorkArea in getWorkAreas)
{
type02List.Add(itemWorkArea.UnitWorkName);
var getWJots = from x in getCH_CheckItemList
where x.WorkAreaId == itemWorkArea.UnitWorkId
var getUJots = from x in allwelderEfficacy
where x.UnitWorkId == itemWorkArea.UnitWorkId
select x;
TotalDin = getUJots.Sum(x => x.Size) ?? 0;
PassRate = 0;
current_pass_film = getWJots.Sum(x => x.CHT_PassFilm) ?? 0;
cht_totalfilm = getWJots.Sum(x => x.CHT_TotalFilm) ?? 0;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
}
count021List.Add(PassRate);
count021List.Add(TotalDin);
}
if (type02List.Count() > 0)
{
E08_Type02 = JsonConvert.SerializeObject(type02List);
E08_Values02 = JsonConvert.SerializeObject(count021List);
E06_Type02 = JsonConvert.SerializeObject(type02List);
E06_Values02 = JsonConvert.SerializeObject(count021List);
}
///按材质类别
List<string> type03List = new List<string>();
List<double> count031List = new List<double>();
var getMaterials = from x in Funs.DB.Base_Material
List<decimal> count031List = new List<decimal>();
var getMaterials =( from x in Funs.DB.Base_Material
join y in Funs.DB.HJGL_Pipeline on x.MaterialId equals y.MaterialId
where y.ProjectId == this.ProjectId
select x;
foreach (var itemMaterial in getMaterials)
select x).ToList().Distinct();
var q = (from x in getMaterials
join y in allwelderEfficacy on x.MaterialId equals y.MaterialId
group new { x, y } by new { x.MaterialCode, y.Size } into g
select new
{
MaterialCode = g.Key.MaterialCode,
TotalDin = g.Sum(x => x.y.Size)
}).GroupBy(x => x.MaterialCode).Select(x =>
new
{
MaterialCode = x.Key,
TotalDin=x.Sum(m=>m.TotalDin)
}) ;
foreach (var itemMaterial in q)
{
string code = itemMaterial.MaterialCode;
type03List.Add(code);
var getMJots = from x in getCH_CheckItemList
where x.MaterialId == itemMaterial.MaterialId
select x;
PassRate = 0;
current_pass_film = getMJots.Sum(x => x.CHT_PassFilm) ?? 0;
cht_totalfilm = getMJots.Sum(x => x.CHT_TotalFilm) ?? 0;
if (cht_totalfilm > 0)
{
PassRate = Math.Round((100 * current_pass_film * 1.0) / cht_totalfilm, 1);
}
count031List.Add(PassRate);
type03List.Add(code);
count031List.Add((decimal)itemMaterial.TotalDin);
}
if (type03List.Count() > 0)
{
E08_Type03 = JsonConvert.SerializeObject(type03List);
E08_Values03 = JsonConvert.SerializeObject(count031List);
E06_Type03 = JsonConvert.SerializeObject(type03List);
E06_Values03 = JsonConvert.SerializeObject(count031List);
}
}