Forráskód Böngészése

项目模拟数据组件属性删除

huangxingxing 2 hónapja
szülő
commit
ece0b9c1d1
1 módosított fájl, 51 hozzáadás és 19 törlés
  1. 51 19
      src/main/java/com/miniframe/bisiness/es/ES0013Service.java

+ 51 - 19
src/main/java/com/miniframe/bisiness/es/ES0013Service.java

@@ -1,11 +1,14 @@
 package com.miniframe.bisiness.es;
 
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import com.github.dockerjava.api.async.ResultCallback;
 import com.github.dockerjava.api.model.Frame;
@@ -13,14 +16,8 @@ import com.miniframe.core.ExecProcessFlow;
 import com.miniframe.core.ext.UtilTools;
 import com.miniframe.generate.business.es.model.ES0013BaseModel;
 import com.miniframe.mappers.es.dao.EsMapper;
-import com.miniframe.model.es.EsProCom;
-import com.miniframe.model.es.EsProJob;
-import com.miniframe.model.es.EsProResultKey;
-import com.miniframe.model.es.EsProResultValue;
-import com.miniframe.model.es.dao.EsProComConMapper;
-import com.miniframe.model.es.dao.EsProJobMapper;
-import com.miniframe.model.es.dao.EsProResultKeyMapper;
-import com.miniframe.model.es.dao.EsProResultValueMapper;
+import com.miniframe.model.es.*;
+import com.miniframe.model.es.dao.*;
 import com.miniframe.tools.XIFileUtils;
 import com.miniframe.tools.docker.DockerExe;
 import es.service.LogService;
@@ -44,7 +41,20 @@ public class ES0013Service extends ES0013BaseModel implements ExecProcessFlow {
 		XIFileUtils.mkdir(XIFileUtils.getRootPathStr()+"/es/"+pid+"/Calculate");
 		XIFileUtils.mkdir(XIFileUtils.getRootPathStr()+"/es/"+pid+"/Calculate/Geometry");//几何路径
 		TemplateGenerator.createPipenetXml(pid);
-
+		EsMapper esMapper = UtilTools.getBean(EsMapper.class);
+		Integer maxser =esMapper.getProJobSer(pid);
+		maxser=maxser==null?0:maxser;
+		String jobId = insertJob(pid,maxser);
+		run(pid,jobId,maxser+1);
+	}
+	private String updateJob(String jobId) {
+		EsProJobMapper epjDao = UtilTools.getBean(EsProJobMapper.class);
+		EsProJob esjob =epjDao.selectByPrimaryKey(jobId);
+		esjob.setEndTime(new Date());
+		epjDao.updateByPrimaryKey(esjob);
+		return jobId;
+	}
+	private String insertJob(String pid,Integer maxser) {
 		EsProJobMapper epjDao = UtilTools.getBean(EsProJobMapper.class);
 		EsProJob esjob = new EsProJob();
 		String jobId = UtilTools.getUUid();
@@ -52,20 +62,17 @@ public class ES0013Service extends ES0013BaseModel implements ExecProcessFlow {
 		esjob.setPid(pid);
 		esjob.setStartTime(new Date());
 		esjob.setEndTime(new Date());
-		EsMapper esMapper = UtilTools.getBean(EsMapper.class);
-		Integer maxser =esMapper.getProJobSer(pid);
-		maxser=maxser==null?0:maxser;
+
 		esjob.setSer(maxser+1);
 		esjob.setUid(this.getA_eshead().getUserId());
 		esjob.setCreateTime(new Date());
 		esjob.setUpdateTime(new Date());
-		esjob.setRemark("");
 		epjDao.insert(esjob);
-		run(pid,jobId);
-
-
+		return jobId;
 	}
-	private void run(String pid,String jobId) throws Exception {
+
+	private void run(String pid,String jobId,Integer maxser) throws Exception {
+		LogService.clearLog(pid);
 		LogService.addLog(pid,"求解——————————————————开始");
 		DockerExe.stopDocker(pid);
 		DockerExe.run(pid);
@@ -105,6 +112,10 @@ public class ES0013Service extends ES0013BaseModel implements ExecProcessFlow {
 			});
 			LogService.addLog(pid,"求解——————————————————成功");
 			readFileSaveTb(pid,jobId);
+			mvFiles(pid, maxser);
+
+
+			updateJob(jobId);
 		} catch (Exception e) {
 			LogService.addLog(pid,"求解——————————————————失败");
 			e.printStackTrace();
@@ -113,9 +124,30 @@ public class ES0013Service extends ES0013BaseModel implements ExecProcessFlow {
 		});
 	}
 
+	private void mvFiles(String pid, Integer maxser) {
+		//文件移动
+		XIFileUtils.mkdir(XIFileUtils.getRootPathStr()+"/es/"+ pid +"/Calculate/"+ maxser);
+		Path directory = Paths.get(XIFileUtils.getRootPathStr()+"/es/"+ pid +"/Calculate"); // 替换为你的目录路径
+		try (Stream<Path> stream = Files.list(directory)) {
+			stream.forEach(path -> {
+				if (Files.isRegularFile(path)) { // 确保是普通文件
+					XIFileUtils.fileCopy(path.toString(),
+							XIFileUtils.getRootPathStr()+"/es/"+ pid +"/Calculate/"+ maxser +"/"+path.getFileName());
+					System.out.println("File: " + path.getFileName());
+				}
+			});
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
 	private void readFileSaveTb(String pid,String jobId) throws Exception{
-		EsMapper esMapper = UtilTools.getBean(EsMapper.class);
-		List<EsProCom> epcList = esMapper.selectEsProComListByPid(pid);
+		EsProComMapper pcdao = UtilTools.getBean(EsProComMapper.class);
+		EsProComSQLBuilder pcsb = new EsProComSQLBuilder();
+		EsProComSQLBuilder.Criteria pcsc = pcsb.createCriteria();
+		pcsc.andPidEqualTo(pid);
+		pcsc.andComIdNotEqualTo("-1");//排除模拟数据
+		List<EsProCom> epcList = pcdao.selectByExample(pcsb);
 		int step = 0;
 		for(int i=0;i<epcList.size();i++){
 			String fileName = epcList.get(i).getIdCode();