ソースを参照

添加求解控制

huangxingxing 1 年間 前
コミット
81f21ac832

+ 1 - 16
src/main/java/com/miniframe/bisiness/system/D00002Service.java

@@ -47,22 +47,7 @@ public class D00002Service extends D00002BaseModel implements ExecProcessFlow {
 		int aid=projectDao.insertSelective(da);
 
 		accident= projectDao.selectOneByExample(asb);
-		//初始化 NodeVal
-		DNodeValMapper dnvm= UtilTools.getBean(DNodeValMapper.class);
-		DNodeMapper dnm = UtilTools.getBean(DNodeMapper.class);
-		List<DNode> nlist = dnm.selectAll();
-		for (DNode dn:nlist) {
-			DNodeVal nv = new DNodeVal();
-			nv.setAid(accident.getId());
-			nv.setNid(dn.getId());
-			nv.setNname(dn.getName());
-			nv.setVal1(0.0f);
-			nv.setVal2(300.0f);
-			nv.setVal3(0.0f);
-			nv.setVal4(0.0f);
-			nv.setNtype(dn.getNtype());
-			dnvm.insertSelective(nv);
-		}
+
 	}
 	
 	/**

+ 64 - 21
src/main/java/com/miniframe/bisiness/system/D00008Service.java

@@ -3,12 +3,11 @@ package com.miniframe.bisiness.system;
 import com.miniframe.core.ExecProcessFlow;
 import com.miniframe.core.ext.UtilTools;
 import com.miniframe.generate.business.system.model.D00008BaseModel;
-import com.miniframe.model.system.DAccident;
-import com.miniframe.model.system.DAccidentSQLBuilder;
-import com.miniframe.model.system.DJob;
-import com.miniframe.model.system.DJobSQLBuilder;
+import com.miniframe.model.system.*;
 import com.miniframe.model.system.dao.DAccidentMapper;
 import com.miniframe.model.system.dao.DJobMapper;
+import com.miniframe.model.system.dao.DNodeMapper;
+import com.miniframe.model.system.dao.DNodeValMapper;
 import com.miniframe.service.impl.FileServiceImpl;
 import com.miniframe.template.TemplateGenerator;
 import com.miniframe.tools.XIDateTimeUtils;
@@ -19,6 +18,7 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
 
@@ -47,30 +47,22 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
 		String dx =this.getA_d00008().getDx();
 		String reportstep =this.getA_d00008().getReportstep();
 		String interactionstep =this.getA_d00008().getInteractionstep();
-
+		String acctime =this.getA_d00008().getAcctime();
 		DAccidentMapper accidentDao  = UtilTools.getBean(DAccidentMapper.class);
 		DAccident accident= accidentDao.selectByPrimaryKey(aid);
 		DJobMapper dJobDao = UtilTools.getBean(DJobMapper.class);
-		DJob job =new DJob();
-		job.setAid(aid);
-		job.setTotaltime(totaltime);
-		job.setDt(dt);
-		job.setDx(dx);
-		job.setReportstep(reportstep);
-		job.setInteractionstep(interactionstep);
-		job.setStarttime(XIDateTimeUtils.getNowStr());
-		job.setState("0");//未执行
+
+
+		DJob job = CreateJob(aid, totaltime, dt, dx, reportstep, interactionstep, acctime);
 		dJobDao.insertSelective(job);
 		//获取最新JOB
-		DJobSQLBuilder jsb = new DJobSQLBuilder();
-		DJobSQLBuilder.Criteria jsc =jsb.createCriteria();
-		jsc.andAidEqualTo(aid);
-		jsb.setOrderByClause("starttime desc");
-		DJob newJob= dJobDao.selectByExample(jsb).get(0);
+		DJob newJob = getNewJob(aid, dJobDao);
 		Integer jid =newJob.getId();
 		//存储最新求解ID
-		accident.setJid(jid);
-		accidentDao.updateByPrimaryKey(accident);
+		changeAccident(accidentDao, accident, jid);
+		//获取传感器数据
+		//TODO:  需要从第三方获取
+		initDNodeVal(aid);
 
 		if(accident.getStype().equals("Fire")){
 			TemplateGenerator.createFireControl(aid,jid,totaltime,dt,dx,reportstep,interactionstep);
@@ -86,6 +78,57 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
 		}
 
 	}
+
+	private DJob CreateJob(Integer aid, String totaltime, String dt, String dx, String reportstep, String interactionstep, String acctime) {
+		DJob job =new DJob();
+		job.setAid(aid);
+		job.setAcctime(acctime);
+		job.setTotaltime(totaltime);
+		job.setDt(dt);
+		job.setDx(dx);
+		job.setReportstep(reportstep);
+		job.setInteractionstep(interactionstep);
+		job.setStarttime(XIDateTimeUtils.getNowStr());
+		job.setState("0");//未执行
+		return job;
+	}
+
+	private DJob getNewJob(Integer aid, DJobMapper dJobDao) {
+		DJobSQLBuilder jsb = new DJobSQLBuilder();
+		DJobSQLBuilder.Criteria jsc =jsb.createCriteria();
+		jsc.andAidEqualTo(aid);
+		jsb.setOrderByClause("starttime desc");
+		DJob newJob= dJobDao.selectByExample(jsb).get(0);
+		return newJob;
+	}
+
+	private void changeAccident(DAccidentMapper accidentDao, DAccident accident, Integer jid) {
+		accident.setJid(jid);
+		accidentDao.updateByPrimaryKey(accident);
+	}
+
+	private void initDNodeVal(Integer aid) {
+		DNodeValMapper dnvm= UtilTools.getBean(DNodeValMapper.class);
+		DNodeValSQLBuilder sb =new DNodeValSQLBuilder();
+		DNodeValSQLBuilder.Criteria sc =sb.createCriteria();
+		sc.andAidEqualTo(aid);
+		dnvm.deleteByExample(sb);
+		DNodeMapper dnm = UtilTools.getBean(DNodeMapper.class);
+		List<DNode> nlist = dnm.selectAll();
+		for (DNode dn:nlist) {
+			DNodeVal nv = new DNodeVal();
+			nv.setAid(aid);
+			nv.setNid(dn.getId());
+			nv.setNname(dn.getName());
+			nv.setVal1(0.0f);
+			nv.setVal2(300.0f);
+			nv.setVal3(0.0f);
+			nv.setVal4(0.0f);
+			nv.setNtype(dn.getNtype());
+			dnvm.insertSelective(nv);
+		}
+	}
+
 	//异步执行
 	@SneakyThrows
 	public void exeWater(Integer aid,Integer jid) throws Exception{