feat: 企标制修订在线编辑最终保存发布稿
This commit is contained in:
+6
@@ -282,6 +282,12 @@ public class ProcessEsChange implements Serializable {
|
||||
@ApiModelProperty(value = "更改单号")
|
||||
private String modifyOrderNum;
|
||||
|
||||
/**
|
||||
* 在线编辑文件id
|
||||
*/
|
||||
@ApiModelProperty(value = "在线编辑文件id")
|
||||
private String onEditFile;
|
||||
|
||||
/**
|
||||
* 修改意见内容列表
|
||||
*/
|
||||
|
||||
+7
@@ -291,6 +291,13 @@ public class ProcessEsRevision implements Serializable {
|
||||
@ApiModelProperty(value = "编制说明")
|
||||
private String compIllustration;
|
||||
|
||||
/**
|
||||
* 在线编辑文件id
|
||||
*/
|
||||
@ApiModelProperty(value = "在线编辑文件id")
|
||||
private String onEditFile;
|
||||
|
||||
|
||||
public void setOtherDrafterUploadFileJson(String otherDrafterUploadFileJson) {
|
||||
this.otherDrafterUploadFileJson = otherDrafterUploadFileJson;
|
||||
}
|
||||
|
||||
+7
@@ -21,6 +21,7 @@ import com.jero.modules.laws.enterprise.service.EnterpriseStandardReviewMeetingR
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardRmrEvaluateDetailService;
|
||||
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
||||
import com.jero.modules.laws.enterprise.util.EnterpriseStandardUtil;
|
||||
import com.jero.modules.onlyoffice.service.IBusProcessModelHisService;
|
||||
import com.jero.modules.tag.enums.TableNameEnum;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
@@ -52,6 +53,9 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
|
||||
@Resource
|
||||
private ILawsCommonService lawsCommonService;
|
||||
|
||||
@Resource
|
||||
private IBusProcessModelHisService busProcessModelHisService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
// 获取流程实例Id
|
||||
@@ -96,6 +100,9 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
|
||||
variables.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
|
||||
String standardId = IdWorker.getIdStr();
|
||||
variables.put(FieldCommon.ID, standardId);
|
||||
// minio上传在线编辑文件
|
||||
String fileId = busProcessModelHisService.saveProcessFileToOss(data.getOnEditFile());
|
||||
variables.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL, fileId);
|
||||
// 发布企标
|
||||
lawsCommonService.commonAdd(variables);
|
||||
String espId = data.getEspId();
|
||||
|
||||
+3
@@ -34,4 +34,7 @@ public interface IBusProcessModelHisService extends IService<BusProcessModelHis>
|
||||
OnlineFileLog selectOnlineFile(String onlineFileId);
|
||||
|
||||
void downLoadFile(String path, HttpServletResponse response);
|
||||
|
||||
String saveProcessFileToOss(String hisId);
|
||||
|
||||
}
|
||||
|
||||
+66
-2
@@ -1,24 +1,39 @@
|
||||
package com.jero.modules.onlyoffice.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.util.CommonUtils;
|
||||
import com.jero.common.util.MinioUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.modules.onlyoffice.entity.BusProcessModelHis;
|
||||
import com.jero.modules.onlyoffice.entity.OnlineFileLog;
|
||||
import com.jero.modules.onlyoffice.mapper.BusProcessModelHisMapper;
|
||||
import com.jero.modules.onlyoffice.mapper.OnlineFileLogDao;
|
||||
import com.jero.modules.onlyoffice.service.IBusProcessModelHisService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import io.minio.errors.*;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -46,6 +61,15 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
@Value("${file.sourceFilePath}")
|
||||
private String sourceFilePath;
|
||||
|
||||
@Resource
|
||||
private OnlineFileLogDao onlineFileLogDao;
|
||||
|
||||
@Resource
|
||||
private IOSSFileService ossFileService;
|
||||
|
||||
@Value(value = "${jero.uploadType}")
|
||||
private String uploadType;
|
||||
|
||||
@Override
|
||||
public BusProcessModelHis saveEditFile(String model) {
|
||||
BusProcessModelHis modelHis = new BusProcessModelHis();
|
||||
@@ -276,4 +300,44 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
wrapper.eq("P_ID", pid);
|
||||
return this.baseMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String saveProcessFileToOss(String hisId) {
|
||||
BusProcessModelHis his = this.getById(hisId);
|
||||
// 找到最新的文件记录 上传到minio
|
||||
LambdaQueryWrapper<OnlineFileLog> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(OnlineFileLog::getHisId, hisId);
|
||||
wrapper.eq(OnlineFileLog::getValidFlag, "0");
|
||||
wrapper.orderByDesc(OnlineFileLog::getCreateTime);
|
||||
List<OnlineFileLog> onlineFileLogList = onlineFileLogDao.selectList(wrapper);
|
||||
OnlineFileLog onlineFileLog = onlineFileLogList.get(0);
|
||||
OSSFile ossFile = ossFileService.getById(onlineFileLog.getAttFileId());
|
||||
// 获取文件
|
||||
String path = filePath + ossFile.getUrl();
|
||||
// 获取上传文件对象
|
||||
File file = new File(path);
|
||||
MultipartFile multipartFile = BusProcessModelHisServiceImpl.convert(file);
|
||||
String savePath = CommonUtils.upload(multipartFile, "", uploadType);
|
||||
if (oConvertUtils.isNotEmpty(savePath)) {
|
||||
// 文件名
|
||||
String fileName = his.getFileName();
|
||||
fileName = CommonUtils.getFileName(fileName);
|
||||
ossFile.setFileName(fileName);
|
||||
ossFile.setUrl(savePath);
|
||||
ossFileService.updateById(ossFile);
|
||||
}
|
||||
return ossFile.getId();
|
||||
}
|
||||
|
||||
public static MultipartFile convert(File file) {
|
||||
try (FileInputStream input = new FileInputStream(file)) {
|
||||
return new MockMultipartFile("file",
|
||||
file.getName(),
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
input);
|
||||
} catch (IOException e) {
|
||||
// 处理异常
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user