Эх сурвалжийг харах

migrate codes to new module crystal2jasper

sunyj 8 жил өмнө
parent
commit
8c29ab8c70
21 өөрчлөгдсөн 163 нэмэгдсэн , 35 устгасан
  1. 49 0
      crystal2jasper/pom.xml
  2. 23 35
      crystal2jasper/src/main/java/com/uas/report/crystal2jasper/CrystalToJasper.java
  3. 0 0
      crystal2jasper/src/main/java/com/uas/report/crystal2jasper/Join.java
  4. 0 0
      crystal2jasper/src/main/java/com/uas/report/crystal2jasper/Link.java
  5. 0 0
      crystal2jasper/src/main/java/com/uas/report/crystal2jasper/MapHelper.java
  6. 0 0
      crystal2jasper/src/main/java/com/uas/report/crystal2jasper/Sort.java
  7. 0 0
      crystal2jasper/src/main/resources/crystal2jasper.xsl
  8. 44 0
      crystal2jasper/src/main/resources/logback.xml
  9. 31 0
      crystal2jasper/src/test/java/com/uas/report/crystal2jasper/CrystalToJasperTest.java
  10. BIN
      crystal2jasper/src/test/resources/formatted-rpts/APAgeAll_custom.rpt
  11. BIN
      crystal2jasper/src/test/resources/formatted-rpts/AccountRegZW_fybx.rpt
  12. BIN
      crystal2jasper/src/test/resources/formatted-rpts/AccountRegZW_fybx2.rpt
  13. BIN
      crystal2jasper/src/test/resources/formatted-rpts/AccountRegZW_yzsq_公章申请.rpt
  14. BIN
      crystal2jasper/src/test/resources/formatted-rpts/AccountRegister.rpt
  15. BIN
      crystal2jasper/src/test/resources/formatted-rpts/BadDebtsAudit_V02.rpt
  16. BIN
      crystal2jasper/src/test/resources/formatted-rpts/PIOSaleInvoice_销售发票.rpt
  17. BIN
      crystal2jasper/src/test/resources/formatted-rpts/PURCLIST_YL.rpt
  18. BIN
      crystal2jasper/src/test/resources/formatted-rpts/TrainTotalTech.rpt
  19. BIN
      crystal2jasper/src/test/resources/formatted-rpts/VerifyApply.rpt
  20. BIN
      crystal2jasper/src/test/resources/formatted-rpts/sendlist_yessale.rpt
  21. 16 0
      pom.xml

+ 49 - 0
crystal2jasper/pom.xml

@@ -0,0 +1,49 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.uas.report</groupId>
+        <artifactId>report-parent</artifactId>
+        <version>0.0.1</version>
+    </parent>
+    <artifactId>crystal2jasper</artifactId>
+    <packaging>jar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.uas.report</groupId>
+            <artifactId>report-common</artifactId>
+            <version>${report.common.version}</version>
+        </dependency>
+
+        <!-- dom4j -->
+        <dependency>
+            <groupId>dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.2</version>
+        </dependency>
+        <dependency>
+            <groupId>jaxen</groupId>
+            <artifactId>jaxen</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 23 - 35
report/src/main/java/com/uas/report/crystal2jasper/CrystalToJasper.java → crystal2jasper/src/main/java/com/uas/report/crystal2jasper/CrystalToJasper.java

@@ -1,33 +1,5 @@
 package com.uas.report.crystal2jasper;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.commons.io.output.FileWriterWithEncoding;
-import org.dom4j.Attribute;
-import org.dom4j.Document;
-import org.dom4j.DocumentException;
-import org.dom4j.Element;
-import org.dom4j.Node;
-import org.dom4j.io.SAXReader;
-import org.dom4j.io.XMLWriter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import com.uas.report.crystal2jasper.Join.JoinType;
 import com.uas.report.crystal2jasper.Link.LinkType;
 import com.uas.report.crystal2jasper.Sort.SortType;
@@ -35,18 +7,34 @@ import com.uas.report.util.CollectionUtils;
 import com.uas.report.util.FileUtils;
 import com.uas.report.util.StringUtils;
 import com.uas.report.util.ZipUtils;
+import org.apache.commons.io.output.FileWriterWithEncoding;
+import org.dom4j.*;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.xml.transform.TransformerException;
+import java.io.*;
+import java.util.*;
+import java.util.Map.Entry;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 public class CrystalToJasper {
 
 	private static Logger logger = LoggerFactory.getLogger(CrystalToJasper.class);
 
 	public static void main(String[] args) throws IOException, DocumentException, TransformerException {
-		File rptZipFile = new File("C:/Users/sunyj-pc/Desktop/temp/crystal-clear/formatted");
-		File outDir = new File("C:/Users/sunyj-pc/Desktop/temp/crystal-clear/formatted/out");
-		File styleFile = new File("src/main/resources/crystal2jasper.xsl");
-		boolean remainHierarchy = false;
-
 		int length = args != null ? args.length : 0;
+        File rptZipFile = null;
+        File outDir = null;
+        File styleFile = new File("src/main/resources/crystal2jasper.xsl");
+        boolean remainHierarchy = false;
+        if(length < 2){
+            logger.error("参数缺失\neg. java -Djava.ext.dirs=lib com.uas.report.crystal2jasper.CrystalToJasper rpt jrxml crystal2jasper.xsl false");
+            return;
+        }
 		if (length >= 1) {
 			rptZipFile = new File(args[0]);
 		}
@@ -80,7 +68,7 @@ public class CrystalToJasper {
 	 * @throws DocumentException
 	 * @throws TransformerException
 	 */
-	private void translate(File rptZipFile, File outDir, boolean remainHierarchy, File styleFile)
+	public void translate(File rptZipFile, File outDir, boolean remainHierarchy, File styleFile)
 			throws IOException, DocumentException, TransformerException {
 		FileUtils.checkFile(rptZipFile);
 		if (rptZipFile.isFile()) {
@@ -357,7 +345,7 @@ public class CrystalToJasper {
 	/**
 	 * 获取模板中实际使用的Field
 	 * 
-	 * @param jrxmlFilePath
+	 * @param jrxmlFile
 	 * @return
 	 * @throws IOException
 	 */

+ 0 - 0
report/src/main/java/com/uas/report/crystal2jasper/Join.java → crystal2jasper/src/main/java/com/uas/report/crystal2jasper/Join.java


+ 0 - 0
report/src/main/java/com/uas/report/crystal2jasper/Link.java → crystal2jasper/src/main/java/com/uas/report/crystal2jasper/Link.java


+ 0 - 0
report/src/main/java/com/uas/report/crystal2jasper/MapHelper.java → crystal2jasper/src/main/java/com/uas/report/crystal2jasper/MapHelper.java


+ 0 - 0
report/src/main/java/com/uas/report/crystal2jasper/Sort.java → crystal2jasper/src/main/java/com/uas/report/crystal2jasper/Sort.java


+ 0 - 0
report/src/main/resources/crystal2jasper.xsl → crystal2jasper/src/main/resources/crystal2jasper.xsl


+ 44 - 0
crystal2jasper/src/main/resources/logback.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+	<appender name="FILE"
+		class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<File>logs/log.log</File>
+		<encoder>
+			<pattern>
+				%date{yyyy-MM-dd HH:mm:ss:SSS} [%relative ms] %-5level [%50.50(%logger{36}.%method:%line)] ---- %msg%n
+			</pattern>
+			<charset>UTF-8</charset> <!-- 此处设置字符集 -->
+		</encoder>
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+			<!-- daily rollover -->
+			<FileNamePattern>logs/log.%d{yyyy-MM-dd}.log</FileNamePattern>
+			<!-- keep 10 days' worth of history -->
+			<maxHistory>10</maxHistory>
+		</rollingPolicy>
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+			<level>INFO</level>
+		</filter>
+	</appender>
+
+	<!-- Console output -->
+	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+		<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
+		<encoder>
+			<pattern>
+				%date{yyyy-MM-dd HH:mm:ss:SSS} [%relative ms] %-5level [%50.50(%logger{36}.%method:%line)] ---- %msg%n
+			</pattern>
+			<charset>UTF-8</charset> <!-- 此处设置字符集 -->
+		</encoder>
+		<!-- Only log level WARN and above -->
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+			<level>INFO</level>
+		</filter>
+	</appender>
+
+	<!-- Enable FILE and STDOUT appenders for all log messages. By default, 
+		only log at level INFO and above. -->
+	<root level="INFO">
+		<appender-ref ref="FILE" />
+		<appender-ref ref="STDOUT" />
+	</root>
+</configuration>

+ 31 - 0
crystal2jasper/src/test/java/com/uas/report/crystal2jasper/CrystalToJasperTest.java

@@ -0,0 +1,31 @@
+package com.uas.report.crystal2jasper;
+
+import org.dom4j.DocumentException;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.xml.transform.TransformerException;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * @author sunyj
+ * @since 2017/12/19 17:49
+ */
+public class CrystalToJasperTest {
+
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Test
+    public void test() throws DocumentException, TransformerException, IOException {
+        File rptZipFile = new File("src/test/resources/formatted-rpts");
+        File outDir = new File("src/test/resources/out");
+        File styleFile = new File("src/main/resources/crystal2jasper.xsl");
+        boolean remainHierarchy = false;
+
+        CrystalToJasper crystalToJasper = new CrystalToJasper();
+        crystalToJasper.translate(rptZipFile, outDir, remainHierarchy, styleFile);
+        logger.info("translation complete!");
+    }
+}

BIN
crystal2jasper/src/test/resources/formatted-rpts/APAgeAll_custom.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/AccountRegZW_fybx.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/AccountRegZW_fybx2.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/AccountRegZW_yzsq_公章申请.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/AccountRegister.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/BadDebtsAudit_V02.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/PIOSaleInvoice_销售发票.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/PURCLIST_YL.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/TrainTotalTech.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/VerifyApply.rpt


BIN
crystal2jasper/src/test/resources/formatted-rpts/sendlist_yessale.rpt


+ 16 - 0
pom.xml

@@ -14,6 +14,7 @@
     <modules>
         <module>report</module>
         <module>report-common</module>
+        <module>crystal2jasper</module>
     </modules>
 
     <properties>
@@ -22,6 +23,21 @@
         <report.common.version>${project.version}</report.common.version>
     </properties>
 
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <configuration>
+                        <source>1.7</source>
+                        <target>1.7</target>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
     <distributionManagement>
         <!-- 发布release仓库 -->
         <repository>