|  | @@ -4,94 +4,204 @@ import com.miniframe.core.ext.UtilTools;
 | 
	
		
			
				|  |  |  import com.miniframe.model.mdo.*;
 | 
	
		
			
				|  |  |  import com.miniframe.model.mdo.dao.*;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Set;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  public class ModService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      public static  void saveNewProByMod(String pid, String mid, Map<String,String> owid_nwidMap){
 | 
	
		
			
				|  |  | +        saveEvolutionByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        saveSurroByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        saveGradByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        savePyByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        Map<String,String> comOldNewIds = new HashMap<>();
 | 
	
		
			
				|  |  | +        Map<String,String> cstCIds=  saveCstByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        Map<String,String> xfoilCIds= saveXfoilByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        Map<String,String> ffdCIds= saveFFdByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        Map<String,String> adflowCIds= saveAdflowByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        Map<String,String> fsiCIds=  saveFsiByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        Map<String,String> mathCIds=  saveMathFuncByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +        comOldNewIds.putAll(cstCIds);
 | 
	
		
			
				|  |  | +        comOldNewIds.putAll(xfoilCIds);
 | 
	
		
			
				|  |  | +        comOldNewIds.putAll(ffdCIds);
 | 
	
		
			
				|  |  | +        comOldNewIds.putAll(adflowCIds);
 | 
	
		
			
				|  |  | +        comOldNewIds.putAll(fsiCIds);
 | 
	
		
			
				|  |  | +        comOldNewIds.putAll(mathCIds);
 | 
	
		
			
				|  |  | +        Map<String,String> paraONIds = saveParaByMod(pid,mid);
 | 
	
		
			
				|  |  |          saveVarByMod(pid,mid);
 | 
	
		
			
				|  |  |          saveConByMod(pid,mid);
 | 
	
		
			
				|  |  |          saveObjByMod(pid,mid);
 | 
	
		
			
				|  |  | +        updateComid(pid,comOldNewIds);
 | 
	
		
			
				|  |  | +        updateParaid(pid,paraONIds);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        saveEvolutionByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | -        saveSurroByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | -        saveGradByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +    private static void updateParaid(String pid, Map<String, String> paraONIds) {
 | 
	
		
			
				|  |  | +        MdoMapper dao = UtilTools.getBean(MdoMapper.class);
 | 
	
		
			
				|  |  | +        Set<String> oparaids= paraONIds.keySet();
 | 
	
		
			
				|  |  | +        for (String oparaid:oparaids) {
 | 
	
		
			
				|  |  | +            dao.updateConParaId(pid,oparaid,paraONIds.get(oparaid));
 | 
	
		
			
				|  |  | +            dao.updateObjParaId(pid,oparaid,paraONIds.get(oparaid));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        savePyByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | -        saveXfoilByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | -        saveCstByMod(pid,mid,owid_nwidMap);
 | 
	
		
			
				|  |  | +    private static void updateComid(String pid,Map<String, String> comOldNewIds) {
 | 
	
		
			
				|  |  | +        MdoMapper dao = UtilTools.getBean(MdoMapper.class);
 | 
	
		
			
				|  |  | +        Set<String> oComids = comOldNewIds.keySet();
 | 
	
		
			
				|  |  | +        for (String ocomid:oComids) {
 | 
	
		
			
				|  |  | +            dao.updateInOutFatherId(pid,ocomid,comOldNewIds.get(ocomid));
 | 
	
		
			
				|  |  | +            dao.updateInOutFcomId(pid,ocomid,comOldNewIds.get(ocomid));
 | 
	
		
			
				|  |  | +            dao.updateVarComId(pid,ocomid,comOldNewIds.get(ocomid));
 | 
	
		
			
				|  |  | +            dao.updateConComId(pid,ocomid,comOldNewIds.get(ocomid));
 | 
	
		
			
				|  |  | +            dao.updateObjComId(pid,ocomid,comOldNewIds.get(ocomid));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        saveParaByMod(pid,mid);
 | 
	
		
			
				|  |  | +    private static Map<String,String> saveMathFuncByMod(String pid, String mid, Map<String, String> owid_nwidMap) {
 | 
	
		
			
				|  |  | +        Map<String,String> comOnIds = new HashMap<>();
 | 
	
		
			
				|  |  | +        MdoProMathfuncMapper sdo = UtilTools.getBean(MdoProMathfuncMapper.class);
 | 
	
		
			
				|  |  | +        MdoProMathfuncSQLBuilder ssb = new MdoProMathfuncSQLBuilder();
 | 
	
		
			
				|  |  | +        ssb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  | +        List<MdoProMathfunc> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  | +        if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  | +            for (MdoProMathfunc s :sList) {
 | 
	
		
			
				|  |  | +                s.setPid(pid);
 | 
	
		
			
				|  |  | +                String oldId = s.getId();
 | 
	
		
			
				|  |  | +                s.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | +                s.setWid(owid_nwidMap.get(s.getWid()));
 | 
	
		
			
				|  |  | +                sdo.insert(s);
 | 
	
		
			
				|  |  | +                comOnIds.put(oldId,s.getId());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return comOnIds;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private static Map<String,String>  saveFsiByMod(String pid, String mid, Map<String, String> owid_nwidMap) {
 | 
	
		
			
				|  |  | +        Map<String,String> comOnIds = new HashMap<>();
 | 
	
		
			
				|  |  | +        MdoProFsiMapper sdo = UtilTools.getBean(MdoProFsiMapper.class);
 | 
	
		
			
				|  |  | +        MdoProFsiSQLBuilder ssb = new MdoProFsiSQLBuilder();
 | 
	
		
			
				|  |  | +        ssb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  | +        List<MdoProFsi> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  | +        if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  | +            for ( MdoProFsi s :sList) {
 | 
	
		
			
				|  |  | +                s.setPid(pid);
 | 
	
		
			
				|  |  | +                String oldId = s.getId();
 | 
	
		
			
				|  |  | +                s.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | +                s.setWid(owid_nwidMap.get(s.getWid()));
 | 
	
		
			
				|  |  | +                sdo.insert(s);
 | 
	
		
			
				|  |  | +                comOnIds.put(oldId,s.getId());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return comOnIds;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * cst
 | 
	
		
			
				|  |  | -     * @param pid
 | 
	
		
			
				|  |  | -     * @param mid
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    public static void saveCstByMod(String pid,String mid,Map<String,String> owid_nwidMap){
 | 
	
		
			
				|  |  | -        MdoProCstMapper sdo = UtilTools.getBean(MdoProCstMapper.class);
 | 
	
		
			
				|  |  | -        MdoProCstSQLBuilder ssb = new MdoProCstSQLBuilder();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private static Map<String,String>  saveAdflowByMod(String pid, String mid, Map<String, String> owid_nwidMap) {
 | 
	
		
			
				|  |  | +        Map<String,String> comOnIds = new HashMap<>();
 | 
	
		
			
				|  |  | +        MdoProAdflowMapper sdo = UtilTools.getBean(MdoProAdflowMapper.class);
 | 
	
		
			
				|  |  | +        MdoProAdflowSQLBuilder ssb = new MdoProAdflowSQLBuilder();
 | 
	
		
			
				|  |  |          ssb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  | -        List<MdoProCst> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  | +        List<MdoProAdflow> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  |          if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  | -            for (MdoProCst s :sList) {
 | 
	
		
			
				|  |  | +            for (MdoProAdflow s :sList) {
 | 
	
		
			
				|  |  |                  s.setPid(pid);
 | 
	
		
			
				|  |  | +                String oldId = s.getId();
 | 
	
		
			
				|  |  |                  s.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  |                  s.setWid(owid_nwidMap.get(s.getWid()));
 | 
	
		
			
				|  |  |                  sdo.insert(s);
 | 
	
		
			
				|  |  | +                comOnIds.put(oldId,s.getId());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        return comOnIds;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     * inoutpara
 | 
	
		
			
				|  |  | +     * xfoil
 | 
	
		
			
				|  |  |       * @param pid
 | 
	
		
			
				|  |  |       * @param mid
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public static void saveParaByMod(String pid,String mid){
 | 
	
		
			
				|  |  | +    public static Map<String,String>  saveXfoilByMod(String pid,String mid,Map<String,String> owid_nwidMap){
 | 
	
		
			
				|  |  | +        Map<String,String> comOnIds = new HashMap<>();
 | 
	
		
			
				|  |  |          MdoProXfoilMapper sdo = UtilTools.getBean(MdoProXfoilMapper.class);
 | 
	
		
			
				|  |  |          MdoProXfoilSQLBuilder ssb = new MdoProXfoilSQLBuilder();
 | 
	
		
			
				|  |  | -        ssb.createCriteria().andPidEqualTo(pid);
 | 
	
		
			
				|  |  | +        ssb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  |          List<MdoProXfoil> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  |          if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  |              for (MdoProXfoil s :sList) {
 | 
	
		
			
				|  |  | -                MdoProInoutParaMapper indao = UtilTools.getBean(MdoProInoutParaMapper.class);
 | 
	
		
			
				|  |  | -                MdoProInoutParaSQLBuilder insb = new MdoProInoutParaSQLBuilder();
 | 
	
		
			
				|  |  | -                insb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  | -                List<MdoProInoutPara> inList = indao.selectByExample(insb);
 | 
	
		
			
				|  |  | -                if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  | -                    for (MdoProInoutPara in :inList) {
 | 
	
		
			
				|  |  | -                        in.setPid(pid);
 | 
	
		
			
				|  |  | -                        in.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | -                        in.setFatherid(s.getId());
 | 
	
		
			
				|  |  | -                        indao.insert(in);
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +                s.setPid(pid);
 | 
	
		
			
				|  |  | +                String oldId = s.getId();
 | 
	
		
			
				|  |  | +                s.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | +                s.setWid(owid_nwidMap.get(s.getWid()));
 | 
	
		
			
				|  |  | +                sdo.insert(s);
 | 
	
		
			
				|  |  | +                comOnIds.put(oldId,s.getId());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        return comOnIds;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    private static  Map<String,String>  saveFFdByMod(String pid, String mid, Map<String, String> owid_nwidMap) {
 | 
	
		
			
				|  |  | +        Map<String,String> comOnIds = new HashMap<>();
 | 
	
		
			
				|  |  | +        MdoProFfdMapper sdo = UtilTools.getBean(MdoProFfdMapper.class);
 | 
	
		
			
				|  |  | +        MdoProFfdSQLBuilder ssb = new MdoProFfdSQLBuilder();
 | 
	
		
			
				|  |  | +        ssb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  | +        List< MdoProFfd> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  | +        if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  | +            for (MdoProFfd s :sList) {
 | 
	
		
			
				|  |  | +                s.setPid(pid);
 | 
	
		
			
				|  |  | +                String oldId = s.getId();
 | 
	
		
			
				|  |  | +                s.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | +                s.setWid(owid_nwidMap.get(s.getWid()));
 | 
	
		
			
				|  |  | +                sdo.insert(s);
 | 
	
		
			
				|  |  | +                comOnIds.put(oldId,s.getId());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return comOnIds;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     * xfoil
 | 
	
		
			
				|  |  | +     * cst
 | 
	
		
			
				|  |  |       * @param pid
 | 
	
		
			
				|  |  |       * @param mid
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public static void saveXfoilByMod(String pid,String mid,Map<String,String> owid_nwidMap){
 | 
	
		
			
				|  |  | -        MdoProXfoilMapper sdo = UtilTools.getBean(MdoProXfoilMapper.class);
 | 
	
		
			
				|  |  | -        MdoProXfoilSQLBuilder ssb = new MdoProXfoilSQLBuilder();
 | 
	
		
			
				|  |  | +    public static  Map<String,String> saveCstByMod(String pid,String mid,Map<String,String> owid_nwidMap){
 | 
	
		
			
				|  |  | +        Map<String,String> comOnIds = new HashMap<>();
 | 
	
		
			
				|  |  | +        MdoProCstMapper sdo = UtilTools.getBean(MdoProCstMapper.class);
 | 
	
		
			
				|  |  | +        MdoProCstSQLBuilder ssb = new MdoProCstSQLBuilder();
 | 
	
		
			
				|  |  |          ssb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  | -        List<MdoProXfoil> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  | +        List<MdoProCst> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  |          if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  | -            for (MdoProXfoil s :sList) {
 | 
	
		
			
				|  |  | +            for (MdoProCst s :sList) {
 | 
	
		
			
				|  |  |                  s.setPid(pid);
 | 
	
		
			
				|  |  | +                String oldId = s.getId();
 | 
	
		
			
				|  |  |                  s.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  |                  s.setWid(owid_nwidMap.get(s.getWid()));
 | 
	
		
			
				|  |  |                  sdo.insert(s);
 | 
	
		
			
				|  |  | +                comOnIds.put(oldId,s.getId());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return comOnIds;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * inoutpara
 | 
	
		
			
				|  |  | +     * @param pid
 | 
	
		
			
				|  |  | +     * @param mid
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public static Map<String,String> saveParaByMod(String pid,String mid){
 | 
	
		
			
				|  |  | +        Map<String,String> paraOnIds = new HashMap<>();
 | 
	
		
			
				|  |  | +        MdoProInoutParaMapper sdo = UtilTools.getBean(MdoProInoutParaMapper.class);
 | 
	
		
			
				|  |  | +        MdoProInoutParaSQLBuilder ssb = new MdoProInoutParaSQLBuilder();
 | 
	
		
			
				|  |  | +        ssb.createCriteria().andPidEqualTo(mid);
 | 
	
		
			
				|  |  | +        List<MdoProInoutPara> sList = sdo.selectByExample(ssb);
 | 
	
		
			
				|  |  | +        if(sList!=null && !sList.isEmpty()){
 | 
	
		
			
				|  |  | +            for (MdoProInoutPara s :sList) {
 | 
	
		
			
				|  |  | +                s.setPid(pid);
 | 
	
		
			
				|  |  | +                String oldid = s.getId();
 | 
	
		
			
				|  |  | +                s.setId(UtilTools.getUUid());
 | 
	
		
			
				|  |  | +                sdo.insert(s);
 | 
	
		
			
				|  |  | +                paraOnIds.put(oldid,s.getId());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        return  paraOnIds;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 代理优化器
 | 
	
		
			
				|  |  |       * @param pid
 |