20221008 001 焊接分析修改和焊接修复
This commit is contained in:
@@ -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)
|
||||
})
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user