Bladeren bron

模板克隆

huangxingxing 4 maanden geleden
bovenliggende
commit
7f80a02a48

+ 33 - 1
src/main/java/com/miniframe/bisiness/mdo/MDO0004Service.java

@@ -1,6 +1,8 @@
 package com.miniframe.bisiness.mdo;
 
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import com.miniframe.core.ExecProcessFlow;
 import com.miniframe.core.exception.BusinessException;
@@ -10,8 +12,11 @@ import com.miniframe.generate.comm.mdo.D_MDO0001_ROWS_RECODE;
 import com.miniframe.generate.comm.mdo.D_MDO0004;
 import com.miniframe.mdo.service.ModService;
 import com.miniframe.model.mdo.MdoMod;
+import com.miniframe.model.mdo.MdoProWorkflow;
+import com.miniframe.model.mdo.MdoProWorkflowSQLBuilder;
 import com.miniframe.model.mdo.MdoProject;
 import com.miniframe.model.mdo.dao.MdoModMapper;
+import com.miniframe.model.mdo.dao.MdoProWorkflowMapper;
 import com.miniframe.model.mdo.dao.MdoProjectMapper;
 import com.miniframe.tools.XIDateTimeUtils;
 
@@ -51,8 +56,35 @@ public class MDO0004Service extends MDO0004BaseModel implements ExecProcessFlow
 		pro.setCreateTime(nowDate);
 		pro.setUpdateTime(nowDate);
 		pro.setStype(mod.getStype());
+
+		//*
+		MdoProWorkflowMapper wdao = UtilTools.getBean(MdoProWorkflowMapper.class);
+		MdoProWorkflowSQLBuilder wsb = new MdoProWorkflowSQLBuilder();
+		MdoProWorkflowSQLBuilder.Criteria wsc = wsb.createCriteria();
+		wsc.andPidEqualTo(mid);
+		List<MdoProWorkflow> wList = wdao.selectByExample(wsb);
+		if(wList==null|| wList.isEmpty()){
+			throw  new Exception("");
+		}
+		Map<String,String> owid_nwidMap = new HashMap<>();
+		for (MdoProWorkflow ow:wList) {
+			MdoProWorkflow nw = new MdoProWorkflow();
+			nw.setId(UtilTools.getUUid());
+			nw.setPid(pro.getId());
+			nw.setUid(ow.getUid());
+			nw.setType(ow.getType());
+			nw.setTouid(ow.getTouid());
+			nw.setFromuid(ow.getFromuid());
+			wdao.insert(nw);
+			owid_nwidMap.put(ow.getId(),nw.getId());
+		}
+		String nflow =mod.getFlow();
+		for (String owid:owid_nwidMap.keySet()) {
+			nflow= nflow.replace("\""+owid+"\"","\""+owid_nwidMap.get(owid)+"\"");
+		}
+		pro.setFlow(nflow);
 		proDao.insert(pro);
-		ModService.saveNewProByMod(pro.getId(),mid);
+		ModService.saveNewProByMod(pro.getId(),mid,owid_nwidMap);
 
 		D_MDO0004 row =new D_MDO0004();
 		row.setCreatetime(XIDateTimeUtils.getStrFromDate(pro.getCreateTime()));

+ 24 - 13
src/main/java/com/miniframe/mdo/service/ModService.java

@@ -5,27 +5,32 @@ import com.miniframe.model.mdo.*;
 import com.miniframe.model.mdo.dao.*;
 
 import java.util.List;
+import java.util.Map;
 
 public class ModService {
 
-    public static  void saveNewProByMod(String pid,String mid){
+    public static  void saveNewProByMod(String pid, String mid, Map<String,String> owid_nwidMap){
         saveVarByMod(pid,mid);
         saveConByMod(pid,mid);
         saveObjByMod(pid,mid);
-        saveEvolutionByMod(pid,mid);
-        saveSurroByMod(pid,mid);
-        saveGradByMod(pid,mid);
-        savePyByMod(pid,mid);
-        saveXfoilByMod(pid,mid);
+
+        saveEvolutionByMod(pid,mid,owid_nwidMap);
+        saveSurroByMod(pid,mid,owid_nwidMap);
+        saveGradByMod(pid,mid,owid_nwidMap);
+
+        savePyByMod(pid,mid,owid_nwidMap);
+        saveXfoilByMod(pid,mid,owid_nwidMap);
+        saveCstByMod(pid,mid,owid_nwidMap);
+
         saveParaByMod(pid,mid);
-        saveCstByMod(pid,mid);
+
     }
     /**
      * cst
      * @param pid
      * @param mid
      */
-    public static void saveCstByMod(String pid,String mid){
+    public static void saveCstByMod(String pid,String mid,Map<String,String> owid_nwidMap){
         MdoProCstMapper sdo = UtilTools.getBean(MdoProCstMapper.class);
         MdoProCstSQLBuilder ssb = new MdoProCstSQLBuilder();
         ssb.createCriteria().andPidEqualTo(mid);
@@ -34,6 +39,7 @@ public class ModService {
             for (MdoProCst s :sList) {
                 s.setPid(pid);
                 s.setId(UtilTools.getUUid());
+                s.setWid(owid_nwidMap.get(s.getWid()));
                 sdo.insert(s);
             }
         }
@@ -72,7 +78,7 @@ public class ModService {
      * @param pid
      * @param mid
      */
-    public static void saveXfoilByMod(String pid,String mid){
+    public static void saveXfoilByMod(String pid,String mid,Map<String,String> owid_nwidMap){
         MdoProXfoilMapper sdo = UtilTools.getBean(MdoProXfoilMapper.class);
         MdoProXfoilSQLBuilder ssb = new MdoProXfoilSQLBuilder();
         ssb.createCriteria().andPidEqualTo(mid);
@@ -81,6 +87,7 @@ public class ModService {
             for (MdoProXfoil s :sList) {
                 s.setPid(pid);
                 s.setId(UtilTools.getUUid());
+                s.setWid(owid_nwidMap.get(s.getWid()));
                 sdo.insert(s);
             }
         }
@@ -90,7 +97,7 @@ public class ModService {
      * @param pid
      * @param mid
      */
-    public static void saveSurroByMod(String pid,String mid){
+    public static void saveSurroByMod(String pid,String mid,Map<String,String> owid_nwidMap){
         MdoProSurroMapper sdo = UtilTools.getBean(MdoProSurroMapper.class);
         MdoProSurroSQLBuilder ssb = new MdoProSurroSQLBuilder();
         ssb.createCriteria().andPidEqualTo(mid);
@@ -99,6 +106,7 @@ public class ModService {
             for (MdoProSurro s :sList) {
                 s.setPid(pid);
                 s.setId(UtilTools.getUUid());
+                s.setWid(owid_nwidMap.get(s.getWid()));
                 sdo.insert(s);
             }
         }
@@ -108,7 +116,7 @@ public class ModService {
      * @param pid
      * @param mid
      */
-    public static void saveEvolutionByMod(String pid,String mid){
+    public static void saveEvolutionByMod(String pid,String mid,Map<String,String> owid_nwidMap){
         MdoProEvolutionMapper sdo = UtilTools.getBean(MdoProEvolutionMapper.class);
         MdoProEvolutionSQLBuilder ssb = new MdoProEvolutionSQLBuilder();
         ssb.createCriteria().andPidEqualTo(mid);
@@ -117,6 +125,7 @@ public class ModService {
             for (MdoProEvolution s :sList) {
                 s.setPid(pid);
                 s.setId(UtilTools.getUUid());
+                s.setWid(owid_nwidMap.get(s.getWid()));
                 sdo.insert(s);
             }
         }
@@ -127,7 +136,7 @@ public class ModService {
      * @param pid
      * @param mid
      */
-    public static void saveGradByMod(String pid,String mid){
+    public static void saveGradByMod(String pid,String mid,Map<String,String> owid_nwidMap){
         MdoProGradMapper sdo = UtilTools.getBean(MdoProGradMapper.class);
         MdoProGradSQLBuilder ssb = new MdoProGradSQLBuilder();
         ssb.createCriteria().andPidEqualTo(mid);
@@ -136,6 +145,7 @@ public class ModService {
             for (MdoProGrad s :sList) {
                 s.setPid(pid);
                 s.setId(UtilTools.getUUid());
+                s.setWid(owid_nwidMap.get(s.getWid()));
                 sdo.insert(s);
             }
         }
@@ -202,7 +212,7 @@ public class ModService {
      * @param pid
      * @param mid
      */
-    public static void savePyByMod(String pid,String mid){
+    public static void savePyByMod(String pid,String mid,Map<String,String> owid_nwidMap){
         MdoProPythonMapper sdo = UtilTools.getBean(MdoProPythonMapper.class);
         MdoProPythonSQLBuilder ssb = new MdoProPythonSQLBuilder();
         ssb.createCriteria().andPidEqualTo(mid);
@@ -211,6 +221,7 @@ public class ModService {
             for (MdoProPython s :sList) {
                 s.setPid(pid);
                 s.setId(UtilTools.getUUid());
+                s.setWid(owid_nwidMap.get(s.getWid()));
                 sdo.insert(s);
             }
         }