From d82886d664c55f2005e805fd919feb73c3b032f3 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Thu, 1 Jun 2023 09:39:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AE'?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=8A=80=E6=9C=AF=E5=A7=94=E5=91=98=E4=BC=9A?= =?UTF-8?q?=E8=AF=84=E5=AE=A1=E3=80=81=E8=AF=84=E5=AE=A1=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9'=E6=9D=A5=E6=9B=B4=E6=96=B0=E8=AF=84?= =?UTF-8?q?=E5=88=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QualityEvaluationController.java | 6 ++++ .../dao/QualityEvaluationDao.java | 4 +++ .../service/IQualityEvaluationService.java | 3 ++ .../impl/QualityEvaluationServiceImpl.java | 31 +++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/QualityEvaluationController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/QualityEvaluationController.java index 7bcab299..51df3c06 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/QualityEvaluationController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/QualityEvaluationController.java @@ -102,4 +102,10 @@ public class QualityEvaluationController extends BaseController updateQualityEvaluation(){ + return iQualityEvaluationService.updateQualityEvaluation(); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/QualityEvaluationDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/QualityEvaluationDao.java index 24acf1e0..5de64e1d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/QualityEvaluationDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/QualityEvaluationDao.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -37,4 +38,7 @@ public interface QualityEvaluationDao extends BaseMapper { List selectBZSH(@Param("node") String node,@Param("lawId") String lawId); void updateByProcessNode(@Param("lawId") String lawId); + + @Select("select * from quality_evaluation") + List selectAll(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IQualityEvaluationService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IQualityEvaluationService.java index 6eb17ced..a1d589f3 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IQualityEvaluationService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IQualityEvaluationService.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service; +import com.adc.da.http.ResponseMessage; import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO; import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -27,4 +28,6 @@ public interface IQualityEvaluationService extends IService { Map getScore(String lawId); + + ResponseMessage updateQualityEvaluation(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java index 832660f1..bd46d2aa 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java @@ -1,5 +1,7 @@ package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.impl; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex; import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO; import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; @@ -12,6 +14,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.IterableMap; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -279,6 +282,34 @@ public class QualityEvaluationServiceImpl extends ServiceImpl updateQualityEvaluation() { + QualityEvaluation qualityEvaluation = new QualityEvaluation(); + //先查询数据库取出所有数据 + List list = qualityEvaluationDao.selectAll(); + Integer count = 0; + //校验list不为空时将获取到的数据进行循环遍历 + if (ObjectUtils.isNotEmpty(list) && list != null){ + for (QualityEvaluation qualityEvaluation1 : list){ + if (qualityEvaluation1.getLawId() != null && !qualityEvaluation1.getLawId().equals("") && qualityEvaluation1.getProcessNode() != null && !qualityEvaluation1.getProcessNode().equals("")){ + qualityEvaluation.setLawId(qualityEvaluation1.getLawId()); + qualityEvaluation.setProcessNode(qualityEvaluation1.getProcessNode()); + if (qualityEvaluation.getProcessNode().equals("重新技术委员会评审、评审意见修改")){ + qualityEvaluationDao.updateByProcessNode(qualityEvaluation.getLawId()); + count++; + } + } + } + }else { + return Result.error("list集合为空"); + } + return Result.success("0","更新技术委员会评审、评审意见修改为空已完成,共修改" + count + "条数据"); + } + // private Double getScoreSingle(QualityEvaluation item){ // From a5ac16c633ba30861e8d890c7f8b988c9582e7c1 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Thu, 1 Jun 2023 09:42:13 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=8E=A5=E5=8F=A3=E7=9A=84sql?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adc-da-slrs/src/main/resources/mysql/interfaceLog.sql | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/adc-da-slrs/src/main/resources/mysql/interfaceLog.sql b/adc-da-slrs/src/main/resources/mysql/interfaceLog.sql index fc1b8619..930ef31a 100644 --- a/adc-da-slrs/src/main/resources/mysql/interfaceLog.sql +++ b/adc-da-slrs/src/main/resources/mysql/interfaceLog.sql @@ -1,5 +1,13 @@ -- 福田 需要通过第三方调用的接口 +--2023-06-01 09:41 +--名称 存在重新技术委员会评审、评审意见修改时将技术委员会评审、评审意见修改的评分更新成0 +--详情 +--路径 http://localhost:9090/api//sarEnterpriseStandardEvaluation/quality-evaluation/updateQualityEvaluation +--参数 +--类型 post + + --2023-05-05 10:18 --名称 海外标准文件名称 包含 中,CN/cn 译 的放置译文处 --详情 From 8ddd3598294d576c400798ec0b838e6e85526479 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Thu, 1 Jun 2023 13:59:50 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BD=E5=86=85?= =?UTF-8?q?=E5=A4=96=E5=92=8C=E4=BC=81=E4=B8=9A=E6=A0=87=E5=87=86=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=96=87=E6=9C=AC=E7=8A=B6=E6=80=81=E7=9A=84=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/SarBussionessStandDao.java | 3 + .../sync/StateSync.java | 112 ++++++++++++++++++ 2 files changed, 115 insertions(+) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java index 851d0b52..65b42273 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java @@ -133,5 +133,8 @@ public interface SarBussionessStandDao extends BaseMapper { String selectByStandCode(String standCode); SarBussionessStand selectByReplaceStandNum(String standCode); + + @Select("select * from sar_bussioness_stand where TEXT_STATUS_BUSS is not null") + List selectAllStandStatus(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStandState/sync/StateSync.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStandState/sync/StateSync.java index 466a6ae8..20f965d6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStandState/sync/StateSync.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStandState/sync/StateSync.java @@ -4,10 +4,17 @@ import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStandState.entity.SarBussionessStandState; import com.adc.da.slrs.sarBussionessStandState.service.ISarBussionessStandStateService; +import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; +import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; +import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; +import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; import com.adc.da.util.DateUtils; import com.adc.da.utils.util.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +44,15 @@ public class StateSync { @Autowired private ISarBussionessStandStateService bussionessStandStateService; + @Autowired + private SarStandardsInfoDao sarStandardsInfoDao; + + @Autowired + private SarStandAttrInfoDao sarStandAttrInfoEODao; + + @Autowired + private ISarUpdLogService sarUpdLogEOService; + /** * 根据配置文件设置是否开启定时器 */ @@ -270,4 +286,100 @@ public class StateSync { return false; } + + /** + * 企业标准更新文本状态定时器 + */ + @Scheduled(cron = "0 0 5 * * ?") //每天早晨五点执行 + public void timeSarBussionessStand(){ + if (isNotScheduled){ + logger.info("开始执行企业标准更新文本状态定时器"); + List list = sarBussionessStandDao.selectAllStandStatus(); + if (ObjectUtils.isNotEmpty(list) && list != null){ + for (SarBussionessStand sarBussionessStand : list){ + if (StringUtils.isNotBlank(sarBussionessStand.getReplaceStandNum()) && sarBussionessStand != null){ + SarBussionessStand sarBussionessStand2 = sarBussionessStandDao.selectByReplaceStandNum(sarBussionessStand.getReplaceStandNum()); + //9z741h2m3j 有效,3lqnlgmgcn 作废 + if (sarBussionessStand2 != null && (sarBussionessStand.getTextStatusBuss().equals("9z741h2m3j")|| sarBussionessStand.getTextStatusBuss().equals("3lqnlgmgcn"))){ + sarBussionessStand2.setTextStatusBuss("3lqnlgmgcn"); + sarBussionessStandDao.updateById(sarBussionessStand2); + logger.info("修改企业标准文本状态完成,修改的企业标准id为:" + sarBussionessStand2.getId() + ",企标名称为:" + sarBussionessStand2.getStandName() + ",企标编号为:" + sarBussionessStand2.getStandCode()); + } + } + } + } + } + } + + /** + * 国内外标准更新文本状态定时器 + */ + @Scheduled(cron = "0 0 5 * * ?") //每天早晨五点执行 + public void timeSarStandardsInfo()throws Exception{ + if (isNotScheduled){ + logger.info("开始执行国内外标准更新文本状态定时器"); + List sarStandardsInfoEOs = sarStandardsInfoDao.getSarStandardsInfo(); + if (ObjectUtils.isNotEmpty(sarStandardsInfoEOs) && sarStandardsInfoEOs != null) { + for (SarStandardsInfo sarStandardsInfoEO : sarStandardsInfoEOs) { + if (sarStandardsInfoEO != null && ObjectUtils.isNotEmpty(sarStandardsInfoEO)) { + SarStandAttrInfo sarStandAttrInfo = sarStandAttrInfoEODao.getSarStandAttrInfo(sarStandardsInfoEO.getId()); + if (sarStandAttrInfo != null && ObjectUtils.isNotEmpty(sarStandAttrInfo)){ + sarStandardsInfoEO.setReplacedStandNum(sarStandAttrInfo.getDtbjh()); + } + + if (org.apache.commons.lang3.StringUtils.isNotBlank(sarStandardsInfoEO.getReplaceStandNum())){ + sarStandardsInfoDao.updateById(sarStandardsInfoEO); + String id = sarStandardsInfoEO.getId(); + List sarStandardsInfos = sarStandardsInfoDao.selectBy(id); + if (ObjectUtils.isNotEmpty(sarStandardsInfos) && sarStandardsInfos != null){ + for (SarStandardsInfo sarStandardsInfo:sarStandardsInfos){ + if (sarStandardsInfo != null && sarStandardsInfo.getStandSort().equals("GB") && (sarStandardsInfoEO.getTextStatus().equals("vsaga7nwub") || sarStandardsInfoEO.getTextStatus().equals("chblaarg77") || sarStandardsInfoEO.getTextStatus().equals("qke0ckro2p"))){ + String textStatus = "chblaarg77"; + sarStandardsInfo.setTextStatus(textStatus); + sarStandardsInfoDao.updateById(sarStandardsInfo); + logger.info("原标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成废止状态"); + + String content = "标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成废止状态"; + sarUpdLogEOService.createBaseLog(sarStandardsInfo.getId(), sarStandardsInfo.getStandType() + "_STAND", content); + }else if (sarStandardsInfo != null && (sarStandardsInfoEO.getTextStatus().equals("vsaga7nwub") || sarStandardsInfoEO.getTextStatus().equals("chblaarg77") || sarStandardsInfoEO.getTextStatus().equals("qke0ckro2p"))){ + String textStatus = "qke0ckro2p"; + sarStandardsInfo.setTextStatus(textStatus); + sarStandardsInfoDao.updateById(sarStandardsInfo); + logger.info("原标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成被代替状态"); + + String content = "标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成被代替状态"; + sarUpdLogEOService.createBaseLog(sarStandardsInfo.getId(), sarStandardsInfo.getStandType() + "_STAND", content); + } + } + } + + + List sarStandardsInfo1s = sarStandardsInfoDao.selectBy1(id); + if (ObjectUtils.isNotEmpty(sarStandardsInfo1s) && sarStandardsInfo1s != null){ + for (SarStandardsInfo sarStandardsInfo1 : sarStandardsInfo1s){ + if (sarStandardsInfo1 != null && sarStandardsInfo1.getStandSort().equals("GB") && (sarStandardsInfoEO.getTextStatus().equals("vsaga7nwub") || sarStandardsInfoEO.getTextStatus().equals("chblaarg77") || sarStandardsInfoEO.getTextStatus().equals("qke0ckro2p"))){ + String textStatus = "chblaarg77"; + sarStandardsInfo1.setTextStatus(textStatus); + sarStandardsInfoDao.updateById(sarStandardsInfo1); + logger.info("原标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成废止状态"); + + String content = "标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成废止状态"; + sarUpdLogEOService.createBaseLog(sarStandardsInfo1.getId(), sarStandardsInfo1.getStandType() + "_STAND", content); + }else if (sarStandardsInfo1 != null && (sarStandardsInfoEO.getTextStatus().equals("vsaga7nwub") || sarStandardsInfoEO.getTextStatus().equals("chblaarg77") || sarStandardsInfoEO.getTextStatus().equals("qke0ckro2p"))){ + String textStatus = "qke0ckro2p"; + sarStandardsInfo1.setTextStatus(textStatus); + sarStandardsInfoDao.updateById(sarStandardsInfo1); + logger.info("原标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成被代替状态"); + + String content = "标准号:"+ sarStandardsInfoEO.getReplaceStandNum() +"被代替标准号变更成被代替状态"; + sarUpdLogEOService.createBaseLog(sarStandardsInfo1.getId(), sarStandardsInfo1.getStandType() + "_STAND", content); + } + } + } + } + } + } + } + } + } } From fb92e09a5e65998f3f0006f4c92a23e5358d8c7a Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Thu, 1 Jun 2023 15:30:20 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E7=BC=96=E8=BE=91pdf?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarBussionessStandServiceImpl.java | 42 +++++++++------- adc-da-sys/pom.xml | 11 ++++ .../att/controller/AttFileEOController.java | 7 +++ .../adc/da/att/service/IAttFileEOService.java | 2 + .../service/impl/AttFileEOServiceImpl.java | 50 +++++++++++++++++-- 5 files changed, 89 insertions(+), 23 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 08fdeeba..fe6d7639 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -4895,28 +4895,32 @@ public class SarBussionessStandServiceImpl extends ServiceImpl objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("ORI_ATT_ID",fileId); objectQueryWrapper.eq("USE_MODEL","SOURCE_FILE"); - objectQueryWrapper.ne("FILE_SUFFIX","pdf"); - objectQueryWrapper.ne("FILE_SUFFIX","PDF"); + objectQueryWrapper.eq("FILE_SUFFIX","docx"); +// objectQueryWrapper.ne("FILE_SUFFIX","pdf"); +// objectQueryWrapper.ne("FILE_SUFFIX","PDF"); List sarBussStandFiles = sarBussStandFileEODao.selectList(objectQueryWrapper); // 为空暂不处理 不为空则意味pdf生成失败 if(!sarBussStandFiles.isEmpty() && sarBussStandFiles.size()==1){ -// createStandFileAppend(\); - AttFileEO fileInfo = attFileEOService.getFileInfo(sarBussStandFiles.get(0).getOriAttId()); - String filePath = fileInfo.getFilePath() + fileInfo.getFileName(); - OtConvertMq convert = new OtConvertMq(); - convert.setLawsId(sarBussStandFiles.get(0).getStandId()); - convert.setAttId(fileInfo.getId()); - convert.setFilePath(filePath); - convert.setAddOrUp("0"); - convert.setFileSuffix(fileInfo.getFileSuffix()); - convert.setStandFileClassify(sarBussStandFiles.get(0).getStandFileClassify()); - convert.setConvertType(SarTypeEnum.BUSINESS.getValue()); - if(elasflag) { - try { - convertMq.sendMQ(convert); - } catch (Exception e) { - e.printStackTrace(); - } + AttFileVo attFileVo = attFileEOService.wordConversionFilePdf(sarBussStandFiles.get(0).getOriAttId()); + if(attFileVo!=null){ + SarBussStandFile sarBussStandFile = new SarBussStandFile(); + //sarBussStandFile.setId(); + String uuId = com.adc.da.util.utils.UUID.randomUUID(20); + sarBussStandFile.setId(uuId); + sarBussStandFile.setStandId(sarBussStandFiles.get(0).getStandId()); + sarBussStandFile.setStandFileClassify(sarBussStandFiles.get(0).getStandFileClassify()); + sarBussStandFile.setAttId(attFileVo.getId()); + sarBussStandFile.setFileName(filePath+attFileVo.getFilePath()+attFileVo.getFileName()); + sarBussStandFile.setFileSuffix(attFileVo.getFileSuffix()); + sarBussStandFile.setUseModel(UseModuleEnum.WEB_FILE.getValue()); + sarBussStandFile.setPassword(sarBussStandFiles.get(0).getPassword()); + sarBussStandFile.setValidFlag(0); + sarBussStandFile.setCreationTime(new Date()); + sarBussStandFile.setModifyTime(new Date()); + sarBussStandFile.setOriAttId(sarBussStandFiles.get(0).getOriAttId()); + sarBussStandFileEODao.insert(sarBussStandFile); + }else { + logger.info("======================================word.doc转换失败================================="); } } } diff --git a/adc-da-sys/pom.xml b/adc-da-sys/pom.xml index 9c0f819c..c928a9e0 100644 --- a/adc-da-sys/pom.xml +++ b/adc-da-sys/pom.xml @@ -22,6 +22,17 @@ + + com.documents4j + documents4j-local + 1.0.3 + + + com.documents4j + documents4j-transformer-msoffice-word + 1.0.3 + + org.springframework spring-test diff --git a/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java b/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java index 79754c64..4320f1d9 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/controller/AttFileEOController.java @@ -761,4 +761,11 @@ public class AttFileEOController { return Result.success(attFileEO); } + @ApiOperation(value = "word转换pdf") + @GetMapping("/wordConversionFilePdf") + public ResponseMessage wordConversionFilePdf(@Param("fileId") String fileId) { + AttFileVo attFileVo = attFileEOService.wordConversionFilePdf(fileId); + return Result.success(attFileVo); + } + } diff --git a/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java b/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java index d7ef8220..3a59dde6 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/service/IAttFileEOService.java @@ -34,4 +34,6 @@ public interface IAttFileEOService extends IService { void downLoadFileList(List multiFileInfos, String fileNowPath) throws IOException; void deleteById(String id); + + AttFileVo wordConversionFilePdf(String fileId); } diff --git a/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java index 9b178b8b..12df17d0 100644 --- a/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/att/service/impl/AttFileEOServiceImpl.java @@ -8,6 +8,9 @@ import com.adc.da.sys.constant.ValidFlagEnum; import com.adc.da.util.FileUtil; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.documents4j.api.DocumentType; +import com.documents4j.api.IConverter; +import com.documents4j.job.LocalConverter; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; @@ -19,10 +22,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; +import java.io.*; import java.util.*; @Service("attFileEOService") @@ -594,5 +594,47 @@ public class AttFileEOServiceImpl extends ServiceImpl i return attFileVo; } + @Override + public AttFileVo wordConversionFilePdf(String fileId) { + String src = "/data/slrs/file"; + AttFileEO fileInfo = getFileInfo(fileId); + AttFileVo attFileVoPdf = null; + if(fileInfo != null){ + File fileWord = new File(src+fileInfo.getFilePath()+fileInfo.getFileName()); + AttFileVo attFileVo = saveFileInfo(fileWord); + // 保存后 开始转换为 pdf版本 + File inputWord = new File(src+attFileVo.getFilePath()+attFileVo.getFileName()); + String filePdfName = ""; + if(StringUtils.isNotBlank(attFileVo.getFileName())){ + String[] split = attFileVo.getFileName().split("\\."); + filePdfName = split[0]+".pdf"; + } + File outputFile = new File(src+fileInfo.getFilePath(),filePdfName); + try { + InputStream docxInputStream = new FileInputStream(inputWord); + OutputStream outputStream = new FileOutputStream(outputFile); + IConverter converter = LocalConverter.builder().build(); + converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute(); + outputStream.close(); + // 合法存入当前文件 + if(outputFile.exists()){ + logger.info("==================================word.docx转换成功========================"); + attFileVoPdf = saveFileInfo(outputFile); + //存入成功以后 删除word 版本 + if(attFileVoPdf != null) { + if (inputWord.exists()) { + inputWord.delete(); + deleteById(attFileVo.getId()); + logger.info("==================================word.docx删除成功========================"); + } + } + } + } catch (Exception e) { + log.error(e.getMessage(),e); + e.printStackTrace(); + } + } + return attFileVoPdf; + } }