huangxingxing 3 місяців тому
батько
коміт
58100426f8

+ 7 - 4
src/main/java/com/miniframe/bisiness/mdo/MDO0052Service.java

@@ -30,7 +30,12 @@ public class MDO0052Service extends MDO0052BaseModel implements ExecProcessFlow
 		MdoProInoutParaSQLBuilder.Criteria outsc = outsb.createCriteria();
 		outsc.andPidEqualTo(pid);
 		outsc.andFatheridEqualTo(comid);
-		outsc.andTypeEqualTo(2);
+		if(2==type||3==type){
+			outsc.andTypeEqualTo(2);
+		}else if(4==type){
+			outsc.andTypeEqualTo(1); //输入作为 优化组件到求解器的 输出
+		}
+
 		outsc.andFlagEqualTo(1);
 		List<MdoProInoutPara> parList = outDao.selectByExample(outsb);
 		List<D_MDO0052_PARAMS_RECODE> rows = new ArrayList<>();
@@ -47,9 +52,7 @@ public class MDO0052Service extends MDO0052BaseModel implements ExecProcessFlow
 					continue;
 				}
 			}else if(3==type){//求解组件到求解组件 排除求解组件到优化组件已设置的数据
-				if(p.getSteamtype()!=null
-						&&(p.getSteamtype()==1||p.getSteamtype()==2)
-						){
+				if(p.getSteamtype()!=null && (p.getSteamtype()==1||p.getSteamtype()==2)){
 					continue;
 				}
 			}

+ 68 - 51
src/main/java/com/miniframe/bisiness/mdo/MDO0053Service.java

@@ -11,6 +11,7 @@ import com.miniframe.model.mdo.*;
 import com.miniframe.model.mdo.dao.MdoProInoutParaMapper;
 import com.miniframe.model.mdo.dao.MdoProjectConstraintMapper;
 import com.miniframe.model.mdo.dao.MdoProjectObjfunMapper;
+import com.miniframe.model.mdo.dao.MdoProjectVariateMapper;
 
 /**
  * 西工大系统,“流修改”逻辑处理(重新生成不覆盖)。
@@ -25,8 +26,6 @@ public class MDO0053Service extends MDO0053BaseModel implements ExecProcessFlow
 	public void transExecute() throws Exception {
 		String paramstr  =this.getA_mdo0053().getParamstr();
 		String[] params = paramstr.split(";");
-		String comid =null;
-		Integer comtype =null;
 		for (String p:params) {
 			String[] pt = p.split(",");
 			String paramid = pt[0];
@@ -36,78 +35,96 @@ public class MDO0053Service extends MDO0053BaseModel implements ExecProcessFlow
 			MdoProInoutPara para = pdao.selectByPrimaryKey(paramid);
 			if(para!=null) {
 				if (streamflag.equals("1")) {//只修改选中的
-					comid = para.getFatherid();
-					comtype = para.getComtype();
 					para.setSteamflag(Integer.valueOf(streamflag));
 					para.setSteamtype(Integer.valueOf(streamtype));
 					pdao.updateByPrimaryKey(para);
+					deleConAndFum(para);
+					saveConAndFun(para);
 				} else {//未选中 还原
-					comid = para.getFatherid();
-					comtype = para.getComtype();
 					para.setSteamflag(Integer.valueOf(streamflag));
 					para.setSteamtype(null);
 					pdao.updateByPrimaryKey(para);
+					deleConAndFum(para);
 				}
 			}
 		}
-		deleComAndFum(comid);
-		saveConAndFun(comid, comtype);
 
 	}
 
-	private void deleComAndFum(String comid) {
+	private void deleConAndFum(MdoProInoutPara p) {
 		MdoProjectConstraintMapper cdao = UtilTools.getBean(MdoProjectConstraintMapper.class);
 		MdoProjectConstraintSQLBuilder csb = new MdoProjectConstraintSQLBuilder();
 		MdoProjectConstraintSQLBuilder.Criteria csc = csb.createCriteria();
-		csc.andComidEqualTo(comid);
+		csc.andComidEqualTo(p.getFatherid());
+		csc.andParaidEqualTo(p.getId());
+		csc.andNameEqualTo(p.getCode());
 		cdao.deleteByExample(csb);
+
 		MdoProjectObjfunMapper fdao = UtilTools.getBean(MdoProjectObjfunMapper.class);
 		MdoProjectObjfunSQLBuilder fsb = new MdoProjectObjfunSQLBuilder();
 		MdoProjectObjfunSQLBuilder.Criteria fsc =fsb.createCriteria();
-		fsc.andComidEqualTo(comid);
+		fsc.andComidEqualTo(p.getFatherid());
+		fsc.andParaidEqualTo(p.getId());
+		csc.andNameEqualTo(p.getCode());
 		fdao.deleteByExample(fsb);
+
+		MdoProjectVariateMapper vdao =UtilTools.getBean(MdoProjectVariateMapper.class);
+		MdoProjectVariateSQLBuilder vsb = new MdoProjectVariateSQLBuilder();
+		MdoProjectVariateSQLBuilder.Criteria vsc = vsb.createCriteria();
+		vsc.andComidEqualTo(p.getFatherid());
+		vsc.andNameEqualTo(p.getCode());
+		vdao.deleteByExample(vsb);
+
 	}
 
-	private void saveConAndFun(String comid, Integer comtype) {
-		MdoProInoutParaMapper pdao = UtilTools.getBean(MdoProInoutParaMapper.class);
-		MdoProInoutParaSQLBuilder psb = new MdoProInoutParaSQLBuilder();
-		MdoProInoutParaSQLBuilder.Criteria psc = psb.createCriteria();
-		psc.andFatheridEqualTo(comid);
-		psc.andComtypeEqualTo(comtype);
-		psc.andSteamflagEqualTo(1);
-		List<MdoProInoutPara>  pList = pdao.selectByExample(psb);
-		for (MdoProInoutPara p: pList) {
-			if(p.getSteamtype()==1){//约束条件
-				MdoProjectConstraintMapper cdao = UtilTools.getBean(MdoProjectConstraintMapper.class);
-				MdoProjectConstraint c = new MdoProjectConstraint();
-				c.setId(UtilTools.getUUid());
-				c.setName(p.getName());
-				c.setReference(p.getValue());
-				c.setComid(comid);
-				c.setComtype(comtype);
-				c.setParaid(p.getId());
-				c.setUid(MdoUidUtils.getUidByComTyeAndPcode(comtype.toString(),p.getCode()));
-				c.setPid(p.getPid());
-				c.setCon("1");
-				c.setLower("None");
-				c.setUpper("None");
-				cdao.insert(c);
-			}
-			if(p.getSteamtype()==2){//优化目标
-				MdoProjectObjfunMapper fdao = UtilTools.getBean(MdoProjectObjfunMapper.class);
-				MdoProjectObjfun f = new MdoProjectObjfun();
-				f.setId(UtilTools.getUUid());
-				f.setName(p.getName());
-				f.setReference(p.getValue());
-				f.setComid(comid);
-				f.setComtype(comtype);
-				f.setParaid(p.getId());
-				f.setUid(MdoUidUtils.getUidByComTyeAndPcode(comtype.toString(),p.getCode()));
-				f.setPid(p.getPid());
-				f.setOptdir("1");//最小
-				f.setWeight("0");
-				fdao.insert(f);
-			}
+	private void saveConAndFun(MdoProInoutPara p) {
+		if(p.getSteamtype()==1){//约束条件
+			MdoProjectConstraintMapper cdao = UtilTools.getBean(MdoProjectConstraintMapper.class);
+			MdoProjectConstraint c = new MdoProjectConstraint();
+			c.setId(UtilTools.getUUid());
+			c.setName(p.getName());
+			c.setReference(p.getValue());
+			c.setComid(p.getFatherid());
+			c.setComtype(p.getComtype());
+			c.setParaid(p.getId());
+			c.setUid(MdoUidUtils.getUidByComTyeAndPcode(p.getComtype().toString(),p.getCode()));
+			c.setPid(p.getPid());
+			c.setCon("1");
+			c.setLower("None");
+			c.setUpper("None");
+			cdao.insert(c);
+		}
+		if(p.getSteamtype()==2){//优化目标
+			MdoProjectObjfunMapper fdao = UtilTools.getBean(MdoProjectObjfunMapper.class);
+			MdoProjectObjfun f = new MdoProjectObjfun();
+			f.setId(UtilTools.getUUid());
+			f.setName(p.getName());
+			f.setReference(p.getValue());
+			f.setComid(p.getFatherid());
+			f.setComtype(p.getComtype());
+			f.setParaid(p.getId());
+			f.setUid(MdoUidUtils.getUidByComTyeAndPcode(p.getComtype().toString(),p.getCode()));
+			f.setPid(p.getPid());
+			f.setOptdir("1");//最小
+			f.setWeight("0");
+			fdao.insert(f);
+		}
+		if(p.getSteamtype()==3){//求解组件到求解组件
+
+		}
+		if(p.getSteamtype()==4){//求解组件到求解组件
+			MdoProjectVariateMapper varDao = UtilTools.getBean(MdoProjectVariateMapper.class);
+			MdoProjectVariate var =new MdoProjectVariate();
+			var.setComid(p.getFatherid());
+			var.setComtype(p.getComtype());
+			var.setId(UtilTools.getUUid());
+			var.setReference("0");
+			var.setPid(p.getPid());
+			var.setLower("1");
+			var.setUpper("0");
+			var.setName(p.getCode());
+			var.setUid(MdoUidUtils.getUidByComTyeAndPcode(p.getComtype().toString(),p.getCode())+"/"+p.getCode());
+			varDao.insert(var);
 		}
 	}
 

+ 1 - 0
src/main/java/com/miniframe/bisiness/mdo/MDO0073Service.java

@@ -40,6 +40,7 @@ public class MDO0073Service extends MDO0073BaseModel implements ExecProcessFlow
 			 TacsCom.saveVarByTacs(tasc);
 		 }
 	 }
+
 	}
 	
 	/**

+ 1 - 1
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0052_A(流查询).csv

@@ -1,4 +1,4 @@
 序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
 1,pid,项目ID,string,,,是,,,,,,,,
 2,comid,组件ID,string,,,是,,,,,,,,
-3,type,流数据种类 2求解组件到优化组件 3求解组件到求解组件,int,,,是,,,,,,,,
+3,type,流数据种类 2求解组件到优化组件 3求解组件到求解组件 4优化器到求解组件,int,,,是,,,,,,,,