refactor(cqms): 整理检查模块并迁移 WBS 服务
清理旧检查页面、服务和接口,补充 WBS 检查服务及数据库脚本,同步工程引用与菜单配置,收敛 CQMS 检查功能的代码组织。
This commit is contained in:
@@ -14,27 +14,6 @@
|
||||
</TreeNode>
|
||||
<TreeNode id="0A8195B1-4136-4CF1-A0A2-C29A1620B018" Text="无损检测工管理" NavigateUrl="CQMS/PersonManage/CheckerManage.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="31B86B12-632D-4DDD-B937-E21CA6A88537" Text="检试验设备管理" NavigateUrl=""><TreeNode id="BB8EB284-A014-442E-A1D7-956AA11272AE" Text="检试验设备" NavigateUrl="CQMS/Check/CheckEquipment.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="1011063B-FEAC-4B89-A9D9-0F9F6BB3328E" Text="施工技术交底管理" NavigateUrl=""><TreeNode id="F0D0B2C6-51ED-4C47-95EB-C3DCB639BA5F" Text="施工技术交底" NavigateUrl="CQMS/Technical/TechnicalDisclose.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="B8500D87-407E-458C-9915-FD54F0E81F36" Text="质量验收" NavigateUrl=""><TreeNode id="CC43E208-335D-4AE3-A1CE-B2D8510AE854" Text="实体验收" NavigateUrl="CQMS/Check/SpotCheck.aspx"></TreeNode>
|
||||
<TreeNode id="8317C0F7-3A69-48AB-87E5-03E96C543B1C" Text="资料验收" NavigateUrl="CQMS/Check/SpotDataCheck.aspx"></TreeNode>
|
||||
<TreeNode id="1433BE70-13C0-4AC7-BC3D-34C9471CE2A8" Text="质量验收统计" NavigateUrl="CQMS/Check/SpotCheckStatistics.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="A54EC449-5F77-4068-83B9-AA305B721A0B" Text="质量检查" NavigateUrl=""><TreeNode id="B3E99BD9-FDC7-4F15-8C3C-A7821AC9E306" Text="质量巡检" NavigateUrl="CQMS/Check/CheckList.aspx"></TreeNode>
|
||||
<TreeNode id="E6703F32-4E42-4D03-84B3-5EC0E8E48E0F" Text="质量共检" NavigateUrl="CQMS/Check/JointCheck.aspx"></TreeNode>
|
||||
<TreeNode id="D3B1433E-00DE-432B-A30A-0EFB513480A8" Text="问题统计" NavigateUrl="CQMS/Check/JointCheckStatistics.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="C91C8319-0BFC-4585-BE14-ED41D45A160D" Text="质量月报" NavigateUrl=""><TreeNode id="786864C0-2875-49CD-B55E-0B5C8253295D" Text="质量月报" NavigateUrl="CQMS/Check/CheckMonth.aspx"></TreeNode>
|
||||
<TreeNode id="B2086D3A-2384-487E-AFFB-6FACDD09B621" Text="质量数据" NavigateUrl="ZHGL/DataSync/ProjectDataSync/Project_CQMSData_CQMS.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
<TreeNode id="390A78F0-43B2-4AF1-81B9-7C216FA7E0A4" Text="文件柜" NavigateUrl=""><TreeNode id="CF33572A-E875-4492-92BF-6EA265909A6C" Text="质量共检通知单" NavigateUrl="CQMS/Check/SpotCheckFile.aspx"></TreeNode>
|
||||
<TreeNode id="8D5A7D48-21C0-4668-9E70-813AE9C523FA" Text="施工质量问题整改单" NavigateUrl="CQMS/Check/CheckListFile.aspx"></TreeNode>
|
||||
<TreeNode id="0E6E6022-356E-42A1-9D16-C75BF69EBFB5" Text="施工质量检查记录" NavigateUrl="CQMS/Check/JointCheckFile.aspx"></TreeNode>
|
||||
<TreeNode id="3354E9AA-8D71-401B-9CFC-03D69DA86B05" Text="工程联络单" NavigateUrl="CQMS/Check/TechnicalContactListFile.aspx"></TreeNode>
|
||||
<TreeNode id="A68445D0-78BB-4E67-93FC-606DECA0B585" Text="设计变更统计表" NavigateUrl="CQMS/Check/DesignFile.aspx"></TreeNode>
|
||||
<TreeNode id="0A54D274-547C-4555-9D00-D8D5034E8849" Text="质量月报" NavigateUrl="CQMS/Check/CheckMonthFile.aspx"></TreeNode>
|
||||
<TreeNode id="03CEB246-0CE5-48CB-9D6B-1B84AC2E27B3" Text="重要文件" NavigateUrl="CQMS/Check/FileCabinet.aspx"></TreeNode>
|
||||
<TreeNode id="C91C8319-0BFC-4585-BE14-ED41D45A160D" Text="质量月报" NavigateUrl=""><TreeNode id="B2086D3A-2384-487E-AFFB-6FACDD09B621" Text="质量数据" NavigateUrl="ZHGL/DataSync/ProjectDataSync/Project_CQMSData_CQMS.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
</Tree>
|
||||
|
||||
@@ -8,8 +8,5 @@
|
||||
</TreeNode>
|
||||
<TreeNode id="B87413D8-4EFB-42F3-A4F6-9D21C0CD3DFE" Text="数据分析室" NavigateUrl="">
|
||||
<TreeNode id="CFEF47C0-8EFA-46FF-8648-5B1922519DCC" Text="WBS数据分析" NavigateUrl="DigData/WBSAnalysis.aspx"></TreeNode>
|
||||
<TreeNode id="B146FC96-B199-426B-8504-4BE093C0DCB1" Text="项目数据汇总分析" NavigateUrl="">
|
||||
<TreeNode id="DD960B76-1F33-468B-9FEF-76328235C079" Text="项目质量数据汇总" NavigateUrl="DigData/CQMSDataCollect.aspx"></TreeNode>
|
||||
</TreeNode>
|
||||
</TreeNode>
|
||||
</Tree>
|
||||
|
||||
@@ -104,18 +104,15 @@ namespace FineUIPro.Web.common
|
||||
CRectificationRate = 0;
|
||||
///合格率
|
||||
CQualifiedRate = 0;
|
||||
var getJointCheckDetail = from x in Funs.DB.Check_JointCheckDetail
|
||||
select x;
|
||||
var getCheckControl = from x in Funs.DB.Check_CheckControl select x;
|
||||
///问题总数
|
||||
int AllCount = getJointCheckDetail.Count() + getCheckControl.Count();
|
||||
int AllCount = getCheckControl.Count();
|
||||
this.divCQMSAllNum.InnerHtml = AllCount.ToString();
|
||||
if (AllCount > 0)
|
||||
{
|
||||
///问题完成数
|
||||
var getJOk = getJointCheckDetail.Where(x => x.State == "6").Count();
|
||||
var getCOk = getCheckControl.Where(x => x.State == "7").Count();
|
||||
int CCount = getJOk + getCOk;
|
||||
int CCount = getCOk;
|
||||
if (CCount > 0)
|
||||
{
|
||||
CRectificationRate = Math.Round(CCount * 1.0 / AllCount * 100, 1);
|
||||
|
||||
@@ -1,743 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mainMenu_CQMS.aspx.cs" Inherits="FineUIPro.Web.mainMenu_CQMS" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head id="Head1" runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>首页</title>
|
||||
<link href="../res/indexv1/assets/css/sub_index.css" rel="stylesheet" />
|
||||
<style type="text/css">
|
||||
.q-rate-name {
|
||||
letter-spacing:2px;
|
||||
}
|
||||
.sub-section-02 .q-rate-list .q-rate-box{
|
||||
width: 1.25417rem !important;
|
||||
height: 1.15417rem !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="sd-sub-body sd-sub-body--quality dis-flex">
|
||||
<div class="sub-sections flex-1">
|
||||
<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 class="q-rate-list">
|
||||
<div class="q-rate-item q-rate-item--green">
|
||||
<div class="q-rate-box">
|
||||
<canvas class="q-rate-inner" id="qRate01" width="118" height="118" data-value="<%=One1 %>"></canvas>
|
||||
</div>
|
||||
<div class="q-rate-name">质量验收<br>
|
||||
一次合格率</div>
|
||||
</div>
|
||||
<div class="q-rate-item q-rate-item--yellow">
|
||||
<div class="q-rate-box">
|
||||
<canvas class="q-rate-inner" id="qRate02" width="118" height="118" data-value="<%=One2 %>"></canvas>
|
||||
</div>
|
||||
<div class="q-rate-name">施工资料<br>
|
||||
同步率</div>
|
||||
</div>
|
||||
<div class="q-rate-item q-rate-item--blue">
|
||||
<div class="q-rate-box">
|
||||
<canvas class="q-rate-inner" id="qRate03" width="118" height="118" data-value="<%=One3 %>"></canvas>
|
||||
</div>
|
||||
<div class="q-rate-name">质量问题<br>
|
||||
整改完成率</div>
|
||||
</div>
|
||||
</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 class="q-rate-list" style='padding-top:0;'>
|
||||
<div class="q-rate-item">
|
||||
<div class="q-rate-box">
|
||||
<div class="q-rate-inner" id="echarts02_1"></div>
|
||||
</div>
|
||||
<div class="q-rate-name">A类</div>
|
||||
</div>
|
||||
<div class="q-rate-item">
|
||||
<div class="q-rate-box">
|
||||
<div class="q-rate-inner" id="echarts02_2"></div>
|
||||
</div>
|
||||
<div class="q-rate-name">B类</div>
|
||||
</div>
|
||||
<div class="q-rate-item">
|
||||
<div class="q-rate-box">
|
||||
<div class="q-rate-inner" id="echarts02_3"></div>
|
||||
</div>
|
||||
<div class="q-rate-name">C类</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-section sub-section-03">
|
||||
<div class="sub-section-header">
|
||||
<span class="sub-section-title">施工单位质量统计</span>
|
||||
<ul class="sub-sections-tabs">
|
||||
<li class="sub-section-item active" data-type="sgfbs">施工分包商</li>
|
||||
<li class="sub-section-item" data-type="zy">专业</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sub-section-inner">
|
||||
<div id="echarts03" class="echarts-box"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-sections flex-1">
|
||||
<div class="sub-section sub-section-04">
|
||||
<div class="sub-section-header">
|
||||
<span class="sub-section-title">质量问题统计</span>
|
||||
<ul class="sub-sections-tabs">
|
||||
<li class="sub-section-item active" data-type="sgfbs">施工分包商</li>
|
||||
<li class="sub-section-item" data-type="azdwgc">安装单位工程</li>
|
||||
<li class="sub-section-item" data-type="jzdwgz">建筑单位工程</li>
|
||||
<li class="sub-section-item" data-type="zy">专业</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sub-section-inner">
|
||||
<div id="echarts04" class="echarts-box"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-section sub-section-05">
|
||||
<div class="sub-section-header">
|
||||
<span class="sub-section-title">产品质量统计</span>
|
||||
<ul class="sub-sections-tabs">
|
||||
<li class="sub-section-item active" data-type="azdwgc">安装单位工程</li>
|
||||
<li class="sub-section-item" data-type="jzdwgz">建筑单位工程</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sub-section-inner">
|
||||
<div id="echarts05" class="echarts-box"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="../res/indexv1/assets/js/jquery-2.1.1.min.js" type="text/javascript"></script>
|
||||
<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">
|
||||
$(function () {
|
||||
$('.sub-section-03 ul li').click(function () {
|
||||
var type = $(this).attr('data-type')
|
||||
$(this).addClass('active').siblings().removeClass('active')
|
||||
// 重新绘制图
|
||||
if (type == 'sgfbs') {
|
||||
// 施工分包商
|
||||
initEchart03(three.categories, three.series[0].data, three.series[1].data)
|
||||
} else if (type == 'zy') {
|
||||
// 专业
|
||||
initEchart03(three2.categories, three2.series[0].data, three2.series[1].data)
|
||||
}
|
||||
})
|
||||
$('.sub-section-04 ul li').click(function () {
|
||||
var type = $(this).attr('data-type')
|
||||
$(this).addClass('active').siblings().removeClass('active')
|
||||
// 重新绘制图
|
||||
if (type == 'sgfbs') {
|
||||
// 施工分包商
|
||||
initEchart04(two.categories, two.series[0].data, two.series[1].data)
|
||||
} else if (type == 'azdwgc') {
|
||||
// 安装单位工程
|
||||
initEchart04(two2.categories, two2.series[0].data, two2.series[1].data)
|
||||
} else if (type == 'jzdwgz') {
|
||||
// 建筑单位工程
|
||||
initEchart04(two4.categories, two4.series[0].data, two4.series[1].data)
|
||||
} else if (type == 'zy') {
|
||||
// 专业
|
||||
initEchart04(two3.categories, two3.series[0].data, two3.series[1].data)
|
||||
}
|
||||
})
|
||||
$('.sub-section-05 ul li').click(function () {
|
||||
var type = $(this).attr('data-type')
|
||||
$(this).addClass('active').siblings().removeClass('active')
|
||||
if (type == 'azdwgc') {
|
||||
// 安装单位工程
|
||||
initEchart05(four.categories, four.series[0].data, four.series[1].data)
|
||||
} else if (type == 'jzdwgz') {
|
||||
// 建筑单位工程
|
||||
initEchart05(four2.categories, four2.series[0].data, four2.series[1].data)
|
||||
}
|
||||
})
|
||||
function initEchart01() {
|
||||
drawCircle({
|
||||
drawing_elem: 'qRate01',
|
||||
percentfontsize: 24,
|
||||
unitfontsize: 20,
|
||||
lineWidth: 18,
|
||||
addLeft: 4,
|
||||
percentfontcolor: "#15edbb",
|
||||
forecolor: [{ step: 0, color: "#15edbb" }, { step: 0.2, color: "#15edbb" }, { step: 1, color: "rgba(21,237,187,0.05)" }],
|
||||
unitfontcolor: '#15edbb',
|
||||
unitadd: 1,
|
||||
});
|
||||
drawCircle({
|
||||
drawing_elem: 'qRate02',
|
||||
percentfontsize: 24,
|
||||
unitfontsize: 20,
|
||||
lineWidth: 18,
|
||||
addLeft: 4,
|
||||
percentfontcolor: "#ffa600",
|
||||
forecolor: [{ step: 0, color: "#ffa600" }, { step: 0.2, color: "#ffa600" }, { step: 1, color: "rgba(255,166,0,0.05)" }],
|
||||
unitfontcolor: '#ffa600',
|
||||
unitadd: 1,
|
||||
});
|
||||
drawCircle({
|
||||
drawing_elem: 'qRate03',
|
||||
percentfontsize: 24,
|
||||
unitfontsize: 20,
|
||||
lineWidth: 18,
|
||||
addLeft: 4,
|
||||
percentfontcolor: "#00ffff",
|
||||
forecolor: [{ step: 0, color: "#00ffff" }, { step: 0.2, color: "#00ffff" }, { step: 1, color: "rgba(0,255,255,0.05)" }],
|
||||
unitfontcolor: '#00ffff',
|
||||
unitadd: 1,
|
||||
});
|
||||
}
|
||||
function initEchart02(options) {
|
||||
var chartDom = document.getElementById(options.canvasId);
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
var data = [
|
||||
{
|
||||
name: '未完成', value: options.n, label: {
|
||||
rich: {
|
||||
name: {
|
||||
fontSize: 10,
|
||||
color: '#f24166',
|
||||
align: 'center',
|
||||
},
|
||||
percent: {
|
||||
fontSize: 10,
|
||||
color: '#f24166',
|
||||
align: 'center',
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '已完成', value: options.y, label: {
|
||||
rich: {
|
||||
name: {
|
||||
fontSize: 10,
|
||||
color: '#15edbb',
|
||||
align: 'center',
|
||||
},
|
||||
percent: {
|
||||
fontSize: 10,
|
||||
color: '#15edbb',
|
||||
align: 'center',
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
option = {
|
||||
color: ['#f24166', '#15edbb'],
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b} : {c}'
|
||||
//formatter: '{b} : {d}%'
|
||||
},
|
||||
series: [{
|
||||
name: '质量控制点统计',
|
||||
type: 'pie',
|
||||
radius: ['40%', '65%'],
|
||||
top: '5%',
|
||||
left: 'center',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
label: {
|
||||
alignTo: 'edge',
|
||||
//formatter: '{name|{b}}\n{percent|{d}%}',
|
||||
formatter: '{name|{b}} {percent|{c}}',
|
||||
minMargin: 5,
|
||||
edgeDistance: 10,
|
||||
lineHeight: 15,
|
||||
},
|
||||
labelLine: {
|
||||
length: 10,
|
||||
length2: 0,
|
||||
maxSurfaceAngle: 80
|
||||
},
|
||||
data: data
|
||||
}]
|
||||
};
|
||||
myChart.clear();//清空
|
||||
option && myChart.setOption(option);
|
||||
window.addEventListener("resize", function () {
|
||||
myChart.resize();
|
||||
});
|
||||
}
|
||||
|
||||
function initEchart03(dataType, data1, data2) {
|
||||
var chartDom = document.getElementById('echarts03');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
var xAxisData =dataType
|
||||
option = {
|
||||
color: ['#15edbb', '#ffa600'],
|
||||
grid: {
|
||||
top: '15%',
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '5%',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
},
|
||||
legend: {
|
||||
top: '4%',
|
||||
left: 'center',
|
||||
textStyle: {
|
||||
fontSize: 12,
|
||||
},
|
||||
data: [
|
||||
{
|
||||
name: '质量验收一次合格率', icon: 'roundRect', textStyle: {
|
||||
color: '#15edbb'
|
||||
}
|
||||
}, {
|
||||
name: '施工资料同步率', icon: 'roundRect', textStyle: {
|
||||
color: '#ffa600'
|
||||
}
|
||||
}],
|
||||
itemWidth: 16,//图例的宽度
|
||||
itemHeight: 8,//图例的高度
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
boundaryGap: true,
|
||||
data: xAxisData,
|
||||
axisLabel: {
|
||||
color: '#1ab1ff',
|
||||
interval: 0,
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
onZero: false,
|
||||
lineStyle: {
|
||||
color: '#1ab1ff',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
axisLabel: {
|
||||
show: true,
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
onZero: false,
|
||||
lineStyle: {
|
||||
color: '#1ab1ff',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: '#0D3C65',
|
||||
},
|
||||
},
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '质量验收一次合格率',
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
smooth: true,
|
||||
lineStyle: {
|
||||
width: 0
|
||||
},
|
||||
showSymbol: false,
|
||||
areaStyle: {
|
||||
opacity: 0.8,
|
||||
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
|
||||
{
|
||||
offset: 0,
|
||||
color: 'rgba(21,237,187,0.3)',
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: '#15edbb'
|
||||
}
|
||||
])
|
||||
},
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: '施工资料同步率',
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
smooth: true,
|
||||
lineStyle: {
|
||||
width: 0
|
||||
},
|
||||
showSymbol: false,
|
||||
areaStyle: {
|
||||
opacity: 0.8,
|
||||
color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
|
||||
{
|
||||
offset: 0,
|
||||
color: 'rgba(255,166,0,0.3)',
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: '#ffa600'
|
||||
}
|
||||
])
|
||||
},
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
data: data2
|
||||
},
|
||||
]
|
||||
};
|
||||
myChart.clear();//清空
|
||||
option && myChart.setOption(option);
|
||||
window.addEventListener("resize", function () {
|
||||
myChart.resize();
|
||||
});
|
||||
}
|
||||
function initEchart04(dataType, data1, data2) {
|
||||
var chartDom = document.getElementById('echarts04');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
let xAxisData = dataType;
|
||||
option = {
|
||||
color: ['#f24166', '#15edbb'],
|
||||
grid: {
|
||||
top: '15%',
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '5%',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
showDelay: 0,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
top: '4%',
|
||||
left: 'center',
|
||||
textStyle: {
|
||||
fontSize: 12,//字体大小
|
||||
},
|
||||
data: [{
|
||||
name: '未整改', icon: 'roundRect', textStyle: {
|
||||
color: '#f24166'
|
||||
}
|
||||
}, {
|
||||
name: '已整改', icon: 'roundRect', textStyle: {
|
||||
color: '#15edbb'
|
||||
}
|
||||
}],
|
||||
itemWidth: 16,//图例的宽度
|
||||
itemHeight: 8,//图例的高度
|
||||
},
|
||||
xAxis: {
|
||||
data: xAxisData,
|
||||
boundaryGap: true,
|
||||
axisLabel: {
|
||||
color: '#1ab1ff',
|
||||
interval: 0,
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
onZero: true,
|
||||
lineStyle: {
|
||||
color: '#1ab1ff',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {
|
||||
show: true,
|
||||
color: '#1ab1ff',
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: '#0D3C65',
|
||||
},
|
||||
},
|
||||
splitNumber: 5,
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '未整改',
|
||||
type: 'bar',
|
||||
barWidth: 20,
|
||||
data: data1,
|
||||
barGap: '0%',/*多个并排柱子设置柱子之间的间距*/
|
||||
barCategoryGap: '0%',/*多个并排柱子设置柱子之间的间距*/
|
||||
itemStyle: {
|
||||
color: '#1ab1ff',
|
||||
emphasis: {
|
||||
barBorderRadius: [10, 10, 0, 0],
|
||||
},
|
||||
normal: {
|
||||
barBorderRadius: [10, 10, 0, 0],
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
1, 1, 1, 0,
|
||||
[
|
||||
{ offset: 0, color: 'rgba(242,65,102,.2)' },
|
||||
{ offset: 1, color: '#f24166' }
|
||||
]
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '已整改',
|
||||
type: 'bar',
|
||||
barWidth: 20,
|
||||
data: data2,
|
||||
barGap: '0%',/*多个并排柱子设置柱子之间的间距*/
|
||||
barCategoryGap: '0%',/*多个并排柱子设置柱子之间的间距*/
|
||||
itemStyle: {
|
||||
color: '#f24166',
|
||||
emphasis: {
|
||||
barBorderRadius: [10, 10, 0, 0],
|
||||
},
|
||||
normal: {
|
||||
barBorderRadius: [10, 10, 0, 0],
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
1, 1, 1, 0,
|
||||
[
|
||||
{ offset: 0, color: 'rgba(21,237,187,0.2)' },
|
||||
{ offset: 1, color: '#15edbb' }
|
||||
]
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
};
|
||||
|
||||
myChart.clear();//清空
|
||||
option && myChart.setOption(option);
|
||||
|
||||
window.addEventListener("resize", function () {
|
||||
myChart.resize();
|
||||
});
|
||||
}
|
||||
function initEchart05(dataType, data1, data2) {
|
||||
var chartDom = document.getElementById('echarts05');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
var xAxisData = dataType;
|
||||
option = {
|
||||
color: ['#101a3b', '#4f3b36'],
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
},
|
||||
grid: {
|
||||
top: '15%',
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '5%',
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
top: '4%',
|
||||
left: 'center',
|
||||
textStyle: {
|
||||
fontSize: 12,//字体大小
|
||||
},
|
||||
data: [{
|
||||
name: '质量验收一次合格率', icon: 'roundRect', itemStyle: {
|
||||
color: '#25c99f'
|
||||
}, textStyle: {
|
||||
color: '#25c99f'
|
||||
}
|
||||
}, {
|
||||
name: '施工资料同步率', icon: 'roundRect', itemStyle: {
|
||||
color: '#f79c2f'
|
||||
}, textStyle: {
|
||||
color: '#f79c2f'
|
||||
}
|
||||
}],
|
||||
itemWidth: 16,//图例的宽度
|
||||
itemHeight: 8,//图例的高度
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: true,
|
||||
data: xAxisData,
|
||||
axisLabel: {
|
||||
color: '#1ab1ff',
|
||||
interval: 0,
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
onZero: false,
|
||||
lineStyle: {
|
||||
color: '#1ab1ff',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {
|
||||
show: true,
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
onZero: false,
|
||||
lineStyle: {
|
||||
color: '#1ab1ff',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: '#0D3C65',
|
||||
},
|
||||
},
|
||||
splitNumber: 5,
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
name: '质量验收一次合格率',
|
||||
color: '#17b1e5', //线条颜色
|
||||
data: data1,
|
||||
symbol: "none", // 去除小圆点
|
||||
areaStyle: {
|
||||
color: {
|
||||
type: 'linear',
|
||||
x: 0,
|
||||
y: 1,
|
||||
x2: 0,
|
||||
y2: 0,
|
||||
colorStops: [{
|
||||
offset: 0, color: '#101a3b' // 100% 处的颜色
|
||||
}, {
|
||||
offset: 1, color: '#517257' // 0% 处的颜色
|
||||
}],
|
||||
global: false
|
||||
}
|
||||
},
|
||||
lineStyle: { width: 1, color: '#25c99f' }, //隐藏线
|
||||
abel: { show: false }, // 隐藏文字
|
||||
itemStyle: {
|
||||
color: '#25c99f',
|
||||
normal: {
|
||||
label: { show: false, color: '#1ac9ff' }, //顶部显示数值
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
name: '施工资料同步率',
|
||||
color: '#17b1e5', //线条颜色
|
||||
// smooth: true, //线条平滑
|
||||
data: data2,
|
||||
symbol: "none", // 去除小圆点
|
||||
areaStyle: {
|
||||
color: {
|
||||
type: 'linear',
|
||||
x: 0,
|
||||
y: 1,
|
||||
x2: 0,
|
||||
y2: 0,
|
||||
colorStops: [{
|
||||
offset: 0, color: '#4f3b36' // 100% 处的颜色
|
||||
}, {
|
||||
offset: 1, color: '#785234' // 0% 处的颜色
|
||||
}],
|
||||
global: false
|
||||
}
|
||||
},
|
||||
lineStyle: { width: 1, color: '#f79c2f' }, //隐藏线
|
||||
abel: { show: false }, // 隐藏文字
|
||||
itemStyle: {
|
||||
color: '#f79c2f',
|
||||
normal: {
|
||||
label: { show: false, color: '#1ac9ff' }, //顶部显示数值
|
||||
}
|
||||
}
|
||||
},
|
||||
],
|
||||
}
|
||||
myChart.clear();//清空
|
||||
option && myChart.setOption(option);
|
||||
window.addEventListener("resize", function () {
|
||||
myChart.resize();
|
||||
});
|
||||
}
|
||||
initEchart01()
|
||||
var one4 =<%=One4 %>;
|
||||
console.log(one4)
|
||||
initEchart02({ canvasId: 'echarts02_1', y: one4.num2, n: one4.num1 })
|
||||
initEchart02({ canvasId: 'echarts02_2', y: one4.num5, n: one4.num4 })
|
||||
initEchart02({ canvasId: 'echarts02_3', y: one4.num8, n: one4.num7 })
|
||||
|
||||
var three =<%=Three %>;
|
||||
var three2 =<%=Three2 %>;
|
||||
initEchart03(three.categories, three.series[0].data, three.series[1].data)
|
||||
|
||||
var two =<%=Two %>;
|
||||
var two2 =<%=Two2 %>;
|
||||
var two3 =<%=Two3 %>;
|
||||
var two4 =<%=Two4 %>;
|
||||
initEchart04(two.categories, two.series[0].data, two.series[1].data)
|
||||
|
||||
var four =<%=Four %>;
|
||||
var four2 =<%=Four2 %>;
|
||||
initEchart05(four.categories, four.series[0].data, four.series[1].data)
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,498 +0,0 @@
|
||||
using BLL;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web
|
||||
{
|
||||
public partial class mainMenu_CQMS : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
getProjectUnits2 = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
|
||||
// ClientScript.RegisterClientScriptBlock(typeof(Page), "", " category_One('one1', '项目质量验收一次合格率', " + new mainMenu_CQMS().One1 + ")", true);
|
||||
}
|
||||
}
|
||||
|
||||
private static List<Model.Project_ProjectUnit> getProjectUnits2;
|
||||
|
||||
#region 项目质量验收一次合格率
|
||||
protected string One1
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
double result = 0;
|
||||
if (TotalCheckDetailOKLists.Count > 0 && TotalCheckDetailLists.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(TotalCheckDetailOKLists.Count);
|
||||
var b = Convert.ToDouble(TotalCheckDetailLists.Count);
|
||||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
return JsonConvert.SerializeObject(result);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 项目施工资料同步率
|
||||
protected string One2
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.View_Check_SoptCheckDetail> totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> totalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now);
|
||||
totalCheckDetailOKLists = totalCheckDetailOKLists.Where(x => x.IsShow == true).ToList(); //需要上传资料的IsShow为true
|
||||
double result = 0;
|
||||
if (totalCheckDetailDataOKLists.Count > 0 && totalCheckDetailOKLists.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(totalCheckDetailDataOKLists.Count);
|
||||
var b = Convert.ToDouble(totalCheckDetailOKLists.Count);
|
||||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
return JsonConvert.SerializeObject(result);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 项目质量问题整改完成率
|
||||
protected string One3
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.View_Check_JointCheckDetail> totalCheckLists = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
int a = totalCheckLists.Where(x => x.OK == 1).Count();
|
||||
double result = 0;
|
||||
if (a > 0 && totalCheckLists.Count > 0)
|
||||
{
|
||||
var b = Convert.ToDouble(totalCheckLists.Count);
|
||||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
return JsonConvert.SerializeObject(result);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 质量控制点通知
|
||||
protected string One4
|
||||
{
|
||||
get
|
||||
{
|
||||
var db = new Model.SGGLDB(Funs.ConnString);
|
||||
Model.Num num = new Model.Num();
|
||||
var controlItemAndCycles = from x in db.WBS_ControlItemAndCycle
|
||||
where x.ProjectId == CurrUser.LoginProjectId && x.IsApprove == true
|
||||
orderby x.ControlItemAndCycleCode
|
||||
select x;
|
||||
var oKSpotCheckDetails = from x in db.Check_SpotCheckDetail
|
||||
join y in db.Check_SpotCheck
|
||||
on x.SpotCheckCode equals y.SpotCheckCode
|
||||
where x.IsOK == true && y.ProjectId == CurrUser.LoginProjectId
|
||||
select x;
|
||||
//A类
|
||||
var Alist = controlItemAndCycles.Where(x => x.ControlPoint.Contains("A"));
|
||||
int a = 0;
|
||||
foreach (var item in Alist)
|
||||
{
|
||||
if (item.CheckNum != 0) //检查次数为0表示一直检查
|
||||
{
|
||||
List<Model.Check_SpotCheckDetail> details = oKSpotCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId).ToList();
|
||||
if (details.Count == item.CheckNum) //检查次数已达到最大值
|
||||
{
|
||||
a++;
|
||||
}
|
||||
}
|
||||
}
|
||||
num.num2 = a;
|
||||
num.num3 = Alist.Count();
|
||||
num.num1 = num.num3 - num.num2;
|
||||
//B类
|
||||
var Blist = controlItemAndCycles.Where(x => x.ControlPoint.Contains("B"));
|
||||
int b = 0;
|
||||
foreach (var item in Blist)
|
||||
{
|
||||
if (item.CheckNum != 0) //检查次数为0表示一直检查
|
||||
{
|
||||
List<Model.Check_SpotCheckDetail> details = oKSpotCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId).ToList();
|
||||
if (details.Count == item.CheckNum) //检查次数已达到最大值
|
||||
{
|
||||
b++;
|
||||
}
|
||||
}
|
||||
}
|
||||
num.num5 = b;
|
||||
num.num6 = Blist.Count();
|
||||
num.num4 = num.num6 - num.num5;
|
||||
//C类
|
||||
var Clist = controlItemAndCycles.Where(x => x.ControlPoint.Contains("C"));
|
||||
int c = 0;
|
||||
foreach (var item in Clist)
|
||||
{
|
||||
if (item.CheckNum != 0) //检查次数为0表示一直检查
|
||||
{
|
||||
List<Model.Check_SpotCheckDetail> details = oKSpotCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId).ToList();
|
||||
if (details.Count == item.CheckNum) //检查次数已达到最大值
|
||||
{
|
||||
c++;
|
||||
}
|
||||
}
|
||||
}
|
||||
num.num8 = c;
|
||||
num.num9 = Clist.Count();
|
||||
num.num7 = num.num9 - num.num8;
|
||||
return JsonConvert.SerializeObject(num);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 质量问题统计
|
||||
protected string Two
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量问题统计";
|
||||
businessColumn.xFontNum = 8;
|
||||
var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int okNum = 0;
|
||||
foreach (var unit in getProjectUnits2)
|
||||
{
|
||||
listCategories.Add(BLL.UnitService.GetShortUnitNameByUnitId(unit.UnitId));
|
||||
var unitChecks = checks.Where(x => x.UnitId == unit.UnitId);
|
||||
okNum = unitChecks.Where(x => x.OK == 1).Count();
|
||||
listdata.Add(unitChecks.Count() - okNum);
|
||||
listdata2.Add(okNum);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
protected string Two2
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量问题统计";
|
||||
businessColumn.xFontNum = 5;
|
||||
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
||||
unitWorks = unitWorks.Where(x => x.ProjectType == "2").ToList();
|
||||
var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int okNum = 0;
|
||||
foreach (var unitWork in unitWorks)
|
||||
{
|
||||
listCategories.Add(unitWork.UnitWorkName);
|
||||
var unitChecks = checks.Where(x => x.UnitWorkId == unitWork.UnitWorkId);
|
||||
okNum = unitChecks.Where(x => x.OK == 1).Count();
|
||||
listdata.Add(unitChecks.Count() - okNum);
|
||||
listdata2.Add(okNum);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
protected string Two3
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量问题统计";
|
||||
businessColumn.xFontNum = 5;
|
||||
var cns = BLL.CNProfessionalService.GetList();
|
||||
var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int okNum = 0;
|
||||
foreach (var cn in cns)
|
||||
{
|
||||
listCategories.Add(cn.ProfessionalName);
|
||||
var unitChecks = checks.Where(x => x.CNProfessionalCode == cn.CNProfessionalId);
|
||||
okNum = unitChecks.Where(x => x.OK == 1).Count();
|
||||
listdata.Add(unitChecks.Count() - okNum);
|
||||
listdata2.Add(okNum);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
protected string Two4
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量问题统计";
|
||||
businessColumn.xFontNum = 5;
|
||||
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
||||
unitWorks = unitWorks.Where(x => x.ProjectType == "1").ToList();
|
||||
var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int okNum = 0;
|
||||
foreach (var unitWork in unitWorks)
|
||||
{
|
||||
listCategories.Add(unitWork.UnitWorkName);
|
||||
var unitChecks = checks.Where(x => x.UnitWorkId == unitWork.UnitWorkId);
|
||||
okNum = unitChecks.Where(x => x.OK == 1).Count();
|
||||
listdata.Add(unitChecks.Count() - okNum);
|
||||
listdata2.Add(okNum);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 质量一次合格率/资料同步率
|
||||
protected string Three
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量一次合格率";
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
double result = 0, result2 = 0;
|
||||
foreach (var unit in getProjectUnits2)
|
||||
{
|
||||
listCategories.Add(BLL.UnitService.GetShortUnitNameByUnitId(unit.UnitId));
|
||||
var okChecks = TotalCheckDetailOKLists.Where(x => x.UnitId == unit.UnitId).ToList();
|
||||
var totalChecks = TotalCheckDetailLists.Where(x => x.UnitId == unit.UnitId).ToList();
|
||||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(okChecks.Count);
|
||||
var b = Convert.ToDouble(totalChecks.Count);
|
||||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
var dataOkChecks = totalCheckDetailDataOKLists.Where(x => x.UnitId == unit.UnitId).ToList();
|
||||
okChecks = okChecks.Where(x => x.IsShow == true).ToList(); //需要上传资料的IsShow为true
|
||||
if (dataOkChecks.Count > 0 && okChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(dataOkChecks.Count);
|
||||
var b = Convert.ToDouble(okChecks.Count);
|
||||
result2 = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
listdata.Add(result);
|
||||
listdata2.Add(result2);
|
||||
result = 0;
|
||||
result2 = 0;
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
protected string Three2
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量一次合格率";
|
||||
var cns = BLL.CNProfessionalService.GetList();
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
double result = 0, result2 = 0;
|
||||
foreach (var cn in cns)
|
||||
{
|
||||
listCategories.Add(cn.ProfessionalName);
|
||||
var okChecks = TotalCheckDetailOKLists.Where(x => x.CNProfessionalCode == cn.CNProfessionalId).ToList();
|
||||
var totalChecks = TotalCheckDetailLists.Where(x => x.CNProfessionalCode == cn.CNProfessionalId).ToList();
|
||||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(okChecks.Count);
|
||||
var b = Convert.ToDouble(totalChecks.Count);
|
||||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
var dataOkChecks = totalCheckDetailDataOKLists.Where(x => x.CNProfessionalCode == cn.CNProfessionalId).ToList();
|
||||
okChecks = okChecks.Where(x => x.IsShow == true).ToList(); //需要上传资料的IsShow为true
|
||||
if (dataOkChecks.Count > 0 && okChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(dataOkChecks.Count);
|
||||
var b = Convert.ToDouble(okChecks.Count);
|
||||
result2 = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
listdata.Add(result);
|
||||
listdata2.Add(result2);
|
||||
result = 0;
|
||||
result2 = 0;
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
protected string Four
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量一次合格率";
|
||||
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
||||
unitWorks = unitWorks.Where(x => x.ProjectType == "2").ToList();
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
double result = 0, result2 = 0;
|
||||
foreach (var unitWork in unitWorks)
|
||||
{
|
||||
listCategories.Add(unitWork.UnitWorkName);
|
||||
var okChecks = TotalCheckDetailOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||||
var totalChecks = TotalCheckDetailLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(okChecks.Count);
|
||||
var b = Convert.ToDouble(totalChecks.Count);
|
||||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
var dataOkChecks = totalCheckDetailDataOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||||
okChecks = okChecks.Where(x => x.IsShow == true).ToList(); //需要上传资料的IsShow为true
|
||||
if (dataOkChecks.Count > 0 && okChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(dataOkChecks.Count);
|
||||
var b = Convert.ToDouble(okChecks.Count);
|
||||
result2 = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
listdata.Add(result);
|
||||
listdata2.Add(result2);
|
||||
result = 0;
|
||||
result2 = 0;
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
|
||||
protected string Four2
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "质量一次合格率";
|
||||
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
||||
unitWorks = unitWorks.Where(x => x.ProjectType == "1").ToList();
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
List<Model.View_Check_SoptCheckDetail> totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
double result = 0, result2 = 0;
|
||||
foreach (var unitWork in unitWorks)
|
||||
{
|
||||
listCategories.Add(unitWork.UnitWorkName);
|
||||
var okChecks = TotalCheckDetailOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||||
var totalChecks = TotalCheckDetailLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(okChecks.Count);
|
||||
var b = Convert.ToDouble(totalChecks.Count);
|
||||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
var dataOkChecks = totalCheckDetailDataOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||||
okChecks = okChecks.Where(x => x.IsShow == true).ToList(); //需要上传资料的IsShow为true
|
||||
if (dataOkChecks.Count > 0 && okChecks.Count > 0)
|
||||
{
|
||||
var a = Convert.ToDouble(dataOkChecks.Count);
|
||||
var b = Convert.ToDouble(okChecks.Count);
|
||||
result2 = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||||
}
|
||||
listdata.Add(result);
|
||||
listdata2.Add(result2);
|
||||
result = 0;
|
||||
result2 = 0;
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
return JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web {
|
||||
|
||||
|
||||
public partial class mainMenu_CQMS {
|
||||
|
||||
/// <summary>
|
||||
/// Head1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
|
||||
}
|
||||
}
|
||||
@@ -231,22 +231,17 @@ namespace FineUIPro.Web.common
|
||||
CRectificationRate = 0;
|
||||
CQualifiedRate = 0;
|
||||
FirstPassRate = 0;
|
||||
var getJointCheckDetail = from x in Funs.DB.Check_JointCheckDetail
|
||||
join y in Funs.DB.Check_JointCheck on x.JointCheckId equals y.JointCheckId
|
||||
where y.ProjectId == this.ProjectId
|
||||
select x;
|
||||
var getCheckControl = from x in Funs.DB.Check_CheckControl
|
||||
where x.ProjectId == this.ProjectId
|
||||
select x;
|
||||
///问题总数
|
||||
int AllCount = getJointCheckDetail.Count() + getCheckControl.Count();
|
||||
int AllCount = getCheckControl.Count();
|
||||
this.divCQMSAllNum.InnerHtml = AllCount.ToString();
|
||||
if (AllCount > 0)
|
||||
{
|
||||
///问题完成数
|
||||
var getJOk = getJointCheckDetail.Where(x => x.State == "6").Count();
|
||||
var getCOk = getCheckControl.Where(x => x.State == "7").Count();
|
||||
int CCount = getJOk + getCOk;
|
||||
int CCount = getCOk;
|
||||
this.divCQMSCAllNum.InnerHtml = CCount.ToString();
|
||||
this.divCQMSUCAllNum.InnerHtml = (AllCount - CCount).ToString();
|
||||
if (CCount > 0)
|
||||
|
||||
Reference in New Issue
Block a user