huangxingxing 2 rokov pred
rodič
commit
58c7522c83

+ 14 - 2
src/main/java/com/miniframe/bisiness/system/AFT001Service.java

@@ -165,14 +165,14 @@ public class AFT001Service extends AFT001BaseModel implements ExecProcessFlow {
 				String jobPath = XIFileUtils.getRootPathStr()+ MFConstant.separator+solver.getPid();
 				String exePath = jobPath+ MFConstant.separator+"fem";
 				String exeOutPath = exePath+ MFConstant.separator+"data_out";
-					File file = new File(exeOutPath+MFConstant.separator+"dynamicResponse-transient1.vtk");
+				File file = new File(exeOutPath+MFConstant.separator+"dynamicResponse-transient"+step+".vtk");
 				if(!file.exists()){
 					throw new BusinessException("EB4000017");
 				}
 				JSONObject obj = new JSONObject();
 				obj.put("filePath", exeOutPath);
 				obj.put("fileType", "ascii");
-				obj.put("fileName", "dynamicResponse-transient1.vtk");
+				obj.put("fileName", "dynamicResponse-transient"+step+".vtk");
 				msg.setParamJson(obj.toString());
 			}
 		}else if(action.equals("ContourDisplay")){
@@ -308,6 +308,7 @@ public class AFT001Service extends AFT001BaseModel implements ExecProcessFlow {
 			}
 
 		}else if(action.equals("animation")){
+			delOldImg(solverConfigId, proId, action);
 			JSONObject obj = new JSONObject();
 			String hideZones =this.getA_aft001().getHideZones();
 			obj.put("hideZones",hideZones);
@@ -322,6 +323,17 @@ public class AFT001Service extends AFT001BaseModel implements ExecProcessFlow {
 		MFMqUtils.get(CaeMQ.class).sendCaein(XiJsonUtil.objectToJson(msg));
 
 	}
+
+	private void delOldImg(String solverConfigId, String proId, String action) {
+		AdiSolverConfigImgMapper configImgMapper= UtilTools.getBean(AdiSolverConfigImgMapper.class);
+		AdiSolverConfigImg img = new AdiSolverConfigImg();
+		img.setAnimationtype(getA_aft001().getAnimationType());
+		img.setAction(action);
+		img.setPid(proId);
+		img.setSolverConfigId(solverConfigId);
+		configImgMapper.delete(img);
+	}
+
 	/**
 	 * FEM 动画文件获取
 	 * @param proId

+ 33 - 8
src/main/java/com/miniframe/bisiness/system/AFT002Service.java

@@ -1,9 +1,17 @@
 package com.miniframe.bisiness.system;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
 import com.miniframe.generate.business.system.model.AFT002BaseModel;
+import com.miniframe.model.system.AdiSolver;
+import com.miniframe.model.system.AdiSolverConfig;
+import com.miniframe.model.system.dao.AdiSolverConfigMapper;
+import com.miniframe.model.system.dao.AdiSolverMapper;
+import com.miniframe.solverconfig.fem.FEMPath;
 import com.miniframe.solverconfig.hcfd.HcfdExe;
 import com.miniframe.solverconfig.hcfd.HcfdPath;
 
@@ -22,16 +30,33 @@ public class AFT002Service extends AFT002BaseModel implements ExecProcessFlow {
 		String usrId =this.getA_systemhead().getUserId();
 		String solverConfigId =getA_aft002().getSolverConfigId();
 		String proId =getA_aft002().getPid();
-		List<Integer> steplist = HcfdPath.hcfdTeps(proId);
-		String steps ="";
-		for (int i = 0; i < steplist.size(); i++) {
-			if(i==steplist.size()-1){
-				steps+=steplist.get(i);
-			}else{
-				steps+=steplist.get(i)+",";
+		AdiSolverConfigMapper configMapper = UtilTools.getBean(AdiSolverConfigMapper.class);
+		AdiSolverConfig config= configMapper.selectByPrimaryKey(solverConfigId);
+		if(config==null){
+			throw new BusinessException("EB4000011");
+		}
+		AdiSolverMapper solverMapper = UtilTools.getBean(AdiSolverMapper.class);
+		AdiSolver solver = solverMapper.selectByPrimaryKey(config.getSolverid());
+		if(solver==null){
+			throw new BusinessException("EB4000011");
+		}
+		List<Integer> steplist =new ArrayList<>();
+		if(solver.getSolverModel().equals("HCFDLab")){
+			steplist = HcfdPath.hcfdTeps(proId);
+		}else if(solver.getSolverModel().equals("FEMLab(结构力学)")){
+			steplist = FEMPath.femTeps(proId);
+		}
+		if(!steplist.isEmpty()) {
+			String steps = "";
+			for (int i = 0; i < steplist.size(); i++) {
+				if (i == steplist.size() - 1) {
+					steps += steplist.get(i);
+				} else {
+					steps += steplist.get(i) + ",";
+				}
 			}
+			this.getD_aft002().setSteps(steps);
 		}
-		this.getD_aft002().setSteps(steps);
 	}
 	
 	/**

+ 4 - 1
src/main/java/com/miniframe/service/mq/CaeMQ.java

@@ -119,6 +119,8 @@ public class CaeMQ extends CaeViewMFMqDynamic {
                         img.setAction(msg.getAction());
                         img.setAnimationtype(msg.getAnimationType());
                         configImgMapper.insert(img);
+                        img.setImg("");
+                        point.sendMessageToUser(msg.getProId(),XiJsonUtil.objectToJson(img));//发送加载进度
                     }else{
                         AdiSolverConfigImgMapper configImgMapper= UtilTools.getBean(AdiSolverConfigImgMapper.class);
                         AdiSolverConfigImg img =new AdiSolverConfigImg();
@@ -130,10 +132,11 @@ public class CaeMQ extends CaeViewMFMqDynamic {
                         img.setType(Processing.pre.getIndex());
                         img.setImg(msg.getImg());
                         configImgMapper.insert(img);
+                        point.sendMessageToUser(msg.getProId(),data);
                     }
 
                 }
-                point.sendMessageToUser(msg.getProId(),data);
+
 
             }catch (Exception e){
                 e.printStackTrace();

+ 11 - 1
src/test/java/com/miniframe/ApplicationTests.java

@@ -1,6 +1,9 @@
 package com.miniframe;
 
 import com.miniframe.comm.httpclientapater.A00000Test;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.model.system.AdiSolverConfigImg;
+import com.miniframe.model.system.dao.AdiSolverConfigImgMapper;
 import com.miniframe.utils.MFServiceUtils;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -21,7 +24,14 @@ class ApplicationTests {
 
     @Test
     void mybatisTest(){
-
+        AdiSolverConfigImgMapper configImgMapper= UtilTools.getBean(AdiSolverConfigImgMapper.class);
+
+        AdiSolverConfigImg img = new AdiSolverConfigImg();
+        img.setAnimationtype("ContourDisplay");
+        img.setAction("animation");
+        img.setPid("b84ed66c42da46a6b9c3fd14388161e0");
+        img.setSolverConfigId("ce3f6e1f28ef4eb5a4734344f7468107");
+        configImgMapper.delete(img);
     }
 
     @Test