| 
					
				 | 
			
			
				@@ -168,6 +168,12 @@ public class TemplateGenerator { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         vo.setXfoil(xfoil); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MdoProAdflow adflow = findAdflow(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         vo.setAdflow(adflow); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProMathfunc mathfunc = findMashfunc(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vo.setMathfunc(mathfunc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProTacs tacs = findTasc(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tacs.setThickness(tacs.getThickness().replace(",",";")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vo.setTacs(tacs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProFsi fsi =findFsi(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //不用生成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(xfoil==null&& adflow==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,14 +207,75 @@ public class TemplateGenerator { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             vo.setAdinvo(adinvo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             AdflowOutVo adoutvo = new AdflowOutVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            adoutvo.setCl(getValByParaListAndCode(adInoutList,"cl")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            adoutvo.setCd(getValByParaListAndCode(adInoutList,"cd")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            adoutvo.setCmz(getValByParaListAndCode(adInoutList,"cmz")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String cl = getValByParaListAndCode(adInoutList,"cl"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if("false".equals(cl)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscl(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscl(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setCl(cl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String cd = getValByParaListAndCode(adInoutList,"cd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if("false".equals(cd)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscd(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscd(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setCd(cd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String cmz = getValByParaListAndCode(adInoutList,"cmz"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if("false".equals(cmz)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscmz(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscmz(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setCmz(cmz); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String cmy = getValByParaListAndCode(adInoutList,"cmy"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if("false".equals(cmy)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscmy(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setIscmy(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                adoutvo.setCmy(cmy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             vo.setAdoutvo(adoutvo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(tacs!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<MdoProInoutPara> adInoutList = findMdoProInoutParas(pid, tacs.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TacsOutVo tacsoutvo =new TacsOutVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String mass = getValByParaListAndCode(adInoutList,"mass"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if("false".equals(mass)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setIsmass(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setIsmass(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setMass(mass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String ks_vmfailure = getValByParaListAndCode(adInoutList,"ks_vmfailure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if("false".equals(ks_vmfailure)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setIsks_vmfailure(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setIsks_vmfailure(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setKs_vmfailure(ks_vmfailure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String maxdeform = getValByParaListAndCode(adInoutList,"maxdeform"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if("false".equals(maxdeform)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setIsmaxdeform(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setIsmaxdeform(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tacsoutvo.setMaxdeform(maxdeform); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vo.setTacsoutvo(tacsoutvo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(mathfunc!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<MdoProInoutPara> adInoutList = findMdoProInoutParas(pid, tacs.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MathfuncVo mathfuncVo =new MathfuncVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mathfuncVo.setCd_mass(getValByParaListAndCode(adInoutList,"cd_mass")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vo.setMathfuncVo(mathfuncVo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MdoProCst cst = findCst(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         vo.setCst(cst); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -217,6 +284,33 @@ public class TemplateGenerator { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return vo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static MdoProFsi findFsi(String pid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProFsiMapper xdao = UtilTools.getBean(MdoProFsiMapper.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProFsiSQLBuilder xsb  = new MdoProFsiSQLBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProFsiSQLBuilder.Criteria xsc =xsb.createCriteria(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xsc.andPidEqualTo(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MdoProFsi> xList = xdao.selectByExample(xsb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProFsi fsi =null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(xList!=null&&!xList.isEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fsi=xList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return fsi; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static MdoProTacs findTasc(String pid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProTacsMapper xdao = UtilTools.getBean(MdoProTacsMapper.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProTacsSQLBuilder xsb  = new MdoProTacsSQLBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProTacsSQLBuilder.Criteria xsc =xsb.createCriteria(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xsc.andPidEqualTo(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MdoProTacs> xList = xdao.selectByExample(xsb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProTacs tacs =null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(xList!=null&&!xList.isEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            tacs=xList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return tacs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static List<MdoProInoutPara> findMdoProInoutParas(String pid, String fatherid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MdoProInoutParaMapper xdao = UtilTools.getBean(MdoProInoutParaMapper.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MdoProInoutParaSQLBuilder xsb  = new MdoProInoutParaSQLBuilder(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -234,10 +328,23 @@ public class TemplateGenerator { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(tList!=null&&!tList.isEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             value = tList.get(0).getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value ="false"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static MdoProMathfunc findMashfunc(String pid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProMathfuncMapper mdao = UtilTools.getBean(MdoProMathfuncMapper.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProMathfuncSQLBuilder sb  = new MdoProMathfuncSQLBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProMathfuncSQLBuilder.Criteria sc =sb.createCriteria(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sc.andPidEqualTo(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<MdoProMathfunc> mList = mdao.selectByExample(sb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MdoProMathfunc m =null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(mList!=null&&!mList.isEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            m=mList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return m; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static MdoProFfd getFfd(String pid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MdoProFfdMapper xdao = UtilTools.getBean(MdoProFfdMapper.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MdoProFfdSQLBuilder xsb  = new MdoProFfdSQLBuilder(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -293,6 +400,38 @@ public class TemplateGenerator { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return xfoil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * TODO 创建 workflowXml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static String createcWorkflowXml3(String pid,WorkflowVo vo){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(vo ==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Configuration cfg = new Configuration(Configuration.VERSION_2_3_0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 设置模板所在目录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cfg.setClassForTemplateLoading(TemplateGenerator.class, "/templates"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 获取模板对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Template template = cfg.getTemplate("workflow3.ftl"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 定义数据模型(Map) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<String, Object> dataModel = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            CpacsVo vo = getCpacsVo(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dataModel.put("vo",vo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //dataModel.put("geoFilePath", BPATH + "/" + aid + "/" + jid + "/Geometry"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 将数据模型传入模板进行处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StringWriter writer = new StringWriter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            template.process(dataModel, writer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            FileWriter fileWriter = new FileWriter(LogService.BPATH + "/" + pid + "/in/workflow.xml"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fileWriter.write(writer.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fileWriter.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return  LogService.BPATH + "/" + pid + "/in/workflow.xml"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * TODO 创建 workflowXml 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 |