123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package com.miniframe.bisiness.system;
- import java.io.File;
- import java.io.IOException;
- import java.util.List;
- import java.util.Map;
- import com.miniframe.constant.MFConstant;
- import com.miniframe.core.ExecProcessFlow;
- import com.miniframe.core.exception.BusinessException;
- import com.miniframe.core.ext.UtilTools;
- import com.miniframe.generate.business.system.model.FEM001BaseModel;
- import com.miniframe.model.system.AdiModeling;
- import com.miniframe.model.system.AdiModelingSQLBuilder;
- import com.miniframe.model.system.SysFile;
- import com.miniframe.model.system.dao.AdiModelingMapper;
- import com.miniframe.model.system.dao.SysFileMapper;
- import com.miniframe.solverconfig.fem.VTK;
- import com.miniframe.tools.CaeFileUtils;
- import com.miniframe.tools.XIFileUtils;
- /**
- * 基础系统,“bdf文件绑定”逻辑处理(重新生成不覆盖)。
- */
- public class FEM001Service extends FEM001BaseModel implements ExecProcessFlow {
-
- private static final long serialVersionUID = -7051358269847459502L;
-
- /**
- * 基础系统,“bdf文件绑定”业务核心处理
- */
- public void transExecute() throws Exception {
- String pid =this.getA_fem001().getPid();
- String gridFileId =this.getA_fem001().getGridFileId();
- String usrId =this.getA_systemhead().getUserId();
- AdiModelingMapper modelingMapper = UtilTools.getBean(AdiModelingMapper.class);
- AdiModelingSQLBuilder sb = new AdiModelingSQLBuilder();
- AdiModelingSQLBuilder.Criteria sc =sb.createCriteria();
- sc.andPidEqualTo(pid);
- List<AdiModeling> modelings =modelingMapper.selectByExample(sb);
- SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
- if(modelings.isEmpty()){
- AdiModeling modeling =new AdiModeling();
- modeling.setId(UtilTools.getUUid());
- modeling.setPid(pid);
- modeling.setFemGridFile(gridFileId);
- modeling.setGridFileType("bdf");
- modeling.setUid(usrId);
- String vtkfileId = bdfToVtk(gridFileId, usrId, sysFileDAO);
- modeling.setVtkFile(vtkfileId);
- modelingMapper.insert(modeling);
- }else{
- AdiModeling modeling =modelings.get(0);
- if(!gridFileId.equals(modeling.getFemGridFile())) {
- CaeFileUtils.deleFile(modeling.getFemGridFile());
- }
- CaeFileUtils.deleFile(modeling.getVtkFile());
- modeling.setFemGridFile(gridFileId);
- modeling.setFemGridFileType("bdf");
- String vtkfileId = bdfToVtk(gridFileId, usrId, sysFileDAO);
- modeling.setVtkFile(vtkfileId);
- modelingMapper.updateByPrimaryKey(modeling);
- }
- }
- private String bdfToVtk(String gridFileId, String usrId, SysFileMapper sysFileDAO) throws IOException, BusinessException {
- SysFile bdfFile = sysFileDAO.selectByPrimaryKey(gridFileId);
- String bdfFilePath = XIFileUtils.getRootPathStr() + MFConstant.separator + bdfFile.getFilepath();
- File bfile = new File(bdfFilePath);
- String vtkfileId = UtilTools.getUUid();
- String vtkfilePath = VTK.CreateVTKFile(bfile, vtkfileId);
- CaeFileUtils.saveFile(vtkfileId, vtkfilePath, usrId, "vtk", "");
- return vtkfileId;
- }
- /**
- * 基础系统,“bdf文件绑定”业务前处理
- */
- public void preTransFlow() throws Exception {
- this.validater();
- }
-
- /**
- * 基础系统,“bdf文件绑定”业务后处理
- */
- public void afterTransFlow() throws Exception {
-
- }
-
- /**
- * 基础系统,“bdf文件绑定”逻辑入口处理方法
- */
- @SuppressWarnings("rawtypes")
- @Override
- public Map execute(Map vars) throws Exception {
- this.setTransMap(vars);
- preTransFlow();// 执行业务开始的规则检查和校验
- transExecute();// 执行核心业务段
- afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
- return this.getTransMap();
- }
- }
|