|
@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.ruoyi.system.mapper.BpmProcessMapper;
|
|
|
import com.ruoyi.system.service.IBpmProcessService;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
import org.w3c.dom.Document;
|
|
@@ -178,10 +179,12 @@ public class BpmProcessServiceImpl implements IBpmProcessService {
|
|
|
*/
|
|
|
@Override
|
|
|
public int bpmBackups(BpmProcess bpmProcess) {
|
|
|
+ String remark = bpmProcess.getRemark(); // 存储备份操作信息
|
|
|
bpmProcess = bpmProcessMapper.selectBpmProcessByProcessId(bpmProcess.getProcessId());
|
|
|
bpmProcess.setCreateTime(DateUtils.getNowDate());
|
|
|
bpmProcess.setCreateBy(SecurityUtils.getUsername());
|
|
|
bpmProcess.setProcessVersion(1L); // 设置为历史版本,备份状态
|
|
|
+ bpmProcess.setRemark(remark);
|
|
|
String filePath = RuoYiConfig.getProfile() + StringUtils.substringAfter(bpmProcess.getProcessXmlPath(), Constants.RESOURCE_PREFIX);
|
|
|
// 复制流程文件
|
|
|
Path fileInfo = Paths.get(filePath);
|
|
@@ -203,7 +206,7 @@ public class BpmProcessServiceImpl implements IBpmProcessService {
|
|
|
// List<String> list = bpmProcessList.stream().map(m ->localPath + StringUtils.substringAfter(m.getProcessXmlPath(), Constants.RESOURCE_PREFIX)).collect(Collectors.toList());
|
|
|
List<String> list = new ArrayList<>();
|
|
|
bpmProcessList.forEach(item -> {
|
|
|
- list.add(localPath.substring(0, localPath.length() - 1) + StringUtils.substringAfter(item.getProcessXmlPath(), Constants.RESOURCE_PREFIX));
|
|
|
+ list.add(localPath + StringUtils.substringAfter(item.getProcessXmlPath(), Constants.RESOURCE_PREFIX));
|
|
|
});
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
|
throw new Exception("请选择要下载文件/图片");
|
|
@@ -215,7 +218,7 @@ public class BpmProcessServiceImpl implements IBpmProcessService {
|
|
|
response.setHeader("Access-Control-Allow-Origin", "*");
|
|
|
//设置压缩包的名字,date为时间戳
|
|
|
String date = String.valueOf(System.currentTimeMillis());
|
|
|
- String downloadName = "压缩包" + date + ".zip";
|
|
|
+ String downloadName = date + ".zip";
|
|
|
//返回客户端浏览器的版本号、类型
|
|
|
String agent = request.getHeader("USER-AGENT");
|
|
|
try {
|
|
@@ -231,15 +234,30 @@ public class BpmProcessServiceImpl implements IBpmProcessService {
|
|
|
log.error("系统异常", e);
|
|
|
}
|
|
|
|
|
|
-// if (list.size()>1){
|
|
|
+ if (list.size()>1){
|
|
|
//多文件/图压缩下载
|
|
|
batchFileDownLoad(list, downloadName, response);
|
|
|
-// }else {
|
|
|
-// //单文件/图直接下载
|
|
|
-// singleFileDownLoad(list,bpmProcessList.get(0).getProcessName(),response);
|
|
|
-//
|
|
|
-// }
|
|
|
+ }else {
|
|
|
+ //单文件/图直接下载
|
|
|
+ singleFileDownLoad(list,bpmProcessList.get(0).getProcessName(),response);
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public int enableProcess(BpmProcess bpmProcess) {
|
|
|
+ //查询最新版本流程
|
|
|
+ BpmProcess process = bpmProcessMapper.selectBpmProcessByProcessKey(bpmProcess.getProcessKey());
|
|
|
+ //当前最新版本流程改为流程备份
|
|
|
+ BpmProcess process1 = new BpmProcess();
|
|
|
+ process1.setProcessId(process.getProcessId());
|
|
|
+ process1.setProcessVersion(1L);
|
|
|
+ bpmProcessMapper.updateBpmProcess(process1);
|
|
|
+ //历史版本改为最新版本流程
|
|
|
+ bpmProcess.setProcessVersion(0L);
|
|
|
+ return bpmProcessMapper.updateBpmProcess(bpmProcess);
|
|
|
}
|
|
|
|
|
|
private void batchFileDownLoad(List<String> list, String downloadName, HttpServletResponse response) {
|