|
@@ -0,0 +1,112 @@
|
|
|
|
+package com.miniframe.tools.file;
|
|
|
|
+
|
|
|
|
+import com.google.gson.Gson;
|
|
|
|
+import com.miniframe.core.ext.UtilTools;
|
|
|
|
+import com.miniframe.model.mdo.MdoProAdflow;
|
|
|
|
+import com.miniframe.model.mdo.MdoProAdflowSQLBuilder;
|
|
|
|
+import com.miniframe.model.mdo.MdoProComval;
|
|
|
|
+import com.miniframe.model.mdo.MdoProComvalSQLBuilder;
|
|
|
|
+import com.miniframe.model.mdo.dao.MdoProAdflowMapper;
|
|
|
|
+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.ArrayList;
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
|
|
+public class AdflowFileRead {
|
|
|
|
+
|
|
|
|
+ public static void readFile(File file, String pid) {
|
|
|
|
+ MdoProAdflowMapper adfdao =UtilTools.getBean(MdoProAdflowMapper.class);
|
|
|
|
+ MdoProAdflowSQLBuilder asb = new MdoProAdflowSQLBuilder();
|
|
|
|
+ MdoProAdflowSQLBuilder.Criteria asc = asb.createCriteria();
|
|
|
|
+ asc.andPidEqualTo(pid);
|
|
|
|
+ MdoProAdflow adflow = adfdao.selectOneByExample(asb);
|
|
|
|
+
|
|
|
|
+ MdoProComvalMapper comvalDao = UtilTools.getBean(MdoProComvalMapper.class);
|
|
|
|
+ MdoProComvalSQLBuilder comvalsb = new MdoProComvalSQLBuilder();
|
|
|
|
+ MdoProComvalSQLBuilder.Criteria comvalsc = comvalsb.createCriteria();
|
|
|
|
+ comvalsc.andPidEqualTo(pid);
|
|
|
|
+ List<Integer> types = new ArrayList<>();
|
|
|
|
+ types.add(2);
|
|
|
|
+ types.add(3);
|
|
|
|
+ comvalsc.andTypeIn(types);
|
|
|
|
+ comvalDao.deleteByExample(comvalsb);
|
|
|
|
+
|
|
|
|
+ int i= 0;
|
|
|
|
+ String line;
|
|
|
|
+ // 使用try-with-resources语句确保资源被正确关闭
|
|
|
|
+ try (BufferedReader br = new BufferedReader(new FileReader(file))) {
|
|
|
|
+ int size=0;
|
|
|
|
+ // 逐行读取,直到文件末尾
|
|
|
|
+ while ((line = br.readLine()) != null) {
|
|
|
|
+ line=line.trim().replaceAll("\\s+"," ").trim();//替换多个空格为一个空格
|
|
|
|
+ if(line.startsWith("Title")){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(line.startsWith("Variables")){
|
|
|
|
+ //Variables = "CoordinateX" "CoordinateY" "CoordinateZ" "XoC" "YoC" "ZoC" "VelocityX" "VelocityY" "VelocityZ" "CoefPressure" "Mach"
|
|
|
|
+// line=line.replace("\"","");
|
|
|
|
+// line=line.replace("Variables =","").trim();
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(line.startsWith("Zone")){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(line.startsWith("Nodes")){
|
|
|
|
+ line=line.trim().replace("Nodes = ","");
|
|
|
|
+ size =i+Integer.valueOf(line.split(" ")[0]);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(line.startsWith("DATAPACKING")){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if(i>=size){
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ if(i<size){
|
|
|
|
+ String[] vals = line.split(" ");
|
|
|
|
+ MdoProComval comval =new MdoProComval();
|
|
|
|
+ comval.setId(UtilTools.getUUid());
|
|
|
|
+ comval.setPid(pid);
|
|
|
|
+ comval.setStep(i);
|
|
|
|
+ comval.setVars("v1 v2");
|
|
|
|
+ if("1".equals(adflow.getLiftindex())){//x
|
|
|
|
+ comval.setVals(vals[4]+" "+vals[5]);
|
|
|
|
+ }
|
|
|
|
+ if("2".equals(adflow.getLiftindex())){//y
|
|
|
|
+ comval.setVals(vals[3]+" "+vals[4]);
|
|
|
|
+ }
|
|
|
|
+ if("3".equals(adflow.getLiftindex())){//z
|
|
|
|
+ comval.setVals(vals[3]+" "+vals[4]);
|
|
|
|
+ }
|
|
|
|
+ comval.setType(2);//"1-列表数据 2-几何数据 3-压力数据"
|
|
|
|
+ comvalDao.insert(comval);
|
|
|
|
+ WebsocketEndPoint webs = (WebsocketEndPoint) UtilTools.getBean("websocketEndPoint");
|
|
|
|
+ Gson gson = new Gson();
|
|
|
|
+ webs.sendMessageToUser(String.valueOf(pid),gson.toJson(comval));
|
|
|
|
+
|
|
|
|
+ MdoProComval comval2 =new MdoProComval();
|
|
|
|
+ comval2.setId(UtilTools.getUUid());
|
|
|
|
+ comval2.setPid(pid);
|
|
|
|
+ comval2.setStep(i);
|
|
|
|
+ comval2.setVars("x cp");
|
|
|
|
+ comval2.setVals(vals[6]+" "+vals[9]);
|
|
|
|
+ comval2.setType(3);//"1-列表数据 2-几何数据 3-压力数据"
|
|
|
|
+ comvalDao.insert(comval2);
|
|
|
|
+ webs.sendMessageToUser(String.valueOf(pid),gson.toJson(comval2));
|
|
|
|
+ }
|
|
|
|
+ i++;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ // 异常处理
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|