| 
					
				 | 
			
			
				@@ -15,6 +15,7 @@ import com.flow.service.FlowModelHistoryService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.flow.service.FlowModelService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.flow.service.ReportTemplateService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.google.common.collect.Lists; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.poi.xssf.streaming.SXSSFWorkbook; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.flowable.bpmn.converter.BpmnXMLConverter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.flowable.bpmn.model.BpmnModel; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -104,7 +105,26 @@ public class FlowModelServiceImpl extends BaseServiceImpl<FlowModelDao, FlowMode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eq(FlowModel::getId, modelId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .last(SqlConstant.LIMIT1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .oneOpt(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return optional.orElse(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return optional.orElseGet(() -> flowModelHistoryService.lambdaQuery().eq(FlowModelHistory::getId, modelId).one()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<FlowModelHistory> getModelHistory(Long modelId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return flowModelHistoryService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .select(FlowModelHistory.class, i -> !StringUtils.equalsAny(i.getColumn(), "process", "form", "settings")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .eq(FlowModelHistory::getModelId, modelId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void switchModel(Long historyModelId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FlowModelHistory flowModelHistory = flowModelHistoryService.getById(historyModelId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FlowModel flowModel = flowModelDao.selectById(flowModelHistory.getModelId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flowModelHistoryService.removeById(historyModelId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flowModelHistoryService.save(flowModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flowModelDao.deleteById(flowModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flowModelDao.insert(flowModelHistory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(rollbackFor = Exception.class) 
			 |