|
|
@@ -704,29 +704,36 @@ class Decision extends Api
|
|
|
$data[$key]['车间'] = $value['车间名称'];
|
|
|
}
|
|
|
}
|
|
|
- $result = [];
|
|
|
+ $grouped = [];
|
|
|
foreach ($data as $item) {
|
|
|
- $workshop = $item['车间'];
|
|
|
- $process = $item['工序名称'];
|
|
|
- $ink = $item['墨色'];
|
|
|
-
|
|
|
- // 生成唯一分组键
|
|
|
- $key = $workshop . '|' . $process;
|
|
|
-
|
|
|
- if (isset($result[$key])) {
|
|
|
- // 累加墨色值
|
|
|
- $result[$key]['墨色'] += $ink;
|
|
|
- } else {
|
|
|
- // 创建新分组
|
|
|
- $result[$key] = [
|
|
|
- '工序名称' => $process,
|
|
|
- '墨色' => $ink,
|
|
|
- '车间' => $workshop
|
|
|
+ $key = $item['车间'] . '|' . $item['工序名称'];
|
|
|
+ if (!isset($grouped[$key])) {
|
|
|
+ $grouped[$key] = [
|
|
|
+ '车间' => $item['车间'],
|
|
|
+ '工序名称' => $item['工序名称'],
|
|
|
+ '墨色' => 0
|
|
|
];
|
|
|
}
|
|
|
+ $grouped[$key]['墨色'] += $item['墨色'];
|
|
|
}
|
|
|
|
|
|
- $result = array_values($result);
|
|
|
+ $workshopOrder = [
|
|
|
+ '胶印车间' => 1,
|
|
|
+ '凹丝印车间' => 2,
|
|
|
+ '印后车间' => 3,
|
|
|
+ '检验车间' => 4
|
|
|
+ ];
|
|
|
+ usort($grouped, function ($a, $b) use ($workshopOrder) {
|
|
|
+ $orderA = $workshopOrder[$a['车间']] ?? 999;
|
|
|
+ $orderB = $workshopOrder[$b['车间']] ?? 999;
|
|
|
+
|
|
|
+
|
|
|
+ if ($orderA !== $orderB) {
|
|
|
+ return $orderA <=> $orderB;
|
|
|
+ }
|
|
|
+ return $a['工序名称'] <=> $b['工序名称'];
|
|
|
+ });
|
|
|
+ $result = array_values($grouped);
|
|
|
|
|
|
$this->success('成功', $result);
|
|
|
}
|