Kaynağa Gözat

设备生成

huangxingxing 8 ay önce
ebeveyn
işleme
84818e551c

+ 5 - 1
src/main/java/com/miniframe/bisiness/system/D00008Service.java

@@ -88,7 +88,8 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
 
 
 		TemplateGenerator.createMonitor(aid,jid);//生成监测点文件
-
+		TemplateGenerator2.createDevice(aid,jid);//创建设备文件
+		LogService.addLog(accident,"device.ftl配置生成——————————————————成功");
 		if(accident.getStype().equals("Fire")){
 			TemplateGenerator2.createGeometry(aid,jid);
 			TemplateGenerator2.createEscape(aid,jid);
@@ -100,6 +101,9 @@ public class D00008Service extends D00008BaseModel implements ExecProcessFlow {
 			LogService.addLog(accident,"Fire.init配置生成——————————————————成功");
 			TemplateGenerator2.createFireEsccapeControl(aid,jid);
 			LogService.addLog(accident,"FireEscape.control配置生成——————————————————成功");
+
+			TemplateGenerator2.createFireEsccapeControl(aid,jid);
+
 			exeFire2(aid,jid);
 
 		}

+ 36 - 0
src/main/java/com/miniframe/template/DPumpVo.java

@@ -0,0 +1,36 @@
+package com.miniframe.template;
+
+import com.miniframe.model.system.DPump;
+import com.miniframe.model.system.DPumpHf;
+
+import java.util.List;
+
+public class DPumpVo {
+    private DPump pump;
+    private Integer num;
+    private List<DPumpHf> hfs;
+
+    public DPump getPump() {
+        return pump;
+    }
+
+    public void setPump(DPump pump) {
+        this.pump = pump;
+    }
+
+    public Integer getNum() {
+        return num;
+    }
+
+    public void setNum(Integer num) {
+        this.num = num;
+    }
+
+    public List<DPumpHf> getHfs() {
+        return hfs;
+    }
+
+    public void setHfs(List<DPumpHf> hfs) {
+        this.hfs = hfs;
+    }
+}

+ 67 - 6
src/main/java/com/miniframe/template/TemplateGenerator2.java

@@ -2,6 +2,7 @@ package com.miniframe.template;
 
 import com.miniframe.core.exception.BusinessException;
 import com.miniframe.core.ext.UtilTools;
+import com.miniframe.dbtransfer.DVentdoorDbTransfer;
 import com.miniframe.model.system.*;
 import com.miniframe.model.system.dao.*;
 import com.miniframe.tools.XIFileUtils;
@@ -562,16 +563,76 @@ public class TemplateGenerator2 {
         fileWriter.close();
     }
 
+    /**
+     * 设备信息
+     * @param aid
+     * @param jid
+     * @throws IOException
+     * @throws TemplateException
+     */
+    public static void createDevice(Integer aid, Integer jid) throws IOException, TemplateException {
+        Configuration cfg = new Configuration(Configuration.VERSION_2_3_0);
+        // 设置模板所在目录
+        cfg.setClassForTemplateLoading(TemplateGenerator2.class, "/templates");
+        // 获取模板对象
+        Template template = cfg.getTemplate("device.ftl");
+        // 定义数据模型(Map)
+        Map<String, Object> dataModel = new HashMap<>();
+
+
+        DVentfanMapper fanDao =UtilTools.getBean(DVentfanMapper.class);
+        DVentfanSQLBuilder fansb =new DVentfanSQLBuilder();
+        DVentfanSQLBuilder.Criteria fansc = fansb.createCriteria();
+        List<DVentfan> fans =fanDao.selectByExample(fansb);
+
+        DVentdoorMapper doorDao =UtilTools.getBean(DVentdoorMapper.class);
+        DVentdoorSQLBuilder doorsb =new DVentdoorSQLBuilder();
+        DVentdoorSQLBuilder.Criteria doorsc = doorsb.createCriteria();
+        doorsc.andAidEqualTo(aid);
+        List<DVentdoor> doors =doorDao.selectByExample(doorsb);
+
+        DPumpMapper pDao =UtilTools.getBean(DPumpMapper.class);
+        DPumpSQLBuilder psb =new DPumpSQLBuilder();
+        DPumpSQLBuilder.Criteria psc =psb.createCriteria();
+        List<DPump> dPumpList =pDao.selectByExample(psb);
+
+        DPumpHfMapper hfDao =UtilTools.getBean(DPumpHfMapper.class);
+        DPumpHfSQLBuilder hfsb =new DPumpHfSQLBuilder();
+        DPumpHfSQLBuilder.Criteria hfsc = hfsb.createCriteria();
 
-    public static void main(String[] args) throws Exception {
-//        TemplateGenerator.createWaterRunsh(5);
+        List<DPumpVo> pumps= new ArrayList<>();
+        dPumpList.forEach(dPump -> {
+            DPumpVo vo =new DPumpVo();
+            vo.setPump(dPump);
+            hfsb.clear();
+            hfsc.andPumpidEqualTo(dPump.getId());
+            hfsb.setOrderByClause("hight");
+            List<DPumpHf> hfs =hfDao.selectByExample(hfsb);
+            vo.setHfs(hfs);
+            vo.setNum(hfs.size());
+            pumps.add(vo);
+        });
 
-        float myFloat = 495545.603f;
-        String formattedString = String.format("%.32f", myFloat);
-        System.out.println(myFloat); // 输出: 123.46
-        System.out.println(formattedString); // 输出: 123.46
+
+        dataModel.put("fannum",fans.size());//风机数量
+        dataModel.put("fans",fans);//风机
+
+        dataModel.put("doornum",doors.size());//风门数量
+        dataModel.put("doors",doors);//风门
+
+        dataModel.put("pumps",pumps);//水泵
+
+
+        // 将数据模型传入模板进行处理
+        StringWriter writer = new StringWriter();
+        template.process(dataModel, writer);
+        mkDirs(aid, jid, "/fire");
+        FileWriter fileWriter = new FileWriter(BPATH + "/" + aid + "/" + jid  + "/device.txt");
+        fileWriter.write(writer.toString());
+        fileWriter.close();
     }
 
+
     public static void createGasControl(Integer aid, Integer jid, Integer gid, String totaltime,
                                         String dt, String dx, String reportstep, String interactionstep,
                                         String cocodes) throws IOException, TemplateException {

+ 15 - 0
src/main/resources/templates/device.ftl

@@ -0,0 +1,15 @@
+Ventfan number:${fannum}
+<#list fans as vo>
+${vo.code},${vo.pcode},${vo.site},${vo.pa},${vo.onoff}
+</#list>
+Ventdoor number:${doornum}
+<#list doors as vo>
+${vo.code},${vo.pcode},${vo.site},${vo.dragcoe},${vo.onoff}
+</#list>
+pump number:${pumpnum}
+<#list pumps as vo>
+${vo.pump.code},${vo.pump..pcode},${vo.pump..site},${vo.pump..onoff},${vo.pump..openhig},${vo.pump..closehig},${vo.num}
+<#list vo.hfs as hf>
+${hf.hight},${hf.flow}
+</#list>
+</#list>