1, 'class' => 'NG', 'classname' => $latest_record['freeze_classname'] ]; } // 如果存在记录,且 status = 5 且 class = 'NG',直接返回 if (!empty($latest_record) && $latest_record['status'] == 5 && $latest_record['class'] == 'NG' && $latest_record['workingsubclass'] == 'ALLPROCESS' ) { return [ 'status' => 5, 'class' => 'NG', 'classname' => $latest_record['freeze_classname'] ]; } // 查询未冻结且状态为 0 的记录 $sql = "SELECT id, battery_id, workingsubclass, freeze_classname, status FROM hf_mes_battery_intercption WHERE battery_id = '%s' AND workingsubclass = '%s' AND status = 0"; $formatted_sql = sprintf($sql, $battery_id, $workingsubclass); $intercption_ret = Db::fetch($formatted_sql); if (!empty($intercption_ret)) { $classname = $intercption_ret['freeze_classname']; $sql_update = "UPDATE hf_mes_battery_intercption SET status = %s, ropes_time = '%s', cancel_note = '%s' , class = '%s' WHERE id = %s"; $formatted_sql_update = sprintf( $sql_update, 1, $ropes_time, "本工序[{$workingsubclass}]的冻结标记[{$classname}]冻结成功", 'NG', $intercption_ret['id'] ); Db::query($formatted_sql_update); return [ 'class' => 'NG', 'classname' => $classname ]; } return []; } }