20221008 001 焊接分析修改和焊接修复

This commit is contained in:
2022-10-08 15:20:07 +08:00
parent 5e4a7de2ac
commit ccb0a6152b
13 changed files with 1389 additions and 81 deletions
+136 -45
View File
@@ -33,7 +33,24 @@
</div>
</div>
</div>
<%-- <div class="sub-section sub-section-01">
<div class="sub-section-header">
<span class="sub-section-title">工厂预制进度</span>
</div>
<div class="sub-section-inner">
<div id="echarts01" class="echarts-box" style="width: 80%; height: 80%;"></div>
</div>
</div>--%>
<div class="sub-section sub-section-02">
<div class="sub-section-header">
<span class="sub-section-title">管道实时预制率</span>
</div>
<div class="sub-section-inner">
<div id="echarts02" class="echarts-box" style="width: 80%; height: 80%;"></div>
</div>
</div>
<%--<div class="sub-section sub-section-02">
<div class="sub-section-header">
<span class="sub-section-title">项目焊接工程量统计</span>
<div class="sub-right-select">
@@ -49,11 +66,11 @@
<div class="sub-section-inner">
<div id="echarts02" class="echarts-box" style="width: 80%; height: 80%;"></div>
</div>
</div>
</div>--%>
<div class="sub-section sub-section-03">
<div class="sub-section-header">
<span class="sub-section-title">焊接缺陷分析</span>
<div class="sub-right-select">
<span class="sub-section-title">焊工功效分析</span>
<%--<div class="sub-right-select">
<div class="sub-select-name">
<span class="sub-select-value">按分包商</span><span class="dropdown-arrow"></span>
</div>
@@ -62,10 +79,12 @@
<li class="sub-select-li active" data-type="2">按单位工程</li>
<li class="sub-select-li" data-type="3">按材质类别</li>
</ul>
</div>
</div>--%>
</div>
<div class="sub-section-inner">
<div id="echarts03" class="echarts-box"></div>
<%--<div id="echarts03" class="echarts-box"></div>--%>
<div class="real-time-num" runat="server" id="divWelderEfficacyNum">
</div>
</div>
</div>
</div>
@@ -108,6 +127,7 @@
</div>
<div class="sub-section-inner">
<div id="echarts06" class="echarts-box"></div>
</div>
</div>
</div>
@@ -116,16 +136,42 @@
<script src="../res/indexv1/assets/js/echarts-5.2.0.min.js" type="text/javascript"></script>
<script src="../res/indexv1/assets/js/draw-circle.js" type="text/javascript"></script>
<script type="text/javascript">
// 施工分包商
var dataE05_Type01 = JSON.parse('<%=E05_Type01 %>');
var dataE05_Values01_1 = JSON.parse('<%=E05_Values01_1 %>');
var dataE05_Values01_2 = JSON.parse('<%=E05_Values01_2 %>');
// 单位工程
var dataE05_Type02 = JSON.parse('<%=E05_Type02 %>');
var dataE05_Values02_1 = JSON.parse('<%=E05_Values02_1 %>');
var dataE05_Values02_2 = JSON.parse('<%=E05_Values02_2 %>');
// 材料类别
var dataE05_Type03 = JSON.parse('<%=E05_Type03 %>');
var dataE05_Values03_1 = JSON.parse('<%=E05_Values03_1 %>');
var dataE05_Values03_2 = JSON.parse('<%=E05_Values03_2 %>');
var dataE08_Type01 = JSON.parse('<%=E08_Type01 %>');
var dataE08_Values01 = JSON.parse('<%=E08_Values01 %>');
// 单位工程
var dataE08_Type02 = JSON.parse('<%=E08_Type02 %>');
var dataE08_Values02 = JSON.parse('<%=E08_Values02 %>');
// 材料类别
var dataE08_Type03 = JSON.parse('<%=E08_Type03 %>');
var dataE08_Values03 = JSON.parse('<%=E08_Values03 %>');
$(function () {
///一次合格率
// 施工分包商
$('.sub-section-02 ul li').click(function () {
var value = $(this).text()
var type = $(this).attr('data-type')
$(this).parent('ul').siblings('.sub-select-name').find('.sub-select-value').text(value)
if (type == '1') {
<%-- if (type == '1') {
initEchart02({ canvasId: 'echarts02', y: <%=Dy1 %>, n: <%=Dy2 %> })
} else if (type == '2') {
initEchart02({ canvasId: 'echarts02', y: <%=HK1 %>, n: <%=HK2 %> })
}
initEchart02({ canvasId: 'echarts02', y: <%=HK1 %>, n: <%=HK2 %> })
}--%>
initEchart02({ canvasId: 'echarts02', y: <%=PipeRate1 %>, n: <%=PipeRate2 %> })
})
$('.sub-section-03 ul li').click(function () {
var value = $(this).text()
@@ -146,33 +192,35 @@
} else if (type == '3') {
initEchart03({ name: '按材质类别', value: [50, 150, 70, 160, 75, 5], indicator: indicator })
}
// initEchart02({ canvasId: 'echarts03', y: <%=PipeRate1 %>, n: <%=PipeRate2 %> })
})
$('.sub-section-04 ul li').click(function () {
var type = $(this).attr('data-type')
$(this).addClass('active').siblings().removeClass('active')
if (type == 'fbs') {
var data = [40, 90, 83, 95, 80, 40, 90, 83, 95, 80, 40]
initEchart04(data)
// 分包商
initEchart04(dataE08_Type01, dataE08_Values01)
} else if (type == 'dwgc') {
var data = [80, 90, 83, 55, 80, 40, 20, 83, 95, 80, 60]
initEchart04(data)
// 单位工程
initEchart04(dataE08_Type02, dataE08_Values02)
} else if (type == 'czlb') {
var data = [120, 30, 83, 95, 80, 40, 10, 83, 95, 80, 20]
initEchart04(data)
// 材质类别
initEchart04(dataE08_Type03, dataE08_Values03)
}
})
$('.sub-section-05 ul li').click(function () {
var type = $(this).attr('data-type')
$(this).addClass('active').siblings().removeClass('active')
if (type == 'fbs') {
var data = [100, 50, 100, 100, 100, 100, 100, 50, 100, 100, 100];
initEchart05(data)
// 分包商
initEchart05(dataE05_Type01, dataE05_Values01_1, dataE05_Values01_2)
} else if (type == 'dwgc') {
var data = [20, 50, 100, 100, 100, 45, 100, 50, 100, 100, 34];
initEchart05(data)
// 单位工程
initEchart05(dataE05_Type02, dataE05_Values02_1, dataE05_Values02_2)
} else if (type == 'czlb') {
var data = [40, 50, 100, 100, 34, 100, 100, 50, 100, 100, 45];
initEchart05(data)
// 材质类别
initEchart05(dataE05_Type03, dataE05_Values03_1, dataE05_Values03_2)
}
})
$('.sub-section-06 ul li').click(function () {
@@ -351,12 +399,12 @@
});
}
function initEchart04(data) {
function initEchart04(xAxisData,data) {
var chartDom = document.getElementById('echarts04');
var myChart = echarts.init(chartDom);
var option;
var xAxisData = ['类型1', '类型2', '类型3', '类型4', '类型5', '类型6', '类型7', '类型8', '类型9', '类型10', '类型11']
//xAxisData = ['类型1', '类型2', '类型3', '类型4', '类型5', '类型6', '类型7', '类型8', '类型9', '类型10', '类型11']
option = {
tooltip: {
trigger: 'axis',
@@ -452,18 +500,18 @@
});
}
function initEchart05(data) {
function initEchart05(xAxisData, data1, data2) {
var chartDom = document.getElementById('echarts05');
var myChart = echarts.init(chartDom);
var myChart = echarts.init(chartDom, null);
var option;
var xAxisData = ['类型1', '类型2', '类型3', '类型4', '类型5', '类型6', '类型7', '类型8', '类型9', '类型10', '类型11'];
option = {
color: ['#4989fb'],
color: ['#1ab1ff', '#4cffc3'],
grid: {
top: '10%',
top: '15%',
left: '3%',
right: '3%',
bottom: '2%',
bottom: '5%',
containLabel: true
},
tooltip: {
@@ -473,11 +521,30 @@
type: 'shadow'
}
},
legend: {
top: '4%',
left: 'center',
textStyle: {
// fontSize: 12,//字体大小
},
data: [{
name: '焊口数', icon: 'roundRect', textStyle: {
color: '#1ab1ff'
}
}, {
name: '完成焊口数', icon: 'roundRect', textStyle: {
color: '#4cffc3'
}
}],
itemWidth: 18, //图例的宽度
itemHeight: 10, //图例的高度
},
xAxis: {
data: xAxisData,
boundaryGap: true,
axisLabel: {
color: '#1ab1ff',
color: '#00b7f8',
interval: 0,
},
axisTick: {
show: false,
@@ -485,7 +552,7 @@
axisLine: {
onZero: true,
lineStyle: {
color: '#1ab1ff',
color: '#00b7f8',
width: 1,
}
},
@@ -493,8 +560,7 @@
yAxis: {
type: 'value',
axisLabel: {
show: true,
color: '#1ab1ff',
color: '#00b7f8',
},
axisTick: {
show: false,
@@ -503,28 +569,53 @@
show: true,
lineStyle: {
type: 'dashed',
color: '#0d3760 ',
color: '#2e87ac',
},
},
splitNumber: 5,
},
series: [
{
name: '焊接进度分析',
name: '焊口数',
type: 'bar',
barWidth: 20,
data: data,
data: data1,
barGap: '10%',/*多个并排柱子设置柱子之间的间距*/
itemStyle: {
color: '#1ab1ff',
emphasis: {
barBorderRadius: [10, 10, 0, 0],
},
normal: {
barBorderRadius: [10, 10, 0, 0],
color: new echarts.graphic.LinearGradient(
0, 1, 1, 0,
1, 1, 1, 0,
[
{ offset: 0, color: '#4989fb' },
{ offset: 1, color: '#18fbfd' }
{ offset: 0, color: '#4a88fb' },
{ offset: 1, color: '#1af6fd' }
]
)
}
}
},
{
name: '完成焊口数',
type: 'bar',
barWidth: 20,
data: data2,
barGap: '10%',/*多个并排柱子设置柱子之间的间距*/
itemStyle: {
color: '#4cffc3',
emphasis: {
barBorderRadius: [10, 10, 0, 0],
},
normal: {
barBorderRadius: [10, 10, 0, 0],
color: new echarts.graphic.LinearGradient(
1, 1, 1, 0,
[
{ offset: 0, color: '#4affc6' },
{ offset: 1, color: '#18fdf9' }
]
)
}
@@ -532,13 +623,13 @@
},
]
};
myChart.clear();//清空
option && myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();
});
}
function initEchart06(data) {
@@ -641,8 +732,9 @@
myChart.resize();
});
}
initEchart02({ canvasId: 'echarts02', y: <%=Dy1 %>, n: <%=Dy2 %> })
// initEchart02({ canvasId: 'echarts01', y: <%=GCRate1 %>, n: <%=GCRate2 %> })
// initEchart02({ canvasId: 'echarts02', y: <%=XCRate1 %>, n: <%=XCRate2 %> })
initEchart02({ canvasId: 'echarts02', y: <%=PipeRate1 %>, n: <%=PipeRate2 %> })
// 03的数值
var indicator = [
{ text: '问题1', max: 150, },
@@ -652,11 +744,10 @@
{ text: '问题3', max: 150, },
{ text: '问题2', max: 150, }
]
initEchart03({ name: '按分包商', value: [130, 93, 50, 90, 70, 60], indicator: indicator })
var data = [40, 90, 83, 95, 80, 40, 90, 83, 95, 80, 40]
initEchart04(data)
// initEchart03({ name: '按分包商', value: [130, 93, 50, 90, 70, 60], indicator: indicator })
initEchart04(dataE08_Type01, dataE08_Values01)
var data = [100, 50, 100, 100, 100, 100, 100, 50, 100, 100, 100];
initEchart05(data)
initEchart05(dataE05_Type01, dataE05_Values01_1, dataE05_Values01_2)
var data = [40, 90, 83, 95, 80, 40, 90, 83, 95, 80, 40]
initEchart06(data)
})
+562 -3
View File
@@ -1,4 +1,5 @@
using BLL;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
@@ -9,6 +10,118 @@ namespace FineUIPro.Web
{
public partial class mainMenu_HJGL : PageBase
{
#region
/// <summary>
/// 项目单位集合
/// </summary>
protected static List<Model.Project_ProjectUnit> getProjectUnitList = new List<Model.Project_ProjectUnit>();
/// <summary>
/// 所有焊口集合
/// </summary>
protected static List<Model.HJGL_WeldJoint> getAllJotList = new List<Model.HJGL_WeldJoint>();
/// <summary>
/// 所有管线集合
/// </summary>
protected static List<Model.HJGL_Pipeline> getAllJIsoInfoList = new List<Model.HJGL_Pipeline>();
/// <summary>
/// 所有焊接焊口集合
/// </summary>
protected static List<Model.HJGL_WeldJoint> getFinishedJotList = new List<Model.HJGL_WeldJoint>();
/// <summary>
/// 当日焊接焊口集合
/// </summary>
protected static List<Model.HJGL_WeldJoint> getNowJotList = new List<Model.HJGL_WeldJoint>();
/// <summary>
/// 焊接检测单明细集合
/// </summary>
protected static List<Model.sp_index_HJGLItem> getCH_CheckItemList = new List<Model.sp_index_HJGLItem>();
/// <summary>
/// 所有焊工集合
/// </summary>
protected static IQueryable<Model.SitePerson_Person> getAllWelderList;
/// <summary>
/// 项目ID
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
public decimal GCRate1
{
get
{
return (decimal)ViewState["GCRate"];
}
set
{
ViewState["GCRate"] = value;
}
}
public decimal GCRate2
{
get
{
return (decimal)ViewState["GCRate2"];
}
set
{
ViewState["GCRate2"] = value;
}
}
#endregion
#region
public decimal XCRate1
{
get
{
return (decimal)ViewState["XCRate1"];
}
set
{
ViewState["XCRate1"] = value;
}
}
public decimal XCRate2
{
get
{
return (decimal)ViewState["XCRate2"];
}
set
{
ViewState["XCRate2"] = value;
}
}
#endregion
#region
public decimal PipeRate1
{
get
{
return BLL.HJGL_WeldingReportService.GetPipeRate_finished(this.CurrUser.LoginProjectId);
}
}
public decimal PipeRate2
{
get
{
return BLL.HJGL_WeldingReportService.GetPipeRate_unfinished(this.CurrUser.LoginProjectId);
}
}
#endregion
#region
public decimal Dy1
{
@@ -63,13 +176,116 @@ namespace FineUIPro.Web
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
string projectId = this.CurrUser.LoginProjectId;
this.ProjectId = this.CurrUser.LoginProjectId;
string unitId = this.CurrUser.UnitId;
this.getWeld(projectId, unitId);
this.SetWorkNum(projectId, unitId);
var getWeldReportMain = from x in Funs.DB.HJGL_WeldingDaily
where x.ProjectId == this.ProjectId
select x;
getProjectUnitList = (from x in Funs.DB.Project_ProjectUnit
where x.ProjectId == this.ProjectId && (x.UnitType == Const.ProjectUnitType_1 || x.UnitType == Const.ProjectUnitType_2)
select x).ToList();
////管线集合
getAllJIsoInfoList = (from x in Funs.DB.HJGL_Pipeline
where x.ProjectId == this.ProjectId
select x).ToList();
////总焊口
getAllJotList = (from x in Funs.DB.HJGL_WeldJoint
where x.ProjectId == this.ProjectId
select x).ToList();
////完成焊口
getFinishedJotList = (from x in getAllJotList
where x.WeldingDailyId != null
select x).ToList();
////当日焊接
getNowJotList = (from x in getFinishedJotList
join y in getWeldReportMain on x.WeldingDailyId equals y.WeldingDailyId
where y.WeldingDate.Value.Year== DateTime.Now.Year && y.WeldingDate.Value.Month == DateTime.Now.Month && y.WeldingDate.Value.Day == DateTime.Now.Day
select x).ToList();
////焊接检测单明细
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 line in Funs.DB.HJGL_Pipeline on z.PipelineId equals line.PipelineId
where z.ProjectId == this.ProjectId
select new Model.sp_index_HJGLItem
{
ProjectId = line.ProjectId,
ID = x.NDEItemID,
UnitId = line.UnitId, ///重定义单位
WorkAreaId = line.UnitId, /// 重定义区域
MaterialId = line.UnitWorkId, ///重定义材质
CHT_TotalFilm = x.TotalFilm,
CHT_PassFilm = x.PassFilm
}).ToList();
////总焊工
getAllWelderList = from x in Funs.DB.SitePerson_Person
where x.ProjectId == this.ProjectId && x.WorkPostId=="19B8F2A9-28D3-4F20-867A-1B2237C2E228"
select x;
this.getrate(this.ProjectId, unitId);
this.getWeld(this.ProjectId, unitId);
this.SetWorkNum(this.ProjectId, unitId);
getecharts04();
getecharts05();
getecharts06();
this.divWelderEfficacyNum.InnerText = BLL.HJGL_WeldingReportService.GetWelderEfficacy(this.CurrUser .LoginProjectId).ToString() ;
}
private void getrate(string projectId, string unitId)
{
this.GCRate1 = 0;
this.GCRate2 = 0;
this.XCRate1 = 0;
this.XCRate2 = 0;
decimal allGC = 0;
decimal allXC = 0;
var getWelds = Funs.DB.HJGL_WeldJoint.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(this.CurrUser.UnitId) )
{
//getWelds = from x in getWelds
// join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
// where y.UnitId == unitId
// select x;
}
if (getWelds.Count() > 0)
{
decimal allDy = getWelds.Sum(x => x.Size ?? 0); //项目总达因数
if (getWelds.Where(x => x.JointAttribute == "预制口").Count()>0)
{
allGC = getWelds.Where(x => x.JointAttribute == "预制口").Sum(x => x.Size ?? 0);
}
if (getWelds.Where(x => x.JointAttribute == "安装口") .Count() > 0)
{
allXC = getWelds.Where(x => x.JointAttribute == "安装口").Sum(x => x.Size ?? 0);
}
var getWeldsOk = getWelds.Where(x => x.WeldingDailyId != null);
if (getWeldsOk.Count()>0)
{
var GCModel = getWeldsOk.Where(x => x.JointAttribute == "预制口");
if (GCModel.Count() > 0)
{
GCRate1 = GCModel.Sum(x => x.Size ?? 0);
// PipeRate1 = GCRate1;
}
var XCModel = getWeldsOk.Where(x => x.JointAttribute == "安装口");
if (XCModel.Count() > 0)
{
XCRate1 = XCModel.Sum(x => x.Size ?? 0);
}
}
GCRate2 = allGC - GCRate1;
XCRate2 = allXC - XCRate1;
// PipeRate2 = allDy - PipeRate1;
}
}
#region
/// <summary>
/// 焊工现场统计
@@ -146,5 +362,348 @@ 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;
/// <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);
}
}
#endregion
#region
protected string E05_Type01;
protected string E05_Values01_1;
protected string E05_Values01_2;
protected string E05_Type02;
protected string E05_Values02_1;
protected string E05_Values02_2;
protected string E05_Type03;
protected string E05_Values03_1;
protected string E05_Values03_2;
/// <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);
}
}
#endregion
#region
protected string E06_Type01;
protected string E06_Values01;
protected string E06_Type02;
protected string E06_Values02;
protected string E06_Type03;
protected string E06_Values03;
/// <summary>
/// 焊工业绩分析
/// </summary>
protected void getecharts06()
{
E06_Type01 = "[]";
E06_Values01 = "[]";
E06_Type02 = "[]";
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
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
where x.WorkPostId == "19B8F2A9-28D3-4F20-867A-1B2237C2E228"
group new { x,y,z,m} by new {x.UnitId,z.UnitWorkId,m.MaterialId ,y.Size} into tt
select new
{
Size =(tt.Sum(x=>x.y.Size)==null)?0: tt.Sum(x => x.y.Size),
UnitId = tt.Key.UnitId,
MaterialId = tt.Key.MaterialId,
UnitWorkId=tt.Key.UnitWorkId,
};
//// 按单位
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);
}
}
#endregion
}
}
+18 -7
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web {
public partial class mainMenu_HJGL {
namespace FineUIPro.Web
{
public partial class mainMenu_HJGL
{
/// <summary>
/// Head1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
/// <summary>
/// divPassRate 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divPassRate;
/// <summary>
/// divWelderNum 控件。
/// </summary>
@@ -38,5 +40,14 @@ namespace FineUIPro.Web {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divWelderNum;
/// <summary>
/// divWelderEfficacyNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divWelderEfficacyNum;
}
}