Crunchy
2024-04-28 c39517f22b502e2d1ec155beda41162c749f2c26
2024-4-28 word转pdf完成
已修改8个文件
已删除4个文件
已添加2个文件
135 ■■■■ 文件已修改
.gitignore 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/pom.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/lib/license.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.jar.lastUpdated 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.pom 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.pom.lastUpdated 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/main/resources/application-dev.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/impl/EnumServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -19,7 +19,7 @@
*.iml
*.ipr
*.log
*.jar
#*.jar
### NetBeans ###
/nbproject/private/
inspect-server/pom.xml
@@ -17,6 +17,15 @@
    <packaging>jar</packaging>
    <dependencies>
        <!--word转pdf-->
        <dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-words</artifactId>
            <version>15.12.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.yuanchu.mom</groupId>
            <artifactId>framework</artifactId>
@@ -37,11 +46,7 @@
            <artifactId>spring-expression</artifactId>
            <version>5.3.18</version>
        </dependency>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.doc.free</artifactId>
            <version>5.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
@@ -1,18 +1,13 @@
package com.yuanchu.mom.controller;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.dto.ReportPageDto;
import com.yuanchu.mom.dto.SampleOrderDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.service.InsReportService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -21,7 +16,6 @@
import java.io.File;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
@RestController
@@ -41,13 +35,6 @@
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        ReportPageDto reportPageDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ReportPageDto.class);
        return Result.success(insReportService.pageInsReport(page, reportPageDto));
    }
    @ApiOperation(value = "Word转HTML")
    @PostMapping("/wordToHtml")
    @ValueAuth
    public Result wordToHtml(String path) {
        return Result.success("转换成功", insReportService.wordToHtml(path));
    }
    @ApiOperation(value = "报告上传")
inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
@@ -16,8 +16,6 @@
    Map<String,Object> pageInsReport(Page page, ReportPageDto reportPageDto);
    String wordToHtml(String path);
    void wordToPdf(String path);
    int inReport(String url, Integer id);
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -1,31 +1,34 @@
package com.yuanchu.mom.service.impl;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.data.Pictures;
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.ReportPageDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.InsOrderMapper;
import com.yuanchu.mom.mapper.InsReportMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.pojo.InsReport;
import com.yuanchu.mom.service.InsReportService;
import com.yuanchu.mom.mapper.InsReportMapper;
import com.yuanchu.mom.utils.QueryWrappers;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
@@ -68,18 +71,6 @@
        if (map1.get("look") == 1) reportPageDto.setCreateUser(map1.get("userId"));
        map.put("body", insReportMapper.pageInsReport(page, QueryWrappers.queryWrappers(reportPageDto)));
        return map;
    }
    @Override
    public String wordToHtml(String path) {
        try(ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
            Document document = new Document();
            document.loadFromFile(path.replace("/word", wordUrl));
            document.saveToFile(outputStream, FileFormat.Html);
            return outputStream.toString();
        } catch (Exception e) {
            throw new ErrorException("转换失败");
        }
    }
    @Override
@@ -189,11 +180,8 @@
    @Override
    public void wordToPdf(String path) {
        CompletableFuture.supplyAsync(() -> {
            try(ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
                Document document = new Document();
                document.loadFromFile(path);
                document.saveToFile(path.replace(".docx", ".pdf"), FileFormat.PDF);
                System.out.println(path.replace(".docx", ".pdf"));
            try {
                wordToPdf(path, path.replace(".docx", ".pdf"));
                return null;
            } catch (Exception e) {
                throw new ErrorException("转换失败");
@@ -204,6 +192,38 @@
            return null;
        });
    }
    public String wordToPdf(String wordPath,String pdfPath) {
        FileOutputStream os = null;
        try {
            //凭证 ä¸ç„¶åˆ‡æ¢åŽæœ‰æ°´å°
//            InputStream inputStream = this.getClass().getResourceAsStream("/lib/license.xml");
            InputStream is = new ClassPathResource("/lib/license.xml").getInputStream();
            License license = new License();
            license.setLicense(is);
            if (!license.getIsLicensed()) {
                System.out.println("License验证不通过...");
                return null;
            }
            //生成一个空的PDF文件
            File file = new File(pdfPath);
            os = new FileOutputStream(file);
            //要转换的word文件
            com.aspose.words.Document doc = new com.aspose.words.Document(wordPath);
            doc.save(os, SaveFormat.PDF);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (os != null) {
                try {
                    os.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return null;
    }
}
inspect-server/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar
Binary files differ
inspect-server/src/main/resources/lib/license.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<License>
    <Data>
        <Products>
            <Product>Aspose.Total for Java</Product>
            <Product>Aspose.Words for Java</Product>
        </Products>
        <EditionType>Enterprise</EditionType>
        <SubscriptionExpiry>20991231</SubscriptionExpiry>
        <LicenseExpiry>20991231</LicenseExpiry>
        <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
    </Data>
    <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.jar
Binary files differ
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.jar.lastUpdated
ÎļþÒÑɾ³ý
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.pom
ÎļþÒÑɾ³ý
other-jar/e-iceblue/spire.doc.free/5.2.0/spire.doc.free-5.2.0.pom.lastUpdated
ÎļþÒÑɾ³ý
system-run/src/main/resources/application-dev.yml
@@ -29,7 +29,7 @@
  type-aliases-package: com.yuanchu.mom.pojo
  mapper-locations: classpath*:/mapper/*.xml
  configuration:
    log-impl: #org.apache.ibatis.logging.stdout.StdOutImpl # å¼€å¯mybatis-plus日志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # å¼€å¯mybatis-plus日志
# æ•°æ®æºé…ç½®
@@ -79,5 +79,4 @@
      # æœ€å°ç©ºé—²è¿žæŽ¥æ•°ï¼ˆé»˜è®¤ä¸º0,该值只有为正数才有用)
      min-idle: 0
      # ä»Žè¿žæŽ¥æ± ä¸­èŽ·å–è¿žæŽ¥æœ€å¤§ç­‰å¾…æ—¶é—´ï¼ˆé»˜è®¤ä¸º-1,单位为毫秒,负数表示无限)
      max-wait: -1
      max-wait: -1
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -6,6 +6,7 @@
@SpringBootTest
class SystemRunApplicationTest {
    @Test
    void  contextLoads() {
    }
user-server/src/main/java/com/yuanchu/mom/service/impl/EnumServiceImpl.java
@@ -1,20 +1,17 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.mapper.AuthMapper;
import com.yuanchu.mom.mapper.EnumMapper;
import com.yuanchu.mom.pojo.Enums;
import com.yuanchu.mom.service.EnumService;
import com.yuanchu.mom.mapper.EnumMapper;
import com.yuanchu.mom.utils.QueryWrappers;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;