|  | @ -4,10 +4,13 @@ import com.yihu.hos.common.constants.Constants;
 | 
	
		
			
				|  |  | import com.yihu.hos.core.file.FileUtil;
 | 
	
		
			
				|  |  | import com.yihu.hos.services.ServiceFlowEventService;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.dao.FlowClassDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.dao.FlowTempDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.dao.intf.IFlowClassDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.dao.intf.IFlowDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.dao.intf.IFlowTempDao;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.model.SystemServiceFlow;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.model.SystemServiceFlowClass;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.model.SystemServiceFlowTemp;
 | 
	
		
			
				|  |  | import com.yihu.hos.system.service.intf.IFlowManage;
 | 
	
		
			
				|  |  | import com.yihu.hos.web.framework.model.DictItem;
 | 
	
		
			
				|  |  | import com.yihu.hos.web.framework.model.DictionaryResult;
 | 
	
	
		
			
				|  | @ -42,6 +45,8 @@ public class FlowManager implements IFlowManage {
 | 
	
		
			
				|  |  |     @Resource(name = FlowClassDao.BEAN_ID)
 | 
	
		
			
				|  |  |     private IFlowClassDao flowClassDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Resource(name = FlowTempDao.BEAN_ID)
 | 
	
		
			
				|  |  |     private IFlowTempDao flowTempDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     ServiceFlowEventService serviceFlowEventService;
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -59,12 +64,21 @@ public class FlowManager implements IFlowManage {
 | 
	
		
			
				|  |  |     public Result addFlow(SystemServiceFlow obj) throws Exception {
 | 
	
		
			
				|  |  |         obj.setCreateDate(new Date());
 | 
	
		
			
				|  |  |         flowDao.saveEntity(obj);
 | 
	
		
			
				|  |  |         List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
 | 
	
		
			
				|  |  |         for (SystemServiceFlowClass flowClass:flowClassList){
 | 
	
		
			
				|  |  |             flowClass.setFlowId(obj.getId());
 | 
	
		
			
				|  |  |             flowDao.saveEntity(flowClass);
 | 
	
		
			
				|  |  |             //发送消息到MQ对列
 | 
	
		
			
				|  |  |             sendUpdateMessage(obj.getCode(), flowClass, Constants.FLOW_OP_ADD);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (Constants.CLASS.equals(obj.getFileType())){
 | 
	
		
			
				|  |  |             List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
 | 
	
		
			
				|  |  |             for (SystemServiceFlowClass flowClass:flowClassList){
 | 
	
		
			
				|  |  |                 flowClass.setFlowId(obj.getId());
 | 
	
		
			
				|  |  |                 flowDao.saveEntity(flowClass);
 | 
	
		
			
				|  |  |                 //发送消息到MQ对列
 | 
	
		
			
				|  |  |                 sendUpdateMessage(obj.getCode(), flowClass, Constants.FLOW_OP_ADD);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else if (Constants.JAVA.equals(obj.getFileType())){
 | 
	
		
			
				|  |  |             List<SystemServiceFlowTemp> flowTempList = obj.getFlowTempArray();
 | 
	
		
			
				|  |  |             for (SystemServiceFlowTemp flowTemp:flowTempList){
 | 
	
		
			
				|  |  |                 flowTemp.setFlowId(obj.getId());
 | 
	
		
			
				|  |  |                 flowDao.saveEntity(flowTemp);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return Result.success("保存成功");
 | 
	
	
		
			
				|  | @ -80,30 +94,45 @@ public class FlowManager implements IFlowManage {
 | 
	
		
			
				|  |  |         flow.setValid(obj.getValid());
 | 
	
		
			
				|  |  |         flow.setFileType(obj.getFileType());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Integer> classIds = flowClassDao.getFlowClassIds(obj.getId());//原flowclass集合
 | 
	
		
			
				|  |  |         List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
 | 
	
		
			
				|  |  |         for (SystemServiceFlowClass flowClass:flowClassList){
 | 
	
		
			
				|  |  |             if (flowClass.getId()!=null) {
 | 
	
		
			
				|  |  |                 classIds.remove(flowClass.getId());
 | 
	
		
			
				|  |  |                 flowClassDao.updateEntity(flowClass);
 | 
	
		
			
				|  |  |                 sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_UPDATE);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 flowClassDao.saveEntity(flowClass);
 | 
	
		
			
				|  |  |                 sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_ADD);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (Constants.JAVA.equals(flow.getFileType())){
 | 
	
		
			
				|  |  |             List<SystemServiceFlowTemp> flowTempList = obj.getFlowTempArray();
 | 
	
		
			
				|  |  |             boolean succ = flowTempDao.deleteFlowTempByFlowId(obj.getId());
 | 
	
		
			
				|  |  |             if (succ){
 | 
	
		
			
				|  |  |                 for (SystemServiceFlowTemp flowTemp:flowTempList){
 | 
	
		
			
				|  |  |                     flowTempDao.saveEntity(flowTemp);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else if (Constants.CLASS.equals(flow.getFileType())){
 | 
	
		
			
				|  |  |             List<Integer> classIds = flowClassDao.getFlowClassIds(obj.getId());//原flowclass集合
 | 
	
		
			
				|  |  |             List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
 | 
	
		
			
				|  |  |             for (SystemServiceFlowClass flowClass:flowClassList){
 | 
	
		
			
				|  |  |                 if (flowClass.getId()!=null) {
 | 
	
		
			
				|  |  |                     classIds.remove(flowClass.getId());
 | 
	
		
			
				|  |  |                     flowClassDao.updateEntity(flowClass);
 | 
	
		
			
				|  |  |                     sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_UPDATE);
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     flowClassDao.saveEntity(flowClass);
 | 
	
		
			
				|  |  |                     sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_ADD);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //删除判断
 | 
	
		
			
				|  |  |             if (classIds !=null && classIds.size()>0){
 | 
	
		
			
				|  |  |                 for (Integer id:classIds){
 | 
	
		
			
				|  |  |                     SystemServiceFlowClass flowClass = getFlowClassById(id);
 | 
	
		
			
				|  |  |                     flowClassDao.deleteEntity(flowClass);
 | 
	
		
			
				|  |  |                     sendDeleteMessage(flow.getCode(), flowClass);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         flowDao.updateEntity(flow);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //删除判断
 | 
	
		
			
				|  |  |         if (classIds !=null && classIds.size()>0){
 | 
	
		
			
				|  |  |             for (Integer id:classIds){
 | 
	
		
			
				|  |  |                 SystemServiceFlowClass flowClass = getFlowClassById(id);
 | 
	
		
			
				|  |  |                 flowClassDao.deleteEntity(flowClass);
 | 
	
		
			
				|  |  |                 sendDeleteMessage(flow.getCode(), flowClass);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return Result.success("更新成功");
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -117,6 +146,7 @@ public class FlowManager implements IFlowManage {
 | 
	
		
			
				|  |  |             //发送消息到MQ对列
 | 
	
		
			
				|  |  |             sendDeleteMessage(flow.getCode(), flowClass);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         boolean succ = flowTempDao.deleteFlowTempByFlowId(id);
 | 
	
		
			
				|  |  |         flowDao.deleteEntity(flow);
 | 
	
		
			
				|  |  |         return Result.success("删除成功");
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -156,6 +186,10 @@ public class FlowManager implements IFlowManage {
 | 
	
		
			
				|  |  |         return succ;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Override
 | 
	
		
			
				|  |  |     public List<SystemServiceFlowTemp> getFlowTempByFlowId(Integer id) throws Exception {
 | 
	
		
			
				|  |  |         return flowTempDao.getFlowTempByFlowId(id);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Override
 |