liuhairui 1 день назад
Родитель
Сommit
23cc539083
1 измененных файлов с 16 добавлено и 5 удалено
  1. 16 5
      application/api/controller/Decision.php

+ 16 - 5
application/api/controller/Decision.php

@@ -421,13 +421,24 @@ class Decision extends Api
                 }
 
                 // 计算实际每小时车头产量and实际每小时计件产量与补产标准差额
-                $output = $list[$key]['产量']; 
+                $output = $list[$key]['产量'];
                 $runningHours = $value['设备运行工时'] ?: 0.0001;
                 $standardOutput = $value['补产标准'] ?: 0;
                 $priceCoefficient = $value['工价系数'] ?: 0;
 
+                //修正前公式
                 // 实际每小时车头产量 = 产量 / 设备运行工时
-                $list[$key]['实际每小时车头产量'] = $runningHours > 0 ? round($output / $runningHours, 2) : 0;
+//                $list[$key]['实际每小时车头产量'] = $runningHours > 0 ? round($output / $runningHours, 2) : 0;
+
+                //修正后公式
+                //实际每小时车头产量=产量/(设备运行工时-保养工时-打样总工时-装版总工时-异常停机工时)
+                $totalHours = $value['设备运行工时']
+                    - $value['保养工时']
+                    - $value['打样总工时']
+                    - $value['装版总工时']
+                    - $value['异常停机工时'];
+                $totalHours = max($totalHours, 0.0001); // 防止除数为0
+                $list[$key]['实际每小时车头产量'] = round($output / $totalHours, 2);
 
                 // 实际每小时计件产量与补产标准差额 = 实际每小时车头产量 * 计件系数 - 补产标准
                 $list[$key]['实际每小时计件产量与补产标准差额'] = round(
@@ -844,18 +855,18 @@ class Decision extends Api
             $key = substr($item['设备编组'], 5, 6);
             if (!isset($grouped[$key])) {
                 $grouped[$key] = [
-                    '产量合计' => 0,  
+                    '产量合计' => 0,
                     '工序名称' => $key,
                     '色度数' => 0
                 ];
             }
 
-   
+
             $grouped[$key]['产量合计'] += (int)$item['产量'];
             $grouped[$key]['色度数'] += (int)$item['墨色'];
         }
 
-        
+
         foreach ($grouped as &$group) {
             $group['产量合计'] = (int)$group['产量合计'];
             $group['色度数'] = (int)$group['色度数'];