CRMFileRead.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.miniframe.tools.file;
  2. import com.google.gson.Gson;
  3. import com.miniframe.core.ext.UtilTools;
  4. import com.miniframe.model.mdo.MdoProComval;
  5. import com.miniframe.model.mdo.MdoProComvalSQLBuilder;
  6. import com.miniframe.model.mdo.dao.MdoProComvalMapper;
  7. import com.miniframe.websocket.WebsocketEndPoint;
  8. import java.io.BufferedReader;
  9. import java.io.File;
  10. import java.io.FileReader;
  11. import java.io.IOException;
  12. import java.util.List;
  13. public class CRMFileRead {
  14. public static void readFile(File file, String pid) {
  15. MdoProComvalMapper comvalDao = UtilTools.getBean(MdoProComvalMapper.class);
  16. MdoProComvalSQLBuilder sb =new MdoProComvalSQLBuilder();
  17. MdoProComvalSQLBuilder.Criteria sc = sb.createCriteria();
  18. sc.andPidEqualTo(pid);
  19. sc.andTypeEqualTo(2);
  20. sb.setOrderByClause("step asc");
  21. List<MdoProComval> comvals =comvalDao.selectByExample(sb);
  22. int con =0;
  23. if(comvals!=null||!comvals.isEmpty()){
  24. con=comvals.size();
  25. }
  26. int i= 0;
  27. String line;
  28. // 使用try-with-resources语句确保资源被正确关闭
  29. try (BufferedReader br = new BufferedReader(new FileReader(file))) {
  30. int size=0;
  31. // 逐行读取,直到文件末尾
  32. while ((line = br.readLine()) != null) {
  33. line=line.trim().replaceAll("\\s+"," ").trim();//替换多个空格为一个空格
  34. if(line.startsWith("Title")){
  35. continue;
  36. }
  37. if(line.startsWith("Variables")){
  38. // line=line.replace("\"","");
  39. // line=line.replace("Variables =","").trim();
  40. continue;
  41. }
  42. if(line.startsWith("Zone")){
  43. continue;
  44. }
  45. if(line.startsWith("Nodes")){
  46. line=line.replace("Nodes = ","").trim();
  47. size =Integer.valueOf(line.split(" ")[0]);
  48. continue;
  49. }
  50. if(line.startsWith("DATAPACKING")){
  51. continue;
  52. }
  53. if(i>=size){
  54. break;
  55. }
  56. if(i>=con && i<size){
  57. String[] vals = line.split(" ");
  58. MdoProComval comval =new MdoProComval();
  59. comval.setId(UtilTools.getUUid());
  60. comval.setPid(pid);
  61. comval.setStep(i);
  62. comval.setVars("v1 v2");
  63. comval.setVals(vals[0]+" "+vals[1]);
  64. comval.setType(2);//"1-列表数据 2-几何数据 3-压力数据"
  65. comvalDao.insert(comval);
  66. WebsocketEndPoint webs = (WebsocketEndPoint) UtilTools.getBean("websocketEndPoint");
  67. Gson gson = new Gson();
  68. webs.sendMessageToUser(String.valueOf(pid),gson.toJson(comval));
  69. MdoProComval comval2 =new MdoProComval();
  70. comval2.setId(UtilTools.getUUid());
  71. comval2.setPid(pid);
  72. comval2.setStep(i);
  73. comval2.setVars("x cp");
  74. comval2.setVals(vals[0]+" "+vals[9]);
  75. comval2.setType(3);//"1-列表数据 2-几何数据 3-压力数据"
  76. comvalDao.insert(comval2);
  77. webs.sendMessageToUser(String.valueOf(pid),gson.toJson(comval2));
  78. }
  79. i++;
  80. }
  81. } catch (IOException e) {
  82. // 异常处理
  83. e.printStackTrace();
  84. }
  85. }
  86. }