修改发泡线生产统计数据表格

master
夜笙歌 2 years ago
parent 618546a9ec
commit fc9e7409a2

@ -398,11 +398,11 @@
} }
const planInfo = new AutoScrollTable(document.getElementById("bottom-left"), [], { const planInfo = new AutoScrollTable(document.getElementById("bottom-left"), [], {
width: ["5%", null, "7%", "5%", "5%", "5%", "8%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%"], width: [null, "7%", "5%", "5%", "8%", "5%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%"],
}) })
const planInfo2 = new AutoScrollTable(document.getElementById("bottom-left-2"), [], { const planInfo2 = new AutoScrollTable(document.getElementById("bottom-left-2"), [], {
width: ["5%", null, "7%", "5%", "5%", "5%", "8%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%"], width: [ null, "7%", "5%", "5%", "8%", "5%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%", "4.2%"],
}) })
function updateStatus(id, status) { function updateStatus(id, status) {
@ -443,71 +443,50 @@
} }
}) })
let filter = (arr, key, value, key2) => {
return arr.filter(e => e[key] === value)?.[0]?.[key2]
}
let totle = (arr, i) => {
return arr.map((e, index) => {
if (index !== 0) {
return e[i]
} else {
return 0
}
}).reduce((a, b) => a + b)
}
autoUpdate('/system/FoamerMes/getPlanHourInfo', INTERVAL, data => { autoUpdate('/system/FoamerMes/getPlanHourInfo', INTERVAL, data => {
// orderInf.loadData(data, Object.keys(orderInfColumns)) let name = []
let consolidatedRow = ["", "合计", ""] let dataA = []
let dataB = []
for (let i = 3; i < 19; i++) { dataA.push(['型号', '状态', '目标', '计划', '累计', '达成率', '8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00'])
if (i === 6) { dataB.push(['型号', '状态', '目标', '计划', '累计', '达成率', '8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00'])
consolidatedRow.push(`${(consolidatedRow[5] / consolidatedRow[4] * 100).toFixed(1)}%`) data.forEach(e => {
continue if (!name.includes(e.orderType)) {
name.push(e.orderType)
} }
})
let sum = 0 name.forEach((val, index) => {
if (index < 6) {
for (let j = 1; j < data.length; j++) { let arr = data.filter(e => e.orderType === val)
let d = data[j][i] let plannedProduction = arr.map(e => e.plannedProduction).reduce((a, b) => a + b) || 0
if (!d || d === '') { let actualProduction = arr.map(e => e.actualProduction).reduce((a, b) => a + b) || 0
continue dataA.push([val.split(',')[0], '正常', arr[0].target, plannedProduction, actualProduction, plannedProduction === 0 ? '0%' : ((actualProduction / plannedProduction) * 100).toString().substr(0, 5) + '%', filter(arr, 'recordTime', 8, 'actualProduction') || 0, filter(arr, 'recordTime', 9, 'actualProduction') || 0, filter(arr, 'recordTime', 10, 'actualProduction') || 0, filter(arr, 'recordTime', 11, 'actualProduction') || 0, filter(arr, 'recordTime', 12, 'actualProduction') || 0, filter(arr, 'recordTime', 13, 'actualProduction') || 0, filter(arr, 'recordTime', 14, 'actualProduction') || 0, filter(arr, 'recordTime', 15, 'actualProduction') || 0, filter(arr, 'recordTime', 16, 'actualProduction') || 0, filter(arr, 'recordTime', 17, 'actualProduction') || 0, filter(arr, 'recordTime', 18, 'actualProduction') || 0, filter(arr, 'recordTime', 19, 'actualProduction') || 0])
} } else {
if (typeof d === 'string') { let arr = data.filter(e => e.orderType === val)
d = parseInt(d) let plannedProduction = arr.map(e => e.plannedProduction).reduce((a, b) => a + b) || 0
} let actualProduction = arr.map(e => e.actualProduction).reduce((a, b) => a + b) || 0
dataB.push([val.split(',')[0], '正常', arr[0].target, plannedProduction, actualProduction, plannedProduction === 0 ? '0%' : ((actualProduction / plannedProduction) * 100).toString().substr(0, 5) + '%', filter(arr, 'recordTime', 8, 'actualProduction') || 0, filter(arr, 'recordTime', 9, 'actualProduction') || 0, filter(arr, 'recordTime', 10, 'actualProduction') || 0, filter(arr, 'recordTime', 11, 'actualProduction') || 0, filter(arr, 'recordTime', 12, 'actualProduction') || 0, filter(arr, 'recordTime', 13, 'actualProduction') || 0, filter(arr, 'recordTime', 14, 'actualProduction') || 0, filter(arr, 'recordTime', 15, 'actualProduction') || 0, filter(arr, 'recordTime', 16, 'actualProduction') || 0, filter(arr, 'recordTime', 17, 'actualProduction') || 0, filter(arr, 'recordTime', 18, 'actualProduction') || 0, filter(arr, 'recordTime', 19, 'actualProduction') || 0])
sum += d
} }
})
dataA.push(['合计', '', totle(dataA, 2), totle(dataA, 3), totle(dataA, 4), totle(dataB, 3) === 0 ? '0%' : ((totle(dataA, 4) / totle(dataA, 3)) * 100).toString().substr(0, 5) + '%', totle(dataA, 6), totle(dataA, 7), totle(dataA, 8), totle(dataA, 9), totle(dataA, 10), totle(dataA, 11), totle(dataA, 12), totle(dataA, 13), totle(dataA, 14), totle(dataA, 15), totle(dataA, 16), totle(dataA, 17)])
dataB.push(['合计', '', totle(dataB, 2), totle(dataB, 3), totle(dataB, 4), totle(dataB, 3) === 0 ? '0%' : ((totle(dataB, 4) / totle(dataB, 3)) * 100).toString().substr(0, 5) + '%', totle(dataB, 6), totle(dataB, 7), totle(dataB, 8), totle(dataB, 9), totle(dataB, 10), totle(dataB, 11), totle(dataB, 12), totle(dataB, 13), totle(dataB, 14), totle(dataB, 15), totle(dataB, 16), totle(dataB, 17)])
consolidatedRow.push(sum.toString())
}
data.push(consolidatedRow)
planInfo.loadData(data, 19, { planInfo.loadData(dataA, 18, {
includeHead: true, includeHead: true,
}) })
//data.map(value => [value.orderType, value.plannedProduction, value.actualProduction, value.plannedProduction - value.actualProduction, `${(value.actualProduction / value.plannedProduction * 100).toFixed(2)}%`] planInfo2.loadData(dataB.length > 2 ? dataB : dataA, 18, {
})
autoUpdate('/system/FoamerMes/getPlanHourInfo2', INTERVAL, data => {
// orderInf.loadData(data, Object.keys(orderInfColumns))
let consolidatedRow = ["", "合计", ""]
for (let i = 3; i < 19; i++) {
if (i === 6) {
consolidatedRow.push(`${(consolidatedRow[5] / consolidatedRow[4] * 100).toFixed(1)}%`)
continue
}
let sum = 0
for (let j = 1; j < data.length; j++) {
let d = data[j][i]
if (!d || d === '') {
continue
}
if (typeof d === 'string') {
d = parseInt(d)
}
sum += d
}
consolidatedRow.push(sum.toString())
}
data.push(consolidatedRow)
planInfo2.loadData(data, 19, {
includeHead: true, includeHead: true,
}) })
}) })

Loading…
Cancel
Save