From 4031270b81a748b5d357af27085bc2392b0781cc Mon Sep 17 00:00:00 2001 From: lizhengwei Date: Sun, 4 Jan 2026 13:50:13 +0800 Subject: [PATCH] =?UTF-8?q?ruoyi-tpl=20=E6=96=87=E4=BB=B6=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E6=89=93=E5=8D=B0=E5=90=8E=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-site/pom.xml | 1 + ruoyi-site/ruoyi-tpl/Dockerfile | 20 + ruoyi-site/ruoyi-tpl/README.md | 1 + ruoyi-site/ruoyi-tpl/pom.xml | 90 +++ ruoyi-site/ruoyi-tpl/sql/init_ddl.sql | 0 ruoyi-site/ruoyi-tpl/sql/init_dml.sql | 0 .../java/com/lizhw/tpl/TplApplication.java | 13 + .../com/lizhw/tpl/config/JacksonConfig.java | 52 ++ .../config/MybatisPlusAutoConfigTenant.java | 61 ++ .../lizhw/tpl/config/WebConfiguration.java | 27 + .../java/com/lizhw/tpl/module/TenantRpc.java | 24 + .../module/docx/service/ClassroomService.java | 23 + .../com/lizhw/tpl/module/docx/ttt/Main.java | 24 + .../lizhw/tpl/module/docx/ttt/NiceDoc.java | 554 ++++++++++++++++++ .../lizhw/tpl/module/docx/ttt/NiceExcel.java | 325 ++++++++++ .../lizhw/tpl/module/docx/ttt/NiceUtils.java | 197 +++++++ .../tpl/module/docx/ttt/TestTemplate.java | 107 ++++ .../src/main/resources/application-dev.yaml | 40 ++ .../src/main/resources/application-local.yaml | 40 ++ .../src/main/resources/application.yaml | 78 +++ .../src/main/resources/static/head.png | Bin 0 -> 171684 bytes .../src/main/resources/static/test.docx | Bin 0 -> 25006 bytes .../src/main/resources/static/test.xlsx | Bin 0 -> 11862 bytes 23 files changed, 1677 insertions(+) create mode 100644 ruoyi-site/ruoyi-tpl/Dockerfile create mode 100644 ruoyi-site/ruoyi-tpl/README.md create mode 100644 ruoyi-site/ruoyi-tpl/pom.xml create mode 100644 ruoyi-site/ruoyi-tpl/sql/init_ddl.sql create mode 100644 ruoyi-site/ruoyi-tpl/sql/init_dml.sql create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/TplApplication.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/JacksonConfig.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/MybatisPlusAutoConfigTenant.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/WebConfiguration.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/TenantRpc.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/service/ClassroomService.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/Main.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceDoc.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceExcel.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceUtils.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/TestTemplate.java create mode 100644 ruoyi-site/ruoyi-tpl/src/main/resources/application-dev.yaml create mode 100644 ruoyi-site/ruoyi-tpl/src/main/resources/application-local.yaml create mode 100644 ruoyi-site/ruoyi-tpl/src/main/resources/application.yaml create mode 100644 ruoyi-site/ruoyi-tpl/src/main/resources/static/head.png create mode 100644 ruoyi-site/ruoyi-tpl/src/main/resources/static/test.docx create mode 100644 ruoyi-site/ruoyi-tpl/src/main/resources/static/test.xlsx diff --git a/ruoyi-site/pom.xml b/ruoyi-site/pom.xml index d0e964e5b..ad4c3cbd3 100644 --- a/ruoyi-site/pom.xml +++ b/ruoyi-site/pom.xml @@ -12,6 +12,7 @@ ruoyi-sso-server ruoyi-h5 + ruoyi-tpl ruoyi-gateway ruoyi-tams diff --git a/ruoyi-site/ruoyi-tpl/Dockerfile b/ruoyi-site/ruoyi-tpl/Dockerfile new file mode 100644 index 000000000..2f8023f52 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/Dockerfile @@ -0,0 +1,20 @@ +FROM bellsoft/liberica-openjdk-debian:17.0.11-cds + +LABEL maintainer="lizhw" + +RUN mkdir -p /ruoyi/resource/logs \ + /ruoyi/resource/temp \ + /ruoyi/skywalking/agent + +WORKDIR /ruoyi/resource + +ENV SERVER_PORT=19201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="" + +EXPOSE ${SERVER_PORT} + +ADD ./target/ruoyi-tpl.jar ./app.jar + +ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \ + -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \ + -jar app.jar + diff --git a/ruoyi-site/ruoyi-tpl/README.md b/ruoyi-site/ruoyi-tpl/README.md new file mode 100644 index 000000000..5c8e2019b --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/README.md @@ -0,0 +1 @@ +ruoyi-tpl 文件模板打印后台 \ No newline at end of file diff --git a/ruoyi-site/ruoyi-tpl/pom.xml b/ruoyi-site/ruoyi-tpl/pom.xml new file mode 100644 index 000000000..06a9e9349 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/pom.xml @@ -0,0 +1,90 @@ + + + + org.dromara + ruoyi-site + ${revision} + + 4.0.0 + + ruoyi-tpl + + + ruoyi-tpl 文件模板打印后台 + + + + + + org.dromara + ruoyi-common-core + + + + + org.dromara + ruoyi-common-tenant + + + + + org.dromara + ruoyi-common-mybatis + + + + org.dromara + ruoyi-common-doc + + + + org.dromara + ruoyi-common-log + + + + + com.mysql + mysql-connector-j + + + + org.dromara + ruoyi-common-encrypt + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.apache.poi + poi-ooxml + 4.1.2 + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + + + repackage + + + + + + + + diff --git a/ruoyi-site/ruoyi-tpl/sql/init_ddl.sql b/ruoyi-site/ruoyi-tpl/sql/init_ddl.sql new file mode 100644 index 000000000..e69de29bb diff --git a/ruoyi-site/ruoyi-tpl/sql/init_dml.sql b/ruoyi-site/ruoyi-tpl/sql/init_dml.sql new file mode 100644 index 000000000..e69de29bb diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/TplApplication.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/TplApplication.java new file mode 100644 index 000000000..dd6d72ae8 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/TplApplication.java @@ -0,0 +1,13 @@ +package com.lizhw.tpl; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class TplApplication { + + public static void main(String[] args) { + SpringApplication.run(TplApplication.class, args); + } + +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/JacksonConfig.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/JacksonConfig.java new file mode 100644 index 000000000..b06c34eaf --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/JacksonConfig.java @@ -0,0 +1,52 @@ +package com.lizhw.tpl.config; + +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.LinkedHashMap; +import java.util.Map; + +@Configuration +public class JacksonConfig { + + public static final String TIME_FORMATTER = "HH:mm:ss"; + public static final String DATE_FORMATTER = "yyyy-MM-dd"; + public static final String DATETIME_FORMATTER = "yyyy-MM-dd HH:mm:ss"; + public final static Map SERIALIZER_MAP; + public final static Map DESERIALIZER_MAP; + + static { + SERIALIZER_MAP = new LinkedHashMap<>(); + SERIALIZER_MAP.put(Long.class, ToStringSerializer.instance); + SERIALIZER_MAP.put(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(JacksonConfig.TIME_FORMATTER))); + SERIALIZER_MAP.put(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(JacksonConfig.DATE_FORMATTER))); + SERIALIZER_MAP.put(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(JacksonConfig.DATETIME_FORMATTER))); + + DESERIALIZER_MAP = new LinkedHashMap<>(); + DESERIALIZER_MAP.put(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(JacksonConfig.TIME_FORMATTER))); + DESERIALIZER_MAP.put(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(JacksonConfig.DATE_FORMATTER))); + DESERIALIZER_MAP.put(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(JacksonConfig.DATETIME_FORMATTER))); + } + + @Bean + public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { + return (builder) -> { + SERIALIZER_MAP.forEach(builder::serializerByType); + DESERIALIZER_MAP.forEach(builder::deserializerByType); + }; + } +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/MybatisPlusAutoConfigTenant.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/MybatisPlusAutoConfigTenant.java new file mode 100644 index 000000000..4f9207c98 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/MybatisPlusAutoConfigTenant.java @@ -0,0 +1,61 @@ +package com.lizhw.tpl.config; + +import cn.hutool.core.collection.ListUtil; +import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; +import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; +import lombok.extern.slf4j.Slf4j; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.NullValue; +import net.sf.jsqlparser.expression.StringValue; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.config.MybatisPlusConfig; +import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.common.tenant.properties.TenantProperties; +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +@Configuration +@ConditionalOnBean(MybatisPlusConfig.class) +@AutoConfiguration(after = {MybatisPlusConfig.class}) +@Slf4j +public class MybatisPlusAutoConfigTenant { + + @Bean + public TenantLineInnerInterceptor tenantLineInnerInterceptor(TenantProperties tenantProperties) { + return new TenantLineInnerInterceptor(new TenantLineHandler() { + + @Override + public Expression getTenantId() { + String tenantId = TenantHelper.getTenantId(); + if (StringUtils.isBlank(tenantId)) { + log.error("无法获取有效的租户id -> Null"); + return new NullValue(); + } + // 返回固定租户 + return new StringValue(tenantId); + } + + @Override + public boolean ignoreTable(String tableName) { + String tenantId = TenantHelper.getTenantId(); + // 判断是否有租户 + if (StringUtils.isNotBlank(tenantId)) { + // 不需要过滤租户的表 + List excludes = tenantProperties.getExcludes(); + // 非业务表 + List tables = ListUtil.toList( + "gen_table", + "gen_table_column" + ); + tables.addAll(excludes); + return tables.contains(tableName); + } + return true; + } + }); + } +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/WebConfiguration.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/WebConfiguration.java new file mode 100644 index 000000000..18f441b3f --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/config/WebConfiguration.java @@ -0,0 +1,27 @@ +package com.lizhw.tpl.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpHeaders; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfiguration implements WebMvcConfigurer { + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**"). + allowedMethods(CorsConfiguration.ALL). //允许任何方法(post、get等) + allowedHeaders(CorsConfiguration.ALL). //允许任何请求头 + allowCredentials(true). + allowedOriginPatterns(CorsConfiguration.ALL).//带上cookie信息 + exposedHeaders(HttpHeaders.SET_COOKIE).maxAge(3600L); //maxAge(3600)表明在3600秒内,不需要再发送预检验请求,可以缓存该结果 + } + }; + } + +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/TenantRpc.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/TenantRpc.java new file mode 100644 index 000000000..808a6f931 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/TenantRpc.java @@ -0,0 +1,24 @@ +package com.lizhw.tpl.module; + +//import com.lizhw.tpl.config.FeignInterceptor; +//import org.springframework.cloud.openfeign.FeignClient; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +//@FeignClient( +// name = "saas-tenant-admin", // 服务名称 +// configuration = FeignInterceptor.class // 请求拦截器 (关键代码) + +/// / fallbackFactory = SpCfgInterfaceFallback.class // 服务降级处理 +//) +public interface TenantRpc { + + @GetMapping(value = "/auth/code") + Object emailCode(); + + + @GetMapping(value = "/system/client/{id}") + Object getInfo(@PathVariable Long id); + +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/service/ClassroomService.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/service/ClassroomService.java new file mode 100644 index 000000000..aa2331901 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/service/ClassroomService.java @@ -0,0 +1,23 @@ +//package com.lizhw.tpl.module.classroom.service; +// +//import com.baomidou.mybatisplus.core.metadata.IPage; +//import com.lizhw.tpl.module.classroom.model.dto.ClassroomPageQuery; +//import com.lizhw.tpl.module.classroom.model.dto.ClassroomSaveDTO; +//import com.lizhw.tpl.module.classroom.model.vo.ClassroomListVO; +// +//import java.util.List; +// +//public interface ClassroomService { +// +// IPage pageCourse(ClassroomPageQuery pageQuery); +// +// List refList(); +// +// ClassroomListVO getCourseById(Long id); +// +// boolean saveCourse(ClassroomSaveDTO saveDTO); +// +// boolean updateCourseById(Long id, ClassroomSaveDTO saveDTO); +// +// boolean updateCourseEnableStateById(Long id, Integer enableState); +//} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/Main.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/Main.java new file mode 100644 index 000000000..9e3847a22 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/Main.java @@ -0,0 +1,24 @@ +package com.lizhw.tpl.module.docx.ttt; + +/** + * 基于Apache POI开的快速模板填充生成word,excel文档工具 + * by miracleren@gmail.com + */ + +public class Main { + + public static void main(String[] args) { + System.out.println(" _ _ _ _____ "); + System.out.println("| \\ | (_) | __ \\ "); + System.out.println("| \\| |_ ___ ___| | | | ___ ___ "); + System.out.println("| . ` | |/ __/ _ \\ | | |/ _ \\ / __|"); + System.out.println("| |\\ | | (_| __/ |__| | (_) | (__ "); + System.out.println("|_| \\_|_|\\___\\___|_____/ \\___/ \\___|"); + + //测试示例模板生成word + TestTemplate.buildTestDocx(); + + //测试示例模板生成xlsx + TestTemplate.buildTestXlsx(); + } +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceDoc.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceDoc.java new file mode 100644 index 000000000..4e330349a --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceDoc.java @@ -0,0 +1,554 @@ +package com.lizhw.tpl.module.docx.ttt; + +import org.apache.poi.poifs.crypt.HashAlgorithm; +import org.apache.poi.util.Units; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRow; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.*; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.regex.Matcher; + +/** + * 基于模板快速生成word文档 + * 目前只支持docx文件 + *

+ * by miracleren@gmail.com + */ + +public class NiceDoc { + //private HWPFDocument doc; + private XWPFDocument docx; + private int status = 0; + private final List allTables = new ArrayList<>(); + + /** + * 根据路径初始化word模板 + * + * @param path + */ + public NiceDoc(String path) { + if (!path.endsWith(".docx")) System.out.println("无效文档后缀,当前只支持docx格式word文档模板。"); + + FileInputStream in; + try { + in = new FileInputStream(path); + docx = new XWPFDocument(in); + + //遍历段落生加载表格列表 + this.allTables.addAll(docx.getTables()); + pushLabels(new HashMap<>()); + status = 1; + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (docx == null) docx = new XWPFDocument(); + } + } + + /** + * 往模板填充标签值 + * {{labelName}} + * + * @param labels 标签值 + * @return + */ + public void pushLabels(Map labels) { + //遍历普通段落内容对像,填充标签值 + List paragraphs = docx.getParagraphs(); + replaceLabelsInParagraphs(paragraphs, labels); + + //遍历表格内容,并填充标签值 + List tables = status == 0 ? docx.getTables() : this.allTables; + for (XWPFTable table : tables) { + //表格行 + List rows = table.getRows(); + for (XWPFTableRow row : rows) { + //表格单元格 + List cells = row.getTableCells(); + for (XWPFTableCell cell : cells) { + //表格段落 + List cellParagraphs = cell.getParagraphs(); + replaceLabelsInParagraphs(cellParagraphs, labels); + } + } + } + + //页眉标签值填充 + List headers = docx.getHeaderList(); + for (XWPFHeader header : headers) { + List headerParagraphs = header.getListParagraph(); + replaceLabelsInParagraphs(headerParagraphs, labels); + } + + //页脚填充 + List footers = docx.getFooterList(); + for (XWPFFooter footer : footers) { + List footerParagraphs = footer.getListParagraph(); + replaceLabelsInParagraphs(footerParagraphs, labels); + } + } + + /** + * 往模板填充标签值实体类 + * + * @param entity + */ + public void pushLabels(Object entity) { + pushLabels(NiceUtils.entityToMap(entity)); + } + + + /** + * 填充表格内容到文档 + * {{tableName:colName}} + * + * @param tableName + * @param list + */ + public void pushTable(String tableName, List> list) { + List tables = this.allTables; + for (XWPFTable table : tables) { + boolean isFind = false; + XWPFTableRow baseRow = null; + + List rows = table.getRows(); + int rowCount = rows.size(); + for (int i = 0; i < rowCount; i++) { + List cells = rows.get(i).getTableCells(); + for (XWPFTableCell cell : cells) { + List cellParagraphs = cell.getParagraphs(); + for (XWPFParagraph cellParagraph : cellParagraphs) { + //查找表格标识名称 + if (!isFind) { + if (cellParagraph.getText().contains(NiceUtils.labelFormat("table#" + tableName))) { + isFind = true; + } else { + isFind = false; + break; + } + } + + //记录开始数据行 + if (cellParagraph.getText().contains("{{col#")) { + baseRow = rows.get(i); + break; + } + } + if (!isFind) break; + } + if (!isFind) break; + + //已知数据行,开始填充数据 + if (baseRow != null) { + int addRowIndex = 1; + for (Map listRow : list) { + CTRow ctRow = table.getCTTbl().insertNewTr(i + addRowIndex); + XWPFTableRow newRow = new XWPFTableRow(ctRow, table); + copyRowAndPushLabels(newRow, baseRow, listRow); + //table.addRow(newRow, i + addRowIndex); + addRowIndex++; + } + + //baseRow = null; + table.removeRow(i); + break; + } + } + //删除table标识行 + if (isFind) table.removeRow(0); + } + } + + /** + * 拷贝行,并填充相关值 + * + * @param newRow + * @param baseRow + * @param params + */ + private void copyRowAndPushLabels(XWPFTableRow newRow, XWPFTableRow baseRow, Map params) { + newRow.getCtRow().setTrPr(baseRow.getCtRow().getTrPr()); + for (XWPFTableCell cell : baseRow.getTableCells()) { + XWPFTableCell newCell = newRow.addNewTableCell(); + newCell.getCTTc().setTcPr(cell.getCTTc().getTcPr()); + boolean isFirst = true; + //newCell.setParagraph(cell.getParagraphs().get(0)); + for (XWPFParagraph paragraph : cell.getParagraphs()) { + XWPFParagraph newParagraph = isFirst ? newCell.getParagraphs().get(0) : newCell.addParagraph(); + isFirst = false; + newParagraph.getCTP().setPPr(paragraph.getCTP().getPPr()); + for (XWPFRun run : paragraph.getRuns()) { + XWPFRun newRun = newParagraph.createRun(); + newRun.getCTR().setRPr(run.getCTR().getRPr()); + + String text = run.getText(0); + if (text == null) continue; + else newRun.setText(text); + + Matcher labels = NiceUtils.getMatchingLabels(text); + while (labels.find()) { + String label = labels.group(); + String[] key = label.split("#"); + if (params.containsKey(key[key.length - 1])) { + newRun.setText(text.replace(NiceUtils.labelFormat(label), params.get(key[key.length - 1]).toString()), 0); + } + } + } + } + + } + } + + /** + * 段落列表填充标签 + * + * @param paragraphs + * @param params + */ + private void replaceLabelsInParagraphs(List paragraphs, Map params) { + for (int i = 0; i < paragraphs.size(); i++) { + XWPFParagraph paragraph = paragraphs.get(i); + + //获取doc表格,包括子表格,docx.getTables()无法获取子表格 + if (status == 0) { + if (!this.allTables.containsAll(paragraph.getBody().getTables())) + this.allTables.addAll(paragraph.getBody().getTables()); + return; + } + + String text = paragraph.getText(); + if (text == null || text.equals("") || !text.contains("{{")) continue; + else if (text.contains("{{v-")) logicLabelsInParagraph(paragraphs, i, params); + replaceLabelsInParagraph(paragraph, params); + } + } + + /** + * 清空标签被分割的其它文本 + * + * @param runs + */ + private void removeRun(List runs) { + //runs.remove(runs.size() - 1); + //for (XWPFRun run : runs) { + // run.setText("", 0); + //} + for (int i = 0; i < runs.size() - 1; i++) { + runs.get(i).setText("", 0); + } + } + + /** + * 逻辑语句处理 + */ + private void logicLabelsInParagraph(List paragraphs, Integer index, Map params) { + String nowText = ""; + int runCount = 0; + List labelRuns = new ArrayList<>(); + Boolean isShow = true; + + for (int i = index; i < paragraphs.size(); i++) { + XWPFParagraph paragraph = paragraphs.get(i); + List runs = paragraph.getRuns(); + + for (XWPFRun run : runs) { + //System.out.println(run.toString()); + if (run.getText(0) != null && (run.getText(0).contains("{{") || runCount > 0)) { + nowText += run.getText(0); + runCount++; + labelRuns.add(run); + + Matcher labels = NiceUtils.getMatchingLabels(nowText); + int labelFindCount = 0; + while (labels.find()) { + labelFindCount++; + String label = labels.group(); + //System.out.println(label); + + String[] key = label.split("#"); + + if (key.length == 2) { + Integer indexName = key[1].indexOf("=") + 1 + key[1].indexOf("&") + 1; + String keyName = indexName > 0 ? key[1].substring(0, indexName - 1) : key[1]; + if (params.containsKey(keyName)) { + String val = params.get(keyName) == null ? "" : params.get(keyName).toString(); + //条件判断语句 + if (key[0].equals("v-if")) { + if (key[1].contains("=")) { + isShow = val.equals(key[1].substring(indexName)); + } else if (key[1].contains("&")) { + Integer curVal = Integer.valueOf(key[1].substring(indexName)); + isShow = (Integer.valueOf(val) & curVal) == curVal; + } else { + isShow = val.equals("true"); + } + + if (isShow == false) { + if (nowText.indexOf("{{end-if}}") > nowText.indexOf(NiceUtils.labelFormat(label))) + nowText = nowText.replace(nowText.substring(nowText.indexOf(NiceUtils.labelFormat(label)), nowText.indexOf("{{end-if}}")), ""); + else + nowText = nowText.replace(nowText.substring(nowText.indexOf(NiceUtils.labelFormat(label))), ""); + } else nowText = nowText.replace(NiceUtils.labelFormat(label), ""); + + run.setText(nowText, 0); + removeRun(labelRuns); + } + } + } else if (label.equals("end-if")) { + run.setText(nowText.replace(NiceUtils.labelFormat(label), ""), 0); + removeRun(labelRuns); + isShow = true; + } + } + if (labelFindCount > 0) { + nowText = ""; + runCount = 0; + labelRuns = new ArrayList<>(); + } + } + + if (isShow != true) { + run.setText("", 0); + } + + } + } + } + + /** + * 段落填充标签 + * + * @param paragraph + * @param params + */ + private void replaceLabelsInParagraph(XWPFParagraph paragraph, Map params) { + //遍历文本对象,查找标识标签 + List runs = paragraph.getRuns(); + String nowText = ""; + int runCount = 0; + List labelRuns = new ArrayList<>(); + + //常规标签 + for (XWPFRun run : runs) { + //防止文本对象标签被分割 + if (run.getText(0) != null && (run.getText(0).contains("{{") || runCount > 0)) { + nowText += run.getText(0); + runCount++; + labelRuns.add(run); + + //System.out.println(nowText); + Matcher labels = NiceUtils.getMatchingLabels(nowText); + int labelFindCount = 0; + while (labels.find()) { + labelFindCount++; + String label = labels.group(); + + String[] key = label.split("#"); + Integer indexName = key[0].indexOf("=") + 1 + key[0].indexOf("&") + 1; + String keyName = indexName > 0 ? key[0].substring(0, indexName - 1) : key[0]; + //标签书签 + if (params.containsKey(keyName)) { + //普通文本标签 + Object val = params.get(keyName) == null ? "" : params.get(keyName); + if (key.length == 1) { + nowText = nowText.replace(NiceUtils.labelFormat(label), val.toString()); + run.setText(nowText, 0); + continue; + } + + if (key.length == 2) { + //日期类型填充 + if (key[1].startsWith("Date:")) { + String textVal = val.equals("") ? val.toString() : new SimpleDateFormat(key[1].replace("Date:", "")).format(val); + nowText = nowText.replace(NiceUtils.labelFormat(label), textVal); + run.setText(nowText, 0); + continue; + } + + //枚举数组标签 + if (key[1].startsWith("[") && key[1].endsWith("]")) { + String group = key[1].substring(1, key[1].length() - 1); + for (String keyVal : group.split(",")) { + if (keyVal.indexOf(val + ":") == 0) { + nowText = nowText.replace(NiceUtils.labelFormat(label), keyVal.replace(val + ":", "")); + run.setText(nowText, 0); + removeRun(labelRuns); + } + } + continue; + } + + //值判定类型标签 + String[] bool = key[1].split(":"); + String trueVal = bool[0]; + String falseVal = bool.length == 1 ? "" : bool[1]; + if (bool.length >= 1) { + String textVal = ""; + if (key[0].contains("=")) { + textVal = val.toString().equals(key[0].substring(indexName)) ? trueVal : falseVal; + } else if (key[0].contains("&")) { + Integer curVal = Integer.valueOf(key[0].substring(indexName)); + textVal = (Integer.valueOf(val.toString()) & curVal) == curVal ? trueVal : falseVal; + } else { + textVal = val.toString().equals("true") ? trueVal : falseVal; + } + nowText = nowText.replace(NiceUtils.labelFormat(label), textVal); + run.setText(nowText, 0); + removeRun(labelRuns); + continue; + } + + } + } else if (key[0].equals("v-image")) { + //图片标签处理 + + //获取图片相关信息 + String[] val = key[1].split(","); + int scale = 100; + String[] sizes = {}; + String picName = ""; + for (String valKey : val) { + if (valKey.startsWith("path:")) + picName = valKey.replace("path:", ""); + if (valKey.startsWith("scale:")) + scale = Integer.valueOf(valKey.replace("scale:", "")); + if (valKey.startsWith("size:")) + sizes = valKey.replace("size:", "").split("\\*"); + } + + if (params.containsKey(picName)) { + run.setText("", 0); + removeRun(labelRuns); + + String path = String.valueOf(params.get(picName)); + if (path != "" && path != null) { + try { + int width, height; + //计算高度宽度 + if (sizes.length == 2) { + width = Units.toEMU(Double.valueOf(sizes[0])); + height = Units.toEMU(Double.valueOf(sizes[1])); + } else { + File picFile = new File(path); + BufferedImage read = ImageIO.read(picFile); + width = Units.toEMU(read.getWidth() * scale / 100); + height = Units.toEMU(read.getHeight() * scale / 100); + } + + //插入图片 + InputStream stream = new FileInputStream(path); + run.addPicture(stream, XWPFDocumentPicType(path), picName, width, height); + stream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + } + } + + if (labelFindCount > 0) { + nowText = ""; + runCount = 0; + labelRuns = new ArrayList<>(); + } + } + + } + } + + public int XWPFDocumentPicType(String path) { + if (path.endsWith(".emf")) { + return XWPFDocument.PICTURE_TYPE_EMF; + } else if (path.endsWith(".wmf")) { + return XWPFDocument.PICTURE_TYPE_WMF; + } else if (path.endsWith(".pict")) { + return XWPFDocument.PICTURE_TYPE_PICT; + } else if (path.endsWith(".jpeg") || path.endsWith(".jpg")) { + return XWPFDocument.PICTURE_TYPE_JPEG; + } else if (path.endsWith(".png")) { + return XWPFDocument.PICTURE_TYPE_PNG; + } else if (path.endsWith(".dib")) { + return XWPFDocument.PICTURE_TYPE_DIB; + } else if (path.endsWith(".gif")) { + return XWPFDocument.PICTURE_TYPE_GIF; + } else if (path.endsWith(".tiff")) { + return XWPFDocument.PICTURE_TYPE_TIFF; + } else if (path.endsWith(".eps")) { + return XWPFDocument.PICTURE_TYPE_EPS; + } else if (path.endsWith(".bmp")) { + return XWPFDocument.PICTURE_TYPE_BMP; + } else if (path.endsWith(".wpg")) { + return XWPFDocument.PICTURE_TYPE_WPG; + } + return 0; + } + + /** + * 清除条件语句产生的空段落 + */ + public void removeNullParagraphs() { + List paragraphs = docx.getParagraphs(); + List listBe = docx.getBodyElements(); + + for (int i = 0; i < listBe.size(); i++) { + if (listBe.get(i).getElementType() == BodyElementType.PARAGRAPH) { + if (paragraphs.get(docx.getParagraphPos(i)).getText().contains("R")) { + docx.removeBodyElement(i); + i--; + continue; + } + } + + } + } + + /** + * 段落条件标签处理 + * + * @param paragraph + * @param params + */ + private void syntaxLabelsInParagraph(XWPFParagraph paragraph, Map params) { + + } + + /** + * 设置word只读 + * + * @param pass + */ + public void setReadOnly(String pass) { + docx.enforceFillingFormsProtection(pass, HashAlgorithm.sha512); + } + + /** + * 保存word文件到目录下 + * + * @param path + * @param name + */ + public void save(String path, String name) { + try { + //removeNullParagraphs(); + FileOutputStream outStream = new FileOutputStream(path + name); + docx.write(outStream); + outStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 获取docx实体 + */ + public XWPFDocument getDocx() { + return this.docx; + } + +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceExcel.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceExcel.java new file mode 100644 index 000000000..646d177a0 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceExcel.java @@ -0,0 +1,325 @@ +package com.lizhw.tpl.module.docx.ttt; + +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.poifs.crypt.HashAlgorithm; +import org.apache.poi.ss.usermodel.ClientAnchor; +import org.apache.poi.ss.usermodel.CreationHelper; +import org.apache.poi.ss.usermodel.Drawing; +import org.apache.poi.util.StringUtil; +import org.apache.poi.util.Units; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.poi.xwpf.usermodel.XWPFTable; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; + +/** + * 基于模板快速生成word文档 + * 目前只支持xlsx文件 + *

+ * by miracleren@gmail.com + */ + +public class NiceExcel { + private XSSFWorkbook xlsx; + + /** + * 根据路径初始化word模板 + * + * @param path + */ + public NiceExcel(String path) { + if (!path.endsWith(".xlsx")) System.out.println("无效文档后缀,当前只支持xlsx格式Excel文档模板。"); + + FileInputStream in; + try { + in = new FileInputStream(path); + xlsx = new XSSFWorkbook(in); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (xlsx == null) xlsx = new XSSFWorkbook(); + } + } + + /** + * 往模板填充标签值 + * {{labelName}} + * + * @param labels 标签值 + */ + public void pushLabels(Map labels) { + //遍历excel所有sheet + for (int i = 0; i < xlsx.getNumberOfSheets(); i++) { + XSSFSheet sheet = xlsx.getSheetAt(i); + //表格遍历行 + for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) { + XSSFRow row = sheet.getRow(rowNum); + if (row == null) { + continue; + } + for (int cellNum = 0; cellNum <= row.getLastCellNum(); cellNum++) { + XSSFCell cell = row.getCell(cellNum); + if (cell == null) { + continue; + } + replaceLabelsInCell(cell, labels); + } + } + } + } + + /** + * 段落填充标签 + * + * @param cell + * @param params + */ + private void replaceLabelsInCell(XSSFCell cell, Map params) { + String cellValue = cell.toString(); + if (cellValue.isEmpty() || cellValue.contains("col#")) + return; + + Matcher labels = NiceUtils.getMatchingLabels(cellValue); + while (labels.find()) { + String label = labels.group(); + + String[] key = label.split("#"); + Integer indexName = key[0].indexOf("=") + 1 + key[0].indexOf("&") + 1; + String keyName = indexName > 0 ? key[0].substring(0, indexName - 1) : key[0]; + //标签书签 + if (params.containsKey(keyName)) { + //普通文本标签 + Object val = params.get(keyName) == null ? "" : params.get(keyName); + if (key.length == 1) { + cellValue = cellValue.replace(NiceUtils.labelFormat(label), val.toString()); + cell.setCellValue(cellValue); + continue; + } + + if (key.length == 2) { + //日期类型填充 + if (key[1].startsWith("Date:")) { + String textVal = val.equals("") ? val.toString() : new SimpleDateFormat(key[1].replace("Date:", "")).format(val); + cellValue = cellValue.replace(NiceUtils.labelFormat(label), textVal); + cell.setCellValue(cellValue); + continue; + } + + //枚举数组标签 + if (key[1].startsWith("[") && key[1].endsWith("]")) { + String group = key[1].substring(1, key[1].length() - 1); + for (String keyVal : group.split(",")) { + if (keyVal.indexOf(val + ":") == 0) { + cellValue = cellValue.replace(NiceUtils.labelFormat(label), keyVal.replace(val + ":", "")); + cell.setCellValue(cellValue); + } + } + continue; + } + + //值判定类型标签 + String[] bool = key[1].split(":"); + String trueVal = bool[0]; + String falseVal = bool.length == 1 ? "" : bool[1]; + if (bool.length >= 1) { + String textVal = ""; + if (key[0].contains("=")) { + textVal = val.toString().equals(key[0].substring(indexName)) ? trueVal : falseVal; + } else if (key[0].contains("&")) { + Integer curVal = Integer.valueOf(key[0].substring(indexName)); + textVal = (Integer.valueOf(val.toString()) & curVal) == curVal ? trueVal : falseVal; + } else { + textVal = val.toString().equals("true") ? trueVal : falseVal; + } + cellValue = cellValue.replace(NiceUtils.labelFormat(label), textVal); + cell.setCellValue(cellValue); + } + + } + } else if (keyName.equals("v-if")) { + logicLabelsInParagraph(cell, params); + } + } + + } + + + /** + * 逻辑语句处理,同一cell内有效 + */ + private void logicLabelsInParagraph(XSSFCell cell, Map params) { + String cellValue = cell.toString(); + + Boolean isShow = true; + Matcher labels = NiceUtils.getMatchingLabels(cellValue); + while (labels.find()) { + String label = labels.group(); + String[] key = label.split("#"); + + if (key.length == 2) { + Integer indexName = key[1].indexOf("=") + 1 + key[1].indexOf("&") + 1; + String keyName = indexName > 0 ? key[1].substring(0, indexName - 1) : key[1]; + if (params.containsKey(keyName)) { + String val = params.get(keyName) == null ? "" : params.get(keyName).toString(); + //条件判断语句 + if (key[0].equals("v-if")) { + if (key[1].contains("=")) { + isShow = val.equals(key[1].substring(indexName)); + } else if (key[1].contains("&")) { + Integer curVal = Integer.valueOf(key[1].substring(indexName)); + isShow = (Integer.valueOf(val) & curVal) == curVal; + } else { + isShow = val.equals("true"); + } + + if (isShow == false) { + if (cellValue.indexOf("{{end-if}}") > cellValue.indexOf(NiceUtils.labelFormat(label))) + cellValue = cellValue.replace(cellValue.substring(cellValue.indexOf(NiceUtils.labelFormat(label)), cellValue.indexOf("{{end-if}}")), ""); + else + cellValue = cellValue.replace(cellValue.substring(cellValue.indexOf(NiceUtils.labelFormat(label))), ""); + } else cellValue = cellValue.replace(NiceUtils.labelFormat(label), ""); + + cell.setCellValue(cellValue); + } + } + } else if (label.equals("end-if")) { + cell.setCellValue(cellValue.replace(NiceUtils.labelFormat(label), "")); + } + } + } + + /** + * 填充表格内容到excel + * {{tableName:colName}} + * + * @param tableName + * @param list + */ + public void pushTable(String tableName, List> list) { + //遍历excel所有sheet + for (int i = 0; i < xlsx.getNumberOfSheets(); i++) { + XSSFSheet sheet = xlsx.getSheetAt(i); + //表格遍历行 + for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) { + XSSFRow row = sheet.getRow(rowNum); + if (row == null) { + continue; + } + for (int cellNum = 0; cellNum <= row.getLastCellNum(); cellNum++) { + XSSFCell cell = row.getCell(cellNum); + if (cell != null && cell.toString().contains(tableName + "/col#")) { + //System.out.println("find the table by name :" + tableName); + + // 插入数据空白行,数据往后移 + sheet.shiftRows(rowNum + 1, sheet.getLastRowNum(), list.size() - 1); + + //插入表格数据 + int addNum = 0; + for (Map rowData : list) { + //拷贝当前行 + XSSFRow setRow = sheet.getRow(rowNum + addNum); + if (list.size() > addNum + 1) { + XSSFRow newRow = sheet.createRow(rowNum + addNum + 1); + copyRow(setRow, newRow); + } + + //填充当前行内容数据 + for (int setCellNum = 0; setCellNum <= row.getLastCellNum(); setCellNum++) { + XSSFCell setCell = setRow.getCell(setCellNum); + if (setCell != null) { + String text = setCell.toString(); + Matcher labels = NiceUtils.getMatchingLabels(text); + while (labels.find()) { + String label = labels.group(); + String[] key = label.split("#"); + if (rowData.containsKey(key[key.length - 1])) { + String val = text.replace(NiceUtils.labelFormat(label), rowData.get(key[key.length - 1]).toString()); + if (NiceUtils.isNumber(rowData.get(key[key.length - 1]))) + setCell.setCellValue(Double.parseDouble(val)); + else + setCell.setCellValue(val); + } + } + } + } + addNum++; + } + return; + } + } + } + } + } + + /** + * 拷贝行数据 + * + * @param currentRow + * @param newRow + */ + private static void copyRow(XSSFRow currentRow, XSSFRow newRow) { + newRow.setHeight(currentRow.getHeight()); + for (int i = 0; i < currentRow.getLastCellNum(); i++) { + XSSFCell oldCell = currentRow.getCell(i); + XSSFCell newCell = newRow.createCell(i); + if (oldCell != null) { + // 复制样式和值 + newCell.setCellStyle(oldCell.getCellStyle()); + switch (oldCell.getCellType()) { + case STRING: + newCell.setCellValue(oldCell.getStringCellValue()); + break; + case NUMERIC: + newCell.setCellValue(oldCell.getNumericCellValue()); + break; + case BOOLEAN: + newCell.setCellValue(oldCell.getBooleanCellValue()); + break; + // ...其他类型 + default: + newCell.setCellType(oldCell.getCellType()); + } + } + } + } + + /** + * 保存excel文件到目录下 + * + * @param path + * @param name + */ + public void save(String path, String name) { + try { + FileOutputStream outStream = new FileOutputStream(path + name); + xlsx.write(outStream); + outStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 设置excel只读 + * + * @param pass + */ + public void setReadOnly(String pass) { + xlsx.setWorkbookPassword(pass, HashAlgorithm.sha512); + } + +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceUtils.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceUtils.java new file mode 100644 index 000000000..2190a24b1 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/NiceUtils.java @@ -0,0 +1,197 @@ +package com.lizhw.tpl.module.docx.ttt; + +import org.apache.poi.util.StringUtil; + +import java.lang.reflect.Field; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 通用方法 + *

+ * by miracleren@gmail.com + */ +public class NiceUtils { + + + /** + * {{par}} 参数查找正则 + * + * @param str 查找串 + * @return 返结果 + */ + public static Matcher getMatchingLabels(String str) { + Pattern pattern = Pattern.compile("(?<=\\{\\{)(.+?)(?=\\}\\})", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(str); + return matcher; + } + + /** + * 补全label格式 + * + * @param label + * @return + */ + public static String labelFormat(String label) { + return "{{" + label + "}}"; + } + + /** + * 实体类转map + * + * @param entity + * @return + */ + public static Map entityToMap(Object entity) { + Map map = new HashMap<>(); + for (Field field : entity.getClass().getDeclaredFields()) { + try { + boolean flag = field.isAccessible(); + field.setAccessible(true); + Object o = field.get(entity); + map.put(field.getName(), o); + field.setAccessible(flag); + } catch (Exception e) { + e.printStackTrace(); + } + } + return map; + } + + /** + * 实体类列表转map列表 + * + * @param entityList + * @return + */ + public static List> listEntityToMap(List entityList) { + List> list = new ArrayList<>(); + for (Object entity : entityList) { + list.add(entityToMap(entity)); + } + return list; + } + + /** + * 转sting方法 + * + * @param object + * @return + */ + public static String toString(Object object) { + return object == null ? "" : object.toString(); + } + + + /** + * 判断对象是否是数值 + * + * @param object + * @return + */ + public static boolean isNumber(Object object) { + return object instanceof Number; + } + + + /** + * 遍历查找内容 + * + * @param map + * @param value + * @return + */ + public static Integer findInMapByValue(Map map, String value) { + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue().equals(value)) { + return entry.getKey(); // 返回找到值的键 + } + } + return null; // 如果未找到,返回null + } + + + /** + * 将字符串日期转换为Date类型,支持多种日期格式。 + * + * @param dateString 日期字符串 + * @param formats 可能的日期格式数组 + * @return 解析成功返回Date对象,解析失败抛出异常 + * @throws Exception 如果无法解析日期字符串 + */ + public static Date parseDate(String dateString, String[] formats) throws Exception { + for (String format : formats) { + SimpleDateFormat formatter = new SimpleDateFormat(format); + formatter.setTimeZone(TimeZone.getTimeZone("UTC")); // 设置时区,根据需要调整 + try { + return formatter.parse(dateString); + } catch (Exception e) { + // 当前格式不匹配,尝试下一个格式 + } + } + // 所有格式都不匹配,抛出异常 + throw new Exception("无法解析日期: " + dateString); + } + + /** + * 获取两个符号之间的内容 + * + * @param text 源字符串 + * @param start 开始符号 + * @param end 结束符号 + * @return 两个符号之间的内容 + */ + public static String getContentBetweenSymbols(String text, String start, String end) { + String regex = Pattern.quote(start) + "([\\s\\S]*?)" + Pattern.quote(end); + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(text); + + if (matcher.find()) { + return matcher.group(1); + } + return null; + } + + /** + * 是否数值 + * + * @param str + * @return + */ + public static boolean isNumeric(String str) { + try { + Integer.parseInt(str); + return true; + } catch (NumberFormatException e) { + try { + Double.parseDouble(str); + return true; + } catch (NumberFormatException e1) { + return false; + } + } + } + + /** + * 将Date对象转换为时间戳(毫秒数) + * + * @param date Date对象 + * @return 时间戳(毫秒数) + */ + public static long convertToTimeStamp(Date date) { + return date.getTime(); + } + + + /** + * 将时间戳对象转换为Date(毫秒数) + * + * @param date Date对象 + * @return 时间戳(毫秒数) + */ + public static Date convertTimeStampToDate(long date) { + return new Date(date); + } +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/TestTemplate.java b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/TestTemplate.java new file mode 100644 index 000000000..265828a82 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/java/com/lizhw/tpl/module/docx/ttt/TestTemplate.java @@ -0,0 +1,107 @@ +package com.lizhw.tpl.module.docx.ttt; + +import java.net.URLDecoder; +import java.util.*; + +/** + * @author: lee + * @email:miracleren@gmail.com + * @date:2023/6/5 + */ +public class TestTemplate { + static String path = Main.class.getClassLoader().getResource("static").getPath() + "/"; + + /** + * 测试示例模板生成word + */ + public static void buildTestDocx() { + //测试示例模板生成word + NiceDoc docx = new NiceDoc(path + "test.docx"); + + Map labels = new HashMap<>(); + //值标签 + labels.put("startTime", "1881年9月25日"); + labels.put("endTime", "1936年10月19日"); + labels.put("title", "精选作品目录"); + labels.put("press", "鲁迅同学出版社"); + + //枚举标签 + labels.put("likeBook", 2); + //布尔标签 + labels.put("isQ", true); + //等于 + labels.put("isNew", 2); + //多选二进制值 + labels.put("look", 3); + //if语句 + labels.put("showContent", 2); + //日期格式标签 + labels.put("printDate", new Date()); + + labels.put("fileReceiveBy", "陈先生"); + labels.put("fileRelation", 2); + labels.put("fileDate", new Date()); + + //添加头像 + labels.put("headImg", path + "head.png"); + + docx.pushLabels(labels); + + //表格 + List> books = new ArrayList<>(); + Map book1 = new HashMap<>(); + book1.put("name", "汉文学史纲要"); + book1.put("time", "1938年,鲁迅全集出版社"); + books.add(book1); + Map book2 = new HashMap<>(); + book2.put("name", "中国小说史略"); + book2.put("time", "1923年12月,上册;1924年6月,下册"); + books.add(book2); + docx.pushTable("books", books); + + + //生成文档 + docx.save(path, UUID.randomUUID() + ".docx"); + } + + /** + * 测试示例模板生成xlsx + */ + public static void buildTestXlsx() { + //测试示例模板生成word + NiceExcel excel = new NiceExcel(path + "test.xlsx"); + + Map labels = new HashMap<>(); + //值标签 + labels.put("date", "2023年1月1日"); + labels.put("title", "精选作品统计"); + //枚举标签 + labels.put("likeBook", 2); + //多选二进制值 + labels.put("lookType", 3); + //if语句 + labels.put("showBanner", 1); + //日期格式标签 + labels.put("printDate", new Date()); + + excel.pushLabels(labels); + + + //表格 + List> books = new ArrayList<>(); + for (int i = 0; i <= 10; i++) { + Map book = new HashMap<>(); + book.put("name", "汉文学史纲要" + i); + book.put("time", 1900 + i + "年"); + book.put("intro", "简明扼要的介绍,本书是一本好书,推荐" + i + "星"); + book.put("byName", "作者" + i + "号"); + book.put("pages", i * 100); + books.add(book); + } + excel.pushTable("books", books); + + + //生成文档 + excel.save(path, UUID.randomUUID() + ".xlsx"); + } +} diff --git a/ruoyi-site/ruoyi-tpl/src/main/resources/application-dev.yaml b/ruoyi-site/ruoyi-tpl/src/main/resources/application-dev.yaml new file mode 100644 index 000000000..1bc770999 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/resources/application-dev.yaml @@ -0,0 +1,40 @@ +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/h5?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: root + druid: + initial-size: 5 #连接池初始化大小 + min-idle: 10 #最小空闲连接数 + max-active: 20 #最大连接数 + web-stat-filter: + exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据 + stat-view-servlet: #访问监控网页的登录用户名和密码 + login-username: druid + login-password: druid + data: + redis: + # Redis数据库索引(默认为0) + database: 0 + # Redis服务器地址 + host: 127.0.0.1 + # Redis服务器连接端口 + port: 6379 + # Redis服务器连接密码(默认为空) + password: difyai123456 + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池最大连接数 + max-active: 200 + # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + # 连接池中的最大空闲连接 + max-idle: 10 + # 连接池中的最小空闲连接 + min-idle: 0 + + jackson: + time-zone: GMT+8 + diff --git a/ruoyi-site/ruoyi-tpl/src/main/resources/application-local.yaml b/ruoyi-site/ruoyi-tpl/src/main/resources/application-local.yaml new file mode 100644 index 000000000..6ca3cbea6 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/resources/application-local.yaml @@ -0,0 +1,40 @@ +spring: + datasource: + url: jdbc:mysql://127.0.0.1:3306/mall-tams-core?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false + username: root + password: root + druid: + initial-size: 5 #连接池初始化大小 + min-idle: 10 #最小空闲连接数 + max-active: 20 #最大连接数 + web-stat-filter: + exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据 + stat-view-servlet: #访问监控网页的登录用户名和密码 + login-username: druid + login-password: druid + data: + redis: + # Redis数据库索引(默认为0) + database: 0 + # Redis服务器地址 + host: 127.0.0.1 + # Redis服务器连接端口 + port: 6379 + # Redis服务器连接密码(默认为空) + password: difyai123456 + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池最大连接数 + max-active: 200 + # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + # 连接池中的最大空闲连接 + max-idle: 10 + # 连接池中的最小空闲连接 + min-idle: 0 + + jackson: + time-zone: GMT+8 + diff --git a/ruoyi-site/ruoyi-tpl/src/main/resources/application.yaml b/ruoyi-site/ruoyi-tpl/src/main/resources/application.yaml new file mode 100644 index 000000000..5fdb2d536 --- /dev/null +++ b/ruoyi-site/ruoyi-tpl/src/main/resources/application.yaml @@ -0,0 +1,78 @@ +spring: + profiles: + active: ${profiles.active} + application: + name: ruoyi-tpl + +# 开发环境配置 +server: + # 服务器的HTTP端口,默认为19100 + port: 19202 + +# MyBatisPlus配置 +mybatis-plus: + # 多包名使用 例如 org.dromara.**.mapper,org.xxx.**.mapper + mapperPackage: com.lizhw.tpl.module.**.dao + global-config: + dbConfig: + # 主键类型 + # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID + # 如需改为自增 需要将数据库表全部设置为自增 + idType: ASSIGN_ID + +# 多租户配置 +tenant: + # 是否开启 + enable: false + # 排除表 + excludes: + - sys_menu + + + +springdoc: + api-docs: + # 是否开启接口文档 + enabled: true + # swagger-ui: + # # 持久化认证数据 + # persistAuthorization: true + info: + # 标题 + title: '标题:${spring.application.name}多租户管理系统_接口文档' + # 描述 + description: '描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...' + # 版本 + version: '版本号: 1.0.0' + # 作者信息 + contact: + name: Lion Li + email: crazylionli@163.com + url: https://gitee.com/dromara/RuoYi-Vue-Plus + components: + # 鉴权方式配置 + security-schemes: + apiKey: + type: APIKEY + in: HEADER + name: Authorization + #这里定义了两个分组,可定义多个,也可以不定义 + group-configs: + - group: 1.演示模块 + packages-to-scan: org.dromara.demo + - group: 2.通用模块 + packages-to-scan: org.dromara.web + - group: 3.系统模块 + packages-to-scan: org.dromara.system + - group: 4.代码生成模块 + packages-to-scan: org.dromara.generator + + +management: #开启SpringBoot Admin的监控 + endpoints: + web: + exposure: + include: '*' + endpoint: + health: + show-details: always diff --git a/ruoyi-site/ruoyi-tpl/src/main/resources/static/head.png b/ruoyi-site/ruoyi-tpl/src/main/resources/static/head.png new file mode 100644 index 0000000000000000000000000000000000000000..09b349d0423b7e78097c51c152e35bfb5c3ce69d GIT binary patch literal 171684 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 Xop)!mk7|ce00000NkvXXu0mjfme)`K literal 0 HcmV?d00001 diff --git a/ruoyi-site/ruoyi-tpl/src/main/resources/static/test.docx b/ruoyi-site/ruoyi-tpl/src/main/resources/static/test.docx new file mode 100644 index 0000000000000000000000000000000000000000..1d1109673891063b45baf9b5abab0a3159d9731a GIT binary patch literal 25006 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 literal 0 HcmV?d00001 diff --git a/ruoyi-site/ruoyi-tpl/src/main/resources/static/test.xlsx b/ruoyi-site/ruoyi-tpl/src/main/resources/static/test.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..589aff000e12e3994d34188f249f3481ada7bcc3 GIT binary patch literal 11862 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