C00005Service.java 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.miniframe.bisiness.system;
  2. import java.util.List;
  3. import java.util.Map;
  4. import com.fasterxml.jackson.core.JsonProcessingException;
  5. import com.miniframe.core.ExecProcessFlow;
  6. import com.miniframe.core.exception.BusinessException;
  7. import com.miniframe.core.ext.UtilTools;
  8. import com.miniframe.generate.business.system.model.C00005BaseModel;
  9. import com.miniframe.model.system.*;
  10. import com.miniframe.model.system.dao.AdiModelingMapper;
  11. import com.miniframe.model.system.dao.AdiProjectMapper;
  12. import com.miniframe.model.system.dao.AdiSolverConfigMapper;
  13. import com.miniframe.model.system.dao.AdiSolverMapper;
  14. import com.miniframe.solveconfig.fem.FEMParam;
  15. import com.miniframe.solveconfig.hcfd.HcfdParam;
  16. import com.miniframe.tools.XiJsonUtil;
  17. /**
  18. * 基础系统,“求解”逻辑处理(重新生成不覆盖)。
  19. */
  20. public class C00005Service extends C00005BaseModel implements ExecProcessFlow {
  21. private static final long serialVersionUID = -7051358269847459502L;
  22. /**
  23. * 基础系统,“求解”业务核心处理
  24. */
  25. public void transExecute() throws Exception {
  26. String solverConfigId = getA_c00005().getSolverConfigid();
  27. String uid =getA_systemhead().getUserId();
  28. AdiSolverConfigMapper configMapper = UtilTools.getBean(AdiSolverConfigMapper.class);
  29. AdiSolverConfig config = configMapper.selectByPrimaryKey(solverConfigId);
  30. if(null==config){
  31. throw new BusinessException("EB4000007");
  32. }
  33. AdiSolverMapper solverMapper = UtilTools.getBean(AdiSolverMapper.class);
  34. AdiSolver solver = solverMapper.selectByPrimaryKey(config.getSolverid());
  35. if(null==solver){
  36. throw new BusinessException("EB4000009");
  37. }
  38. AdiProjectMapper projectMapper = UtilTools.getBean(AdiProjectMapper.class);
  39. AdiProject project = projectMapper.selectByPrimaryKey(config.getPid());
  40. if(null==project){
  41. throw new BusinessException("EB4000008");
  42. }
  43. AdiModelingMapper modelingMapper = UtilTools.getBean(AdiModelingMapper.class);
  44. AdiModelingSQLBuilder modelingsb = new AdiModelingSQLBuilder();
  45. AdiModelingSQLBuilder.Criteria modelingsc = modelingsb.createCriteria();
  46. modelingsc.andPidEqualTo(project.getId());
  47. List<AdiModeling> modelingList = modelingMapper.selectByExample(modelingsb);
  48. if(null==modelingList||modelingList.isEmpty()){
  49. throw new BusinessException("EB4000010");
  50. }
  51. AdiModeling modeling = modelingList.get(0);
  52. if(solver.getCompany().equals("Adi.SimWork")&& solver.getSolverModel().equals("HCFDLab")){
  53. HcfdParam param = XiJsonUtil.jsonToPojo(config.getParameterObj(),HcfdParam.class);
  54. }
  55. if(solver.getCompany().equals("Adi.SimWork")&& solver.getSolverModel().equals("FEMLab(结构力学)")){
  56. FEMParam param =XiJsonUtil.jsonToPojo(config.getParameterObj(),FEMParam.class);
  57. }
  58. }
  59. /**
  60. * 基础系统,“求解”业务前处理
  61. */
  62. public void preTransFlow() throws Exception {
  63. this.validater();
  64. }
  65. /**
  66. * 基础系统,“求解”业务后处理
  67. */
  68. public void afterTransFlow() throws Exception {
  69. }
  70. /**
  71. * 基础系统,“求解”逻辑入口处理方法
  72. */
  73. @SuppressWarnings("rawtypes")
  74. @Override
  75. public Map execute(Map vars) throws Exception {
  76. this.setTransMap(vars);
  77. preTransFlow();// 执行业务开始的规则检查和校验
  78. transExecute();// 执行核心业务段
  79. afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
  80. return this.getTransMap();
  81. }
  82. }