看板质量验收数据汇总

This commit is contained in:
2025-05-06 10:20:27 +08:00
parent 441fbf5985
commit 9957d27137
18 changed files with 2695 additions and 31 deletions
+30 -11
View File
@@ -702,7 +702,12 @@
branchNum: 0,//分部工程数
itemizeNum: 0,//分项工程数
},
//质量验收数据
checkAccepts: [],//质量验收数据——表1:验收数
checkAcceptOKs: [],//质量验收数据——表1:合格数
checkAcceptOKRates: [],//质量验收数据——表1:合格率
checkAccepts2: [],//质量验收数据——表2:验收数
checkAcceptOKs2: [],//质量验收数据——表2:合格数
checkAcceptOKRates2: [],//质量验收数据——表2:合格率
specialEquipmentSys: 0,//特种设备质保体系
designBriefing: 0,//图纸会审、设计交底
hsseEduTrain:
@@ -769,9 +774,19 @@
if (response.d.success) {
// 更新数据成功
that.form = { ...response.d.data }; // 更新表单数据
//console.log("请求结果:", that.form);
that.checkAccepts = [...response.d.data.checkAccepts]; //获取质量验收数据——表1:验收数
that.checkAcceptOKs = [...response.d.data.checkAcceptOKs]; //获取质量验收数据——表1:合格数
that.checkAcceptOKRates = [...response.d.data.checkAcceptOKRates]; //获取质量验收数据——表1:合格率
that.checkAccepts2 = [...response.d.data.checkAccepts2]; //获取质量验收数据——表2:验收数
that.checkAcceptOKs2 = [...response.d.data.checkAcceptOKs2]; //获取质量验收数据——表2:合格数
that.checkAcceptOKRates2 = [...response.d.data.checkAcceptOKRates2]; //获取质量验收数据——表2:合格率
that.chinaData = [...response.d.data.chinaData]; // 更新地图数据
//console.log("111111111",that.chinaData);
that.createChinaMap(that.chinaData); // 重新创建地图
that.createMap1(that.checkAccepts, that.checkAcceptOKs, that.checkAcceptOKRates); // 更新数据
that.createMap2(that.checkAccepts2, that.checkAcceptOKs2, that.checkAcceptOKRates2); // 更新数据
} else {
// 更新数据失败
alert("加载数据失败:" + response.d.msg);
@@ -995,7 +1010,7 @@
* @param {*} data2 合格数
* @param {*} data3 合格率
*/
createMap1(data1, data2, data3) {
createMap1(data1 = [], data2 = [], data3 = []) {
if (!this.map1) {
this.map1 = echarts.init(document.getElementById('map1'))
}
@@ -1039,23 +1054,24 @@
}
},
yAxis: [
{
type: 'value',
name: '数量',
position: 'left',
splitNumber: 5,
alignTicks: true,
splitLine: {
lineStyle: {
color: '#123858' // 设置Y轴线颜色为白色
}
},
},
{
type: 'value',
name: '百分比',
position: 'right',
splitNumber: 5,
interval: 25,
max: 100,
min: 0,
alignTicks: true,
@@ -1069,7 +1085,7 @@
series: [
{
name: "验收数",
data: [120, 200, 150],
data: data1,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -1086,7 +1102,7 @@
},
{
name: "合格数",
data: [120, 200, 150],
data: data2,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -1104,7 +1120,7 @@
{
name: "合格率",
yAxisIndex: 1,
data: [80, 22.1, 12],
data: data3,
type: 'line',
smooth: true, // 设置折线图变圆滑
symbol: 'none',
@@ -1123,7 +1139,7 @@
* @param {*} data2 合格数
* @param {*} data3 合格率
*/
createMap2(data1, data2, data3) {
createMap2(data1 = [], data2 = [], data3 = []) {
if (!this.map2) {
this.map2 = echarts.init(document.getElementById('map2'))
}
@@ -1172,6 +1188,7 @@
type: 'value',
name: '数量',
position: 'left',
splitNumber: 5,
alignTicks: true,
splitLine: {
lineStyle: {
@@ -1184,6 +1201,8 @@
type: 'value',
name: '百分比',
position: 'right',
splitNumber: 5,
interval: 25,
max: 100,
min: 0,
alignTicks: true,
@@ -1197,7 +1216,7 @@
series: [
{
name: "验收数",
data: [120, 200, 150],
data: data1,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -1214,7 +1233,7 @@
},
{
name: "合格数",
data: [120, 200, 150],
data: data2,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -1232,7 +1251,7 @@
{
name: "合格率",
yAxisIndex: 1,
data: [80, 22.1, 12],
data: data3,
type: 'line',
smooth: true, // 设置折线图变圆滑
symbol: 'none',
+64 -6
View File
@@ -34,6 +34,8 @@ namespace FineUIPro.Web.common
MainSevice mainSevice = new MainSevice(page.CurrUser.UserId);
// 获取HSSE数据
var hsseData = Task.Run(() => mainSevice.GetHsseDataAsync()).Result;
//获取CQMS数据
var cqmsData = Task.Run(() => mainSevice.GetCqmsDataAsync()).Result;
//班前会
var classMeetingList = HSSEData_HSSEService.GetProjectClassMeeting(null);
@@ -86,20 +88,20 @@ namespace FineUIPro.Web.common
var inspectionMachineList = (from x in db.Comprehensive_InspectionMachine select x).ToList();
Model.CQMSData_CQMS cqmsData = new Model.CQMSData_CQMS();
//Model.CQMSData_CQMS cqmsData = new Model.CQMSData_CQMS();
var getCqmsDataCqms = db.CQMSData_CQMS.OrderByDescending(x => x.ReportDate).FirstOrDefault();
if (getCqmsDataCqms == null)
{
cqmsData = new Model.CQMSData_CQMS();
//cqmsData = new Model.CQMSData_CQMS();
}
if (unitType == 0)
{
cqmsData = getCqmsDataCqms;
//cqmsData = getCqmsDataCqms;
}
else if (unitType == 1)
{
cqmsData = CQMSDataService.GetSubUnitCqmsDataByDate(page.CurrUser.UnitId, getCqmsDataCqms.ReportDate);
//cqmsData = CQMSDataService.GetSubUnitCqmsDataByDate(page.CurrUser.UnitId, getCqmsDataCqms.ReportDate);
classMeetingList = classMeetingList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
weekMeetingList = weekMeetingList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
designDetailsList = designDetailsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitName == page.CurrUser.UnitId).ToList();
@@ -110,7 +112,7 @@ namespace FineUIPro.Web.common
}
else if (unitType == 2)
{
cqmsData = new Model.CQMSData_CQMS();
//cqmsData = new Model.CQMSData_CQMS();
classMeetingList = new List<MeetingOutput>();
weekMeetingList = new List<MeetingOutput>();
designDetailsList = new List<Comprehensive_DesignDetails>();
@@ -142,6 +144,56 @@ namespace FineUIPro.Web.common
cqmsZGRate = "0";
}
#region
//关键工序合格率
double keyProcessRate = cqmsData.KeyProcessOKNum > 0 ? Math.Round(100 * ((double)cqmsData.KeyProcessOKNum / (double)cqmsData.KeyProcessNum), 2) : 0;
//特殊工程合格率
double specialProcessRate = cqmsData.SpecialProcessOKNum > 0 ? Math.Round(100 * ((double)cqmsData.SpecialProcessOKNum / (double)cqmsData.SpecialProcessNum), 2) : 0;
//隐蔽工程合格率
double concealedWorksRate = cqmsData.ConcealedWorksOKNum > 0 ? Math.Round(100 * ((double)cqmsData.ConcealedWorksOKNum / (double)cqmsData.ConcealedWorksNum), 2) : 0;
//单位工程合格率
double unitProjecProcessRate = cqmsData.UnitProjectAcceptNum > 0 ? Math.Round(100 * ((double)cqmsData.UnitProjectAcceptOKNum / (double)cqmsData.UnitProjectAcceptNum), 2) : 0;
//分部工程合格率
double subProjectProcessRate = cqmsData.SubProjectAcceptOKNum > 0 ? Math.Round(100 * ((double)cqmsData.SubProjectAcceptOKNum / (double)cqmsData.SubProjectAcceptNum), 2) : 0;
//分项工程合格率
double subdivisionalWorksRate = cqmsData.SubdivisionalWorksAcceptOKNum > 0 ? Math.Round(100 * ((double)cqmsData.SubdivisionalWorksAcceptOKNum / (double)cqmsData.SubdivisionalWorksAcceptNum), 2) : 0;
//验收数
List<int> checkAccepts = new List<int>();
checkAccepts.Add((int)cqmsData.KeyProcessNum);
checkAccepts.Add((int)cqmsData.SpecialProcessNum);
checkAccepts.Add((int)cqmsData.ConcealedWorksNum);
//合格数
List<int> checkAcceptOKs = new List<int>();
checkAcceptOKs.Add((int)cqmsData.KeyProcessOKNum);
checkAcceptOKs.Add((int)cqmsData.SpecialProcessOKNum);
checkAcceptOKs.Add((int)cqmsData.ConcealedWorksOKNum);
//合格率
List<double> checkAcceptOKRates = new List<double>();
checkAcceptOKRates.Add(keyProcessRate);
checkAcceptOKRates.Add(specialProcessRate);
checkAcceptOKRates.Add(concealedWorksRate);
//验收数
List<int> checkAccepts2 = new List<int>();
checkAccepts2.Add((int)cqmsData.UnitProjectAcceptNum);
checkAccepts2.Add((int)cqmsData.SubProjectAcceptNum);
checkAccepts2.Add((int)cqmsData.SubdivisionalWorksAcceptNum);
//合格数
List<int> checkAcceptOKs2 = new List<int>();
checkAcceptOKs2.Add((int)cqmsData.UnitProjectAcceptOKNum);
checkAcceptOKs2.Add((int)cqmsData.SubProjectAcceptOKNum);
checkAcceptOKs2.Add((int)cqmsData.SubdivisionalWorksAcceptOKNum);
//合格率
List<double> checkAcceptOKRates2 = new List<double>();
checkAcceptOKRates2.Add(unitProjecProcessRate);
checkAcceptOKRates2.Add(subProjectProcessRate);
checkAcceptOKRates2.Add(subdivisionalWorksRate);
#endregion
// 构造返回数据
var returnData = new
{
@@ -241,7 +293,13 @@ namespace FineUIPro.Web.common
branchNum = cqmsData.SubProjectNum ?? 0,//分部工程数
itemizeNum = cqmsData.SubdivisionalWorksNum ?? 0,//分项工程数
},
//质量验收数据【待汇总】
//质量验收数据
checkAccepts = checkAccepts,
checkAcceptOKs = checkAcceptOKs,
checkAcceptOKRates = checkAcceptOKRates,
checkAccepts2 = checkAccepts2,
checkAcceptOKs2 = checkAcceptOKs2,
checkAcceptOKRates2 = checkAcceptOKRates2,
specialEquipmentSys = 0,//特种设备质保体系【待汇总】
designBriefing = designDetailsList.Count(),//图纸会审、设计交底
hsseEduTrain = new
+31 -12
View File
@@ -652,6 +652,12 @@
branchNum: 0,//分部工程数
itemizeNum: 0,//分项工程数
},
checkAccepts: [],//质量验收数据——表1:验收数
checkAcceptOKs: [],//质量验收数据——表1:合格数
checkAcceptOKRates: [],//质量验收数据——表1:合格率
checkAccepts2: [],//质量验收数据——表2:验收数
checkAcceptOKs2: [],//质量验收数据——表2:合格数
checkAcceptOKRates2: [],//质量验收数据——表2:合格率
specialEquipmentSys: 0,//特种设备质保体系
designBriefing: 0,//图纸会审、设计交底
hsseEduTrain:
@@ -712,11 +718,20 @@
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
console.log(response.d)
//console.log(response.d)
if (response.d.success) {
// 更新数据成功
that.form = { ...response.d.data }; // 更新表单数据
console.log(that.form)
//console.log(that.form)
that.checkAccepts = [...response.d.data.checkAccepts]; //获取质量验收数据——表1:验收数
that.checkAcceptOKs = [...response.d.data.checkAcceptOKs]; //获取质量验收数据——表1:合格数
that.checkAcceptOKRates = [...response.d.data.checkAcceptOKRates]; //获取质量验收数据——表1:合格率
that.checkAccepts2 = [...response.d.data.checkAccepts2]; //获取质量验收数据——表2:验收数
that.checkAcceptOKs2 = [...response.d.data.checkAcceptOKs2]; //获取质量验收数据——表2:合格数
that.checkAcceptOKRates2 = [...response.d.data.checkAcceptOKRates2]; //获取质量验收数据——表2:合格率
that.createMap1(that.checkAccepts, that.checkAcceptOKs, that.checkAcceptOKRates); // 更新数据
that.createMap2(that.checkAccepts2, that.checkAcceptOKs2, that.checkAcceptOKRates2); // 更新数据
} else {
// 更新数据失败
alert("加载数据失败:" + response.d.msg);
@@ -772,7 +787,7 @@
* @param {*} data2 合格数
* @param {*} data3 合格率
*/
createMap1(data1, data2, data3) {
createMap1(data1 = [], data2 = [], data3 = []) {
if (!this.map1) {
this.map1 = echarts.init(document.getElementById('map1'))
}
@@ -816,23 +831,24 @@
}
},
yAxis: [
{
type: 'value',
name: '数量',
position: 'left',
splitNumber: 5,
alignTicks: true,
splitLine: {
lineStyle: {
color: '#123858' // 设置Y轴线颜色为白色
}
},
},
{
type: 'value',
name: '百分比',
position: 'right',
splitNumber: 5,
interval: 25,
max: 100,
min: 0,
alignTicks: true,
@@ -846,7 +862,7 @@
series: [
{
name: "验收数",
data: [120, 200, 150],
data: data1,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -863,7 +879,7 @@
},
{
name: "合格数",
data: [120, 200, 150],
data: data2,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -881,7 +897,7 @@
{
name: "合格率",
yAxisIndex: 1,
data: [80, 22.1, 12],
data: data3,
type: 'line',
smooth: true, // 设置折线图变圆滑
symbol: 'none',
@@ -900,7 +916,7 @@
* @param {*} data2 合格数
* @param {*} data3 合格率
*/
createMap2(data1, data2, data3) {
createMap2(data1 = [], data2 = [], data3 = []) {
if (!this.map2) {
this.map2 = echarts.init(document.getElementById('map2'))
}
@@ -949,6 +965,7 @@
type: 'value',
name: '数量',
position: 'left',
splitNumber: 5,
alignTicks: true,
splitLine: {
lineStyle: {
@@ -961,6 +978,8 @@
type: 'value',
name: '百分比',
position: 'right',
splitNumber: 5,
interval: 25,
max: 100,
min: 0,
alignTicks: true,
@@ -974,7 +993,7 @@
series: [
{
name: "验收数",
data: [120, 200, 150],
data: data1,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -991,7 +1010,7 @@
},
{
name: "合格数",
data: [120, 200, 150],
data: data2,
type: 'bar',
yAxisIndex: 0,
barWidth: 14,
@@ -1009,7 +1028,7 @@
{
name: "合格率",
yAxisIndex: 1,
data: [80, 22.1, 12],
data: data3,
type: 'line',
smooth: true, // 设置折线图变圆滑
symbol: 'none',
@@ -41,6 +41,9 @@ namespace FineUIPro.Web.common
//获取HSSE数据
var hsseData = Task.Run(() => mainSevice.GetHsseDataAsync()).Result;
//获取CQMS数据
var cqmsData = Task.Run(() => mainSevice.GetCqmsDataAsync()).Result;
//安全云视频【待汇总】待配置
string video_Url = string.Empty;
var sysSet16 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控地址" select x).ToList().FirstOrDefault();
@@ -160,6 +163,56 @@ namespace FineUIPro.Web.common
double inspectionPersonRate = inspectionPersonIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionPersonIsCheckOk / inspectionPerson)), 2) : 0;
double inspectionMachineRate = inspectionMachineIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionMachineIsCheckOk / inspectionMachine)), 2) : 0;
#region
//关键工序合格率
double keyProcessRate = cqmsData.KeyProcessOKNum > 0 ? Math.Round(100 * ((double)cqmsData.KeyProcessOKNum / (double)cqmsData.KeyProcessNum), 2) : 0;
//特殊工程合格率
double specialProcessRate = cqmsData.SpecialProcessOKNum > 0 ? Math.Round(100 * ((double)cqmsData.SpecialProcessOKNum / (double)cqmsData.SpecialProcessNum), 2) : 0;
//隐蔽工程合格率
double concealedWorksRate = cqmsData.ConcealedWorksOKNum > 0 ? Math.Round(100 * ((double)cqmsData.ConcealedWorksOKNum / (double)cqmsData.ConcealedWorksNum), 2) : 0;
//单位工程合格率
double unitProjecProcessRate = cqmsData.UnitProjectAcceptNum > 0 ? Math.Round(100 * ((double)cqmsData.UnitProjectAcceptOKNum / (double)cqmsData.UnitProjectAcceptNum), 2) : 0;
//分部工程合格率
double subProjectProcessRate = cqmsData.SubProjectAcceptOKNum > 0 ? Math.Round(100 * ((double)cqmsData.SubProjectAcceptOKNum / (double)cqmsData.SubProjectAcceptNum), 2) : 0;
//分项工程合格率
double subdivisionalWorksRate = cqmsData.SubdivisionalWorksAcceptOKNum > 0 ? Math.Round(100 * ((double)cqmsData.SubdivisionalWorksAcceptOKNum / (double)cqmsData.SubdivisionalWorksAcceptNum), 2) : 0;
//验收数
List<int> checkAccepts = new List<int>();
checkAccepts.Add((int)cqmsData.KeyProcessNum);
checkAccepts.Add((int)cqmsData.SpecialProcessNum);
checkAccepts.Add((int)cqmsData.ConcealedWorksNum);
//合格数
List<int> checkAcceptOKs = new List<int>();
checkAcceptOKs.Add((int)cqmsData.KeyProcessOKNum);
checkAcceptOKs.Add((int)cqmsData.SpecialProcessOKNum);
checkAcceptOKs.Add((int)cqmsData.ConcealedWorksOKNum);
//合格率
List<double> checkAcceptOKRates = new List<double>();
checkAcceptOKRates.Add(keyProcessRate);
checkAcceptOKRates.Add(specialProcessRate);
checkAcceptOKRates.Add(concealedWorksRate);
//验收数
List<int> checkAccepts2 = new List<int>();
checkAccepts2.Add((int)cqmsData.UnitProjectAcceptNum);
checkAccepts2.Add((int)cqmsData.SubProjectAcceptNum);
checkAccepts2.Add((int)cqmsData.SubdivisionalWorksAcceptNum);
//合格数
List<int> checkAcceptOKs2 = new List<int>();
checkAcceptOKs2.Add((int)cqmsData.UnitProjectAcceptOKNum);
checkAcceptOKs2.Add((int)cqmsData.SubProjectAcceptOKNum);
checkAcceptOKs2.Add((int)cqmsData.SubdivisionalWorksAcceptOKNum);
//合格率
List<double> checkAcceptOKRates2 = new List<double>();
checkAcceptOKRates2.Add(unitProjecProcessRate);
checkAcceptOKRates2.Add(subProjectProcessRate);
checkAcceptOKRates2.Add(subdivisionalWorksRate);
#endregion
//项目进度计划
var scheduleList = (from x in db.Sys_Schedule
where x.ProjectId == projectId
@@ -260,7 +313,13 @@ namespace FineUIPro.Web.common
branchNum = cqmsProjectData.SubProjectNum ?? 0,//分部工程数
itemizeNum = cqmsProjectData.SubdivisionalWorksNum ?? 0,//分项工程数
},
//质量验收数据【待汇总】
//质量验收数据
checkAccepts = checkAccepts,
checkAcceptOKs = checkAcceptOKs,
checkAcceptOKRates = checkAcceptOKRates,
checkAccepts2 = checkAccepts2,
checkAcceptOKs2 = checkAcceptOKs2,
checkAcceptOKRates2 = checkAcceptOKRates2,
specialEquipmentSys = 0,//特种设备质保体系【待汇总】
designBriefing = designDetailsList.Count(),//图纸会审、设计交底
hsseEduTrain = new