D10036Service.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.miniframe.bisiness.system;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Map;
  5. import com.miniframe.core.ExecProcessFlow;
  6. import com.miniframe.core.ext.UtilTools;
  7. import com.miniframe.generate.business.system.model.D10036BaseModel;
  8. import com.miniframe.generate.comm.system.D_D10036_ROWS_NROWS_RECODE;
  9. import com.miniframe.generate.comm.system.D_D10036_ROWS_NRROWS_RECODE;
  10. import com.miniframe.generate.comm.system.D_D10036_ROWS_RECODE;
  11. import com.miniframe.model.system.*;
  12. import com.miniframe.model.system.dao.*;
  13. /**
  14. * 基础系统,“路径求解结果获取”逻辑处理(重新生成不覆盖)。
  15. */
  16. public class D10036Service extends D10036BaseModel implements ExecProcessFlow {
  17. private static final long serialVersionUID = -7051358269847459502L;
  18. /**
  19. * 基础系统,“路径求解结果获取”业务核心处理
  20. */
  21. public void transExecute() throws Exception {
  22. Integer aid= getA_d10036().getAid();
  23. DAccidentMapper accidentDao = UtilTools.getBean(DAccidentMapper.class);
  24. DAccident accident= accidentDao.selectByPrimaryKey(aid);
  25. DWayResultMapper rMapper = UtilTools.getBean(DWayResultMapper.class);
  26. DWayResultSQLBuilder rsb =new DWayResultSQLBuilder();
  27. DWayResultSQLBuilder.Criteria rsc =rsb.createCriteria();
  28. rsc.andJidEqualTo(accident.getJid());
  29. List<DWayResult> rs = rMapper.selectByExample(rsb);
  30. List<D_D10036_ROWS_RECODE> rows =new ArrayList<>();
  31. for (DWayResult r:rs) {
  32. D_D10036_ROWS_RECODE row =new D_D10036_ROWS_RECODE();
  33. row.setAid(r.getAid());
  34. row.setJid(r.getJid());
  35. row.setPerson(r.getPerson());
  36. row.setSafety(r.getSafety());
  37. row.setFlag(r.getFlag());
  38. row.setWcode(r.getWcode());
  39. List<D_D10036_ROWS_NROWS_RECODE> nrows = findWayNode(r);
  40. List<D_D10036_ROWS_NRROWS_RECODE> nrrows = findWayNodeResult(r);
  41. row.setNrows(nrows);
  42. row.setNrrows(nrrows);
  43. rows.add(row);
  44. }
  45. this.getD_d10036().setRows(rows);
  46. }
  47. private List<D_D10036_ROWS_NROWS_RECODE> findWayNode(DWayResult r) {
  48. DWayMapper wayMapper =UtilTools.getBean(DWayMapper.class);
  49. DWaySQLBuilder wsb =new DWaySQLBuilder();
  50. DWaySQLBuilder.Criteria wsc = wsb.createCriteria();
  51. wsc.andCodeEqualTo(r.getWcode());
  52. DWay way =wayMapper.selectOneByExample(wsb);
  53. List<D_D10036_ROWS_NROWS_RECODE> nrows =new ArrayList<>();
  54. DWaynodeMapper nMapper = UtilTools.getBean(DWaynodeMapper.class);
  55. DWaynodeSQLBuilder nsb =new DWaynodeSQLBuilder();
  56. DWaynodeSQLBuilder.Criteria nsc =nsb.createCriteria();
  57. nsc.andWidEqualTo(way.getId());
  58. nsb.setOrderByClause("seq ASC");
  59. List<DWaynode> nlist = nMapper.selectByExample(nsb);
  60. for (DWaynode n :
  61. nlist) {
  62. D_D10036_ROWS_NROWS_RECODE nr =new D_D10036_ROWS_NROWS_RECODE();
  63. nr.setNcode(n.getNcode());
  64. nr.setNid(n.getNid());
  65. nr.setNname(n.getNname());
  66. DNodeMapper dNodeMapper = UtilTools.getBean(DNodeMapper.class);
  67. DNode dn=dNodeMapper.selectByPrimaryKey(n.getNid());
  68. nr.setX(dn.getX());
  69. nr.setY(dn.getY());
  70. nr.setZ(dn.getZ());
  71. nrows.add(nr);
  72. }
  73. return nrows;
  74. }
  75. private List<D_D10036_ROWS_NRROWS_RECODE> findWayNodeResult(DWayResult r) {
  76. List<D_D10036_ROWS_NRROWS_RECODE> nrrows =new ArrayList<>();
  77. DWaynodeResultMapper nrMapper =UtilTools.getBean(DWaynodeResultMapper.class);
  78. DWaynodeResultSQLBuilder nrsb =new DWaynodeResultSQLBuilder();
  79. DWaynodeResultSQLBuilder.Criteria nrsc = nrsb.createCriteria();
  80. nrsc.andWcodeEqualTo(r.getWcode());
  81. List<DWaynodeResult> nrList =nrMapper.selectByExample(nrsb);
  82. for (DWaynodeResult nr :
  83. nrList) {
  84. D_D10036_ROWS_NRROWS_RECODE nrrow =new D_D10036_ROWS_NRROWS_RECODE();
  85. nrrow.setNcode(nr.getNcode());
  86. nrrow.setV1(nr.getV1());
  87. nrrow.setV2(nr.getV2());
  88. nrrow.setV3(nr.getV3());
  89. nrrows.add(nrrow);
  90. }
  91. return nrrows;
  92. }
  93. /**
  94. * 基础系统,“路径求解结果获取”业务前处理
  95. */
  96. public void preTransFlow() throws Exception {
  97. this.validater();
  98. }
  99. /**
  100. * 基础系统,“路径求解结果获取”业务后处理
  101. */
  102. public void afterTransFlow() throws Exception {
  103. }
  104. /**
  105. * 基础系统,“路径求解结果获取”逻辑入口处理方法
  106. */
  107. @SuppressWarnings("rawtypes")
  108. @Override
  109. public Map execute(Map vars) throws Exception {
  110. this.setTransMap(vars);
  111. preTransFlow();// 执行业务开始的规则检查和校验
  112. transExecute();// 执行核心业务段
  113. afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
  114. return this.getTransMap();
  115. }
  116. }