$val){ // if($val[2] ==$process_code ){ // $idx = $key; // } // } $process_data = array_column($process,null,2) ; $process_code_data = array_slice($process,0,$process_data[$process_code][0] ); //获取除当前工序所有process_id的参数 $process_param = []; foreach( $process_code_data as $key=>$val){ $sql = "SELECT code FROM hf_mes_technology_process_result_param WHERE process_id=".$val[1]; $ret = Db::fetchAll($sql); if(empty($ret)){ continue; } foreach($ret as $k => $v){ $process_param[] = '"'.$val[2].'.'.$v['code'].'" = t2."'.$val[2].'.'.$v['code'].'"'; } } //把前一工序数据读取出来 $sql = sprintf("UPDATE \"hf_mes_tmp_bkv_$subbatch\" AS t1 SET %s FROM \"hf_mes_tmp_bkv_$subbatch\" AS t2 WHERE t2.id = $item_subatch_id AND t1.id=$input_item_subatch_id;", implode(',',$process_param) ); $row = Db::query($sql); if ($row === NULL) { throw new Exception("获取[$input_item_id]前工序数据失败"); } return $data; } }