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.ext.UtilTools; import com.miniframe.generate.business.system.model.D10036BaseModel; import com.miniframe.generate.comm.system.D_D10036_ROWS_NROWS_RECODE; import com.miniframe.generate.comm.system.D_D10036_ROWS_RECODE; import com.miniframe.model.system.*; import com.miniframe.model.system.dao.*; /** * 基础系统,“路径求解结果获取”逻辑处理(重新生成不覆盖)。 */ public class D10036Service extends D10036BaseModel implements ExecProcessFlow { private static final long serialVersionUID = -7051358269847459502L; /** * 基础系统,“路径求解结果获取”业务核心处理 */ public void transExecute() throws Exception { Integer aid= getA_d10036().getAid(); DAccidentMapper accidentDao = UtilTools.getBean(DAccidentMapper.class); DAccident accident= accidentDao.selectByPrimaryKey(aid); DWayResultMapper rMapper = UtilTools.getBean(DWayResultMapper.class); DWayResultSQLBuilder rsb =new DWayResultSQLBuilder(); DWayResultSQLBuilder.Criteria rsc =rsb.createCriteria(); rsc.andJidEqualTo(accident.getJid()); List rs = rMapper.selectByExample(rsb); List rows =new ArrayList<>(); for (DWayResult r:rs) { D_D10036_ROWS_RECODE row =new D_D10036_ROWS_RECODE(); row.setAid(r.getAid()); row.setJid(r.getJid()); row.setPerson(r.getPerson()); row.setSafety(r.getSafety()); row.setFlag(r.getFlag()); row.setWcode(r.getWcode()); DWayMapper wayMapper =UtilTools.getBean(DWayMapper.class); DWaySQLBuilder wsb =new DWaySQLBuilder(); DWaySQLBuilder.Criteria wsc = wsb.createCriteria(); wsc.andCodeEqualTo(r.getWcode()); DWay way =wayMapper.selectOneByExample(wsb); List nrows =new ArrayList<>(); DWaynodeMapper nMapper = UtilTools.getBean(DWaynodeMapper.class); DWaynodeSQLBuilder nsb =new DWaynodeSQLBuilder(); DWaynodeSQLBuilder.Criteria nsc =nsb.createCriteria(); nsc.andWidEqualTo(way.getId()); nsb.setOrderByClause("seq ASC"); List nlist = nMapper.selectByExample(nsb); for (DWaynode n : nlist) { D_D10036_ROWS_NROWS_RECODE nr =new D_D10036_ROWS_NROWS_RECODE(); nr.setNcode(n.getNcode()); nr.setNid(n.getNid()); nr.setNname(n.getNname()); DNodeMapper dNodeMapper = UtilTools.getBean(DNodeMapper.class); DNode dn=dNodeMapper.selectByPrimaryKey(n.getNid()); nr.setX(dn.getX()); nr.setY(dn.getY()); nr.setZ(dn.getZ()); nrows.add(nr); } row.setNrows(nrows); rows.add(row); } this.getD_d10036().setRows(rows); } /** * 基础系统,“路径求解结果获取”业务前处理 */ public void preTransFlow() throws Exception { this.validater(); } /** * 基础系统,“路径求解结果获取”业务后处理 */ public void afterTransFlow() throws Exception { } /** * 基础系统,“路径求解结果获取”逻辑入口处理方法 */ @SuppressWarnings("rawtypes") @Override public Map execute(Map vars) throws Exception { this.setTransMap(vars); preTransFlow();// 执行业务开始的规则检查和校验 transExecute();// 执行核心业务段 afterTransFlow();// 执行核心逻辑完成后的收尾逻辑 return this.getTransMap(); } }