huangxingxing před 6 měsíci
rodič
revize
927cf3b621

+ 2 - 0
src/main/java/com/miniframe/bisiness/mdo/MDO0039Service.java

@@ -29,6 +29,7 @@ import com.miniframe.tools.XiJsonUtil;
 import com.miniframe.tools.docker.DockerExe;
 import com.miniframe.tools.file.FileMonitor;
 import com.miniframe.tools.file.SurromdaoFileListener;
+import com.miniframe.tools.file.SurromdaoFileRead;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
 import lombok.SneakyThrows;
@@ -172,6 +173,7 @@ public class MDO0039Service extends MDO0039BaseModel implements ExecProcessFlow
 		}
 			try {
 				fileMonitor.stop();
+				SurromdaoFileRead.readFile(new File("/cephfs/mdo/"+pid+"/in/myid_0/surromdao_history_all.dat"),pid);
 			} catch (Exception e) {
 				e.printStackTrace();
 			}

+ 3 - 45
src/main/java/com/miniframe/tools/file/SurromdaoFileListener.java

@@ -25,54 +25,12 @@ public class SurromdaoFileListener extends FileAlterationListenerAdaptor {
     public void onFileChange(File file) {
         String compressedPath = file.getAbsolutePath();
         if(filename.equals(file.getName())){
-            MdoProComvalMapper comvalDao = UtilTools.getBean(MdoProComvalMapper.class);
-            MdoProComvalSQLBuilder sb =new MdoProComvalSQLBuilder();
-            MdoProComvalSQLBuilder.Criteria sc = sb.createCriteria();
-            sc.andPidEqualTo(pid);
-            sb.setOrderByClause("step asc");
-            List<MdoProComval> comvals =comvalDao.selectByExample(sb);
-            int con =0;
-            if(comvals!=null||!comvals.isEmpty()){
-                con=comvals.size();
-            }
-            int i= 0;
-
-            // 使用try-with-resources语句确保资源被正确关闭
-            try (BufferedReader br = new BufferedReader(new FileReader(file))) {
-                String line;
-                // 逐行读取,直到文件末尾
-                while ((line = br.readLine()) != null) {
-                    if(i ==0){
-                        line=line.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
-                        line=line.replace(" / ","/");
-                        line1=line.replace("阻力系数Cdconstraint","阻力系数Cd constraint");
-                        // 处理每一行数据
-                        System.out.println(line);
-                    }
-                    if(i>con){
-                        String tvals=line.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
-                        MdoProComval comval =new MdoProComval();
-                        comval.setId(UtilTools.getUUid());
-                        comval.setPid(pid);
-                        comval.setStep(String.valueOf(i));
-                        comval.setVars(line1);
-                        comval.setVals(tvals);
-                        comvalDao.insert(comval);
+            SurromdaoFileRead.readFile(file,pid);
+        }
+    }
 
-                        WebsocketEndPoint webs =  (WebsocketEndPoint) UtilTools.getBean("websocketEndPoint");
-                        Gson gson = new Gson();
-                        webs.sendMessageToUser(String.valueOf(pid),gson.toJson(comval));
 
-                    }
-                    i++;
 
-                }
-            } catch (IOException e) {
-                // 异常处理
-                e.printStackTrace();
-            }
-        }
-    }
     @Override
     public void onFileCreate(File file) {
         String compressedPath = file.getAbsolutePath();

+ 67 - 0
src/main/java/com/miniframe/tools/file/SurromdaoFileRead.java

@@ -0,0 +1,67 @@
+package com.miniframe.tools.file;
+
+import com.google.gson.Gson;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.model.mdo.MdoProComval;
+import com.miniframe.model.mdo.MdoProComvalSQLBuilder;
+import com.miniframe.model.mdo.dao.MdoProComvalMapper;
+import com.miniframe.websocket.WebsocketEndPoint;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.List;
+
+public class SurromdaoFileRead {
+
+    public static void readFile(File file, String pid) {
+        String line1="";
+        MdoProComvalMapper comvalDao = UtilTools.getBean(MdoProComvalMapper.class);
+        MdoProComvalSQLBuilder sb =new MdoProComvalSQLBuilder();
+        MdoProComvalSQLBuilder.Criteria sc = sb.createCriteria();
+        sc.andPidEqualTo(pid);
+        sb.setOrderByClause("step asc");
+        List<MdoProComval> comvals =comvalDao.selectByExample(sb);
+        int con =0;
+        if(comvals!=null||!comvals.isEmpty()){
+            con=comvals.size();
+        }
+        int i= 0;
+
+        // 使用try-with-resources语句确保资源被正确关闭
+        try (BufferedReader br = new BufferedReader(new FileReader(file))) {
+            String line;
+            // 逐行读取,直到文件末尾
+            while ((line = br.readLine()) != null) {
+                if(i ==0){
+                    line=line.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
+                    line=line.replace(" / ","/");
+                    line1=line.replace("阻力系数Cdconstraint","阻力系数Cd constraint");
+                    // 处理每一行数据
+                    System.out.println(line);
+                }
+                if(i>con){
+                    String tvals=line.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
+                    MdoProComval comval =new MdoProComval();
+                    comval.setId(UtilTools.getUUid());
+                    comval.setPid(pid);
+                    comval.setStep(String.valueOf(i));
+                    comval.setVars(line1);
+                    comval.setVals(tvals);
+                    comvalDao.insert(comval);
+
+                    WebsocketEndPoint webs =  (WebsocketEndPoint) UtilTools.getBean("websocketEndPoint");
+                    Gson gson = new Gson();
+                    webs.sendMessageToUser(String.valueOf(pid),gson.toJson(comval));
+
+                }
+                i++;
+
+            }
+        } catch (IOException e) {
+            // 异常处理
+            e.printStackTrace();
+        }
+    }
+}