$battery_id) { // 判断电池是否为空 if (empty($battery_id)) { throw new Exception("电池条码数组第[{$k}]位置的电池条码不能是:[0, '0', '', null, NAN]等,请上传电池条码",4006); } $sql = sprintf( "SELECT tray,lot,batch,subbatch FROM hf_mes_production_battery_map WHERE battery_id='%s' ORDER BY id DESC LIMIT 1;", $battery_id ); $ret = Db::fetch($sql); if (is_null($ret)) { throw new Exception("电池条码[{$battery_id}]不存在",4007); } list($tray, $lot, $batch, $subbatch) = [ $ret['tray'], $ret['lot'], $ret['batch'], $ret['subbatch'] ]; $sql = sprintf( "SELECT $select_param_sql class,classname,next_process_code FROM \"%s\" WHERE battery_id='%s' AND tray='%s' AND lot='%s' LIMIT 1;", config('app.bkv_prefix') . $subbatch, $battery_id, $tray, $lot ); $ret = Db::fetch($sql); if (is_null($ret)) { throw new Exception("电池条码[{$battery_id}]不存在bkv数据",4008); } foreach ($result_param_need_params as $value) { $result[$value][] = $ret["{$process_code}.{$value}"]; } } return $result; } }