fix(wms报表): 修正异常率计算逻辑并统一百分比格式
- 在异常率计算中增加质量状态判断条件 - 将分母从totalCount改为outCount以匹配业务需求 - 统一异常率和正品率的百分比格式输出
This commit is contained in:
@@ -26,9 +26,16 @@ const calcSummary = (list, lossList) => {
|
|||||||
// '2019583325311414274',
|
// '2019583325311414274',
|
||||||
// '2019583429955104769',
|
// '2019583429955104769',
|
||||||
// '2019583137616310273',这四个库中的占比
|
// '2019583137616310273',这四个库中的占比
|
||||||
|
const abStatus = ['O', 'C-', 'C+', 'C', 'D-', 'D+', 'D']
|
||||||
const abRate = totalCount != 0 ? list.filter(item => {
|
const abRate = totalCount != 0 ? list.filter(item => {
|
||||||
return item.warehouseId == '2019583656787259393' || item.warehouseId == '2019583325311414274' || item.warehouseId == '2019583429955104769' || item.warehouseId == '2019583137616310273'
|
// 质量状态为O, C- , C+, C, D-, D+, D的钢卷也属于异常
|
||||||
}).length / totalCount : 0
|
return (item.warehouseId == '2019583656787259393'
|
||||||
|
|| item.warehouseId == '2019583325311414274'
|
||||||
|
|| item.warehouseId == '2019583429955104769'
|
||||||
|
|| item.warehouseId == '2019583137616310273'
|
||||||
|
|| abStatus.includes(item.qualityStatus)
|
||||||
|
)
|
||||||
|
}).length / outCount : 0
|
||||||
|
|
||||||
// 正品率(1-异常率)
|
// 正品率(1-异常率)
|
||||||
const passRate2 = totalCount != 0 ? (1 - abRate) : 0
|
const passRate2 = totalCount != 0 ? (1 - abRate) : 0
|
||||||
@@ -48,8 +55,8 @@ const calcSummary = (list, lossList) => {
|
|||||||
avgWeightDiff,
|
avgWeightDiff,
|
||||||
passRate: (passRate * 100)?.toFixed(2) + '%',
|
passRate: (passRate * 100)?.toFixed(2) + '%',
|
||||||
lossRate: (lossRate * 100)?.toFixed(2) + '%',
|
lossRate: (lossRate * 100)?.toFixed(2) + '%',
|
||||||
abRate: (abRate * 100)?.toFixed(2) || 0,
|
abRate: (abRate * 100)?.toFixed(2) + '%' || 0,
|
||||||
passRate2: (passRate2 * 100)?.toFixed(2) || 0,
|
passRate2: (passRate2 * 100)?.toFixed(2) + '%' || 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,9 +194,14 @@ const calcMSummary = (list, lossList) => {
|
|||||||
// '2019583325311414274',
|
// '2019583325311414274',
|
||||||
// '2019583429955104769',
|
// '2019583429955104769',
|
||||||
// '2019583137616310273',这四个库中的占比
|
// '2019583137616310273',这四个库中的占比
|
||||||
const abRate = totalCount != 0 ? nonMCoils.filter(item => {
|
const abStatus = ['O', 'C-', 'C+', 'C', 'D-', 'D+', 'D']
|
||||||
return item.warehouseId == '2019583656787259393' || item.warehouseId == '2019583325311414274' || item.warehouseId == '2019583429955104769' || item.warehouseId == '2019583137616310273'
|
const abRate = totalCount != 0 ? nonMCoils.filter(item => {// 质量状态为O, C- , C+, C, D-, D+, D的钢卷也属于异常
|
||||||
}).length / totalCount : 0
|
return (item.warehouseId == '2019583656787259393'
|
||||||
|
|| item.warehouseId == '2019583325311414274'
|
||||||
|
|| item.warehouseId == '2019583429955104769'
|
||||||
|
|| item.warehouseId == '2019583137616310273'
|
||||||
|
|| abStatus.includes(item.qualityStatus))
|
||||||
|
}).length / outCount : 0
|
||||||
|
|
||||||
// 正品率(1-异常率)
|
// 正品率(1-异常率)
|
||||||
const passRate2 = totalCount != 0 ? (1 - abRate) : 0
|
const passRate2 = totalCount != 0 ? (1 - abRate) : 0
|
||||||
@@ -209,8 +221,8 @@ const calcMSummary = (list, lossList) => {
|
|||||||
avgWeightDiff,
|
avgWeightDiff,
|
||||||
passRate: (passRate * 100)?.toFixed(2) + '%',
|
passRate: (passRate * 100)?.toFixed(2) + '%',
|
||||||
lossRate: (lossRate * 100)?.toFixed(2) + '%',
|
lossRate: (lossRate * 100)?.toFixed(2) + '%',
|
||||||
abRate: (abRate * 100)?.toFixed(2) || 0,
|
abRate: (abRate * 100)?.toFixed(2) + '%' || 0,
|
||||||
passRate2: (passRate2 * 100)?.toFixed(2) || 0,
|
passRate2: (passRate2 * 100)?.toFixed(2) + '%' || 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user