diff --git a/adc-da-convert/pom.xml b/adc-da-convert/pom.xml index da2487c4..49b7dbb2 100644 --- a/adc-da-convert/pom.xml +++ b/adc-da-convert/pom.xml @@ -24,32 +24,40 @@ - com.artofsolving - jodconverter - system - 2.2.2 - ${basedir}/src/main/lib/jodconverter-2.2.2.jar + org.jodconverter + jodconverter-core + 4.2.2 + + + org.jodconverter + jodconverter-spring-boot-starter + 4.2.2 + + + org.jodconverter + jodconverter-local + 4.2.2 org.openoffice juh - 3.0.1 + 4.1.2 org.openoffice jurt - 3.0.1 + 4.1.2 org.openoffice ridl - 3.0.1 + 4.1.2 org.openoffice unoil - 3.0.1 + 4.1.2 diff --git a/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java b/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java index 27974771..5fd73037 100644 --- a/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java +++ b/adc-da-convert/src/main/java/com/adc/da/convert/common/DocConverterPdf.java @@ -1,20 +1,23 @@ package com.adc.da.convert.common; -import com.artofsolving.jodconverter.DocumentConverter; -import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection; -import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection; -import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter; -import com.artofsolving.jodconverter.openoffice.converter.StreamOpenOfficeDocumentConverter; import org.apache.commons.lang.StringUtils; +import org.jodconverter.DocumentConverter; +import org.jodconverter.JodConverter; +import org.jodconverter.OfficeDocumentConverter; +import org.jodconverter.document.DefaultDocumentFormatRegistry; +import org.jodconverter.office.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + import java.io.*; public class DocConverterPdf { private static final Logger logger = LoggerFactory.getLogger(DocConverterPdf.class); - private static String OS_NAME = System.getProperty("os.name").toLowerCase(); + @Autowired + private DocumentConverter converter; private static final int ENVIRONMENT = 1;// 环境 1:windows 2:linux private String fileString;// (只涉及pdf2swf路径问题) @@ -24,6 +27,7 @@ public class DocConverterPdf { private File convertPdfFile; private File swfFile; private File docFile; + private String filesType; String waterPdfPath; private String convertHost; @@ -51,6 +55,7 @@ public class DocConverterPdf { fileName = fileString.substring(0, fileString.lastIndexOf(".")); if(".doc".equals(fileType.toLowerCase()) || ".docx".equals(fileType.toLowerCase()) || ".xlsx".equals(fileType.toLowerCase()) || ".xls".equals(fileType.toLowerCase()) || ".ppt".equals(fileType.toLowerCase()) || ".pptx".equals(fileType.toLowerCase())){ docFile = new File(fileString); + filesType = fileType.toLowerCase(); convertPdfFile=new File(fileName+"_C"+ ".pdf"); pdfFile = new File(fileName + ".pdf"); swfFile = new File(fileName + ".swf"); @@ -60,6 +65,41 @@ public class DocConverterPdf { } } + /** + * openOffice目录,window 可能在C://Program Files (x86)//OpenOffice 4 + */ + private static final String openOfficeHome = "/opt/openoffice4"; + + /** + * openOffice端口 + */ + private static final int openOfficePort = 8100; + + /** + * 转化文档 + * @param input + * @param output + */ + public void convertFile(File input , File output) throws OfficeException { + //转换,自动识别转化类型 + OfficeManager officeManager = LocalOfficeManager.builder() + .install() + .officeHome(openOfficeHome) + .build(); + try { + // Start an office process and connect to the started instance (on port 2002). + officeManager.start(); + // Convert + JodConverter + .convert(input) + .to(output) + .execute(); + } finally { + // Stop the office process + OfficeUtils.stopQuietly(officeManager); + } + } + /** * 转为PDF * @@ -67,22 +107,16 @@ public class DocConverterPdf { */ private void doc2pdf() throws Exception { if (!pdfFile.exists()) { - OpenOfficeConnection connection = null; logger.info("转换服务地址接口:"+convertHost); + InputStream in = null; + OutputStream out = null; try { - if(StringUtils.isNotBlank(convertHost)){ - connection = new SocketOpenOfficeConnection(convertHost,8100); - }else{ - connection = new SocketOpenOfficeConnection(8100); - } - connection.connect(); - DocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection); - converter.convert(docFile, convertPdfFile); - - //addWaterToPdf(pdfFile,userId); - +// in = new FileInputStream(docFile); +// out = new FileOutputStream(convertPdfFile); + convertFile(docFile,convertPdfFile); +// converter.convert(in).as(DefaultDocumentFormatRegistry.getFormatByMediaType(filesType)). +// to(out).as(DefaultDocumentFormatRegistry.PDF); // close the connection - connection.disconnect(); // 开始设置PDF文档相关属性保证其安全性 logger.info("开始设置转换后的PDF文件安全性相关设置"); PDFEditUtils.setPDFFileSecurity(pdfFile.getAbsolutePath(),convertPdfFile.getAbsolutePath()); @@ -91,10 +125,6 @@ public class DocConverterPdf { logger.error(e.getMessage(),e); logger.info("****pdf转换器异常,openoffice服务未启动!****"); throw e; - } catch (com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException e) { - logger.error(e.getMessage(),e); - logger.info("****pdf转换器异常,读取转换文件失败****"); - throw e; } catch (Exception e) { logger.error(e.getMessage(),e); throw e; @@ -240,11 +270,6 @@ public class DocConverterPdf { } public void setConvertHost(String convertHost) { - OS_NAME = OS_NAME.toLowerCase(); - if (OS_NAME.contains("win")) { - this.convertHost = convertHost; - } else { - this.convertHost = "62.234.136.153"; - } + this.convertHost = convertHost; } } diff --git a/adc-da-main/src/main/resources/application.properties b/adc-da-main/src/main/resources/application.properties index a4327f1d..6f42d8db 100644 --- a/adc-da-main/src/main/resources/application.properties +++ b/adc-da-main/src/main/resources/application.properties @@ -13,6 +13,9 @@ server.port=9999 #主服务session超时 server.servlet.session.timeout =600 +#tomcat /resource/local/version-manager 创建tomcat指定临时目录 +server.tomcat.basedir=/resource/local/version-manager + # http-only server.session.cookie.http-only=true spring.mvc.async.request-timeout=20000 diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java index 355af8ff..b13dd512 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java @@ -7,6 +7,7 @@ import com.adc.da.scheduled.entity.DataDTO; import com.adc.da.scheduled.entity.WarningEO; import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; +import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.util.UUIDUtils; @@ -54,8 +55,8 @@ public class ScheduledJob { -// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行 - @Scheduled(cron="*/5 * * * * ?") + @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行 +// @Scheduled(cron="*/5 * * * * ?") @Async public void WarningSchedulingTasks() { @@ -76,61 +77,84 @@ public class ScheduledJob { 1:新车条款预警 2:在产车条款预警 */ + + //删除不在预警范围的标准 + QueryWrapper earlyWarningEOQW = new QueryWrapper<>(); + earlyWarningEOQW.lt("PUT_TIME",LocalDate.now()); + int remove = sarStandardWarningDao.delete(earlyWarningEOQW); + System.out.println(remove); + + System.out.println("开始执行预警!!!"); DataDTO term = new DataDTO(); //预警期限(当前日期至3个月后) LinkedList warningList = new LinkedList<>();//需预警的标准和条款列表集合 //分解单(条款) 新车型 mark=1 - List itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ", "APPLY_ARCTIC"); + List itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ"); for (WarningEO warningEO : itemForXCXSSRQ) { warningEO.setId(UUIDUtils.randomUUID20()) .setPower("1") .setMark("1") - .setPutTime(warningEO.getXCXSSRQ()) - .setApplyType(warningEO.getApplyType()); + .setPutTime(warningEO.getXCXSSRQ()); } warningList.addAll(itemForXCXSSRQ); //分解单(条款) 在产车型 mark=2 - List itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ", "APPLY_ARCTIC"); + List itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ"); for (WarningEO warningEO : itemForZCCSSRQ) { warningEO.setId(UUIDUtils.randomUUID20()) .setPower("1") .setMark("2") - .setPutTime(warningEO.getZCCSSRQ()) - .setApplyType(warningEO.getApplyType()); + .setPutTime(warningEO.getZCCSSRQ()); + } warningList.addAll(itemForZCCSSRQ); //标准 新车型 预警 mark=3 - List standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ", "CLLX"); + List standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ"); for (WarningEO warningEO : standInfoXCXSSRQ) { warningEO.setId(UUIDUtils.randomUUID20()) + /** + * //如果插入的值均为NULL,则根据索引的原理, + * 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的 + * 则此处设为 '-1' + */ + .setItemsId("-1") .setPower("1") .setMark("3") - .setPutTime(warningEO.getXCXSSRQ()) - .setApplyType(warningEO.getApplyType()) .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); + + //实施日期达到预警时间,但新车型实施日期不在时间内 + if (term.isTerm(warningEO.getXCXSSRQ())){ + warningEO.setPutTime(warningEO.getXCXSSRQ()); + } + } warningList.addAll(standInfoXCXSSRQ); //标准 在产车型 mark=4 - List standInfoZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ", "CLLX"); + List standInfoZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ"); for (WarningEO warningEO : standInfoZCCSSRQ) { warningEO.setId(UUIDUtils.randomUUID20()) + /** + * 同上 + */ + .setItemsId("-1") .setPower("1") .setMark("4") - .setPutTime(warningEO.getZCCSSRQ()) - .setApplyType(warningEO.getApplyType()) .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear()); + //实施日期达到预警时间,但在产车实施日期不在时间内 + if (term.isTerm(warningEO.getZCCSSRQ())){ + warningEO.setPutTime(warningEO.getZCCSSRQ()); + } } warningList.addAll(standInfoZCCSSRQ); //持久化至预警表 忽略标准id和标志位都一样的数据 if (warningList.size()!=0){ - //此表的STAND_ID和MARK字段以及ITEMS_ID和MARK字段需两个建立唯一性约束 + //此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束 int count = sarStandardWarningDao.ignoreInsert(warningList); System.out.println("已预警 " + count + " 条标准或条款!!"); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java index 76b2394b..9e326220 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java @@ -1,6 +1,8 @@ package com.adc.da.scheduled.dao; import com.adc.da.scheduled.entity.WarningEO; +import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; @@ -9,7 +11,7 @@ import org.springframework.stereotype.Repository; import java.util.LinkedList; @Repository -public interface SarStandardWarningDao extends IService { +public interface SarStandardWarningDao extends BaseMapper { public int ignoreInsert(@Param(value = "warningEOS") LinkedList warningEOS); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java index 042d54c3..7effccb0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/DataDTO.java @@ -1,10 +1,18 @@ package com.adc.da.scheduled.entity; +import com.alibaba.druid.sql.visitor.functions.Char; +import com.sun.org.apache.bcel.internal.generic.NEW; import lombok.Data; import lombok.experimental.Accessors; +import org.apache.poi.ss.formula.functions.T; import org.springframework.format.annotation.DateTimeFormat; +import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; @Data @Accessors(chain = true) @@ -13,21 +21,56 @@ public class DataDTO { * 预警的期限为系统日期的次日至3个月后 */ - @DateTimeFormat(pattern="yyyy-MM-dd") - private LocalDate startDate; - @DateTimeFormat(pattern="yyyy-MM-dd") - private LocalDate endDate; + + private String startDate; + + private String endDate; // private String str; public DataDTO() { - this.startDate =LocalDate.now().plusDays(1); //系统当前日期 - this.endDate = LocalDate.now().plusMonths(3);//系统当前日期3个月后 + LocalDate starDate = LocalDate.now();//系统当前日期 + LocalDate endDate = LocalDate.now().plusMonths(3);//系统当前日期3个月后 + + convertToStr(starDate,endDate); } public DataDTO(LocalDate startDate,LocalDate endDate){ - this.startDate=startDate; - this.endDate=endDate; + convertToStr(startDate,endDate); } + //判断日期是否在期限内 + public boolean isTerm(Date date) { + + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + String dateString = formatter.format(date); + int compareStart = dateString.compareTo(startDate); + int compareEnd = dateString.compareTo(startDate); + if (compareStart >= 0 && compareEnd <=0) { + return true; + } else return false; + + } + + + + + /** + * 此时的mybatis-plus对localDate类型没有完全支持,则转换为字符串使用 + * @param startDate + * @param endDate + */ + public void convertToStr(LocalDate startDate,LocalDate endDate){ + + /** + * 使用DateTimeFormatter线程安全,但不晓得怎么支持Date类型转换为字符串 ¯\_(ツ)_/¯ + */ + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + +// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//线程不安全且不支持LocalDate + + this.startDate =formatter.format(startDate); + this.endDate=formatter.format(endDate); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java index 4f101c9a..20868a38 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/entity/WarningEO.java @@ -22,6 +22,9 @@ public class WarningEO extends EarlyWarningEO { @DateTimeFormat(pattern = "YYYY-MM-dd") private Date ZCCSSRQ; + @DateTimeFormat(pattern = "YYYY-MM-dd") + private Date SSRQ; + private String standNum; private String standSort; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java index f2903179..dab9f160 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java @@ -11,6 +11,7 @@ import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDate; import java.util.Date; @Data diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java index 6752ce16..66136d5c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java @@ -172,9 +172,7 @@ public class EarlyWarningEOServiceImpl extends ServiceImpl getEarlyWarningEOIPage(int current,int pageSize, QueryWrapper wrapper) { - DataDTO dataDTO = new DataDTO(); - wrapper.eq("power",1) - .between("PUT_TIME",dataDTO.getStartDate(),dataDTO.getEndDate()); + wrapper.eq("power",1); Page page = new Page<>(current, pageSize); IPage userIPage = earlyWarningEODao.selectPage(page, wrapper); System.out.println("总条数"+userIPage.getTotal()); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarStandFileEOController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarStandFileEOController.java index 825a91d6..7ab8d9ff 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarStandFileEOController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarStandFileEOController.java @@ -135,4 +135,13 @@ public class SarStandFileEOController extends BaseController { return Result.success(getPageInfo(page.getPager(), rows)); } + + @ApiOperation(value = "查询文本信息") + @GetMapping("/queryFileInfo") + public ResponseMessage> queryFileInfo(String standId){ + + List sarStandFileEOS = sarStandFileEOService.selectFileByStandId(standId); + return Result.success(sarStandFileEOS); + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/entity/SarStandFileEO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/entity/SarStandFileEO.java index 6e8ef33a..3cf3ed1d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/entity/SarStandFileEO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/entity/SarStandFileEO.java @@ -1,6 +1,11 @@ package com.adc.da.slrs.standardSplit.entity; import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; import java.util.ArrayList; import java.util.Date; @@ -12,14 +17,22 @@ import java.util.List; * 日期: 2018-09-03
* 版权所有:版权归北京卡达克数据技术中心所有。
*/ +@Data +@TableName("sar_stand_file") public class SarStandFileEO extends BaseEntity { + @TableField(exist = false) @org.springframework.format.annotation.DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date modifyTime; + @TableField(exist = false) @org.springframework.format.annotation.DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date creationTime; + @TableLogic(value = "0",delval = "1") private String validFlag; + + @TableField("USE_MODEL") private String useModel; + @TableField("ATT_ID") private String attId; public String getAttId1() { @@ -29,23 +42,39 @@ public class SarStandFileEO extends BaseEntity { public void setAttId1(String attId1) { this.attId1 = attId1; } - + @TableField(exist = false) private String attId1; + @TableField(exist = false) private String resId; + @TableField("STAND_ID") private String standId; + @TableId("id") private String id; + @TableField(exist = false) private Integer pageCount; + @TableField(exist = false) private String fileOldName; + @TableField(exist = false) private List idlist = new ArrayList<>(); + @TableField("STAND_FILE_CLASSIFY") private String standFileClassify; + @TableField(exist = false) private String standFileClassifyShow; + @TableField(exist = false) private String fileSuffix; + @TableField("FILE_NAME") private String fileName; + @TableField(exist = false) private String password; + @TableField(exist = false) private String creationUser; + @TableField(exist = false) private String standNumber; + @TableField(exist = false) private String standName; + @TableField(exist = false) private String sarType; + @TableField("ORI_ATT_ID") private String oriAttId; /** @@ -103,7 +132,7 @@ public class SarStandFileEO extends BaseEntity { default: return null; } } - + /** **/ public Date getModifyTime() { return this.modifyTime; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarStandFileEOService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarStandFileEOService.java index daee26b8..4d876d41 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarStandFileEOService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/SarStandFileEOService.java @@ -22,4 +22,7 @@ public interface SarStandFileEOService { int deleteByPrimaryKey(String id) throws Exception; List selectFileByAttId(String attId) throws Exception; + + List selectFileByStandId(String standId); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandFileEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandFileEOServiceImpl.java index d4457165..ee9578a2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandFileEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarStandFileEOServiceImpl.java @@ -5,6 +5,7 @@ import com.adc.da.slrs.standardSplit.dao.SarStandFileEODao; import com.adc.da.slrs.standardSplit.entity.SarStandFileEO; import com.adc.da.slrs.standardSplit.entity.SarStandFileEOPage; import com.adc.da.slrs.standardSplit.service.SarStandFileEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -63,4 +64,12 @@ public class SarStandFileEOServiceImpl implements SarStandFileEOService { return sarStandFileEODao.selectFileByAttId(attId); } + @Override + public List selectFileByStandId(String standId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("STAND_ID",standId).groupBy("ORI_ATT_ID"); + return sarStandFileEODao.selectList(queryWrapper); +// return sarStandFileEODao.selectFileByStandId(standId);r + } + } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsAttrDetailedList/SarLawsAttrDetailedListMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsAttrDetailedList/SarLawsAttrDetailedListMapper.xml index d280e916..48a89181 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsAttrDetailedList/SarLawsAttrDetailedListMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsAttrDetailedList/SarLawsAttrDetailedListMapper.xml @@ -64,7 +64,7 @@ SELECT items.ID, - STAND_ID, - ITEMS_NUM, - ITEMS_NAME, - TERMS_CONDITIONS, - DUTY_ENGINEER, - APPLY_ARCTIC, + items.ITEMS_NUM, + items.ITEMS_NAME, + items.TERMS_CONDITIONS, + items.DUTY_ENGINEER, + items.STAND_ID, + info.STAND_NAME, info.STAND_TYPE, info.STAND_NUMBER, - - ${str} + attrInfo.CLLX, + attrInfo.ZRGCS, + items.${str} FROM sar_stand_items AS items JOIN sar_standards_info AS info ON items.STAND_ID=info.ID + JOIN sar_stand_attr_info AS attrInfo ON info.id = attrinfo.stand_id WHERE - ${str} BETWEEN #{date.startDate} and #{date.endDate} + items.${str} BETWEEN #{date.startDate} and #{date.endDate} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml index 12daa750..ab43a5b0 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml @@ -4,7 +4,7 @@ - INSERT IGNORE INTO sar_stand_warning (ID,STAND_ID, STAND_TYPE, STAND_CODE,STAND_NAME,PUT_TIME,APPLY_TYPE,DUTY_ENGINEER,ITEMS_ID,ITEMS_NUM,ITEMS_NAME,POLICY_ID,POLICY_NAME,MARK,POWER) + REPLACE INTO sar_stand_warning (ID,STAND_ID, STAND_TYPE, STAND_CODE,STAND_NAME,PUT_TIME,APPLY_TYPE,DUTY_ENGINEER,ITEMS_ID,ITEMS_NUM,ITEMS_NAME,POLICY_ID,POLICY_NAME,MARK,POWER) VALUES diff --git a/adc-da-sys/src/main/java/com/adc/da/ocr/service/impl/OCRRestfulServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/ocr/service/impl/OCRRestfulServiceImpl.java index 5f073609..c79bdc83 100644 --- a/adc-da-sys/src/main/java/com/adc/da/ocr/service/impl/OCRRestfulServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/ocr/service/impl/OCRRestfulServiceImpl.java @@ -164,7 +164,11 @@ public class OCRRestfulServiceImpl implements OCRRestfulService { saveWordFileName=UUIDUtils.randomUUID20()+"_"+wordFile.getOriginalFilename(); saveWordFilePath=ocrFilePath+saveWordFileName; logger.info(saveWordFilePath); - FileUtils.copyInputStreamToFile(wordFile.getInputStream(),new File(saveWordFilePath)); + //生成保存文件 + File saveWordFile = new File(saveWordFilePath); + System.out.println(saveWordFile); + wordFile.transferTo(saveWordFile); +// FileUtils.copyInputStreamToFile(wordFile.getInputStream(),new File(saveWordFilePath)); // savePic(wordFile.getInputStream(),saveWordFilePath); logger.info("word存储完成"); } @@ -174,7 +178,10 @@ public class OCRRestfulServiceImpl implements OCRRestfulService { saveJsonFileName=UUIDUtils.randomUUID20()+"_"+jsonFile.getOriginalFilename(); saveJsonFilePath=ocrFilePath+saveJsonFileName; logger.info(saveJsonFilePath); - FileUtils.copyInputStreamToFile(jsonFile.getInputStream(),new File(saveJsonFilePath)); + File saveJsonFile = new File(saveJsonFilePath); + System.out.println(saveJsonFile); + wordFile.transferTo(saveJsonFile); +// FileUtils.copyInputStreamToFile(jsonFile.getInputStream(),new File(saveJsonFilePath)); // savePic(jsonFile.getInputStream(),saveJsonFilePath); logger.info("Json存储完成"); }