|  | @@ -0,0 +1,87 @@
 | 
	
		
			
				|  |  | +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 CRMFileRead {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    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);
 | 
	
		
			
				|  |  | +        sc.andTypeEqualTo(2);
 | 
	
		
			
				|  |  | +        sb.setOrderByClause("step asc");
 | 
	
		
			
				|  |  | +        List<MdoProComval> comvals =comvalDao.selectByExample(sb);
 | 
	
		
			
				|  |  | +        int con =0;
 | 
	
		
			
				|  |  | +        if(comvals!=null||!comvals.isEmpty()){
 | 
	
		
			
				|  |  | +            con=comvals.size();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        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+"," ");//替换多个空格为一个空格
 | 
	
		
			
				|  |  | +                if(line.startsWith("Zone")||line.startsWith("Title")){
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if(line.startsWith("Variables")){
 | 
	
		
			
				|  |  | +//                    line=line.replace("\"","");
 | 
	
		
			
				|  |  | +//                    line=line.replace("Variables =","").trim();
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if(line.startsWith("Nodes")){
 | 
	
		
			
				|  |  | +//                    line=line.replace("Nodes = ","").trim();
 | 
	
		
			
				|  |  | +                    size =Integer.valueOf(line.split(" ")[0]);
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if(i>con && i<size){
 | 
	
		
			
				|  |  | +                    String tvals=line.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
 | 
	
		
			
				|  |  | +                    String[] vals = tvals.split(" ");
 | 
	
		
			
				|  |  | +                    MdoProComval comval =new MdoProComval();
 | 
	
		
			
				|  |  | +                    comval.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | +                    comval.setPid(pid);
 | 
	
		
			
				|  |  | +                    comval.setStep(i);
 | 
	
		
			
				|  |  | +                    comval.setVars("v1 v2");
 | 
	
		
			
				|  |  | +                    comval.setVals(vals[0]+" "+vals[1]);
 | 
	
		
			
				|  |  | +                    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("v1 v2");
 | 
	
		
			
				|  |  | +                    comval2.setVals(vals[0]+" "+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();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |