Bladeren bron

人员位置数据

huangxingxing 7 maanden geleden
bovenliggende
commit
109f3ea7c4
1 gewijzigde bestanden met toevoegingen van 57 en 19 verwijderingen
  1. 57 19
      src/main/java/com/miniframe/bisiness/system/D10036Service.java

+ 57 - 19
src/main/java/com/miniframe/bisiness/system/D10036Service.java

@@ -26,33 +26,72 @@ public class D10036Service extends D10036BaseModel implements ExecProcessFlow {
 		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<DWayResult> rs = rMapper.selectByExample(rsb);
+		if("平台".equals(accident.getSource())){
+			List<D_D10036_ROWS_RECODE> 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());
+				List<D_D10036_ROWS_NROWS_RECODE> nrows = findPtWayNode(r,row);
+			}
+			this.getD_d10036().setRows(rows);
+		}else{
+			List<D_D10036_ROWS_RECODE> 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());
+				List<D_D10036_ROWS_NROWS_RECODE> nrows = findWayNode(r);
+				List<D_D10036_ROWS_NRROWS_RECODE> nrrows = findWayNodeResult(r);
+				row.setNrows(nrows);
+				row.setNrrows(nrrows);
+				rows.add(row);
+			}
+			this.getD_d10036().setRows(rows);
+		}
 
-		List<D_D10036_ROWS_RECODE> 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());
-			List<D_D10036_ROWS_NROWS_RECODE> nrows = findWayNode(r);
-			List<D_D10036_ROWS_NRROWS_RECODE> nrrows = findWayNodeResult(r);
-			row.setNrows(nrows);
-			row.setNrrows(nrrows);
-			rows.add(row);
+	private List<D_D10036_ROWS_NROWS_RECODE> findPtWayNode(DWayResult r ,D_D10036_ROWS_RECODE row) {
+		DMwayMapper mwDao = UtilTools.getBean(DMwayMapper.class);
+		Integer mwid = Integer.valueOf(r.getWcode().replace("s",""));
+		DMway mw = mwDao.selectByPrimaryKey(mwid);
+		row.setName(mw.getLname());
+		List<D_D10036_ROWS_NROWS_RECODE> nrows =new ArrayList<>();
+		DMwaynodeMapper mwnDao = UtilTools.getBean(DMwaynodeMapper.class);
+		DMwaynodeSQLBuilder mwnsb = new DMwaynodeSQLBuilder();
+		DMwaynodeSQLBuilder.Criteria mwnsc = mwnsb.createCriteria();
+		mwnsc.andMwidEqualTo(mw.getId());
+		List<DMwaynode> mwnList =mwnDao.selectByExample(mwnsb);
+		for (DMwaynode n :mwnList) {
+			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);
 		}
-		this.getD_d10036().setRows(rows);
+		return nrows;
 	}
 
+
 	private List<D_D10036_ROWS_NROWS_RECODE> findWayNode(DWayResult r) {
 		DWayMapper wayMapper =UtilTools.getBean(DWayMapper.class);
 		DWaySQLBuilder wsb =new DWaySQLBuilder();
@@ -68,8 +107,7 @@ public class D10036Service extends D10036BaseModel implements ExecProcessFlow {
 		nsb.setOrderByClause("seq ASC");
 
 		List<DWaynode> nlist = nMapper.selectByExample(nsb);
-		for (DWaynode n :
-				nlist) {
+		for (DWaynode n :nlist) {
 			D_D10036_ROWS_NROWS_RECODE nr =new D_D10036_ROWS_NROWS_RECODE();
 			nr.setNcode(n.getNcode());
 			nr.setNid(n.getNid());