From 5b0ca9793d6bb4ab33a253f3ad6a17eaca354180 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 24 Jan 2024 19:18:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E6=9B=B4=E6=94=B9?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9C=A8=E7=BA=BF=E7=BC=96=E8=BE=91=E6=9C=80?= =?UTF-8?q?=E7=BB=88=E6=9B=BF=E6=8D=A2=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esChange/entity/ProcessEsChange.java | 6 ++++ .../listener/ProcessESChangeEndListener.java | 7 +++++ .../service/IBusProcessModelHisService.java | 2 ++ .../impl/BusProcessModelHisServiceImpl.java | 31 +++++++++++++++++++ 4 files changed, 46 insertions(+) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java index 77e100c6..1c387b4d 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/entity/ProcessEsChange.java @@ -288,6 +288,12 @@ public class ProcessEsChange implements Serializable { @ApiModelProperty(value = "在线编辑文件id") private String onEditFile; + /** + * 需要替换的fileId + */ + @ApiModelProperty(value = "需要替换的fileId") + private String replaceFileId; + /** * 修改意见内容列表 */ diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java index 55b3d529..104321d4 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esChange/listener/ProcessESChangeEndListener.java @@ -22,6 +22,7 @@ import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.common.service.ILawsCommonService; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import com.jero.modules.onlyoffice.service.IBusProcessModelHisService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.system.controller.CommonController; @@ -103,6 +104,9 @@ public class ProcessESChangeEndListener implements ExecutionListener { @Resource private CommonAPI commonAPI; + @Resource + private IBusProcessModelHisService busProcessModelHisService; + @Override public void notify(DelegateExecution delegateExecution) { log.info("企标更改流程结束 监听执行器开始执行"); @@ -119,6 +123,9 @@ public class ProcessESChangeEndListener implements ExecutionListener { // 转换成Map 然后走commonEdit接口 Map parameterMap = new HashMap<>(); this.buildMap(parameterMap, change); + // 替换响应文件的url + busProcessModelHisService.replaceFile(change.getOnEditFile(), change.getReplaceFileId()); + // 保存修改的文件 commonService.commonEdit(parameterMap); // 生成修改单号 this.genModificationOrderNumber(change); diff --git a/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/IBusProcessModelHisService.java b/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/IBusProcessModelHisService.java index 16e7de6e..fa775813 100644 --- a/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/IBusProcessModelHisService.java +++ b/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/IBusProcessModelHisService.java @@ -31,6 +31,8 @@ public interface IBusProcessModelHisService extends IService BusProcessModelHis saveEditFileWithOss(String ossFileId); + void replaceFile(String hisId, String replaceId); + List modelHisList(String pid); OnlineFileLog selectOnlineFile(String onlineFileId); diff --git a/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java index 5c01763a..05a5b949 100644 --- a/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/onlyoffice/service/impl/BusProcessModelHisServiceImpl.java @@ -7,6 +7,7 @@ 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.laws.common.constant.FieldCommon; import com.jero.modules.onlyoffice.entity.BusProcessModelHis; import com.jero.modules.onlyoffice.entity.OnlineFileLog; import com.jero.modules.onlyoffice.mapper.BusProcessModelHisMapper; @@ -364,6 +365,35 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(OnlineFileLog::getHisId, hisId); + wrapper.eq(OnlineFileLog::getValidFlag, "0"); + wrapper.orderByDesc(OnlineFileLog::getCreateTime); + List 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); + OSSFile replaceFile = ossFileService.getById(replaceId); + if (oConvertUtils.isNotEmpty(savePath)) { + // 文件名 + String fileName = his.getFileName(); + fileName = CommonUtils.getFileName(fileName); + replaceFile.setFileName(fileName); + replaceFile.setUrl(savePath); + ossFileService.updateById(replaceFile); + } + } + @Override public String saveProcessFileToOss(String hisId) { BusProcessModelHis his = this.getById(hisId); @@ -387,6 +417,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl