|  | @@ -1,8 +1,6 @@
 | 
	
		
			
				|  |  |  package com.miniframe.bisiness.mdo;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.io.File;
 | 
	
		
			
				|  |  | -import java.io.FileWriter;
 | 
	
		
			
				|  |  | -import java.io.IOException;
 | 
	
		
			
				|  |  | +import java.io.*;
 | 
	
		
			
				|  |  |  import java.util.ArrayList;
 | 
	
		
			
				|  |  |  import java.util.Arrays;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
	
		
			
				|  | @@ -89,10 +87,14 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
 | 
	
		
			
				|  |  |  		LogService.addLog(pid,"求解——————————————————开始");
 | 
	
		
			
				|  |  |  		DockerExe.stopDocker(pid);
 | 
	
		
			
				|  |  |  		DockerExe.runMdo(pid);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		// ------20250210 保存 日志  弃用
 | 
	
		
			
				|  |  |  		List<MdoProComval> comvals =new ArrayList<>();
 | 
	
		
			
				|  |  |  		final List<String>[] vals = new List[]{new ArrayList<>()};
 | 
	
		
			
				|  |  |  		final boolean[] flag = {true};//步数是否结束
 | 
	
		
			
				|  |  |  		final int[] valNSiz = {0};
 | 
	
		
			
				|  |  | +		//-------20250210 保存 日志  弃用
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		CompletableFuture<Void> cf = CompletableFuture.supplyAsync(()-> {try {
 | 
	
		
			
				|  |  |  			DockerExe.getDockerLogs(pid,new ResultCallback.Adapter<Frame>() {
 | 
	
		
			
				|  |  |  				@Override
 | 
	
	
		
			
				|  | @@ -168,7 +170,7 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
 | 
	
		
			
				|  |  |  					super.onComplete();
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			});
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +			saveNsga2_history2(pid, stype, comvalDao);
 | 
	
		
			
				|  |  |  			LogService.addLog(pid,"求解——————————————————成功");
 | 
	
		
			
				|  |  |  		} catch (Exception e) {
 | 
	
		
			
				|  |  |  			LogService.addLog(pid,"求解——————————————————失败");
 | 
	
	
		
			
				|  | @@ -179,6 +181,36 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
 | 
	
		
			
				|  |  |  		});
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	private void saveNsga2_history2(String pid, String stype, MdoProComvalMapper comvalDao) {
 | 
	
		
			
				|  |  | +		//保存数据
 | 
	
		
			
				|  |  | +		if("Forrester".equals(stype)||"Branin".equals(stype)||"Rastrigin".equals(stype)
 | 
	
		
			
				|  |  | +				||"Rosenbrock".equals(stype)||"G9".equals(stype)
 | 
	
		
			
				|  |  | +		){
 | 
	
		
			
				|  |  | +			String postFile = "/cephfs/mdo/"+ pid +"/out/nsga2_history2.txt";
 | 
	
		
			
				|  |  | +			try (BufferedReader br = new BufferedReader(new FileReader(postFile))) {
 | 
	
		
			
				|  |  | +				String x_name="";
 | 
	
		
			
				|  |  | +				String line;
 | 
	
		
			
				|  |  | +				int step = 0;
 | 
	
		
			
				|  |  | +				while ((line = br.readLine()) != null) {
 | 
	
		
			
				|  |  | +					if(line.trim().startsWith("variables")){
 | 
	
		
			
				|  |  | +						x_name = line.split("=")[1].replace(" ","");
 | 
	
		
			
				|  |  | +					}else if(line.trim().matches("\\d.*")){//数字开头
 | 
	
		
			
				|  |  | +						step++;
 | 
	
		
			
				|  |  | +						String tvals =line.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
 | 
	
		
			
				|  |  | +						MdoProComval comval =new MdoProComval();
 | 
	
		
			
				|  |  | +						comval.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | +						comval.setPid(pid);
 | 
	
		
			
				|  |  | +						comval.setStep(String.valueOf(step));
 | 
	
		
			
				|  |  | +						comval.setVars(x_name);
 | 
	
		
			
				|  |  | +						comval.setVals(tvals);
 | 
	
		
			
				|  |  | +						comvalDao.insert(comval);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}catch (Exception e){
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 |