提交 afcbbc9e 作者: guofeng

Initial commit

上级
target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
nbproject/private/
build/
nbbuild/
dist/
nbdist/
.nb-gradle/
{"name":"huazheng-project-flink","classpathEntries":[{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\lib\\resources.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\lib\\rt.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\lib\\jsse.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\lib\\jce.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\lib\\charsets.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\lib\\jfr.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-java\\1.11.1\\flink-java-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-java/1.11.1/flink-java-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-java/1.11.1/flink-java-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-core\\1.11.1\\flink-core-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-core/1.11.1/flink-core-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-core/1.11.1/flink-core-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-annotations\\1.11.1\\flink-annotations-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-annotations/1.11.1/flink-annotations-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-annotations/1.11.1/flink-annotations-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-metrics-core\\1.11.1\\flink-metrics-core-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-metrics-core/1.11.1/flink-metrics-core-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-metrics-core/1.11.1/flink-metrics-core-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-shaded-asm-7\\7.1-11.0\\flink-shaded-asm-7-7.1-11.0.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\esotericsoftware\\kryo\\kryo\\2.24.0\\kryo-2.24.0.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/esotericsoftware/kryo/kryo/2.24.0/kryo-2.24.0-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/esotericsoftware/kryo/kryo/2.24.0/kryo-2.24.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\esotericsoftware\\minlog\\minlog\\1.2\\minlog-1.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/esotericsoftware/minlog/minlog/1.2/minlog-1.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/esotericsoftware/minlog/minlog/1.2/minlog-1.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\objenesis\\objenesis\\2.1\\objenesis-2.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\commons-collections\\commons-collections\\3.2.2\\commons-collections-3.2.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\commons\\commons-compress\\1.20\\commons-compress-1.20.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-compress/1.20/commons-compress-1.20-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-compress/1.20/commons-compress-1.20-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\commons\\commons-lang3\\3.3.2\\commons-lang3-3.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-lang3/3.3.2/commons-lang3-3.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\commons\\commons-math3\\3.5\\commons-math3-3.5.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-math3/3.5/commons-math3-3.5-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-math3/3.5/commons-math3-3.5-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\slf4j\\slf4j-api\\1.7.15\\slf4j-api-1.7.15.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/slf4j/slf4j-api/1.7.15/slf4j-api-1.7.15-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/slf4j/slf4j-api/1.7.15/slf4j-api-1.7.15-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\google\\code\\findbugs\\jsr305\\1.3.9\\jsr305-1.3.9.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\force-shading\\1.11.1\\force-shading-1.11.1.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-streaming-java_2.11\\1.11.1\\flink-streaming-java_2.11-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-streaming-java_2.11/1.11.1/flink-streaming-java_2.11-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-streaming-java_2.11/1.11.1/flink-streaming-java_2.11-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-runtime_2.11\\1.11.1\\flink-runtime_2.11-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-runtime_2.11/1.11.1/flink-runtime_2.11-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-runtime_2.11/1.11.1/flink-runtime_2.11-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-queryable-state-client-java\\1.11.1\\flink-queryable-state-client-java-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-queryable-state-client-java/1.11.1/flink-queryable-state-client-java-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-queryable-state-client-java/1.11.1/flink-queryable-state-client-java-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-hadoop-fs\\1.11.1\\flink-hadoop-fs-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-hadoop-fs/1.11.1/flink-hadoop-fs-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-hadoop-fs/1.11.1/flink-hadoop-fs-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\commons-io\\commons-io\\2.4\\commons-io-2.4.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-shaded-netty\\4.1.39.Final-11.0\\flink-shaded-netty-4.1.39.Final-11.0.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-shaded-jackson\\2.10.1-11.0\\flink-shaded-jackson-2.10.1-11.0.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-shaded-zookeeper-3\\3.4.14-11.0\\flink-shaded-zookeeper-3-3.4.14-11.0.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\javassist\\javassist\\3.24.0-GA\\javassist-3.24.0-GA.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/javassist/javassist/3.24.0-GA/javassist-3.24.0-GA-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/javassist/javassist/3.24.0-GA/javassist-3.24.0-GA-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\scala-lang\\scala-library\\2.11.12\\scala-library-2.11.12.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/scala-lang/scala-library/2.11.12/scala-library-2.11.12-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/scala-lang/scala-library/2.11.12/scala-library-2.11.12-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\typesafe\\akka\\akka-actor_2.11\\2.5.21\\akka-actor_2.11-2.5.21.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-actor_2.11/2.5.21/akka-actor_2.11-2.5.21-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-actor_2.11/2.5.21/akka-actor_2.11-2.5.21-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\typesafe\\config\\1.3.3\\config-1.3.3.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/config/1.3.3/config-1.3.3-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/config/1.3.3/config-1.3.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\scala-lang\\modules\\scala-java8-compat_2.11\\0.7.0\\scala-java8-compat_2.11-0.7.0.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/scala-lang/modules/scala-java8-compat_2.11/0.7.0/scala-java8-compat_2.11-0.7.0-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/scala-lang/modules/scala-java8-compat_2.11/0.7.0/scala-java8-compat_2.11-0.7.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\typesafe\\akka\\akka-stream_2.11\\2.5.21\\akka-stream_2.11-2.5.21.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-stream_2.11/2.5.21/akka-stream_2.11-2.5.21-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-stream_2.11/2.5.21/akka-stream_2.11-2.5.21-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\reactivestreams\\reactive-streams\\1.0.2\\reactive-streams-1.0.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\typesafe\\ssl-config-core_2.11\\0.3.7\\ssl-config-core_2.11-0.3.7.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/ssl-config-core_2.11/0.3.7/ssl-config-core_2.11-0.3.7-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/ssl-config-core_2.11/0.3.7/ssl-config-core_2.11-0.3.7-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\scala-lang\\modules\\scala-parser-combinators_2.11\\1.1.1\\scala-parser-combinators_2.11-1.1.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.1.1/scala-parser-combinators_2.11-1.1.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/scala-lang/modules/scala-parser-combinators_2.11/1.1.1/scala-parser-combinators_2.11-1.1.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\typesafe\\akka\\akka-protobuf_2.11\\2.5.21\\akka-protobuf_2.11-2.5.21.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-protobuf_2.11/2.5.21/akka-protobuf_2.11-2.5.21-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-protobuf_2.11/2.5.21/akka-protobuf_2.11-2.5.21-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\typesafe\\akka\\akka-slf4j_2.11\\2.5.21\\akka-slf4j_2.11-2.5.21.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-slf4j_2.11/2.5.21/akka-slf4j_2.11-2.5.21-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/typesafe/akka/akka-slf4j_2.11/2.5.21/akka-slf4j_2.11-2.5.21-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\clapper\\grizzled-slf4j_2.11\\1.3.2\\grizzled-slf4j_2.11-1.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/clapper/grizzled-slf4j_2.11/1.3.2/grizzled-slf4j_2.11-1.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/clapper/grizzled-slf4j_2.11/1.3.2/grizzled-slf4j_2.11-1.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\github\\scopt\\scopt_2.11\\3.5.0\\scopt_2.11-3.5.0.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/github/scopt/scopt_2.11/3.5.0/scopt_2.11-3.5.0-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/github/scopt/scopt_2.11/3.5.0/scopt_2.11-3.5.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\xerial\\snappy\\snappy-java\\1.1.4\\snappy-java-1.1.4.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/xerial/snappy/snappy-java/1.1.4/snappy-java-1.1.4-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/xerial/snappy/snappy-java/1.1.4/snappy-java-1.1.4-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\twitter\\chill_2.11\\0.7.6\\chill_2.11-0.7.6.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/twitter/chill_2.11/0.7.6/chill_2.11-0.7.6-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/twitter/chill_2.11/0.7.6/chill_2.11-0.7.6-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\twitter\\chill-java\\0.7.6\\chill-java-0.7.6.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/twitter/chill-java/0.7.6/chill-java-0.7.6-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/twitter/chill-java/0.7.6/chill-java-0.7.6-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\lz4\\lz4-java\\1.6.0\\lz4-java-1.6.0.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/lz4/lz4-java/1.6.0/lz4-java-1.6.0-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/lz4/lz4-java/1.6.0/lz4-java-1.6.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-shaded-guava\\18.0-11.0\\flink-shaded-guava-18.0-11.0.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-clients_2.11\\1.11.1\\flink-clients_2.11-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-clients_2.11/1.11.1/flink-clients_2.11-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-clients_2.11/1.11.1/flink-clients_2.11-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\flink\\flink-optimizer_2.11\\1.11.1\\flink-optimizer_2.11-1.11.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-optimizer_2.11/1.11.1/flink-optimizer_2.11-1.11.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/flink/flink-optimizer_2.11/1.11.1/flink-optimizer_2.11-1.11.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\commons-cli\\commons-cli\\1.3.1\\commons-cli-1.3.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/commons-cli/commons-cli/1.3.1/commons-cli-1.3.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-quartz\\2.3.3.RELEASE\\spring-boot-starter-quartz-2.3.3.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter-quartz/2.3.3.RELEASE/spring-boot-starter-quartz-2.3.3.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter-quartz/2.3.3.RELEASE/spring-boot-starter-quartz-2.3.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter\\2.3.3.RELEASE\\spring-boot-starter-2.3.3.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter/2.3.3.RELEASE/spring-boot-starter-2.3.3.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter/2.3.3.RELEASE/spring-boot-starter-2.3.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\boot\\spring-boot\\2.3.3.RELEASE\\spring-boot-2.3.3.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot/2.3.3.RELEASE/spring-boot-2.3.3.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot/2.3.3.RELEASE/spring-boot-2.3.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-logging\\2.3.3.RELEASE\\spring-boot-starter-logging-2.3.3.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.3.3.RELEASE/spring-boot-starter-logging-2.3.3.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.3.3.RELEASE/spring-boot-starter-logging-2.3.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\ch\\qos\\logback\\logback-classic\\1.2.3\\logback-classic-1.2.3.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\ch\\qos\\logback\\logback-core\\1.2.3\\logback-core-1.2.3.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\logging\\log4j\\log4j-to-slf4j\\2.13.3\\log4j-to-slf4j-2.13.3.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.13.3/log4j-to-slf4j-2.13.3-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.13.3/log4j-to-slf4j-2.13.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\logging\\log4j\\log4j-api\\2.13.3\\log4j-api-2.13.3.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/logging/log4j/log4j-api/2.13.3/log4j-api-2.13.3-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/logging/log4j/log4j-api/2.13.3/log4j-api-2.13.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\slf4j\\jul-to-slf4j\\1.7.30\\jul-to-slf4j-1.7.30.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\jakarta\\annotation\\jakarta.annotation-api\\1.3.5\\jakarta.annotation-api-1.3.5.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\yaml\\snakeyaml\\1.26\\snakeyaml-1.26.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/yaml/snakeyaml/1.26/snakeyaml-1.26-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/yaml/snakeyaml/1.26/snakeyaml-1.26-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-context-support\\5.2.8.RELEASE\\spring-context-support-5.2.8.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-context-support/5.2.8.RELEASE/spring-context-support-5.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-context-support/5.2.8.RELEASE/spring-context-support-5.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-beans\\5.2.8.RELEASE\\spring-beans-5.2.8.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-beans/5.2.8.RELEASE/spring-beans-5.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-beans/5.2.8.RELEASE/spring-beans-5.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-context\\5.2.8.RELEASE\\spring-context-5.2.8.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-context/5.2.8.RELEASE/spring-context-5.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-context/5.2.8.RELEASE/spring-context-5.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-expression\\5.2.8.RELEASE\\spring-expression-5.2.8.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-expression/5.2.8.RELEASE/spring-expression-5.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-expression/5.2.8.RELEASE/spring-expression-5.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-tx\\5.2.8.RELEASE\\spring-tx-5.2.8.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-tx/5.2.8.RELEASE/spring-tx-5.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-tx/5.2.8.RELEASE/spring-tx-5.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\quartz-scheduler\\quartz\\2.3.2\\quartz-2.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/quartz-scheduler/quartz/2.3.2/quartz-2.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/quartz-scheduler/quartz/2.3.2/quartz-2.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\mchange\\c3p0\\0.9.5.4\\c3p0-0.9.5.4.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/mchange/c3p0/0.9.5.4/c3p0-0.9.5.4-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/mchange/c3p0/0.9.5.4/c3p0-0.9.5.4-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\mchange\\mchange-commons-java\\0.2.15\\mchange-commons-java-0.2.15.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/mchange/mchange-commons-java/0.2.15/mchange-commons-java-0.2.15-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/mchange/mchange-commons-java/0.2.15/mchange-commons-java-0.2.15-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\zaxxer\\HikariCP-java7\\2.4.13\\HikariCP-java7-2.4.13.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/zaxxer/HikariCP-java7/2.4.13/HikariCP-java7-2.4.13-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/zaxxer/HikariCP-java7/2.4.13/HikariCP-java7-2.4.13-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\alibaba\\fastjson\\1.2.74\\fastjson-1.2.74.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\mysql\\mysql-connector-java\\8.0.20\\mysql-connector-java-8.0.20.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/mysql/mysql-connector-java/8.0.20/mysql-connector-java-8.0.20-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\google\\protobuf\\protobuf-java\\3.6.1\\protobuf-java-3.6.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/google/protobuf/protobuf-java/3.6.1/protobuf-java-3.6.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/google/protobuf/protobuf-java/3.6.1/protobuf-java-3.6.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\alibaba\\druid-spring-boot-starter\\1.1.23\\druid-spring-boot-starter-1.1.23.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/alibaba/druid-spring-boot-starter/1.1.23/druid-spring-boot-starter-1.1.23-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/alibaba/druid-spring-boot-starter/1.1.23/druid-spring-boot-starter-1.1.23-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\alibaba\\druid\\1.1.23\\druid-1.1.23.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/alibaba/druid/1.1.23/druid-1.1.23-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/alibaba/druid/1.1.23/druid-1.1.23-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\boot\\spring-boot-autoconfigure\\1.5.12.RELEASE\\spring-boot-autoconfigure-1.5.12.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.12.RELEASE/spring-boot-autoconfigure-1.5.12.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.12.RELEASE/spring-boot-autoconfigure-1.5.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\pivotal\\greenplum-jdbc\\5.1.4\\greenplum-jdbc-5.1.4.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\github\\pagehelper\\pagehelper-spring-boot-starter\\1.2.13\\pagehelper-spring-boot-starter-1.2.13.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/github/pagehelper/pagehelper-spring-boot-starter/1.2.13/pagehelper-spring-boot-starter-1.2.13-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\mybatis\\spring\\boot\\mybatis-spring-boot-starter\\2.1.1\\mybatis-spring-boot-starter-2.1.1.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\mybatis\\spring\\boot\\mybatis-spring-boot-autoconfigure\\2.1.1\\mybatis-spring-boot-autoconfigure-2.1.1.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/2.1.1/mybatis-spring-boot-autoconfigure-2.1.1-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/2.1.1/mybatis-spring-boot-autoconfigure-2.1.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\mybatis\\mybatis\\3.5.3\\mybatis-3.5.3.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/mybatis/mybatis/3.5.3/mybatis-3.5.3-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/mybatis/mybatis/3.5.3/mybatis-3.5.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\mybatis\\mybatis-spring\\2.0.3\\mybatis-spring-2.0.3.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/mybatis/mybatis-spring/2.0.3/mybatis-spring-2.0.3-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/mybatis/mybatis-spring/2.0.3/mybatis-spring-2.0.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\github\\pagehelper\\pagehelper-spring-boot-autoconfigure\\1.2.13\\pagehelper-spring-boot-autoconfigure-1.2.13.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/github/pagehelper/pagehelper-spring-boot-autoconfigure/1.2.13/pagehelper-spring-boot-autoconfigure-1.2.13-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/github/pagehelper/pagehelper-spring-boot-autoconfigure/1.2.13/pagehelper-spring-boot-autoconfigure-1.2.13-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\github\\pagehelper\\pagehelper\\5.1.11\\pagehelper-5.1.11.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/github/pagehelper/pagehelper/5.1.11/pagehelper-5.1.11-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/github/pagehelper/pagehelper/5.1.11/pagehelper-5.1.11-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\github\\jsqlparser\\jsqlparser\\2.0\\jsqlparser-2.0.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/github/jsqlparser/jsqlparser/2.0/jsqlparser-2.0-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/github/jsqlparser/jsqlparser/2.0/jsqlparser-2.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\baomidou\\mybatis-plus-boot-starter\\3.3.2\\mybatis-plus-boot-starter-3.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-boot-starter/3.3.2/mybatis-plus-boot-starter-3.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-boot-starter/3.3.2/mybatis-plus-boot-starter-3.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\baomidou\\mybatis-plus\\3.3.2\\mybatis-plus-3.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus/3.3.2/mybatis-plus-3.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus/3.3.2/mybatis-plus-3.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\baomidou\\mybatis-plus-extension\\3.3.2\\mybatis-plus-extension-3.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-extension/3.3.2/mybatis-plus-extension-3.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-extension/3.3.2/mybatis-plus-extension-3.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\baomidou\\mybatis-plus-core\\3.3.2\\mybatis-plus-core-3.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-core/3.3.2/mybatis-plus-core-3.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-core/3.3.2/mybatis-plus-core-3.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\baomidou\\mybatis-plus-annotation\\3.3.2\\mybatis-plus-annotation-3.3.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-annotation/3.3.2/mybatis-plus-annotation-3.3.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/baomidou/mybatis-plus-annotation/3.3.2/mybatis-plus-annotation-3.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-jdbc\\2.3.0.RELEASE\\spring-boot-starter-jdbc-2.3.0.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.3.0.RELEASE/spring-boot-starter-jdbc-2.3.0.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.3.0.RELEASE/spring-boot-starter-jdbc-2.3.0.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\zaxxer\\HikariCP\\3.4.5\\HikariCP-3.4.5.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/zaxxer/HikariCP/3.4.5/HikariCP-3.4.5-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/zaxxer/HikariCP/3.4.5/HikariCP-3.4.5-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-jdbc\\5.2.6.RELEASE\\spring-jdbc-5.2.6.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-jdbc/5.2.6.RELEASE/spring-jdbc-5.2.6.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-jdbc/5.2.6.RELEASE/spring-jdbc-5.2.6.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\ngdbc\\ngdbc\\1.0\\ngdbc-1.0.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\sqljdbc42\\sqljdbc42\\1.0\\sqljdbc42-1.0.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-annotations\\2.10.2\\jackson-annotations-2.10.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.10.2/jackson-annotations-2.10.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.10.2/jackson-annotations-2.10.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-core\\5.2.2.RELEASE\\spring-core-5.2.2.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-core/5.2.2.RELEASE/spring-core-5.2.2.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-core/5.2.2.RELEASE/spring-core-5.2.2.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-jcl\\5.2.2.RELEASE\\spring-jcl-5.2.2.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-jcl/5.2.2.RELEASE/spring-jcl-5.2.2.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-jcl/5.2.2.RELEASE/spring-jcl-5.2.2.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\data\\spring-data-redis\\2.3.3.RELEASE\\spring-data-redis-2.3.3.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/data/spring-data-redis/2.3.3.RELEASE/spring-data-redis-2.3.3.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/data/spring-data-redis/2.3.3.RELEASE/spring-data-redis-2.3.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\data\\spring-data-keyvalue\\2.3.3.RELEASE\\spring-data-keyvalue-2.3.3.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/data/spring-data-keyvalue/2.3.3.RELEASE/spring-data-keyvalue-2.3.3.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/data/spring-data-keyvalue/2.3.3.RELEASE/spring-data-keyvalue-2.3.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\data\\spring-data-commons\\2.3.3.RELEASE\\spring-data-commons-2.3.3.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/data/spring-data-commons/2.3.3.RELEASE/spring-data-commons-2.3.3.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/data/spring-data-commons/2.3.3.RELEASE/spring-data-commons-2.3.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-oxm\\5.2.8.RELEASE\\spring-oxm-5.2.8.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-oxm/5.2.8.RELEASE/spring-oxm-5.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-oxm/5.2.8.RELEASE/spring-oxm-5.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\springframework\\spring-aop\\5.2.8.RELEASE\\spring-aop-5.2.8.RELEASE.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-aop/5.2.8.RELEASE/spring-aop-5.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/springframework/spring-aop/5.2.8.RELEASE/spring-aop-5.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\redis\\clients\\jedis\\3.2.0\\jedis-3.2.0.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/redis/clients/jedis/3.2.0/jedis-3.2.0-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/redis/clients/jedis/3.2.0/jedis-3.2.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\apache\\commons\\commons-pool2\\2.6.2\\commons-pool2-2.6.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-pool2/2.6.2/commons-pool2-2.6.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/apache/commons/commons-pool2/2.6.2/commons-pool2-2.6.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\cn\\hutool\\hutool-core\\5.3.8\\hutool-core-5.3.8.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/cn/hutool/hutool-core/5.3.8/hutool-core-5.3.8-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/cn/hutool/hutool-core/5.3.8/hutool-core-5.3.8-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\cn\\hutool\\hutool-json\\5.3.8\\hutool-json-5.3.8.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/cn/hutool/hutool-json/5.3.8/hutool-json-5.3.8-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/cn/hutool/hutool-json/5.3.8/hutool-json-5.3.8-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\cn\\hutool\\hutool-crypto\\5.3.8\\hutool-crypto-5.3.8.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/cn/hutool/hutool-crypto/5.3.8/hutool-crypto-5.3.8-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/cn/hutool/hutool-crypto/5.3.8/hutool-crypto-5.3.8-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\org\\projectlombok\\lombok\\1.18.10\\lombok-1.18.10.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/org/projectlombok/lombok/1.18.10/lombok-1.18.10-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/org/projectlombok/lombok/1.18.10/lombok-1.18.10-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-databind\\2.9.10.2\\jackson-databind-2.9.10.2.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.10.2/jackson-databind-2.9.10.2-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.10.2/jackson-databind-2.9.10.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"d:\\share_data\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-core\\2.9.10\\jackson-core-2.9.10.jar","sourceContainerUrl":"file:/d:/share_data/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.10/jackson-core-2.9.10-sources.jar","javadocContainerUrl":"file:/d:/share_data/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.10/jackson-core-2.9.10-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"source","path":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\src\\main\\java","outputFolder":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\target\\classes","javadocContainerUrl":"file:/D:/workspace_src/huazheng-project/huazheng-project-flink/target/site/apidocs","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":true},{"kind":"source","path":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\src\\main\\resources","outputFolder":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\target\\classes","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":false},{"kind":"source","path":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\src\\test\\resources","outputFolder":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\target\\test-classes","isSystem":false,"isOwn":true,"isTest":true,"isJavaContent":false},{"kind":"source","path":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\src\\test\\java","outputFolder":"D:\\workspace_src\\huazheng-project\\huazheng-project-flink\\target\\test-classes","javadocContainerUrl":"file:/D:/workspace_src/huazheng-project/huazheng-project-flink/target/site/apidocs","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":false}]}
\ No newline at end of file
#redis.hostName=172.100.103.112
#redis.port=6379
#redis.database=10
#redis.maxTotal=200
#redis.maxIdle=200
#redis.maxWaitMillis=2000
#kafka.tianjin.serverIn=101.101.140.30:9092
#kafka.tianjin.topicIn=eriinfo
#kafka.tianjin.groupId=ehualu-bigdata-flink
#kafka.tianjin.serverOut=192.168.8.133:9092
#kafka.tianjin.topicOut=eriinfo-out
#kafka.jcbk.serverIn=172.100.103.112:9092
#kafka.jcbk.topicIn=jcbk
#kafka.jcbk.groupId=ehualu-bigdata-flink
#
#kafka.jcbk.serverOut=172.100.103.112:9092
#kafka.jcbk.topicOut=jcbk-out
#kafka.jcbk.topicOut1=jcbk-out-statistics4warn
#kafka.jcbk.topicOut2=jcbk-out-monitor4bayName
#kafka.jcbk.topicOut3=jcbk-out-monitor4trajectory
# ----------------------------------------------+
# OFF 0 | WARN 3 | TRACE 6 |
# FATAL 1 | INFO 4 | ALL 7 |
# ERROR 2 | DEBUG 5 | |
# ----------------------------------------------+
log4j.rootLogger=INFO, console
log4j.logger.com.mengdee=INFO
# ============================== console =====================================
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m %n
#log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m %n
#log4j.appender.file.file=/usr/local/spark-app/logs/spark-area-security-manage-data.log
#log4j.appender.file.Threshold=WARN
<?xml version="1.0" encoding="UTF-8"?>
<Configuration package="log4j.test"
status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="log4j.test.Log4jTest" level="trace">
<AppenderRef ref="Console"/>
</Logger>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.huazheng.project.stream.service" />
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:application.properties</value>
</list>
</property>
</bean>
<bean id="proper" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<array>
<value>classpath:application.properties</value>
</array>
</property>
</bean>
<!-- 定义连接池 -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="MaxWaitMillis" value="${redis.maxWaitMillis}" />
<property name="testOnBorrow" value="true" />
</bean>
<!-- 定义连接工厂 -->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.hostName}" />
<property name="port" value="${redis.port}" />
<property name="database" value="${redis.database}" />
<property name="usePool" value="true" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
<!-- 定义模板 -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashKeySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashValueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.huazheng.project</groupId>
<artifactId>huazheng-project-flink</artifactId>
<name>Flink Quickstart Job</name>
<version>0.0.1-SNAPSHOT</version>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<versionRange>[3.1.1,)</versionRange>
<goals>
<goal>shade</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<versionRange>[3.1,)</versionRange>
<goals>
<goal>testCompile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>org.apache.flink:force-shading</exclude>
<exclude>com.google.code.findbugs:jsr305</exclude>
<exclude>org.slf4j:*</exclude>
<exclude>org.apache.logging.log4j:*</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer>
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer>
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer>
<resource>META-INF/spring.tooling</resource>
</transformer>
<transformer>
<mainClass>com.huazheng.project.HZDataStream</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots />
<id>apache.snapshots</id>
<name>Apache Development Snapshot Repository</name>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>cdh.repo</id>
<name>Cloudera Repositories</name>
<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
</repository>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots />
<id>cdh.snapshots.repo</id>
<name>Cloudera Snapshots Repository</name>
<url>https://repository.cloudera.com/artifactory/libs-snapshot-local</url>
</repository>
<repository>
<releases />
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<url>http://repo1.maven.org/maven2/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.11.1</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>flink-core</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
<exclusion>
<artifactId>commons-lang3</artifactId>
<groupId>org.apache.commons</groupId>
</exclusion>
<exclusion>
<artifactId>commons-math3</artifactId>
<groupId>org.apache.commons</groupId>
</exclusion>
<exclusion>
<artifactId>jsr305</artifactId>
<groupId>com.google.code.findbugs</groupId>
</exclusion>
<exclusion>
<artifactId>force-shading</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.11</artifactId>
<version>1.11.1</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>flink-runtime_2.11</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
<exclusion>
<artifactId>flink-shaded-guava</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
<exclusion>
<artifactId>flink-core</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
<exclusion>
<artifactId>commons-math3</artifactId>
<groupId>org.apache.commons</groupId>
</exclusion>
<exclusion>
<artifactId>jsr305</artifactId>
<groupId>com.google.code.findbugs</groupId>
</exclusion>
<exclusion>
<artifactId>force-shading</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.11</artifactId>
<version>1.11.1</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>flink-optimizer_2.11</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
<exclusion>
<artifactId>commons-cli</artifactId>
<groupId>commons-cli</groupId>
</exclusion>
<exclusion>
<artifactId>flink-runtime_2.11</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
<exclusion>
<artifactId>flink-core</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
<exclusion>
<artifactId>jsr305</artifactId>
<groupId>com.google.code.findbugs</groupId>
</exclusion>
<exclusion>
<artifactId>force-shading</artifactId>
<groupId>org.apache.flink</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
<scala.binary.version>2.11</scala.binary.version>
<log4j.version>2.12.1</log4j.version>
<flink.version>1.11.1</flink.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
</project>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.huazheng.project</groupId>
<artifactId>huazheng-project-flink</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Flink Quickstart Job</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<flink.version>1.11.1</flink.version>
<java.version>1.8</java.version>
<scala.binary.version>2.11</scala.binary.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<log4j.version>2.12.1</log4j.version>
</properties>
<repositories>
<repository>
<id>apache.snapshots</id>
<name>Apache Development Snapshot Repository</name>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>cdh.repo</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
<name>Cloudera Repositories</name>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>cdh.snapshots.repo</id>
<url>https://repository.cloudera.com/artifactory/libs-snapshot-local</url>
<name>Cloudera Snapshots Repository</name>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
<repository>
<id>central</id>
<url>http://repo1.maven.org/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- Apache Flink dependencies -->
<!-- These dependencies are provided, because they should not be packaged into the JAR file. -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
<!-- Add connector dependencies here. They must be in the default scope (compile). -->
<!-- Example:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
</dependency>
-->
<!-- <dependency> -->
<!-- <groupId>org.apache.flink</groupId> -->
<!-- <artifactId>flink-connector-kafka-0.10_${scala.binary.version}</artifactId> -->
<!-- <version>${flink.version}</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.apache.flink</groupId> -->
<!-- <artifactId>flink-table-planner_${scala.binary.version}</artifactId> -->
<!-- <version>${flink.version}</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.apache.flink</groupId> -->
<!-- <artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId> -->
<!-- <version>${flink.version}</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.apache.flink</groupId> -->
<!-- <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId> -->
<!-- <version>${flink.version}</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.apache.flink</groupId> -->
<!-- <artifactId>flink-table-common</artifactId> -->
<!-- <version>${flink.version}</version> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.apache.flink</groupId> -->
<!-- <artifactId>flink-runtime-web_${scala.binary.version}</artifactId> -->
<!-- <version>${flink.version}</version> -->
<!-- <scope>provided</scope> -->
<!-- </dependency> -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
<version>2.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.74</version>
</dependency>
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<!-- 连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
<dependency>
<groupId>com.pivotal</groupId>
<artifactId>greenplum-jdbc</artifactId>
<version>5.1.4</version>
</dependency>
<!-- mybatis 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>ngdbc</groupId>
<artifactId>ngdbc</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>sqljdbc42</groupId>
<artifactId>sqljdbc42</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.2</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>org.apache.poi</groupId> -->
<!-- <artifactId>poi-ooxml</artifactId> -->
<!-- <version>4.1.1</version> -->
<!-- </dependency> -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>org.springframework.data</groupId> -->
<!-- <artifactId>spring-data-redis</artifactId> -->
<!-- <version>2.2.4.RELEASE</version> -->
<!-- </dependency> -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
<!-- hutool -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.3.8</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-json</artifactId>
<version>5.3.8</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-crypto</artifactId>
<version>5.3.8</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.10.2</version>
</dependency>
<!-- Add logging framework, to produce console output when running in the IDE. -->
<!-- These dependencies are excluded from the application JAR by default. -->
<!-- <dependency> -->
<!-- <groupId>org.apache.logging.log4j</groupId> -->
<!-- <artifactId>log4j-slf4j-impl</artifactId> -->
<!-- <version>${log4j.version}</version> -->
<!-- <scope>runtime</scope> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.apache.logging.log4j</groupId> -->
<!-- <artifactId>log4j-api</artifactId> -->
<!-- <version>${log4j.version}</version> -->
<!-- <scope>runtime</scope> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.apache.logging.log4j</groupId> -->
<!-- <artifactId>log4j-core</artifactId> -->
<!-- <version>${log4j.version}</version> -->
<!-- <scope>runtime</scope> -->
<!-- </dependency> -->
</dependencies>
<build>
<plugins>
<!-- Java Compiler -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<!-- We use the maven-shade plugin to create a fat jar that contains all necessary dependencies. -->
<!-- Change the value of <mainClass>...</mainClass> if your program entry point changes. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<executions>
<!-- Run shade goal on package phase -->
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>org.apache.flink:force-shading</exclude>
<exclude>com.google.code.findbugs:jsr305</exclude>
<exclude>org.slf4j:*</exclude>
<exclude>org.apache.logging.log4j:*</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<!-- Do not copy the signatures in the META-INF folder.
Otherwise, this might cause SecurityExceptions when using the JAR. -->
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<!-- <transformers> -->
<!-- <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> -->
<!-- <mainClass>com.huazheng.project.HZDataStream</mainClass> -->
<!-- </transformer> -->
<!-- </transformers> -->
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.huazheng.project.HZDataStream</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!-- This improves the out-of-the-box experience in Eclipse by resolving some warnings. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<versionRange>[3.1.1,)</versionRange>
<goals>
<goal>shade</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<versionRange>[3.1,)</versionRange>
<goals>
<goal>testCompile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
package com.huazheng.project;
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.common.restartstrategy.RestartStrategies;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.windowing.ProcessAllWindowFunction;
import org.apache.flink.streaming.api.windowing.time.Time;
import org.apache.flink.streaming.api.windowing.windows.TimeWindow;
import org.apache.flink.util.Collector;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.redis.core.RedisTemplate;
import com.huazheng.project.greenplum.flatmap.GreenPlumFlatMapFunction;
import com.huazheng.project.greenplum.richsink.GreenPlumRichSinkFunction;
import com.huazheng.project.greenplum.service.impl.GPServiceImpl;
import com.huazheng.project.greenplum.source.hana.AfkoSource;
import com.huazheng.project.greenplum.source.hana.AfpoSource;
import com.huazheng.project.greenplum.source.hana.AufkSource;
import com.huazheng.project.greenplum.source.hana.AufmSource;
import com.huazheng.project.greenplum.source.hana.BsadSource;
import com.huazheng.project.greenplum.source.hana.BsidSource;
import com.huazheng.project.greenplum.source.hana.Kna1Source;
import com.huazheng.project.greenplum.source.hana.KnkkSource;
import com.huazheng.project.greenplum.source.hana.KnvvSource;
import com.huazheng.project.greenplum.source.hana.KonvSource;
import com.huazheng.project.greenplum.source.hana.LikpSource;
import com.huazheng.project.greenplum.source.hana.LipsSource;
import com.huazheng.project.greenplum.source.hana.MaktSource;
import com.huazheng.project.greenplum.source.hana.MaraSource;
import com.huazheng.project.greenplum.source.hana.MskaSource;
import com.huazheng.project.greenplum.source.hana.Pa0002Source;
import com.huazheng.project.greenplum.source.hana.S066Source;
import com.huazheng.project.greenplum.source.hana.S067Source;
import com.huazheng.project.greenplum.source.hana.T001wSource;
import com.huazheng.project.greenplum.source.hana.T023tSource;
import com.huazheng.project.greenplum.source.hana.TvkbtSource;
import com.huazheng.project.greenplum.source.hana.VbakSource;
import com.huazheng.project.greenplum.source.hana.VbapSource;
import com.huazheng.project.greenplum.source.hana.VbepSource;
import com.huazheng.project.greenplum.source.hana.VbpaSource;
import com.huazheng.project.greenplum.source.hana.VbrkSource;
import com.huazheng.project.greenplum.source.hana.VbrpSource;
import com.huazheng.project.greenplum.source.hana.VbukSource;
import com.huazheng.project.greenplum.source.hana.ZmdpcSource;
import com.huazheng.project.greenplum.source.hana.Zsd06Source;
import com.huazheng.project.greenplum.source.hana.ZsdfhzlSource;
import com.huazheng.project.greenplum.source.mssql.SalesContractProcessSource;
import com.huazheng.project.greenplum.source.mssql.SalesForecastProcessSource;
import com.huazheng.project.greenplum.source.mssql.SampleApplicationProcessMingXiSource;
import com.huazheng.project.greenplum.source.mssql.SampleApplicationProcessSource;
import com.huazheng.project.greenplum.source.mssql.SampleClosingProcessMingXiSource;
import com.huazheng.project.greenplum.source.mssql.SampleClosingProcessSource;
import com.huazheng.project.greenplum.source.mssql2.SysSAPreturnNoSource;
import com.huazheng.project.greenplum.source.mssql2.TKeHuSource;
import com.huazheng.project.greenplum.source.mssql2.TKeHuXiaoShouZZYeWuYSource;
import com.huazheng.project.greenplum.source.mssql3.PersonCompSource;
import com.huazheng.project.greenplum.source.mssql4.TasksSource;
import com.huazheng.project.greenplum.source.mysql.HandoverSource;
import com.huazheng.project.greenplum.source.mysql.HandoverTaskSource;
import com.huazheng.project.greenplum.source.mysql.TransformHistoryNodeSource;
import com.huazheng.project.greenplum.source.mysql.TransformNewNodeSource;
import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Aufm;
import com.huazheng.project.hana.model.Bsad;
import com.huazheng.project.hana.model.Bsid;
import com.huazheng.project.hana.model.Kna1;
import com.huazheng.project.hana.model.Knkk;
import com.huazheng.project.hana.model.Knvv;
import com.huazheng.project.hana.model.Konv;
import com.huazheng.project.hana.model.Likp;
import com.huazheng.project.hana.model.Lips;
import com.huazheng.project.hana.model.Makt;
import com.huazheng.project.hana.model.Mara;
import com.huazheng.project.hana.model.Mska;
import com.huazheng.project.hana.model.Pa0002;
import com.huazheng.project.hana.model.S066;
import com.huazheng.project.hana.model.S067;
import com.huazheng.project.hana.model.T001w;
import com.huazheng.project.hana.model.T023t;
import com.huazheng.project.hana.model.Tvkbt;
import com.huazheng.project.hana.model.Vbak;
import com.huazheng.project.hana.model.Vbap;
import com.huazheng.project.hana.model.Vbep;
import com.huazheng.project.hana.model.Vbpa;
import com.huazheng.project.hana.model.Vbrk;
import com.huazheng.project.hana.model.Vbrp;
import com.huazheng.project.hana.model.Vbuk;
import com.huazheng.project.hana.model.Zmdpc;
import com.huazheng.project.hana.model.Zsd06;
import com.huazheng.project.hana.model.Zsdfhzl;
import com.huazheng.project.mssql.model.SalesContractProcess;
import com.huazheng.project.mssql.model.SalesContractProcessMX;
import com.huazheng.project.mssql.model.SalesForecastProcess;
import com.huazheng.project.mssql.model.SalesForecastProcessMX;
import com.huazheng.project.mssql.model.SampleApplicationProcess;
import com.huazheng.project.mssql.model.SampleApplicationProcessMingXi;
import com.huazheng.project.mssql.model.SampleClosingProcess;
import com.huazheng.project.mssql.model.SampleClosingProcessMingXi;
import com.huazheng.project.mssql2.model.SysSAPreturnNo;
import com.huazheng.project.mssql2.model.TKeHu;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZ;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZYeWuY;
import com.huazheng.project.mssql2.model.TWuLiaoDB;
import com.huazheng.project.mssql3.model.PersonComp;
import com.huazheng.project.mssql4.model.Tasks;
import com.huazheng.project.mysql.model.Handover;
import com.huazheng.project.mysql.model.HandoverTask;
import com.huazheng.project.mysql.model.TransformHistoryNode;
import com.huazheng.project.mysql.model.TransformNewNode;
@SuppressWarnings({"rawtypes", "unchecked"})
public class HZDataStream {
// 重置过程
// redis-cli -n 1 --raw keys "huazheng:Vbap:*"
// redis-cli -n 1 --raw keys "huazheng:check:Vbap:*"
// redis-cli -n 1 --raw keys "huazheng:Vbap:*" | xargs redis-cli -n 1 del
// redis-cli -n 1 --raw keys "huazheng:check:Vbap:*" | xargs redis-cli -n 1 del
// redis-cli -n 1 --raw keys "huazheng:list:Vbap" | xargs redis-cli -n 1 del
// redis-cli -n 1 --raw keys "huazheng:checkDelete:Vbap:rowNum" | xargs redis-cli -n 1 del
// 全部清理,可替代上面部分,首字母用*替代可以查询到全部的key
// redis-cli -n 1 --raw keys "huazheng*ikp*" | xargs redis-cli -n 1 del
// update likp set hashresult = null;
// select * from Vbap limit 10;
/*
*
--重置数据更新标记
update SampleApplicationProcessMingXi set hashresult = null;
--类名把首字母去掉
redis-cli -n 1 --raw keys "huazheng*ampleApplicationProcessMingXi:*"
--更新计数器 1280
redis-cli -n 1 --raw get "huazheng:check:SampleApplicationProcessMingXi:rowNum"
--实时查看更新计数器
watch -n 1 redis-cli -n 1 --raw get "huazheng:check:SampleApplicationProcessMingXi:rowNum"
--指定更新计数器
redis-cli -n 1 --raw set "huazheng:check:SampleApplicationProcessMingXi:rowNum" 1460
--写入计数器(发)
huazheng:SampleApplicationProcessMingXi:sendcount
--写入计数器(收)
huazheng:SampleApplicationProcessMingXi:receivecount
--重置更新计数器
redis-cli -n 1 --raw keys "huazheng:check:SampleApplicationProcessMingXi:rowNum" | xargs redis-cli -n 1 del
--重置写入计数器
redis-cli -n 1 --raw keys "huazheng:SampleApplicationProcessMingXi:*" | xargs redis-cli -n 1 del
--重置所有
redis-cli -n 1 --raw keys "huazheng*ikp*" | xargs redis-cli -n 1 del
*/
private static ApplicationContext context;
private static int seconds = 1;// 窗口时间
private static GPServiceImpl gpserviceImpl;
private static GreenPlumRichSinkFunction greenPlumRichSinkFunction;
private static GreenPlumFlatMapFunction greenPlumFlatMapFunction;
public static RedisTemplate<String, Object> redis1Template;
private static VbapSource vbapSource;
private static BsidSource bsidSource;
private static BsadSource bsadSource;
private static Pa0002Source pa0002Source;
private static VbpaSource vbpaSource;
private static TvkbtSource tvkbtSource;
private static AufmSource aufmSource;
private static VbrkSource vbrkSource;
private static VbrpSource vbrpSource;
private static S066Source s066Source;
private static S067Source s067Source;
private static VbukSource vbukSource;
private static LikpSource likpSource;
private static KonvSource konvSource;
private static LipsSource lipsSource;
private static AfkoSource afkoSource;
private static AfpoSource afpoSource;
private static VbepSource vbepSource;
private static T023tSource t023tSource;
private static Kna1Source kna1Source;
private static KnvvSource knvvSource;
private static KnkkSource knkkSource;
private static MaraSource maraSource;
private static MaktSource maktSource;
private static Zsd06Source zsd06Source;
private static ZmdpcSource zmdpcSource;
private static VbakSource vbakSource;
private static AufkSource aufkSource;
private static T001wSource t001wSource;
private static MskaSource mskaSource;
private static ZsdfhzlSource zsdfhzlSource;
private static PersonCompSource personCompSource;
private static SalesContractProcessSource salesContractProcessSource;
private static SalesForecastProcessSource salesForecastProcessSource;
private static SampleApplicationProcessSource sampleApplicationProcessSource;
private static SampleApplicationProcessMingXiSource sampleApplicationProcessMingXiSource;
private static SampleClosingProcessSource sampleClosingProcessSource;
private static SampleClosingProcessMingXiSource sampleClosingProcessMingXiSource;
private static TransformHistoryNodeSource transformHistoryNodeSource;
private static TransformNewNodeSource transformNewNodeSource;
private static HandoverTaskSource handoverTaskSource;
private static HandoverSource handoverSource;
private static TKeHuXiaoShouZZYeWuYSource tkeHuXiaoShouZZYeWuYSource;
private static TKeHuSource tkeHuSource;
private static SysSAPreturnNoSource sysSAPreturnNoSource;
private static TasksSource tasksSource;
static {
context = new ClassPathXmlApplicationContext(new String[] { "spring-init.xml" });
gpserviceImpl = (GPServiceImpl) context.getBean("GPServiceImpl");
greenPlumRichSinkFunction = (GreenPlumRichSinkFunction) context.getBean("greenPlumRichSinkFunction");
greenPlumFlatMapFunction = (GreenPlumFlatMapFunction) context.getBean("greenPlumFlatMapFunction");
redis1Template = (RedisTemplate<String, Object>) context.getBean("redis1Template");
vbapSource = (VbapSource) context.getBean("vbapSource");
bsidSource = (BsidSource) context.getBean("bsidSource");
bsadSource = (BsadSource) context.getBean("bsadSource");
pa0002Source = (Pa0002Source) context.getBean("pa0002Source");
vbpaSource = (VbpaSource) context.getBean("vbpaSource");
tvkbtSource = (TvkbtSource) context.getBean("tvkbtSource");
aufmSource = (AufmSource) context.getBean("aufmSource");
vbrkSource = (VbrkSource) context.getBean("vbrkSource");
vbrpSource = (VbrpSource) context.getBean("vbrpSource");
s066Source = (S066Source) context.getBean("s066Source");
s067Source = (S067Source) context.getBean("s067Source");
vbukSource = (VbukSource) context.getBean("vbukSource");
likpSource = (LikpSource) context.getBean("likpSource");
konvSource = (KonvSource) context.getBean("konvSource");
lipsSource = (LipsSource) context.getBean("lipsSource");
afkoSource = (AfkoSource) context.getBean("afkoSource");
afpoSource = (AfpoSource) context.getBean("afpoSource");
vbepSource = (VbepSource) context.getBean("vbepSource");
t023tSource = (T023tSource) context.getBean("t023tSource");
kna1Source = (Kna1Source) context.getBean("kna1Source");
knvvSource = (KnvvSource) context.getBean("knvvSource");
knkkSource = (KnkkSource) context.getBean("knkkSource");
maraSource = (MaraSource) context.getBean("maraSource");
maktSource = (MaktSource) context.getBean("maktSource");
zsd06Source = (Zsd06Source) context.getBean("zsd06Source");
zmdpcSource = (ZmdpcSource) context.getBean("zmdpcSource");
vbakSource = (VbakSource) context.getBean("vbakSource");
aufkSource = (AufkSource) context.getBean("aufkSource");
t001wSource = (T001wSource) context.getBean("t001wSource");
mskaSource = (MskaSource) context.getBean("mskaSource");
zsdfhzlSource = (ZsdfhzlSource) context.getBean("zsdfhzlSource");
personCompSource = (PersonCompSource) context.getBean("personCompSource");
salesContractProcessSource = (SalesContractProcessSource) context.getBean("salesContractProcessSource");
salesForecastProcessSource = (SalesForecastProcessSource) context.getBean("salesForecastProcessSource");
sampleApplicationProcessSource = (SampleApplicationProcessSource) context.getBean("sampleApplicationProcessSource");
sampleApplicationProcessMingXiSource = (SampleApplicationProcessMingXiSource) context.getBean("sampleApplicationProcessMingXiSource");
sampleClosingProcessSource = (SampleClosingProcessSource) context.getBean("sampleClosingProcessSource");
sampleClosingProcessMingXiSource = (SampleClosingProcessMingXiSource) context.getBean("sampleClosingProcessMingXiSource");
transformHistoryNodeSource = (TransformHistoryNodeSource) context.getBean("transformHistoryNodeSource");
transformNewNodeSource = (TransformNewNodeSource) context.getBean("transformNewNodeSource");
handoverTaskSource = (HandoverTaskSource) context.getBean("handoverTaskSource");
handoverSource = (HandoverSource) context.getBean("handoverSource");
tkeHuXiaoShouZZYeWuYSource = (TKeHuXiaoShouZZYeWuYSource) context.getBean("TKeHuXiaoShouZZYeWuYSource");
tkeHuSource = (TKeHuSource) context.getBean("TKeHuSource");
sysSAPreturnNoSource = (SysSAPreturnNoSource) context.getBean("sysSAPreturnNoSource");
tasksSource = (TasksSource) context.getBean("tasksSource");
}
public static void main(String[] args) throws Exception {
// 初始化运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setRestartStrategy(RestartStrategies.fixedDelayRestart(Integer.MAX_VALUE, 10l));
// ================= TvkbtSource 队列 =================
DataStream<String> tvkbtRedis = env.addSource(tvkbtSource).setParallelism(1).name("输入tvkbtSource队列");
// 机构单位:销售办公室:文本
tvkbtRedis.flatMap(new FlatMapFunction<String, Tvkbt>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Tvkbt> out) throws Exception {
gpserviceImpl.processTvkbt(value, out);
}
}).setParallelism(1).name("拉取Tvkbt数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Tvkbt数据");
// // ================= BsadSource、BsidSource 队列 =================
// // 数据合并Bsid2Bsad
// bsidProcess.connect(bsadProcess).flatMap(new CoFlatMapFunction<Bsid, Bsad, Bsid2Bsad>() {
// private static final long serialVersionUID = 1L;
// @Override
// public void flatMap1(Bsid value, Collector<Bsid2Bsad> out) throws Exception {
// Bsid2Bsad target = new Bsid2Bsad();
// BeanUtil.copyProperties(value, target);
// gpserviceImpl.processBsid2Bsad(target, out);
// }
// @Override
// public void flatMap2(Bsad value, Collector<Bsid2Bsad> out) throws Exception {
// Bsid2Bsad target = new Bsid2Bsad();
// BeanUtil.copyProperties(value, target);
// gpserviceImpl.processBsid2Bsad(target, out);
// }
// }).setParallelism(1).name("合并Bsid2Bsad数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Bsid2Bsad数据");
// ================= SalesForecastProcessSource 队列 =================
DataStream<String> salesForecastProcessRedis = env.addSource(salesForecastProcessSource).setParallelism(1).name("输入SalesForecastProcess队列");
// 数据处理
SingleOutputStreamOperator<SalesForecastProcess> salesForecastProcessProcess = salesForecastProcessRedis.flatMap(new FlatMapFunction<String, SalesForecastProcess>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<SalesForecastProcess> out) throws Exception {
gpserviceImpl.processSalesForecastProcess(value, out);
}
}).setParallelism(1).name("拉取SalesForecastProcess数据");
// 数据输出
salesForecastProcessProcess.addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SalesForecastProcess数据");
// ================= SampleApplicationProcessSource 队列 =================
DataStream<String> sampleApplicationProcessRedis = env.addSource(sampleApplicationProcessSource).setParallelism(1).name("输入SampleApplicationProcess队列");
// 数据处理
sampleApplicationProcessRedis.flatMap(new FlatMapFunction<String, SampleApplicationProcess>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<SampleApplicationProcess> out) throws Exception {
gpserviceImpl.processSampleApplicationProcess(value, out);
}
}).setParallelism(1).name("拉取SampleApplicationProcess数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SampleApplicationProcess数据");
// ================= SampleApplicationProcessMingXiSource 队列 =================
DataStream<String> sampleApplicationProcessMingXiRedis = env.addSource(sampleApplicationProcessMingXiSource).setParallelism(1).name("输入SampleApplicationProcessMingXi队列");
// 数据处理
sampleApplicationProcessMingXiRedis.flatMap(new FlatMapFunction<String, SampleApplicationProcessMingXi>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<SampleApplicationProcessMingXi> out) throws Exception {
gpserviceImpl.processSampleApplicationProcessMingXi(value, out);
}
}).setParallelism(1).name("拉取SampleApplicationProcessMingXi数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SampleApplicationProcessMingXi数据");
// ================= SampleClosingProcessSource 队列 =================
DataStream<String> sampleClosingProcessRedis = env.addSource(sampleClosingProcessSource).setParallelism(1).name("输入SampleClosingProcess队列");
// 数据处理
sampleClosingProcessRedis.flatMap(new FlatMapFunction<String, SampleClosingProcess>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<SampleClosingProcess> out) throws Exception {
gpserviceImpl.processSampleClosingProcess(value, out);
}
}).setParallelism(1).name("拉取SampleClosingProcess数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SampleClosingProcess数据");
// ================= SampleClosingProcessMingXiSource 队列 =================
DataStream<String> sampleClosingProcessMingXiRedis = env.addSource(sampleClosingProcessMingXiSource).setParallelism(1).name("输入SampleClosingProcessMingXi队列");
// 数据处理
sampleClosingProcessMingXiRedis.flatMap(new FlatMapFunction<String, SampleClosingProcessMingXi>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<SampleClosingProcessMingXi> out) throws Exception {
gpserviceImpl.processSampleClosingProcessMingXi(value, out);
}
}).setParallelism(1).name("拉取SampleClosingProcessMingXi数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SampleClosingProcessMingXi数据");
// 数据处理
salesForecastProcessProcess.timeWindowAll(Time.seconds(seconds)).process(new ProcessAllWindowFunction<SalesForecastProcess, SalesForecastProcessMX, TimeWindow>() {
private static final long serialVersionUID = 1L;
@Override
public void process(ProcessAllWindowFunction<SalesForecastProcess, SalesForecastProcessMX, TimeWindow>.Context arg0, Iterable<SalesForecastProcess> arg1, Collector<SalesForecastProcessMX> arg2) throws Exception {
gpserviceImpl.processSalesForecastProcessMX(arg1, arg2);
}
}).setParallelism(1).name("拉取SalesForecastProcessMX数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SalesForecastProcessMX数据");
// ================= SalesContractProcess 队列 =================
DataStream<String> salesContractProcessRedis = env.addSource(salesContractProcessSource).setParallelism(1).name("输入SalesContractProcess队列");
// 数据处理
SingleOutputStreamOperator<SalesContractProcess> salesContractProcessProcess = salesContractProcessRedis.flatMap(new FlatMapFunction<String, SalesContractProcess>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<SalesContractProcess> out) throws Exception {
gpserviceImpl.processSalesContractProcess(value, out);
}
}).setParallelism(1).name("拉取SalesContractProcess数据");
// 数据输出
salesContractProcessProcess.addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SalesContractProcess数据");
// 数据处理
salesContractProcessProcess.timeWindowAll(Time.seconds(seconds)).process(new ProcessAllWindowFunction<SalesContractProcess, SalesContractProcessMX, TimeWindow>() {
private static final long serialVersionUID = 1L;
@Override
public void process(ProcessAllWindowFunction<SalesContractProcess, SalesContractProcessMX, TimeWindow>.Context arg0, Iterable<SalesContractProcess> arg1, Collector<SalesContractProcessMX> arg2) throws Exception {
gpserviceImpl.processSalesContractProcessMX(arg1, arg2);
}
}).setParallelism(1).name("拉取SalesContractProcessMX数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SalesContractProcessMX数据");
// ================= transformHistoryNodeSource 队列 =================
DataStream<String> transformHistoryNodeRedis = env.addSource(transformHistoryNodeSource).setParallelism(1).name("输入TransformHistoryNode队列");
// 数据处理
transformHistoryNodeRedis.flatMap(new FlatMapFunction<String, TransformHistoryNode>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<TransformHistoryNode> out) throws Exception {
gpserviceImpl.processTransformHistoryNode(value, out);
}
}).setParallelism(1).name("拉取TransformHistoryNode数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出TransformHistoryNode数据");
// ================= transformNewNodeSource 队列 =================
DataStream<String> transformNewNodeRedis = env.addSource(transformNewNodeSource).setParallelism(1).name("输入TransformNewNode队列");
// 数据处理
transformNewNodeRedis.flatMap(new FlatMapFunction<String, TransformNewNode>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<TransformNewNode> out) throws Exception {
gpserviceImpl.processTransformNewNode(value, out);
}
}).setParallelism(1).name("拉取TransformNewNode数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出TransformNewNode数据");
// ================= VbapSource 队列 =================
DataStream<String> vbapRedis = env.addSource(vbapSource).setParallelism(1).name("输入vbap队列");
// 数据处理
SingleOutputStreamOperator<Vbap> vbapProcess = vbapRedis.flatMap(new FlatMapFunction<String, Vbap>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Vbap> out) throws Exception {
gpserviceImpl.processVbap(value, out);
}
}).setParallelism(1).name("拉取Vbap数据");
// 数据输出
vbapProcess.addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Vbap数据");
// ================= T001wSource 队列 =================
DataStream<String> t001wRedis = env.addSource(t001wSource).setParallelism(1).name("输入T001wSource队列");
// 工厂/分支机构
t001wRedis.flatMap(new FlatMapFunction<String, T001w>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<T001w> out) throws Exception {
gpserviceImpl.processT001w(value, out);
}
}).setParallelism(1).name("拉取T001w数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出T001w数据");
// ================= vbpaRedis 队列 =================
DataStream<String> vbpaRedis = env.addSource(vbpaSource).setParallelism(1).name("输入vbpa队列");
// 销售凭证 : 合作伙伴
vbpaRedis.flatMap(new FlatMapFunction<String, Vbpa>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Vbpa> out) throws Exception {
gpserviceImpl.processVbpa(value, out);
}
}).setParallelism(1).name("拉取vbpa数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出vbpa数据");
// ================= pa0002Redis 队列 =================
DataStream<String> pa0002Redis = env.addSource(pa0002Source).setParallelism(1).name("输入pa0002队列");
// HR 主记录: 信息类型 0002 (人员数据)
pa0002Redis.flatMap(new FlatMapFunction<String, Pa0002>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Pa0002> out) throws Exception {
gpserviceImpl.processPa0002(value, out);
}
}).setParallelism(1).name("拉取Pa0002数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Pa0002数据");
// ================= AufkSource 队列 =================
DataStream<String> aufkRedis = env.addSource(aufkSource).setParallelism(1).name("输入aufkSource队列");
// 销售凭证:项目数据
aufkRedis.flatMap(new FlatMapFunction<String, Aufk>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Aufk> out) throws Exception {
gpserviceImpl.processAufk(value, out);
}
}).setParallelism(1).name("拉取Aufk数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Aufk数据");
// ================= ZmdpcSource 队列 =================
DataStream<String> zmdpcRedis = env.addSource(zmdpcSource).setParallelism(1).name("输入ZmdpcSource队列");
// 销售订单生产地对照表
zmdpcRedis.flatMap(new FlatMapFunction<String, Zmdpc>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Zmdpc> out) throws Exception {
gpserviceImpl.processZmdpc(value, out);
}
}).setParallelism(1).name("拉取Zmdpc数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Zmdpc数据");
// =========================================== mssql2 ===========================================
// ================= SysSAPreturnNoSource 队列 =================
DataStream<String> sysSAPreturnNoRedis = env.addSource(sysSAPreturnNoSource).setParallelism(1).name("输入SysSAPreturnNoSource队列");
// 销售凭证:计划行数据
sysSAPreturnNoRedis.flatMap(new FlatMapFunction<String, SysSAPreturnNo>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<SysSAPreturnNo> out) throws Exception {
gpserviceImpl.processSysSAPreturnNo(value, out);
}
}).setParallelism(1).name("拉取SysSAPreturnNo数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出SysSAPreturnNo数据");
// =========================================== mssql2 ===========================================
// ================= VbepSource 队列 =================
DataStream<String> vbepRedis = env.addSource(vbepSource).setParallelism(1).name("输入VbepSource队列");
// 销售凭证:计划行数据
vbepRedis.flatMap(new FlatMapFunction<String, Vbep>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Vbep> out) throws Exception {
gpserviceImpl.processVbep(value, out);
}
}).setParallelism(1).name("拉取Vbep数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Vbep数据");
// ================= AfpoSource 队列 =================
DataStream<String> afpoRedis = env.addSource(afpoSource).setParallelism(1).name("输入afpoSource队列");
// 订单项
afpoRedis.flatMap(new FlatMapFunction<String, Afpo>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Afpo> out) throws Exception {
gpserviceImpl.processAfpo(value, out);
}
}).setParallelism(1).name("拉取Afpo数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Afpo数据");
// ================= AfkoSource 队列 =================
DataStream<String> afkoRedis = env.addSource(afkoSource).setParallelism(1).name("输入afkoSource队列");
// 订单表头数据 PP 订单
afkoRedis.flatMap(new FlatMapFunction<String, Afko>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Afko> out) throws Exception {
gpserviceImpl.processAfko(value, out);
}
}).setParallelism(1).name("拉取Afko数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Afko数据");
// ================= AufmSource 队列 =================
DataStream<String> aufmRedis = env.addSource(aufmSource).setParallelism(1).name("输入aufmSource队列");
// 针对订单的货物移动
aufmRedis.flatMap(new FlatMapFunction<String, Aufm>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Aufm> out) throws Exception {
gpserviceImpl.processAufm(value, out);
}
}).setParallelism(1).name("拉取Aufm数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Aufm数据");
// ================= MaraSource 队列 =================
DataStream<String> maraRedis = env.addSource(maraSource).setParallelism(1).name("输入MaraSource队列");
// 常规物料数据
maraRedis.flatMap(new FlatMapFunction<String, Mara>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Mara> out) throws Exception {
gpserviceImpl.processMara(value, out);
}
}).setParallelism(1).name("拉取Mara数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Mara数据");
// ================= T023tSource 队列 =================
DataStream<String> t023tRedis = env.addSource(t023tSource).setParallelism(1).name("输入T023tSource队列");
// 物料组描述
t023tRedis.flatMap(new FlatMapFunction<String, T023t>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<T023t> out) throws Exception {
gpserviceImpl.processT023t(value, out);
}
}).setParallelism(1).name("拉取T023t数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出T023t数据");
// ================= MaktSource 队列 =================
DataStream<String> maktRedis = env.addSource(maktSource).setParallelism(1).name("输入MaktSource队列");
// 物料描述
maktRedis.flatMap(new FlatMapFunction<String, Makt>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Makt> out) throws Exception {
gpserviceImpl.processMakt(value, out);
}
}).setParallelism(1).name("拉取Makt数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Mara数据");
// ================= Zsd06Source 队列 =================
DataStream<String> zsd06Redis = env.addSource(zsd06Source).setParallelism(1).name("输入Zsd06Source队列");
// 承诺交期日
zsd06Redis.flatMap(new FlatMapFunction<String, Zsd06>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Zsd06> out) throws Exception {
gpserviceImpl.processZsd06(value, out);
}
}).setParallelism(1).name("拉取Zsd06数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Zsd06数据");
// ================= KonvRedis 队列 =================
// 条件(事务数据)
DataStream<String> konvRedis = env.addSource(konvSource).setParallelism(1).name("输入Konv队列");
konvRedis.flatMap(new FlatMapFunction<String, Konv>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Konv> out) throws Exception {
gpserviceImpl.processKonv(value, out);
}
}).setParallelism(1).name("拉取Konv数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Konv数据");
// ================= Kna1Source 队列 =================
DataStream<String> kna1Redis = env.addSource(kna1Source).setParallelism(1).name("输入Kna1Source队列");
// 客户主文件的一般数据
kna1Redis.flatMap(new FlatMapFunction<String, Kna1>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Kna1> out) throws Exception {
gpserviceImpl.processKna1(value, out);
}
}).setParallelism(1).name("拉取Kna1数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Kna1数据");
// ================= KnvvSource 队列 =================
DataStream<String> knvvRedis = env.addSource(knvvSource).setParallelism(1).name("输入KnvvSource队列");
// 客户主记录销售数据
knvvRedis.flatMap(new FlatMapFunction<String, Knvv>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Knvv> out) throws Exception {
gpserviceImpl.processKnvv(value, out);
}
}).setParallelism(1).name("拉取Knvv数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Knvv数据");
// ================= KnkkSource 队列 =================
DataStream<String> knkkRedis = env.addSource(knkkSource).setParallelism(1).name("输入KnkkSource队列");
// 客户主数据信贷管理控制范围数据
knkkRedis.flatMap(new FlatMapFunction<String, Knkk>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Knkk> out) throws Exception {
gpserviceImpl.processKnkk(value, out);
}
}).setParallelism(1).name("拉取Knkk数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Knkk数据");
// ================= S066Source 队列 =================
DataStream<String> s066Redis = env.addSource(s066Source).setParallelism(1).name("输入S066Source队列");
// 未清订单信贷管理
s066Redis.flatMap(new FlatMapFunction<String, S066>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<S066> out) throws Exception {
gpserviceImpl.processS066(value, out);
}
}).setParallelism(1).name("拉取S066数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出S066数据");
// ================= S067Source 队列 =================
DataStream<String> s067Redis = env.addSource(s067Source).setParallelism(1).name("输入S067Source队列");
// 未清交货/发票凭证(KM)
s067Redis.flatMap(new FlatMapFunction<String, S067>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<S067> out) throws Exception {
gpserviceImpl.processS067(value, out);
}
}).setParallelism(1).name("拉取S067数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出S067数据");
// ================= TKeHuSource 队列 =================
DataStream<String> tkeHuRedis = env.addSource(tkeHuSource).setParallelism(1).name("输入TKeHuSource队列");
// 客户
SingleOutputStreamOperator<TKeHu> tkeHuProcess = tkeHuRedis.flatMap(new FlatMapFunction<String, TKeHu>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<TKeHu> out) throws Exception {
gpserviceImpl.processTKeHu(value, out);
}
}).setParallelism(1).name("拉取TKeHu数据");
// 数据输出
tkeHuProcess.addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出TKeHu数据");
// 客户物料
tkeHuProcess.timeWindowAll(Time.seconds(seconds)).process(new ProcessAllWindowFunction<TKeHu, TWuLiaoDB, TimeWindow>() {
private static final long serialVersionUID = 1L;
@Override
public void process(ProcessAllWindowFunction<TKeHu, TWuLiaoDB, TimeWindow>.Context arg0, Iterable<TKeHu> arg1, Collector<TWuLiaoDB> arg2) throws Exception {
gpserviceImpl.processTWuLiaoDB(arg1, arg2);
}
}).setParallelism(1).name("拉取TWuLiaoDB数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出TWuLiaoDB数据");
// 客户销售
tkeHuProcess.timeWindowAll(Time.seconds(seconds)).process(new ProcessAllWindowFunction<TKeHu, TKeHuXiaoShouZZ, TimeWindow>() {
private static final long serialVersionUID = 1L;
@Override
public void process(ProcessAllWindowFunction<TKeHu, TKeHuXiaoShouZZ, TimeWindow>.Context arg0, Iterable<TKeHu> arg1, Collector<TKeHuXiaoShouZZ> arg2) throws Exception {
gpserviceImpl.processTKeHuXiaoShouZZ(arg1, arg2);
}
}).setParallelism(1).name("拉取TKeHuXiaoShouZZ数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出TKeHuXiaoShouZZ数据");
// ================= TKeHuXiaoShouZZYeWuYSource 队列 =================
DataStream<String> tkeHuXiaoShouZZYeWuYRedis = env.addSource(tkeHuXiaoShouZZYeWuYSource).setParallelism(1).name("输入TKeHuXiaoShouZZYeWuYSource队列");
// 客户销售业务员
tkeHuXiaoShouZZYeWuYRedis.flatMap(new FlatMapFunction<String, TKeHuXiaoShouZZYeWuY>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<TKeHuXiaoShouZZYeWuY> out) throws Exception {
gpserviceImpl.processTKeHuXiaoShouZZYeWuY(value, out);
}
}).setParallelism(1).name("拉取TKeHuXiaoShouZZYeWuY数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出TKeHuXiaoShouZZYeWuY数据");
// ================= LipsRedis 队列 =================
// SD凭证:交货:项目数据
DataStream<String> lipsRedis = env.addSource(lipsSource).setParallelism(1).name("输入Lips队列");
lipsRedis.flatMap(new FlatMapFunction<String, Lips>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Lips> out) throws Exception {
gpserviceImpl.processLips(value, out);
}
}).setParallelism(1).name("拉取Lips数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Lips数据");
// ================= VbrpRedis 队列 =================
// 发票行项目
DataStream<String> vbrpRedis = env.addSource(vbrpSource).setParallelism(1).name("输入Vbrp队列");
// 销售凭证 : 合作伙伴
vbrpRedis.flatMap(new FlatMapFunction<String, Vbrp>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Vbrp> out) throws Exception {
gpserviceImpl.processVbrp(value, out);
}
}).setParallelism(1).name("拉取Vbrp数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Vbrp数据");
// ================= VbrkRedis 队列 =================
// 发票抬头
DataStream<String> vbrkRedis = env.addSource(vbrkSource).setParallelism(1).name("输入Vbrk队列");
// 销售凭证 : 合作伙伴
vbrkRedis.flatMap(new FlatMapFunction<String, Vbrk>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Vbrk> out) throws Exception {
gpserviceImpl.processVbrk(value, out);
}
}).setParallelism(1).name("拉取Vbrk数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Vbrk数据");
// ================= LikpRedis 队列 =================
// SD凭证:交货抬头数据
DataStream<String> likpRedis = env.addSource(likpSource).setParallelism(1).name("输入Likp队列");
likpRedis.flatMap(new FlatMapFunction<String, Likp>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Likp> out) throws Exception {
gpserviceImpl.processLikp(value, out);
}
}).setParallelism(1).name("拉取Likp数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Likp数据");
// ================= VbukRedis 队列 =================
// 销售凭证:抬头状态和管理数据
DataStream<String> vbukRedis = env.addSource(vbukSource).setParallelism(1).name("输入Vbuk队列");
vbukRedis.flatMap(new FlatMapFunction<String, Vbuk>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Vbuk> out) throws Exception {
gpserviceImpl.processVbuk(value, out);
}
}).setParallelism(1).name("拉取Vbuk数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Vbuk数据");
// =========================================== mysql ===========================================
// Handover
DataStream<String> handoverRedis = env.addSource(handoverSource).setParallelism(1).name("输入Handover队列");
handoverRedis.flatMap(new FlatMapFunction<String, Handover>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Handover> out) throws Exception {
gpserviceImpl.processHandover(value, out);
}
}).setParallelism(1).name("拉取Handover数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Handover数据");
// 送货单(派车单) mysql
DataStream<String> handoverTaskRedis = env.addSource(handoverTaskSource).setParallelism(1).name("输入HandoverTask队列");
handoverTaskRedis.flatMap(new FlatMapFunction<String, HandoverTask>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<HandoverTask> out) throws Exception {
gpserviceImpl.processHandoverTask(value, out);
}
}).setParallelism(1).name("拉取HandoverTask数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出HandoverTask数据");
// =========================================== mysql ===========================================
// ================= MskaSource 队列 =================
DataStream<String> mskaRedis = env.addSource(mskaSource).setParallelism(1).name("输入MskaSource队列");
// 销售订单库存
mskaRedis.flatMap(new FlatMapFunction<String, Mska>() {
private static final long serialVersionUID = 1L;
@Override
public void flatMap(String value, Collector<Mska> out) throws Exception {
gpserviceImpl.processMska(value, out);
}
}).setParallelism(1).name("拉取Mska数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Mska数据");
// ================= Source 队列 =================
env.addSource(tasksSource).setParallelism(1).name("输入TasksSource队列").flatMap(greenPlumFlatMapFunction).returns(Tasks.class).setParallelism(1).name("拉取Tasks数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Tasks数据");
env.addSource(zsdfhzlSource).setParallelism(1).name("输入ZsdfhzlSource队列").flatMap(greenPlumFlatMapFunction).returns(Zsdfhzl.class).setParallelism(1).name("拉取Zsdfhzl数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Zsdfhzl数据");
env.addSource(vbakSource).setParallelism(1).name("输入vbak队列").flatMap(greenPlumFlatMapFunction).returns(Vbak.class).setParallelism(1).name("拉取vbak数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出vbak数据");
env.addSource(bsidSource).setParallelism(1).name("输入bsid队列").flatMap(greenPlumFlatMapFunction).returns(Bsid.class).setParallelism(1).name("拉取Bsid数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Bsid数据");
env.addSource(bsadSource).setParallelism(1).name("输入bsad队列").flatMap(greenPlumFlatMapFunction).returns(Bsad.class).setParallelism(1).name("拉取Bsad数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出Bsad数据");
env.addSource(personCompSource).setParallelism(1).name("输入PersonComp队列").flatMap(greenPlumFlatMapFunction).returns(PersonComp.class).setParallelism(1).name("拉取PersonComp数据").addSink(greenPlumRichSinkFunction).setParallelism(1).name("输出PersonComp数据");
env.execute("华正数据迁移任务");
}
}
package com.huazheng.project.greenplum.flatmap;
import java.io.Serializable;
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.util.Collector;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
import com.huazheng.project.greenplum.service.impl.GPServiceImpl;
import cn.hutool.core.util.ReflectUtil;
@Service
public class GreenPlumFlatMapFunction<T, O> implements FlatMapFunction<T, O>, ApplicationContextAware, Serializable {
private static final long serialVersionUID = 1L;
private static GPServiceImpl gpserviceImpl;
@Override
public void flatMap(T value, Collector<O> out) throws Exception {
String simpleName = value.getClass().getSimpleName();
ReflectUtil.invoke(gpserviceImpl, "process" + simpleName, value, out);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
gpserviceImpl = (GPServiceImpl) applicationContext.getBean("GPServiceImpl");
}
}
package com.huazheng.project.greenplum.mapper;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Aufm;
import com.huazheng.project.hana.model.Bsad;
import com.huazheng.project.hana.model.Bsid;
import com.huazheng.project.hana.model.CAVThisMonth;
import com.huazheng.project.hana.model.Kna1;
import com.huazheng.project.hana.model.Knkk;
import com.huazheng.project.hana.model.Knvv;
import com.huazheng.project.hana.model.Konv;
import com.huazheng.project.hana.model.Likp;
import com.huazheng.project.hana.model.Lips;
import com.huazheng.project.hana.model.Makt;
import com.huazheng.project.hana.model.Mara;
import com.huazheng.project.hana.model.Mska;
import com.huazheng.project.hana.model.Pa0002;
import com.huazheng.project.hana.model.S066;
import com.huazheng.project.hana.model.S067;
import com.huazheng.project.hana.model.T001w;
import com.huazheng.project.hana.model.T023t;
import com.huazheng.project.hana.model.Tvkbt;
import com.huazheng.project.hana.model.Vbak;
import com.huazheng.project.hana.model.Vbap;
import com.huazheng.project.hana.model.VbapAdv;
import com.huazheng.project.hana.model.Vbep;
import com.huazheng.project.hana.model.Vbpa;
import com.huazheng.project.hana.model.Vbrk;
import com.huazheng.project.hana.model.Vbrp;
import com.huazheng.project.hana.model.Vbuk;
import com.huazheng.project.hana.model.Zmdpc;
import com.huazheng.project.hana.model.Zsd06;
import com.huazheng.project.hana.model.Zsdfhzl;
import com.huazheng.project.mssql.model.SalesContractProcess;
import com.huazheng.project.mssql.model.SalesContractProcessMX;
import com.huazheng.project.mssql.model.SalesForecastProcess;
import com.huazheng.project.mssql.model.SalesForecastProcessMX;
import com.huazheng.project.mssql.model.SampleApplicationProcess;
import com.huazheng.project.mssql.model.SampleApplicationProcessMingXi;
import com.huazheng.project.mssql.model.SampleClosingProcess;
import com.huazheng.project.mssql.model.SampleClosingProcessMingXi;
import com.huazheng.project.mssql2.model.SysSAPreturnNo;
import com.huazheng.project.mssql2.model.TKeHu;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZ;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZYeWuY;
import com.huazheng.project.mssql2.model.TWuLiaoDB;
import com.huazheng.project.mssql3.model.PersonComp;
import com.huazheng.project.mssql4.model.Tasks;
import com.huazheng.project.mysql.model.Handover;
import com.huazheng.project.mysql.model.HandoverTask;
import com.huazheng.project.mysql.model.TransformHistoryNode;
import com.huazheng.project.mysql.model.TransformNewNode;
@CacheConfig(cacheNames = "huazheng")
public interface GPMapper {
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.aufnr", unless="#result == null")
public Aufk selectAufk(Aufk aufk); // 查询替代删除
public void insertAufk(Aufk element);
@CacheEvict(key = "'selectAufk'+':'+#p0.mandt+','+#p0.aufnr")
public void deleteAufk(Aufk item);
@CacheEvict(key = "'selectAufk'+':'+#p0.mandt+','+#p0.aufnr")
public void updateAufk(Aufk element);
public List<Aufk> selectAufkCheck(Aufk build);
@Cacheable(key = "#root.method.name+':'+#p0.aufnr+','+#p0.mandt+','+#p0.posnr", unless="#result == null")
public Afpo selectAfpo(Afpo afpo); // 查询替代删除
public void insertAfpo(Afpo element);
@CacheEvict(key = "'selectAfpo'+':'+#p0.aufnr+','+#p0.mandt+','+#p0.posnr")
public void deleteAfpo(Afpo item);
@CacheEvict(key = "'selectAfpo'+':'+#p0.aufnr+','+#p0.mandt+','+#p0.posnr")
public void updateAfpo(Afpo element);
public List<Afpo> selectAfpoCheck(Afpo build);
@Cacheable(key = "#root.method.name+':'+#p0.aufnr+','+#p0.mandt", unless="#result == null")
public Afko selectAfko(Afko afko); // 查询替代删除
public void insertAfko(Afko element);
@CacheEvict(key = "'selectAfko'+':'+#p0.aufnr+','+#p0.mandt")
public void deleteAfko(Afko item);
@CacheEvict(key = "'selectAfko'+':'+#p0.aufnr+','+#p0.mandt")
public void updateAfko(Afko element);
public List<Afko> selectAfkoCheck(Afko build);
@Cacheable(key = "#root.method.name+':'+#p0.mblnr+','+#p0.mandt+','+#p0.mjahr+','+#p0.zeile", unless="#result == null")
public Aufm selectAufm(Aufm aufm); // 查询替代删除
public void insertAufm(Aufm element);
@CacheEvict(key = "'selectAufm'+':'+#p0.mblnr+','+#p0.mandt+','+#p0.mjahr+','+#p0.zeile")
public void deleteAufm(Aufm aufm);
@CacheEvict(key = "'selectAufm'+':'+#p0.mblnr+','+#p0.mandt+','+#p0.mjahr+','+#p0.zeile")
public void updateAufm(Aufm aufm);
public List<Aufm> selectAufmCheck(Aufm build);
@Cacheable(key = "#root.method.name+':'+#p0.kunnr+','+#p0.mandt", unless="#result == null")
public Kna1 selectKna1(Kna1 kna1); // 查询替代删除
public void insertKna1(Kna1 element);
@CacheEvict(key = "'selectKna1'+':'+#p0.kunnr+','+#p0.mandt")
public void deleteKna1(Kna1 kna1);
@CacheEvict(key = "'selectKna1'+':'+#p0.kunnr+','+#p0.mandt")
public void updateKna1(Kna1 element);
public List<Kna1> selectKna1Check(Kna1 build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.kunnr+','+#p0.kkber", unless="#result == null")
public Knkk selectKnkk(Knkk knkk);
public void insertKnkk(Knkk element);
@CacheEvict(key = "'selectKnkk'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.kkber")
public void deleteKnkk(Knkk element);
@CacheEvict(key = "'selectKnkk'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.kkber")
public void updateKnkk(Knkk element);
public List<Knkk> selectKnkkCheck(Knkk build);
public List<Knkk> selectKnkkCheckByUpdate(Knkk build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.kunnr+','+#p0.vkorg+','+#p0.vtweg+','+#p0.spart", unless="#result == null")
public Knvv selectKnvv(Knvv knvv);
public void insertKnvv(Knvv element);
@CacheEvict(key = "'selectKnvv'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.vkorg+','+#p0.vtweg+','+#p0.spart")
public void deleteKnvv(Knvv element);
@CacheEvict(key = "'selectKnvv'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.vkorg+','+#p0.vtweg+','+#p0.spart")
public void updateKnvv(Knvv element);
public List<Knvv> selectKnvvCheck(Knvv build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.knumv+','+#p0.kposn+','+#p0.stunr+','+#p0.zaehk", unless="#result == null")
public Konv selectKonv(Konv konv); // 查询替代删除
public void insertKonv(Konv element);
@CacheEvict(key = "'selectKonv'+':'+#p0.mandt+','+#p0.knumv+','+#p0.kposn+','+#p0.stunr+','+#p0.zaehk")
public void deleteKonv(Konv item);
@CacheEvict(key = "'selectKonv'+':'+#p0.mandt+','+#p0.knumv+','+#p0.kposn+','+#p0.stunr+','+#p0.zaehk")
public void updateKonv(Konv item);
public List<Konv> selectKonvCheck(Konv build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
public Likp selectLikp(Likp likp); // 查询替代删除
public void insertLikp(Likp element);
@CacheEvict(key = "'selectLikp'+':'+#p0.vbeln+','+#p0.mandt")
public void deleteLikp(Likp item);
@CacheEvict(key = "'selectLikp'+':'+#p0.vbeln+','+#p0.mandt")
public void updateLikp(Likp element);
public List<Likp> selectLikpCheck(Likp build);
public List<Likp> selectLikpCheckByUpdate(Likp build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
public Lips selectLips(Lips lips); // 查询替代删除
public void insertLips(Lips element);
@CacheEvict(key = "'selectLips'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void deleteLips(Lips item);
@CacheEvict(key = "'selectLips'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void updateLips(Lips item);
public List<Lips> selectLipsCheck(Lips build);
public List<Lips> selectLipsCheckByUpdate(Lips build);
@Cacheable(key = "#root.method.name+':'+#p0.matnr+','+#p0.mandt+','+#p0.spras", unless="#result == null")
public Makt selectMakt(Makt makt); // 查询替代删除
public void insertMakt(Makt element);
@CacheEvict(key = "'selectMakt'+':'+#p0.matnr+','+#p0.mandt+','+#p0.spras")
public void deleteMakt(Makt item);
@CacheEvict(key = "'selectMakt'+':'+#p0.matnr+','+#p0.mandt+','+#p0.spras")
public void updateMakt(Makt item);
public List<Makt> selectMaktCheck(Makt build);
@Cacheable(key = "#root.method.name+':'+#p0.matnr+','+#p0.mandt", unless="#result == null")
public Mara selectMara(Mara mara); // 查询替代删除
public void insertMara(Mara element);
@CacheEvict(key = "'selectMara'+':'+#p0.matnr+','+#p0.mandt")
public void deleteMara(Mara item);
@CacheEvict(key = "'selectMara'+':'+#p0.matnr+','+#p0.mandt")
public void updateMara(Mara item);
public List<Mara> selectMaraCheck(Mara build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.matnr+','+#p0.werks+','+#p0.lgort+','+#p0.charg+','+#p0.sobkz+','+#p0.vbeln+','+#p0.posnr", unless="#result == null")
public Mska selectMska(Mska mska); // 查询替代删除
public void insertMska(Mska element);
@CacheEvict(key = "'selectMska'+':'+#p0.mandt+','+#p0.matnr+','+#p0.werks+','+#p0.lgort+','+#p0.charg+','+#p0.sobkz+','+#p0.vbeln+','+#p0.posnr")
public void deleteMska(Mska item);
@CacheEvict(key = "'selectMska'+':'+#p0.mandt+','+#p0.matnr+','+#p0.werks+','+#p0.lgort+','+#p0.charg+','+#p0.sobkz+','+#p0.vbeln+','+#p0.posnr")
public void updateMska(Mska element);
public List<Mska> selectMskaCheck(Mska build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.pernr+','+#p0.subty+','+#p0.objps+','+#p0.sprps+','+#p0.endda+','+#p0.begda+','+#p0.seqnr", unless="#result == null")
public Pa0002 selectPa0002(Pa0002 pa0002); // 查询替代删除
public void insertPa0002(Pa0002 element);
@CacheEvict(key = "'selectPa0002'+':'+#p0.mandt+','+#p0.pernr+','+#p0.subty+','+#p0.objps+','+#p0.sprps+','+#p0.endda+','+#p0.begda+','+#p0.seqnr")
public void updatePa0002(Pa0002 pa0002);
@CacheEvict(key = "'selectPa0002'+':'+#p0.mandt+','+#p0.pernr+','+#p0.subty+','+#p0.objps+','+#p0.sprps+','+#p0.endda+','+#p0.begda+','+#p0.seqnr")
public void deletePa0002(Pa0002 pa0002);
public List<Pa0002> selectPa0002Check(Pa0002 build);
public List<Pa0002> selectPa0002CheckByUpdate(Pa0002 build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmon+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups", unless="#result == null")
public S066 selectS066(S066 so66);
public void insertS066(S066 element);
@CacheEvict(key = "'selectS066'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmon+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
public void updateS066(S066 element);
@CacheEvict(key = "'selectS066'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmon+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
public void deleteS066(S066 element);
public List<S066> selectS066Check(S066 build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmons+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups", unless="#result == null")
public S067 selectS067(S067 so67);
public void insertS067(S067 element);
@CacheEvict(key = "'selectS067'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmons+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
public void updateS067(S067 element);
@CacheEvict(key = "'selectS067'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmons+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
public void deleteS067(S067 element);
public List<S067> selectS067Check(S067 build);
@Cacheable(key = "#root.method.name+':'+#p0.werks+','+#p0.mandt", unless="#result == null")
public T001w selectT001w(T001w t001w); // 查询替代删除
public void insertT001w(T001w element);
@CacheEvict(key = "'selectT001w'+':'+#p0.werks+','+#p0.mandt")
public void updateT001w(T001w t001w);
@CacheEvict(key = "'selectT001w'+':'+#p0.werks+','+#p0.mandt")
public void deleteT001w(T001w t001w);
public List<T001w> selectT001wCheck(T001w build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.spras+','+#p0.matkl", unless="#result == null")
public T023t selectT023t(T023t item); // 查询替代删除
public void insertT023t(T023t element);
@CacheEvict(key = "'selectT023t'+':'+#p0.mandt+','+#p0.spras+','+#p0.matkl")
public void updateT023t(T023t item);
@CacheEvict(key = "'selectT023t'+':'+#p0.mandt+','+#p0.spras+','+#p0.matkl")
public void deleteT023t(T023t item);
public List<T023t> selectT023tCheck(T023t build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
public Vbak selectVbak(Vbak vbak); // 查询替代删除
public void insertVbak(Vbak element);
@CacheEvict(key = "'selectVbak'+':'+#p0.vbeln+','+#p0.mandt")
public void updateVbak(Vbak element); // 配合redis中的reset标签进行更新
@CacheEvict(key = "'selectVbak'+':'+#p0.vbeln+','+#p0.mandt")
public void deleteVbak(Vbak item);
public List<Vbak> selectVbakCheck(Vbak build);
public List<Vbak> selectVbakCheckByUpdate(Vbak build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.etenr+','+#p0.mandt", unless="#result == null")
public Vbep selectVbep(Vbep vbep); // 查询替代删除
public void insertVbep(Vbep element);
@CacheEvict(key = "'selectVbep'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.etenr+','+#p0.mandt")
public void updateVbep(Vbep vbep);
@CacheEvict(key = "'selectVbep'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.etenr+','+#p0.mandt")
public void deleteVbep(Vbep vbep);
public List<Vbep> selectVbepCheck(Vbep build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.parvw", unless="#result == null")
public Vbpa selectVbpa(Vbpa vbpa); // 查询替代删除
public void insertVbpa(Vbpa element);
@CacheEvict(key = "'selectVbpa'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.parvw")
public void updateVbpa(Vbpa vbpa);
@CacheEvict(key = "'selectVbpa'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.parvw")
public void deleteVbpa(Vbpa vbpa);
public List<Vbpa> selectVbpaCheck(Vbpa build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
public Vbrk selectVbrk(Vbrk item); // 查询替代删除
public void insertVbrk(Vbrk element);
@CacheEvict(key = "'selectVbrk'+':'+#p0.vbeln+','+#p0.mandt")
public void updateVbrk(Vbrk item);
@CacheEvict(key = "'selectVbrk'+':'+#p0.vbeln+','+#p0.mandt")
public void deleteVbrk(Vbrk item);
public List<Vbrk> selectVbrkCheck(Vbrk build);
public List<Vbrk> selectVbrkCheckByUpdate(Vbrk build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
public Vbrp selectVbrp(Vbrp item); // 查询替代删除
public void insertVbrp(Vbrp element);
@CacheEvict(key = "'selectVbrp'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void updateVbrp(Vbrp element);
@CacheEvict(key = "'selectVbrp'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void deleteVbrp(Vbrp item);
public List<Vbrp> selectVbrpCheck(Vbrp build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
public Vbuk selectVbuk(Vbuk vbuk); // 查询替代删除
public void insertVbuk(Vbuk element);
@CacheEvict(key = "'selectVbuk'+':'+#p0.vbeln+','+#p0.mandt")
public void updateVbuk(Vbuk likp);
@CacheEvict(key = "'selectVbuk'+':'+#p0.vbeln+','+#p0.mandt")
public void deleteVbuk(Vbuk likp);
public List<Vbuk> selectVbukCheck(Vbuk build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
public Zmdpc selectZmdpc(Zmdpc zmdpc); // 查询替代删除
public void insertZmdpc(Zmdpc element);
@CacheEvict(key = "'selectZmdpc'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void updateZmdpc(Zmdpc item);
@CacheEvict(key = "'selectZmdpc'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void deleteZmdpc(Zmdpc item);
public List<Zmdpc> selectZmdpcCheck(Zmdpc build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
public Zsd06 selectZsd06(Zsd06 zsd06); // 查询替代删除
public void insertZsd06(Zsd06 element);
@CacheEvict(key = "'selectZsd06'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void updateZsd06(Zsd06 item);
@CacheEvict(key = "'selectZsd06'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void deleteZsd06(Zsd06 item);
public List<Zsd06> selectZsd06Check(Zsd06 build);
public List<Zsd06> selectZsd06CheckByUpdate(Zsd06 build);
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
public Zsdfhzl selectZsdfhzl(Zsdfhzl zsdfhzl); // 查询替代删除
public void insertZsdfhzl(Zsdfhzl element);
@CacheEvict(key = "'selectZsdfhzl'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void updateZsdfhzl(Zsdfhzl item);
@CacheEvict(key = "'selectZsdfhzl'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
public void deleteZsdfhzl(Zsdfhzl item);
public List<Zsdfhzl> selectZsdfhzlCheck(Zsdfhzl build);
public List<Zsdfhzl> selectZsdfhzlCheckByUpdate(Zsdfhzl build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei", unless="#result == null")
public Bsad selectBsad(Bsad bsad);
public void insertBsad(Bsad element);
@CacheEvict(key = "'selectBsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
public void updateBsad(Bsad element);
@CacheEvict(key = "'selectBsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
public void deleteBsad(Bsad element);
public List<Bsad> selectBsadCheck(Bsad build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei", unless="#result == null")
public Bsid selectBsid(Bsid bsid);
public void insertBsid(Bsid element);
@CacheEvict(key = "'selectBsid'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
public void updateBsid(Bsid element);
@CacheEvict(key = "'selectBsid'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
public void deleteBsid(Bsid element);
public List<Bsid> selectBsidCheck(Bsid build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.spras+','+#p0.vkbur", unless="#result == null")
public Tvkbt selectTvkbt(Tvkbt data);
public void insertTvkbt(Tvkbt element);
@CacheEvict(key = "'selectTvkbt'+':'+#p0.mandt+','+#p0.spras+','+#p0.vkbur")
public void updateTvkbt(Tvkbt source);
@CacheEvict(key = "'selectTvkbt'+':'+#p0.mandt+','+#p0.spras+','+#p0.vkbur")
public void deleteTvkbt(Tvkbt target);
public List<Tvkbt> selectTvkbtCheck(Tvkbt build);
// 主数据
@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.erdat1", unless="#result == null")
public Vbap selectVbap(Vbap vbap); // 查询替代删除
public void insertVbap(Vbap element);
@CacheEvict(key = "'selectVbap'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.erdat1")
public void updateVbap(Vbap item);
@CacheEvict(key = "'selectVbap'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.erdat1")
public void deleteVbap(Vbap item);
public List<Vbap> selectVbapCheck(Vbap build);
public List<Vbap> selectVbapCheckByUpdate(Vbap build);
// // 统计表==============================
// @Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei", unless="#result == null")
// public Bsid2Bsad selectBsid2Bsad(Bsid2Bsad value);
// public void insertBsid2Bsad(Bsid2Bsad element);
// @CacheEvict(key = "'selectBsid2Bsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
// public void updateBsid2Bsad(Bsid2Bsad element);
// @CacheEvict(key = "'selectBsid2Bsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
// public void deleteBsid2Bsad(Bsid2Bsad element);
// public List<Bsid2Bsad> selectBsid2BsadCheck(Bsid2Bsad build);
// ============== mysql
@Cacheable(key = "#root.method.name+':'+#p0.handover_id", unless="#result == null")
public Handover selectHandover(Handover handover); // 查询替代删除
public void insertHandover(Handover element);
@CacheEvict(key = "'selectHandover'+':'+#p0.handover_id")
public void deleteHandover(Handover item);
@CacheEvict(key = "'selectHandover'+':'+#p0.handover_id")
public void updateHandover(Handover target);
public List<Handover> selectHandoverCheck(Handover build);
@Cacheable(key = "#root.method.name+':'+#p0.task_id", unless="#result == null")
public HandoverTask selectHandoverTask(HandoverTask handoverTask); // 查询替代删除
public void insertHandoverTask(HandoverTask element);
@CacheEvict(key = "'selectHandoverTask'+':'+#p0.task_id")
public void deleteHandoverTask(HandoverTask item);
@CacheEvict(key = "'selectHandoverTask'+':'+#p0.task_id")
public void updateHandoverTask(HandoverTask element);
public List<HandoverTask> selectHandoverTaskCheck(HandoverTask build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public TransformNewNode selectTransformNewNode(TransformNewNode transformNewNode); // 查询替代删除
public void insertTransformNewNode(TransformNewNode element);
@CacheEvict(key = "'selectTransformNewNode'+':'+#p0.id")
public void deleteTransformNewNode(TransformNewNode item);
@CacheEvict(key = "'selectTransformNewNode'+':'+#p0.id")
public void updateTransformNewNode(TransformNewNode item);
public List<TransformNewNode> selectTransformNewNodeCheck(TransformNewNode build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public TransformHistoryNode selectTransformHistoryNode(TransformHistoryNode data);
public void insertTransformHistoryNode(TransformHistoryNode element);
@CacheEvict(key = "'selectTransformHistoryNode'+':'+#p0.id")
public void deleteTransformHistoryNode(TransformHistoryNode item);
@CacheEvict(key = "'selectTransformHistoryNode'+':'+#p0.id")
public void updateTransformHistoryNode(TransformHistoryNode item);
public List<TransformHistoryNode> selectTransformHistoryNodeCheck(TransformHistoryNode build);
// ============== mssql4
@Cacheable(key = "#root.method.name+':'+#p0.taskId", unless="#result == null")
public Tasks selectTasks(Tasks data);
public void insertTasks(Tasks element);
@CacheEvict(key = "'selectTasks'+':'+#p0.taskId")
public void deleteTasks(Tasks item);
@CacheEvict(key = "'selectTasks'+':'+#p0.taskId")
public void updateTasks(Tasks item);
public List<Tasks> selectTasksCheck(Tasks build);
// ============== mssql3
@Cacheable(key = "#root.method.name+':'+#p0.uposnr+','+#p0.dposnr", unless="#result == null")
public PersonComp selectPersonComp(PersonComp data);
public void insertPersonComp(PersonComp element);
@CacheEvict(key = "'selectPersonComp'+':'+#p0.uposnr+','+#p0.dposnr")
public void deletePersonComp(PersonComp item);
@CacheEvict(key = "'selectPersonComp'+':'+#p0.uposnr+','+#p0.dposnr")
public void updatePersonComp(PersonComp item);
public List<PersonComp> selectPersonCompCheck(PersonComp build);
// ============== mssql2
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SysSAPreturnNo selectSysSAPreturnNo(SysSAPreturnNo item); // 查询替代删除
public void insertSysSAPreturnNo(SysSAPreturnNo element);
@CacheEvict(key = "'selectSysSAPreturnNo'+':'+#p0.id")
public void deleteSysSAPreturnNo(SysSAPreturnNo item);
@CacheEvict(key = "'selectSysSAPreturnNo'+':'+#p0.id")
public void updateSysSAPreturnNo(SysSAPreturnNo item);
public List<SysSAPreturnNo> selectSysSAPreturnNoCheck(SysSAPreturnNo build);
@Cacheable(key = "#root.method.name+':'+#p0.keHuID", unless="#result == null")
public TKeHu selectTKeHu(TKeHu tkeHu);
public void insertTKeHu(TKeHu element);
@CacheEvict(key = "'selectTKeHu'+':'+#p0.keHuID")
public void deleteTKeHu(TKeHu element);
@CacheEvict(key = "'selectTKeHu'+':'+#p0.keHuID")
public void updateTKeHu(TKeHu element);
public List<TKeHu> selectTKeHuCheck(TKeHu build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public TKeHuXiaoShouZZ selectTKeHuXiaoShouZZ(TKeHuXiaoShouZZ tkeHuXiaoShouZZ);
public void insertTKeHuXiaoShouZZ(TKeHuXiaoShouZZ element);
@CacheEvict(key = "'selectTKeHuXiaoShouZZ'+':'+#p0.id")
public void deleteTKeHuXiaoShouZZ(TKeHuXiaoShouZZ element);
@CacheEvict(key = "'selectTKeHuXiaoShouZZ'+':'+#p0.id")
public void updateTKeHuXiaoShouZZ(TKeHuXiaoShouZZ element);
public List<TKeHuXiaoShouZZ> selectTKeHuXiaoShouZZCheck(TKeHuXiaoShouZZ build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public TKeHuXiaoShouZZYeWuY selectTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY tkeHuXiaoShouZZYeWuY);
public void insertTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY element);
@CacheEvict(key = "'selectTKeHuXiaoShouZZYeWuY'+':'+#p0.id")
public void deleteTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY element);
@CacheEvict(key = "'selectTKeHuXiaoShouZZYeWuY'+':'+#p0.id")
public void updateTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY element);
public List<TKeHuXiaoShouZZYeWuY> selectTKeHuXiaoShouZZYeWuYCheck(TKeHuXiaoShouZZYeWuY build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public TWuLiaoDB selectTWuLiaoDB(TWuLiaoDB twuLiaoDB);
public void deleteTWuLiaoDB(TWuLiaoDB element);
@CacheEvict(key = "'selectTWuLiaoDB'+':'+#p0.id")
public void insertTWuLiaoDB(TWuLiaoDB element);
@CacheEvict(key = "'selectTWuLiaoDB'+':'+#p0.id")
public void updateTWuLiaoDB(TWuLiaoDB element);
public List<TWuLiaoDB> selectTWuLiaoDBCheck(TWuLiaoDB build);
// ============== mssql
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SalesContractProcess selectSalesContractProcess(SalesContractProcess scp); // 查询替代删除
public void insertSalesContractProcess(SalesContractProcess element);
@CacheEvict(key = "'selectSalesContractProcess'+':'+#p0.id")
public void deleteSalesContractProcess(SalesContractProcess item);
@CacheEvict(key = "'selectSalesContractProcess'+':'+#p0.id")
public void updateSalesContractProcess(SalesContractProcess element); // 配合redis中的reset标签进行更新
public List<SalesContractProcess> selectSalesContractProcessCheck(SalesContractProcess build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SalesContractProcessMX selectSalesContractProcessMX(SalesContractProcessMX scpmx); // 查询替代删除
public void insertSalesContractProcessMX(SalesContractProcessMX element);
@CacheEvict(key = "'selectSalesContractProcessMX'+':'+#p0.id")
public void deleteSalesContractProcessMX(SalesContractProcessMX scpmx);
@CacheEvict(key = "'selectSalesContractProcessMX'+':'+#p0.id")
public void updateSalesContractProcessMX(SalesContractProcessMX scpmx);
public List<SalesContractProcessMX> selectSalesContractProcessMXCheck(SalesContractProcessMX build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SalesForecastProcess selectSalesForecastProcess(SalesForecastProcess sfp); // 查询替代删除
public void insertSalesForecastProcess(SalesForecastProcess element);
@CacheEvict(key = "'selectSalesForecastProcess'+':'+#p0.id")
public void updateSalesForecastProcess(SalesForecastProcess element); // 配合redis中的reset标签进行更新
@CacheEvict(key = "'selectSalesForecastProcess'+':'+#p0.id")
public void deleteSalesForecastProcess(SalesForecastProcess item);
public List<SalesForecastProcess> selectSalesForecastProcessCheck(SalesForecastProcess build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SalesForecastProcessMX selectSalesForecastProcessMX(SalesForecastProcessMX sfpmx); // 查询替代删除
public void insertSalesForecastProcessMX(SalesForecastProcessMX element);
@CacheEvict(key = "'selectSalesForecastProcessMX'+':'+#p0.id")
public void updateSalesForecastProcessMX(SalesForecastProcessMX sfpmx);
@CacheEvict(key = "'selectSalesForecastProcessMX'+':'+#p0.id")
public void deleteSalesForecastProcessMX(SalesForecastProcessMX sfpmx);
public List<SalesForecastProcessMX> selectSalesForecastProcessMXCheck(SalesForecastProcessMX build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SampleApplicationProcess selectSampleApplicationProcess(SampleApplicationProcess sfp); // 查询替代删除
public void insertSampleApplicationProcess(SampleApplicationProcess element);
@CacheEvict(key = "'selectSampleApplicationProcess'+':'+#p0.id")
public void updateSampleApplicationProcess(SampleApplicationProcess element); // 配合redis中的reset标签进行更新
@CacheEvict(key = "'selectSampleApplicationProcess'+':'+#p0.id")
public void deleteSampleApplicationProcess(SampleApplicationProcess item);
public List<SampleApplicationProcess> selectSampleApplicationProcessCheck(SampleApplicationProcess build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SampleApplicationProcessMingXi selectSampleApplicationProcessMingXi(SampleApplicationProcessMingXi sfp); // 查询替代删除
public void insertSampleApplicationProcessMingXi(SampleApplicationProcessMingXi element);
@CacheEvict(key = "'selectSampleApplicationProcessMingXi'+':'+#p0.id")
public void updateSampleApplicationProcessMingXi(SampleApplicationProcessMingXi element); // 配合redis中的reset标签进行更新
@CacheEvict(key = "'selectSampleApplicationProcessMingXi'+':'+#p0.id")
public void deleteSampleApplicationProcessMingXi(SampleApplicationProcessMingXi item);
public List<SampleApplicationProcessMingXi> selectSampleApplicationProcessMingXiCheck(SampleApplicationProcessMingXi build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SampleClosingProcess selectSampleClosingProcess(SampleClosingProcess sfp); // 查询替代删除
public void insertSampleClosingProcess(SampleClosingProcess element);
@CacheEvict(key = "'selectSampleClosingProcess'+':'+#p0.id")
public void updateSampleClosingProcess(SampleClosingProcess element); // 配合redis中的reset标签进行更新
@CacheEvict(key = "'selectSampleClosingProcess'+':'+#p0.id")
public void deleteSampleClosingProcess(SampleClosingProcess item);
public List<SampleClosingProcess> selectSampleClosingProcessCheck(SampleClosingProcess build);
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SampleClosingProcessMingXi selectSampleClosingProcessMingXi(SampleClosingProcessMingXi sfp); // 查询替代删除
public void insertSampleClosingProcessMingXi(SampleClosingProcessMingXi element);
@CacheEvict(key = "'selectSampleClosingProcessMingXi'+':'+#p0.id")
public void updateSampleClosingProcessMingXi(SampleClosingProcessMingXi element); // 配合redis中的reset标签进行更新
@CacheEvict(key = "'selectSampleClosingProcessMingXi'+':'+#p0.id")
public void deleteSampleClosingProcessMingXi(SampleClosingProcessMingXi item);
public List<SampleClosingProcessMingXi> selectSampleClosingProcessMingXiCheck(SampleClosingProcessMingXi build);
// 宽表
public VbapAdv selectVbapAdv(Vbap vbap); // 查询替代删除
public void insertVbapAdv(Vbap element);
public void updateVbapAdv(Vbap element);
public void deleteVbapAdv(Vbap data);
public void resetCaVbapAdv(Vbap element); // 重置宽表,重置后宽表所有的update都重新执行
// 更新宽表字段,一对一的表
public void updateVbapAdv4Aufk(Aufk element);
public void updateVbapAdv4SysSAPreturnNo(SysSAPreturnNo element);
public void updateVbapAdv4SalesContractProcess(SalesContractProcess element);
public void updateVbapAdv4Mara(Mara element);
public void updateVbapAdv4Makt(Makt element);
public void updateVbapAdv4Zsd06(Zsd06 element);
public void updateVbapAdv4Vbak(Vbak element);
public void updateVbapAdv4Likp(Likp element);
public void updateVbapAdv4Handover(Handover element);
public void updateVbapAdv4Zmdpc(Zmdpc element);
public void updateVbapAdv4T023t(T023t element);
public void updateVbapAdv4Kna1(Kna1 element);
// 更新计算字段
public void updateCaVbapAdv4Lips(VbapAdv vbapAdv); // caLips4ccsl
public void updateCaVbapAdv4VbepJhsl(VbapAdv vbapAdv); // caVbep4jhsl
public void updateCaVbapAdv4AfpoRksl(VbapAdv vbapAdv); // caAfpo4rksl
public void updateCaVbapAdv4AfpoPcsl(VbapAdv vbapAdv); // caAfpo4pcsl
public void updateCaVbapAdv4Vbrp(VbapAdv vbapAdv); // caVbrp4kpsl
public void updateCaVbapAdv4VbepJhsj(VbapAdv vbapAdv); // caVbep4jhsj
public void updateCaVbapAdv4Vbrk(VbapAdv vbapAdv); // caVbrk4kpsj
public void updateCaVbapAdv4Aufm(VbapAdv vbapAdv); // caAufm4rksj
public Aufk selectVbapAdv4Aufk(Vbap vbap);
public SysSAPreturnNo selectVbapAdv4SysSAPreturnNo(Vbap vbap);
public SalesContractProcess selectVbapAdv4SalesContractProcess(Vbap vbap);
public Mara selectVbapAdv4Mara(Vbap vbap);
public Makt selectVbapAdv4Makt(Vbap vbap);
public Zsd06 selectVbapAdv4Zsd06(Vbap vbap);
public Vbak selectVbapAdv4Vbak(Vbap vbap);
public Likp selectVbapAdv4Likp(Vbap vbap);
public Handover selectVbapAdv4Handover(Vbap vbap);
public Zmdpc selectVbapAdv4Zmdpc(Vbap vbap);
public T023t selectVbapAdv4T023t(Vbap vbap);
public Kna1 selectVbapAdv4Kna1(Vbap vbap);
public BigDecimal caLips4ccsl(Vbap source); // updateCaVbapAdv4Lips
public BigDecimal caVbep4jhsl(Vbap source); // updateCaVbapAdv4VbepJhsl
public BigDecimal caAfpo4rksl(Vbap source); // updateCaVbapAdv4AfpoRksl
public BigDecimal caAfpo4pcsl(Vbap source); // updateCaVbapAdv4AfpoPcsl
public BigDecimal caVbrp4kpsl(Vbap source); // updateCaVbapAdv4Vbrp
public Date caVbep4jhsj(Vbap source); // updateCaVbapAdv4VbepJhsj
public Date caVbrk4kpsj(Vbap source); // updateCaVbapAdv4Vbrk
public Date caAufm4rksj(Vbap source); // updateCaVbapAdv4Aufm
public Date caHandover4ccsj(Vbap source);
public Date caHandover4wlsj(Vbap source);
// 更新所有计算字段
public void updatevbapAdv4CaAll(VbapAdv vbapAdv);
// 查询客户每月回款列表
public List<CAVThisMonth> selectCAVThisMonthByEveryMonth();
@Cacheable(key = "#root.method.name+':'+#p0.kunnr+','+#p0.waers+','+#p0.budatd+','+#p0.budatb", unless="#result == null")
public CAVThisMonth selectCAVThisMonth(CAVThisMonth item); // 查询客户每月回款结果
public void insertCAVThisMonth(CAVThisMonth item); // 写入客户每月回款结果
@CacheEvict(key = "'selectCAVThisMonth'+':'+#p0.kunnr+','+#p0.waers+','+#p0.budatd+','+#p0.budatb")
public void updateCAVThisMonth(CAVThisMonth item); // 更新客户每月回款结果
}
package com.huazheng.project.greenplum.richsink;
import java.io.Serializable;
import org.apache.flink.streaming.api.functions.sink.RichSinkFunction;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
import com.huazheng.project.greenplum.service.impl.GPServiceImpl;
import cn.hutool.core.util.ReflectUtil;
@Service
public class GreenPlumRichSinkFunction<T> extends RichSinkFunction<T> implements ApplicationContextAware, Serializable {
private static final long serialVersionUID = 1L;
private static GPServiceImpl gpserviceImpl;
@Override
public void invoke(T value) throws Exception {
String simpleName = value.getClass().getSimpleName();
ReflectUtil.invoke(gpserviceImpl, "sink" + simpleName, value);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
gpserviceImpl = (GPServiceImpl) applicationContext.getBean("GPServiceImpl");
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
package com.huazheng.project.greenplum.service.impl;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import org.apache.flink.util.Collector;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import com.huazheng.project.greenplum.mapper.GPMapper;
import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Aufm;
import com.huazheng.project.hana.model.Bsad;
import com.huazheng.project.hana.model.Bsid;
import com.huazheng.project.hana.model.Kna1;
import com.huazheng.project.hana.model.Knkk;
import com.huazheng.project.hana.model.Knvv;
import com.huazheng.project.hana.model.Konv;
import com.huazheng.project.hana.model.Likp;
import com.huazheng.project.hana.model.Lips;
import com.huazheng.project.hana.model.Makt;
import com.huazheng.project.hana.model.Mara;
import com.huazheng.project.hana.model.Mska;
import com.huazheng.project.hana.model.Pa0002;
import com.huazheng.project.hana.model.S066;
import com.huazheng.project.hana.model.S067;
import com.huazheng.project.hana.model.T001w;
import com.huazheng.project.hana.model.T023t;
import com.huazheng.project.hana.model.Tvkbt;
import com.huazheng.project.hana.model.Vbak;
import com.huazheng.project.hana.model.Vbap;
import com.huazheng.project.hana.model.VbapAdv;
import com.huazheng.project.hana.model.Vbep;
import com.huazheng.project.hana.model.Vbpa;
import com.huazheng.project.hana.model.Vbrk;
import com.huazheng.project.hana.model.Vbrp;
import com.huazheng.project.hana.model.Vbuk;
import com.huazheng.project.hana.model.Zmdpc;
import com.huazheng.project.hana.model.Zsd06;
import com.huazheng.project.hana.model.Zsdfhzl;
import com.huazheng.project.mssql.mapper.CrmMapper;
import com.huazheng.project.mssql.model.SalesContractProcess;
import com.huazheng.project.mssql.model.SalesContractProcessMX;
import com.huazheng.project.mssql.model.SalesForecastProcess;
import com.huazheng.project.mssql.model.SalesForecastProcessMX;
import com.huazheng.project.mssql.model.SampleApplicationProcess;
import com.huazheng.project.mssql.model.SampleApplicationProcessMingXi;
import com.huazheng.project.mssql.model.SampleClosingProcess;
import com.huazheng.project.mssql.model.SampleClosingProcessMingXi;
import com.huazheng.project.mssql2.mapper.HzcrmMapper;
import com.huazheng.project.mssql2.model.SysSAPreturnNo;
import com.huazheng.project.mssql2.model.TKeHu;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZ;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZYeWuY;
import com.huazheng.project.mssql2.model.TWuLiaoDB;
import com.huazheng.project.mssql3.model.PersonComp;
import com.huazheng.project.mssql4.model.Tasks;
import com.huazheng.project.mysql.model.Handover;
import com.huazheng.project.mysql.model.HandoverTask;
import com.huazheng.project.mysql.model.TransformHistoryNode;
import com.huazheng.project.mysql.model.TransformNewNode;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class GPServiceImpl {
@Autowired
private RedisTemplate<Object, Object> redis1Template;
@Autowired
private CrmMapper crmMapper;
@Autowired
private HzcrmMapper hzcrmMapper;
@Autowired
private GPMapper gpMapper;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
private Date caDate(String datestr) {
try {
if (datestr == null || datestr.equals("00000000") || StrUtil.isBlank(datestr)) {
return null;
} else {
Date date = DateUtil.parse(datestr, "yyyyMMdd");
return date;
}
} catch (Exception e) {
return null;
}
}
public void processVbap(String value, Collector<Vbap> out) {
try {
Vbap data = JSONUtil.toBean(value, Vbap.class);
try {
if (data.getErdat() != null && data.getErzet() != null) {
String erdat2 = new StringBuffer(data.getErdat()).insert(4, "-").insert(7, "-").toString();
String erzet2 = new StringBuffer(data.getErzet()).insert(2, ":").insert(5, ":").toString();
String dateStr = erdat2 + " " + erzet2;
Date date = DateUtil.parse(dateStr);
data.setErdat1(date);
data.setErdat2(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbap:error", "processVbap1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
Vbap exist = gpMapper.selectVbap(data);
if (exist != null) {
exist.setExist(true); // 已经在库
VbapAdv vbapAdv = gpMapper.selectVbapAdv(data); // 宽表
if (vbapAdv != null) {
gpMapper.resetCaVbapAdv(data); // 重置宽表
}
exist.setVbapAdv(vbapAdv);
out.collect(exist);
} else {
out.collect(data);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbap:error", "processVbap", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkVbap(Vbap element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkVbap()");
gpMapper.insertVbap(element);
gpMapper.insertVbapAdv(element); // 更新htsl、pssj
} else {
if (element.getVbapAdv() == null) {
gpMapper.insertVbapAdv(element); // 更新htsl、pssj
}
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Vbap:error", "sinkVbap", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbap:error", "sinkVbap", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processAufk(String value, Collector<Aufk> out) {
try {
Aufk data = JSONUtil.toBean(value, Aufk.class);
Aufk exist = gpMapper.selectAufk(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getErdat() != null && data.getErfzeit() != null) {
String erdat2 = new StringBuffer(data.getErdat()).insert(4, "-").insert(7, "-").toString();
String erzet2 = new StringBuffer(data.getErfzeit()).insert(2, ":").insert(5, ":").toString();
String dateStr = erdat2 + " " + erzet2;
Date date = DateUtil.parse(dateStr);
data.setErdat1(date);
data.setErdat2(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Aufk:error", "processAufk1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Aufk:error", "processAufk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkAufk(Aufk element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkAufk()");
gpMapper.insertAufk(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Aufk:error", "sinkAufk", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Aufk:error", "sinkAufk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSysSAPreturnNo(String value, Collector<SysSAPreturnNo> out) {
try {
SysSAPreturnNo data = JSONUtil.toBean(value, SysSAPreturnNo.class);
SysSAPreturnNo exist = gpMapper.selectSysSAPreturnNo(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SysSAPreturnNo:error", "processSysSAPreturnNo", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSysSAPreturnNo(SysSAPreturnNo element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSysSAPreturnNo()");
gpMapper.insertSysSAPreturnNo(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SysSAPreturnNo:error", "sinkSysSAPreturnNo", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SysSAPreturnNo:error", "sinkSysSAPreturnNo", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSalesContractProcess(String value, Collector<SalesContractProcess> arg2) {
try {
SalesContractProcess data = JSONUtil.toBean(value, SalesContractProcess.class);
SalesContractProcess exist = gpMapper.selectSalesContractProcess(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesContractProcess:error", "processSalesContractProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSalesContractProcess(SalesContractProcess element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSalesContractProcess()");
gpMapper.insertSalesContractProcess(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SalesContractProcess:error", "sinkSalesContractProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesContractProcess:error", "sinkSalesContractProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSalesContractProcessMX(Iterable<SalesContractProcess> arg1, Collector<SalesContractProcessMX> arg2) {
try {
arg1.forEach(scp -> {
List<SalesContractProcessMX> list = crmMapper.selectSalesContractProcessMX(scp); // 查询:销售合同流程MX
list.forEach(scpmx -> {
SalesContractProcessMX exist = gpMapper.selectSalesContractProcessMX(scpmx);
if (exist != null) {
scpmx.setExist(true); // 已经在库
}
scpmx.setVbap(scp.getVbap());
Object chengben = scpmx.getChengben();
if (chengben != null && chengben.toString().equals("")) {
scpmx.setChengben(null);
}
arg2.collect(scpmx);
});
});
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesContractProcessMX:error", "processSalesContractProcessMX", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSalesContractProcessMX(SalesContractProcessMX element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSalesContractProcessMX()");
gpMapper.insertSalesContractProcessMX(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SalesContractProcessMX:error", "sinkSalesContractProcessMX", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesContractProcessMX:error", "sinkSalesContractProcessMX", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSalesForecastProcess(String value, Collector<SalesForecastProcess> arg2) {
try {
SalesForecastProcess data = JSONUtil.toBean(value, SalesForecastProcess.class);
String kaiShiSJs = data.getKaiShiSJs(); // 时间数据纠错
if (kaiShiSJs == null || kaiShiSJs.equals("00000000") || StrUtil.isBlank(kaiShiSJs)) {
data.setKaiShiSJ(null);
} else {
if (kaiShiSJs.indexOf("--") == -1) {
Date date = DateUtil.parse(kaiShiSJs);
data.setKaiShiSJ(date);
}
}
String jieShuSJs = data.getJieShuSJs(); // 时间数据纠错
if (jieShuSJs == null || jieShuSJs.equals("00000000") || StrUtil.isBlank(jieShuSJs)) {
data.setJieShuSJ(null);
} else {
Date date = DateUtil.parse(jieShuSJs);
data.setJieShuSJ(date);
}
SalesForecastProcess exist = gpMapper.selectSalesForecastProcess(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesForecastProcess:error", "processSalesForecastProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSalesForecastProcess(SalesForecastProcess element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSalesForecastProcess()");
gpMapper.insertSalesForecastProcess(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SalesForecastProcess:error", "sinkSalesForecastProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesForecastProcess:error", "sinkSalesForecastProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSampleApplicationProcess(String value, Collector<SampleApplicationProcess> arg2) {
try {
SampleApplicationProcess data = JSONUtil.toBean(value, SampleApplicationProcess.class);
SampleApplicationProcess exist = gpMapper.selectSampleApplicationProcess(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
String pcbcs = data.getPCBCS();
String chanPinYY = data.getChanPinYY();
if (StrUtil.isBlank(pcbcs) || StrUtil.isBlank(chanPinYY)) {
data.setPCBCS2chanPinYY(null);
}
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleApplicationProcess:error", "processSampleApplicationProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSampleApplicationProcess(SampleApplicationProcess element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSampleApplicationProcess()");
gpMapper.insertSampleApplicationProcess(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SampleApplicationProcess:error", "sinkSampleApplicationProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleApplicationProcess:error", "sinkSampleApplicationProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSampleApplicationProcessMingXi(String value, Collector<SampleApplicationProcessMingXi> arg2) {
try {
SampleApplicationProcessMingXi data = JSONUtil.toBean(value, SampleApplicationProcessMingXi.class);
SampleApplicationProcessMingXi exist = gpMapper.selectSampleApplicationProcessMingXi(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleApplicationProcessMingXi:error", "processSampleApplicationProcessMingXi", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSampleApplicationProcessMingXi(SampleApplicationProcessMingXi element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSampleApplicationProcessMingXi()");
gpMapper.insertSampleApplicationProcessMingXi(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SampleApplicationProcessMingXi:error", "sinkSampleApplicationProcessMingXi", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleApplicationProcessMingXi:error", "sinkSampleApplicationProcessMingXi", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSampleClosingProcess(String value, Collector<SampleClosingProcess> arg2) {
try {
SampleClosingProcess data = JSONUtil.toBean(value, SampleClosingProcess.class);
SampleClosingProcess exist = gpMapper.selectSampleClosingProcess(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (NumberUtil.isNumber(data.getYangPinSQSLH())) {
int yangPinSQSLHi = Integer.parseInt(data.getYangPinSQSLH());
data.setYangPinSQSLHi(yangPinSQSLHi);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleClosingProcess:error", "processSampleClosingProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleClosingProcess:error", "processSampleClosingProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSampleClosingProcess(SampleClosingProcess element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSampleClosingProcess()");
gpMapper.insertSampleClosingProcess(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SampleClosingProcess:error", "sinkSampleClosingProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleClosingProcess:error", "sinkSampleClosingProcess", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSampleClosingProcessMingXi(String value, Collector<SampleClosingProcessMingXi> arg2) {
try {
SampleClosingProcessMingXi data = JSONUtil.toBean(value, SampleClosingProcessMingXi.class);
SampleClosingProcessMingXi exist = gpMapper.selectSampleClosingProcessMingXi(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleClosingProcessMingXi:error", "processSampleClosingProcessMingXi", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSampleClosingProcessMingXi(SampleClosingProcessMingXi element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSampleClosingProcessMingXi()");
gpMapper.insertSampleClosingProcessMingXi(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SampleClosingProcessMingXi:error", "sinkSampleClosingProcessMingXi", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SampleClosingProcessMingXi:error", "sinkSampleClosingProcessMingXi", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processSalesForecastProcessMX(Iterable<SalesForecastProcess> arg1, Collector<SalesForecastProcessMX> arg2) {
try {
arg1.forEach(sfp -> {
List<SalesForecastProcessMX> list = crmMapper.selectSalesForecastProcessMX(sfp); // 查询:销售预测流程MX
list.forEach(sfpmx -> {
SalesForecastProcessMX exist = gpMapper.selectSalesForecastProcessMX(sfpmx);
if (exist != null) {
sfpmx.setExist(true); // 已经在库
}
if (sfpmx.getJiHuaJDL() != null) {
try {
sfpmx.setJiHuaJDL(ReUtil.getFirstNumber(sfpmx.getJiHuaJDL())+"");
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesForecastProcessMX:error", "sinkSalesForecastProcessMX", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
arg2.collect(sfpmx);
});
});
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesForecastProcessMX:error", "processSalesForecastProcessMX", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkSalesForecastProcessMX(SalesForecastProcessMX element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkSalesForecastProcessMX()");
gpMapper.insertSalesForecastProcessMX(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:SalesForecastProcessMX:error", "sinkSalesForecastProcessMX", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:SalesForecastProcessMX:error", "sinkSalesForecastProcessMX", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processVbep(String value, Collector<Vbep> out) {
try {
Vbep data = JSONUtil.toBean(value, Vbep.class);
Vbep exist = gpMapper.selectVbep(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getEdatu() != null) {
String erdat2 = new StringBuffer(data.getEdatu()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setEdatu1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbep:error", "processVbep1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbep:error", "processVbep", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkVbep(Vbep element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkVbep()");
gpMapper.insertVbep(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Vbep:error", "sinkVbep", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbep:error", "sinkVbep", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processAfpo(String value, Collector<Afpo> out) {
try {
Afpo data = JSONUtil.toBean(value, Afpo.class);
Afpo exist = gpMapper.selectAfpo(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Afpo:error", "processAfpo", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkAfpo(Afpo element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkAfpo()");
gpMapper.insertAfpo(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Afpo:error", "sinkAfpo", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Afpo:error", "sinkAfpo", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processAfko(String value, Collector<Afko> out) {
try {
Afko data = JSONUtil.toBean(value, Afko.class);
Afko exist = gpMapper.selectAfko(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getGltrp() != null) {
String erdat2 = new StringBuffer(data.getGltrp()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setGltrp1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Afko:error", "processAfko1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
try {
if (data.getGstrp() != null) {
String erdat2 = new StringBuffer(data.getGstrp()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setGstrp1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Afko:error", "processAfko2", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Afko:error", "processAfko", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkAfko(Afko element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkAfko()");
gpMapper.insertAfko(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Afko:error", "sinkAfko", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Afko:error", "sinkAfko", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processAufm(String value, Collector<Aufm> out) {
try {
Aufm data = JSONUtil.toBean(value, Aufm.class);
Aufm exist = gpMapper.selectAufm(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getBldat() != null) {
String erdat2 = new StringBuffer(data.getBldat()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setBldat1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Aufm:error", "processAufm1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
try {
if (data.getBudat() != null) {
String erdat2 = new StringBuffer(data.getBudat()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setBudat1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Aufm:error", "processAufm2", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Aufm:error", "processAufm", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkAufm(Aufm element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkAufm()");
gpMapper.insertAufm(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Aufm:error", "sinkAufm", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Aufm:error", "sinkAufm", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processMara(String value, Collector<Mara> out) {
try {
Mara data = JSONUtil.toBean(value, Mara.class);
Mara exist = gpMapper.selectMara(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getErsda() != null) {
String erdat2 = new StringBuffer(data.getErsda()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setErsda1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Mara:error", "processMara1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
try {
if (data.getLaeda() != null) {
String erdat2 = new StringBuffer(data.getLaeda()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setLaeda1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Mara:error", "processMara2", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Mara:error", "processMara", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkMara(Mara element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkMara()");
gpMapper.insertMara(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Mara:error", "sinkMara", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Mara:error", "sinkMara", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processT023t(String value, Collector<T023t> out) {
try {
T023t data = JSONUtil.toBean(value, T023t.class);
T023t exist = gpMapper.selectT023t(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:T023t:error", "processT023t", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkT023t(T023t element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkT023t()");
gpMapper.insertT023t(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:T023t:error", "sinkT023t", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:T023t:error", "sinkT023t", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processMakt(String value, Collector<Makt> out) {
try {
Makt data = JSONUtil.toBean(value, Makt.class);
Makt exist = gpMapper.selectMakt(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
String maktx = data.getMaktx();
if (maktx != null && !maktx.equals("")) {
String[] split = maktx.split("-");
for (int i = split.length - 1; i >= 0; i--) {
String string = split[i];
if (string.indexOf("*") != -1) {
data.setMaktxSize(string.split("\\*")[0]); // 分割出尺寸数据
break;
}
}
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Makt:error", "processMakt1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Makt:error", "processMakt", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkMakt(Makt element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkMakt()");
gpMapper.insertMakt(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Makt:error", "sinkMakt", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Makt:error", "sinkMakt", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processZsd06(String value, Collector<Zsd06> out) {
try {
Zsd06 data = JSONUtil.toBean(value, Zsd06.class);
Zsd06 exist = gpMapper.selectZsd06(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getDatum() != null) {
String erdat2 = new StringBuffer(data.getDatum()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setDatum1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zsd06:error", "processZsd061", getErrorInfoFromException(e));
log.error(e.getMessage());
}
data.setCrt_datum1(caDate(data.getCrt_datum()));
data.setCha_datum1(caDate(data.getCha_datum()));
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zsd06:error", "processZsd06", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkZsd06(Zsd06 element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkZsd06()");
gpMapper.insertZsd06(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Zsd06:error", "sinkZsd06", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zsd06:error", "sinkZsd06", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processKna1(String value, Collector<Kna1> out) {
try {
Kna1 data = JSONUtil.toBean(value, Kna1.class);
Kna1 exist = gpMapper.selectKna1(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Kna1:error", "processKna1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkKna1(Kna1 element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkKna1()");
gpMapper.insertKna1(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Kna1:error", "sinkKna1", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Kna1:error", "sinkKna1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processLips(String value, Collector<Lips> out) {
try {
Lips data = JSONUtil.toBean(value, Lips.class);
Lips exist = gpMapper.selectLips(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getErdat() != null && data.getErzet() != null) {
String erdat2 = new StringBuffer(data.getErdat()).insert(4, "-").insert(7, "-").toString();
String erzet2 = new StringBuffer(data.getErzet()).insert(2, ":").insert(5, ":").toString();
String dateStr = erdat2 + " " + erzet2;
Date date = DateUtil.parse(dateStr);
data.setErdat1(date);
data.setErdat2(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Lips:error", "processLips1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Lips:error", "processLips", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkLips(Lips element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkLips()");
gpMapper.insertLips(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Lips:error", "sinkLips", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Lips:error", "sinkLips", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processVbrp(String value, Collector<Vbrp> out) {
try {
Vbrp data = JSONUtil.toBean(value, Vbrp.class);
Vbrp exist = gpMapper.selectVbrp(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbrp:error", "processVbrp", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkVbrp(Vbrp element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkVbrp()");
gpMapper.insertVbrp(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Vbrp:error", "sinkVbrp", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbrp:error", "sinkVbrp", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processVbrk(String value, Collector<Vbrk> out) {
try {
Vbrk data = JSONUtil.toBean(value, Vbrk.class);
Vbrk exist = gpMapper.selectVbrk(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
if (data.getFkdat() != null) {
String erdat2 = new StringBuffer(data.getFkdat()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setFkdat1(date);
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbrk:error", "processVbrk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkVbrk(Vbrk element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkVbrk()");
gpMapper.insertVbrk(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Vbrk:error", "sinkVbrk", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbrk:error", "sinkVbrk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processLikp(String value, Collector<Likp> out) {
try {
Likp data = JSONUtil.toBean(value, Likp.class);
Likp exist = gpMapper.selectLikp(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
data.setErdat1(caDate(data.getErdat())); // 日期00000000格式转换,已处理异常
data.setWadat_ist1(caDate(data.getWadat_ist())); // 日期00000000格式转换,已处理异常
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Likp:error", "processLikp", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkLikp(Likp element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkLikp()");
gpMapper.insertLikp(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Likp:error", "sinkLikp", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Likp:error", "sinkLikp", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processVbuk(String value, Collector<Vbuk> out) {
try {
Vbuk data = JSONUtil.toBean(value, Vbuk.class);
Vbuk exist = gpMapper.selectVbuk(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbuk:error", "processVbuk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkVbuk(Vbuk element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkVbuk()");
gpMapper.insertVbuk(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Vbuk:error", "sinkVbuk", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbuk:error", "sinkVbuk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processHandover(String value, Collector<Handover> out) {
try {
Handover data = JSONUtil.toBean(value, Handover.class);
Handover exist = gpMapper.selectHandover(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Handover:error", "processHandover", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkHandover(Handover element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkHandover()");
gpMapper.insertHandover(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Handover:error", "sinkHandover", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Handover:error", "sinkHandover", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processHandoverTask(String value, Collector<HandoverTask> arg2) {
try {
HandoverTask data = JSONUtil.toBean(value, HandoverTask.class);
HandoverTask exist = gpMapper.selectHandoverTask(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:HandoverTask:error", "processHandoverTask", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkHandoverTask(HandoverTask element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkHandoverTask()");
gpMapper.insertHandoverTask(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:HandoverTask:error", "sinkHandoverTask", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:HandoverTask:error", "sinkHandoverTask", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processTransformNewNode(String value, Collector<TransformNewNode> arg2) {
try {
TransformNewNode data = JSONUtil.toBean(value, TransformNewNode.class);
TransformNewNode exist = gpMapper.selectTransformNewNode(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TransformNewNode:error", "processTransformNewNode", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTransformNewNode(TransformNewNode element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTransformNewNode()");
gpMapper.insertTransformNewNode(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:TransformNewNode:error", "sinkTransformNewNode", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TransformNewNode:error", "sinkTransformNewNode", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processMska(String value, Collector<Mska> out) {
try {
Mska data = JSONUtil.toBean(value, Mska.class);
Mska exist = gpMapper.selectMska(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Mska:error", "processMska", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkMska(Mska element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkMska()");
gpMapper.insertMska(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Mska:error", "sinkMska", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Mska:error", "sinkMska", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processKonv(String value, Collector<Konv> out) {
try {
Konv data = JSONUtil.toBean(value, Konv.class);
Konv exist = gpMapper.selectKonv(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Konv:error", "processKonv", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkKonv(Konv element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkKonv()");
gpMapper.insertKonv(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Konv:error", "sinkKonv", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Konv:error", "sinkKonv", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processZmdpc(String value, Collector<Zmdpc> out) {
try {
Zmdpc data = JSONUtil.toBean(value, Zmdpc.class);
Zmdpc exist = gpMapper.selectZmdpc(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zmdpc:error", "processZmdpc", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkZmdpc(Zmdpc element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkZmdpc()");
gpMapper.insertZmdpc(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Zmdpc:error", "sinkZmdpc", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zmdpc:error", "sinkZmdpc", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processVbpa(String value, Collector<Vbpa> arg2) {
try {
Vbpa data = JSONUtil.toBean(value, Vbpa.class);
Vbpa exist = gpMapper.selectVbpa(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbpa:error", "processVbpa", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkVbpa(Vbpa element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkVbpa()");
gpMapper.insertVbpa(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Vbpa:error", "sinkVbpa", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbpa:error", "sinkVbpa", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processPa0002(String value, Collector<Pa0002> arg2) {
try {
Pa0002 data = JSONUtil.toBean(value, Pa0002.class);
if (data.getEndda() != null) {
String erdat2 = new StringBuffer(data.getEndda()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setEndda1(date);
}
data.setYeWuYMC(data.getNachn() + data.getVorna());
Pa0002 exist = gpMapper.selectPa0002(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Pa0002:error", "processPa0002", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkPa0002(Pa0002 element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkPa0002()");
gpMapper.insertPa0002(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Pa0002:error", "sinkPa0002", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Pa0002:error", "sinkPa0002", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processT001w(String value, Collector<T001w> out) {
try {
T001w data = JSONUtil.toBean(value, T001w.class);
T001w exist = gpMapper.selectT001w(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:T001w:error", "processT001w", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkT001w(T001w element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkT001w()");
gpMapper.insertT001w(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:T001w:error", "sinkT001w", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:T001w:error", "sinkT001w", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processTKeHu(String value, Collector<TKeHu> out) {
try {
TKeHu data = JSONUtil.toBean(value, TKeHu.class);
TKeHu exist = gpMapper.selectTKeHu(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TKeHu:error", "processTKeHu", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTKeHu(TKeHu element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTKeHu()");
gpMapper.insertTKeHu(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:TKeHu:error", "sinkTKeHu", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TKeHu:error", "sinkTKeHu", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processTKeHuXiaoShouZZ(Iterable<TKeHu> arg1, Collector<TKeHuXiaoShouZZ> arg2) {
try {
arg1.forEach(tkeHu -> {
List<TKeHuXiaoShouZZ> tkeHuXiaoShouZZList = hzcrmMapper.selectTKeHuXiaoShouZZ(tkeHu); // 源数据
tkeHuXiaoShouZZList.forEach(tkeHuXiaoShouZZ -> {
TKeHuXiaoShouZZ exist = gpMapper.selectTKeHuXiaoShouZZ(tkeHuXiaoShouZZ);
if (exist != null) {
tkeHuXiaoShouZZ.setExist(true); // 已经在库
}
arg2.collect(tkeHuXiaoShouZZ);
});
});
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TKeHuXiaoShouZZ:error", "processTKeHuXiaoShouZZ", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTKeHuXiaoShouZZ(TKeHuXiaoShouZZ element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTKeHuXiaoShouZZ()");
gpMapper.insertTKeHuXiaoShouZZ(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:TKeHuXiaoShouZZ:error", "sinkTKeHuXiaoShouZZ", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TKeHuXiaoShouZZ:error", "sinkTKeHuXiaoShouZZ", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processTKeHuXiaoShouZZYeWuY(String value, Collector<TKeHuXiaoShouZZYeWuY> out) {
try {
TKeHuXiaoShouZZYeWuY data = JSONUtil.toBean(value, TKeHuXiaoShouZZYeWuY.class);
TKeHuXiaoShouZZYeWuY exist = gpMapper.selectTKeHuXiaoShouZZYeWuY(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TKeHuXiaoShouZZYeWuY:error", "processTKeHuXiaoShouZZYeWuY", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTKeHuXiaoShouZZYeWuY()");
gpMapper.insertTKeHuXiaoShouZZYeWuY(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:TKeHuXiaoShouZZYeWuY:error", "sinkTKeHuXiaoShouZZYeWuY", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TKeHuXiaoShouZZYeWuY:error", "sinkTKeHuXiaoShouZZYeWuY", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processKnvv(String value, Collector<Knvv> out) {
try {
Knvv data = JSONUtil.toBean(value, Knvv.class);
Knvv exist = gpMapper.selectKnvv(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Knvv:error", "processKnvv", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkKnvv(Knvv element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkKnvv()");
gpMapper.insertKnvv(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Knvv:error", "sinkKnvv", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Knvv:error", "sinkKnvv", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processKnkk(String value, Collector<Knkk> out) {
try {
Knkk data = JSONUtil.toBean(value, Knkk.class);
Knkk exist = gpMapper.selectKnkk(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Knkk:error", "processKnkk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkKnkk(Knkk element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkKnkk()");
gpMapper.insertKnkk(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Knkk:error", "sinkKnkk", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Knkk:error", "sinkKnkk", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processS066(String value, Collector<S066> out) {
try {
S066 data = JSONUtil.toBean(value, S066.class);
S066 exist = gpMapper.selectS066(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
String sptags = data.getSptags(); // 日期转义
if (sptags == null || sptags.equals("00000000") || StrUtil.isBlank(sptags)) {
Date date = DateUtil.parse("1970-01-01 00:00:00").toJdkDate();
data.setSptag(date);
} else {
String erdat2 = new StringBuffer(sptags).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setSptag(date);
}
if (data.getSptags() == null) {
data.setSptags("00000000");
}
if (data.getSpwocs() == null) {
data.setSpwocs("000000");
}
if (data.getSpbups() == null) {
data.setSpbups("000000");
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:S066:error", "processS066", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkS066(S066 element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkS066()");
gpMapper.insertS066(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:S066:error", "sinkS066", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:S066:error", "sinkS066", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processS067(String value, Collector<S067> arg2) {
try {
S067 data = JSONUtil.toBean(value, S067.class);
S067 exist = gpMapper.selectS067(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
String sptags = data.getSptags(); // 日期转义
if (sptags == null || sptags.equals("00000000") || StrUtil.isBlank(sptags)) {
Date date = DateUtil.parse("1970-01-01 00:00:00").toJdkDate();
data.setSptag(date);
} else {
String erdat2 = new StringBuffer(sptags).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setSptag(date);
}
if (data.getSptags() == null) {
data.setSptags("00000000");
}
if (data.getSpwocs() == null) {
data.setSpwocs("000000");
}
if (data.getSpbups() == null) {
data.setSpbups("000000");
}
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:S067:error", "processS067", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkS067(S067 element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkS067()");
gpMapper.insertS067(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:S067:error", "sinkS067", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:S067:error", "sinkS067", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processTWuLiaoDB(Iterable<TKeHu> arg1, Collector<TWuLiaoDB> arg2) {
try {
arg1.forEach(tkeHu -> {
List<TWuLiaoDB> twuLiaoDBList = hzcrmMapper.selectTWuLiaoDB(tkeHu); // 源数据
twuLiaoDBList.forEach(twuLiaoDB -> {
TWuLiaoDB exist = gpMapper.selectTWuLiaoDB(twuLiaoDB);
if (exist != null) {
twuLiaoDB.setExist(true); // 已经在库
}
arg2.collect(twuLiaoDB);
});
});
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TWuLiaoDB:error", "processTWuLiaoDB", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTWuLiaoDB(TWuLiaoDB element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTWuLiaoDB()");
gpMapper.insertTWuLiaoDB(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:TWuLiaoDB:error", "sinkTWuLiaoDB", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TWuLiaoDB:error", "sinkTWuLiaoDB", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processTransformHistoryNode(String value, Collector<TransformHistoryNode> arg2) {
try {
TransformHistoryNode data = JSONUtil.toBean(value, TransformHistoryNode.class);
TransformHistoryNode exist = gpMapper.selectTransformHistoryNode(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
arg2.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TransformHistoryNode:error", "processTransformHistoryNode", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTransformHistoryNode(TransformHistoryNode element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTransformHistoryNode()");
gpMapper.insertTransformHistoryNode(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:TransformHistoryNode:error", "sinkTransformHistoryNode", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:TransformHistoryNode:error", "sinkTransformHistoryNode", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processTvkbt(String value, Collector<Tvkbt> out) {
try {
Tvkbt data = JSONUtil.toBean(value, Tvkbt.class);
Tvkbt exist = gpMapper.selectTvkbt(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Tvkbt:error", "processTvkbt", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTvkbt(Tvkbt element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTvkbt()");
gpMapper.insertTvkbt(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Tvkbt:error", "sinkTvkbt", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Tvkbt:error", "sinkTvkbt", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
// ----------------- 以下代码泛型化 -----------------
public void processTasks(Tasks data, Collector<Tasks> out) {
try {
Tasks exist = gpMapper.selectTasks(data);
if (exist != null) {
data.setExist(true); // 已经在库
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Tasks:error", "processTasks", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkTasks(Tasks element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkTasks()");
gpMapper.insertTasks(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Tasks:error", "sinkTasks", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Tasks:error", "sinkTasks", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processZsdfhzl(Zsdfhzl data, Collector<Zsdfhzl> out) {
try {
Zsdfhzl exist = gpMapper.selectZsdfhzl(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
if (data.getCdate() != null && data.getCtime() != null) {
String erdat2 = new StringBuffer(data.getCdate()).insert(4, "-").insert(7, "-").toString();
String erzet2 = new StringBuffer(data.getCtime()).insert(2, ":").insert(5, ":").toString();
String dateStr = erdat2 + " " + erzet2;
Date date = DateUtil.parse(dateStr);
data.setCdate1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zsdfhzl:error", "processZsdfhzl1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
try {
if (data.getFh_date() != null && data.getFh_date().indexOf("--") == -1) {
String erdat2 = new StringBuffer(data.getFh_date()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
data.setFh_date1(date);
}
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zsdfhzl:error", "processZsdfhzl2", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zsdfhzl:error", "processZsdfhzl", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkZsdfhzl(Zsdfhzl element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkZsdfhzl()");
gpMapper.insertZsdfhzl(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Zsdfhzl:error", "sinkZsdfhzl", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Zsdfhzl:error", "sinkZsdfhzl", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processVbak(Vbak data, Collector<Vbak> out) {
try {
Vbak exist = gpMapper.selectVbak(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
try {
data.setAudat1(caDate(data.getAudat())); // 日期00000000格式转换,已处理异常
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbak:error", "processVbak1", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbak:error", "processVbak", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkVbak(Vbak element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkVbak()");
gpMapper.insertVbak(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Vbak:error", "sinkVbak", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Vbak:error", "sinkVbak", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processBsid(Bsid bsid, Collector<Bsid> out) {
try {
if (StrUtil.isBlank(bsid.getUmsks())) {
bsid.setUmskz(""); // 属于主键组,不能为空
}
String augdts = bsid.getAugdts(); // 日期转义
if (augdts == null || augdts.equals("00000000") || StrUtil.isBlank(augdts)) {
Date date = DateUtil.parse("1970-01-01 00:00:00");
bsid.setAugdt(date);
} else {
String erdat2 = new StringBuffer(augdts).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
bsid.setAugdt(date);
}
String zfbdts = bsid.getZfbdts(); // 转义日期
if (zfbdts == null || zfbdts.equals("00000000") || StrUtil.isBlank(zfbdts)) {
Date date = DateUtil.parse("1970-01-01 00:00:00");
bsid.setZfbdt(date);
} else {
String erdat2 = new StringBuffer(zfbdts).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
bsid.setZfbdt(date);
}
String budats = bsid.getBudats(); // 转义日期
if (budats == null || budats.equals("00000000") || StrUtil.isBlank(budats)) {
Date date = DateUtil.parse("1970-01-01 00:00:00");
bsid.setBudat(date);
bsid.setBudatc("1970-01");
bsid.setDqsjc(null); // 到期时间不用计算
} else {
String erdat2 = new StringBuffer(budats).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
bsid.setBudat(date);
bsid.setBudatc(DateUtil.format(date, "yyyy-MM"));
if ("Z001".equals(bsid.getZterm())) {
bsid.setDqsjc(bsid.getZfbdt()); // 现款,到期时间=基准日期
} else {
int budatDay = Integer.parseInt(DateUtil.format(bsid.getBudat(), "dd")); // 过账日期
if (budatDay > 26) { // budat(过账日期) > 26号 :zfbdt(基准日期)+2个月
bsid.setDqsjc(DateUtil.offset(bsid.getZfbdt(), DateField.MONTH, 2)); // 到期时间
// 根据过账日期判断日是否>26,大于的话,就在过账日期的基础上加一个月,小于等于的话就是不变
bsid.setBudatd(DateUtil.format(DateUtil.offset(bsid.getBudat(), DateField.MONTH, 1), "yyyy-MM"));
} else if (budatDay <= 26) { // budat(过账日期) <= 26号 :zfbdt(基准日期)+1个月
bsid.setDqsjc(DateUtil.offset(bsid.getZfbdt(), DateField.MONTH, 1)); // 到期时间
// 根据过账日期判断日是否>26,大于的话,就在过账日期的基础上加一个月,小于等于的话就是不变
bsid.setBudatd(DateUtil.format(bsid.getBudat(), "yyyy-MM"));
}
}
}
Bsid exist = gpMapper.selectBsid(bsid);
if (exist != null) {
bsid.setExist(true); // 已经在库
}
out.collect(bsid);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Bsid:error", "processBsid", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkBsid(Bsid element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkBsid()");
gpMapper.insertBsid(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Bsid:error", "sinkBsid", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Bsid:error", "sinkBsid", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processBsad(Bsad bsad, Collector<Bsad> out) {
try {
if (StrUtil.isBlank(bsad.getUmsks())) {
bsad.setUmskz(""); // 属于主键组,不能为空
}
String augdts = bsad.getAugdts(); // 日期转义
if (augdts == null || augdts.equals("00000000") || StrUtil.isBlank(augdts)) {
Date date = DateUtil.parse("1970-01-01 00:00:00");
bsad.setAugdt(date);
} else {
String erdat2 = new StringBuffer(augdts).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
bsad.setAugdt(date);
}
String zfbdts = bsad.getZfbdts(); // 转义日期
if (zfbdts == null || zfbdts.equals("00000000") || StrUtil.isBlank(zfbdts)) {
Date date = DateUtil.parse("1970-01-01 00:00:00");
bsad.setZfbdt(date);
} else {
String erdat2 = new StringBuffer(zfbdts).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
bsad.setZfbdt(date);
}
String budats = bsad.getBudats(); // 转义日期
if (budats == null || budats.equals("00000000") || StrUtil.isBlank(budats)) {
Date date = DateUtil.parse("1970-01-01 00:00:00");
bsad.setBudat(date);
bsad.setBudatc("1970-01");
bsad.setDqsjc(null); // 到期时间不用计算
} else {
String erdat2 = new StringBuffer(budats).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
bsad.setBudat(date);
bsad.setBudatc(DateUtil.format(date, "yyyy-MM"));
if ("Z001".equals(bsad.getZterm())) {
bsad.setDqsjc(bsad.getZfbdt()); // 现款,到期时间=基准日期
} else {
int budatDay = Integer.parseInt(DateUtil.format(bsad.getBudat(), "dd")); // 过账日期
if (budatDay > 26) { // budat(过账日期) > 26号 :zfbdt(基准日期)+2个月
bsad.setDqsjc(DateUtil.offset(bsad.getZfbdt(), DateField.MONTH, 2)); // 到期时间
// 根据过账日期判断日是否>26,大于的话,就在过账日期的基础上加一个月,小于等于的话就是不变
bsad.setBudatd(DateUtil.format(DateUtil.offset(bsad.getBudat(), DateField.MONTH, 1), "yyyy-MM"));
} else if (budatDay <= 26) { // budat(过账日期) <= 26号 :zfbdt(基准日期)+1个月
bsad.setDqsjc(DateUtil.offset(bsad.getZfbdt(), DateField.MONTH, 1)); // 到期时间
// 根据过账日期判断日是否>26,大于的话,就在过账日期的基础上加一个月,小于等于的话就是不变
bsad.setBudatd(DateUtil.format(bsad.getBudat(), "yyyy-MM"));
}
}
}
Bsad exist = gpMapper.selectBsad(bsad);
if (exist != null) {
bsad.setExist(true); // 已经在库
}
out.collect(bsad);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Bsad:error", "processBsad", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkBsad(Bsad element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkBsad()");
gpMapper.insertBsad(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:Bsad:error", "sinkBsad", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:Bsad:error", "sinkBsad", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void processPersonComp(PersonComp data, Collector<PersonComp> out) {
try {
PersonComp exist = gpMapper.selectPersonComp(data);
if (exist != null) {
data.setExist(true); // 已经在库
} else {
data.setId(UUID.randomUUID().toString());
}
out.collect(data);
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:PersonComp:error", "processPersonComp", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
public void sinkPersonComp(PersonComp element) {
try {
if (element.isExist() == false) {
log.debug("GPServiceImpl.sinkPersonComp()");
gpMapper.insertPersonComp(element);
}
} catch (RuntimeException e) {
redis1Template.opsForHash().put("huazheng:PersonComp:error", "sinkPersonComp", getErrorInfoFromException(e));
log.error(e.getMessage());
} catch (Exception e) {
redis1Template.opsForHash().put("huazheng:PersonComp:error", "sinkPersonComp", getErrorInfoFromException(e));
log.error(e.getMessage());
}
}
}
package com.huazheng.project.greenplum.service.impl;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.hana.mapper.SapMapper;
import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Aufm;
import com.huazheng.project.hana.model.Bsad;
import com.huazheng.project.hana.model.Bsid;
import com.huazheng.project.hana.model.Kna1;
import com.huazheng.project.hana.model.Knkk;
import com.huazheng.project.hana.model.Knvv;
import com.huazheng.project.hana.model.Konv;
import com.huazheng.project.hana.model.Likp;
import com.huazheng.project.hana.model.Lips;
import com.huazheng.project.hana.model.Makt;
import com.huazheng.project.hana.model.Mara;
import com.huazheng.project.hana.model.Mska;
import com.huazheng.project.hana.model.Pa0002;
import com.huazheng.project.hana.model.S066;
import com.huazheng.project.hana.model.S067;
import com.huazheng.project.hana.model.T001w;
import com.huazheng.project.hana.model.T023t;
import com.huazheng.project.hana.model.Tvkbt;
import com.huazheng.project.hana.model.Vbak;
import com.huazheng.project.hana.model.Vbap;
import com.huazheng.project.hana.model.Vbep;
import com.huazheng.project.hana.model.Vbpa;
import com.huazheng.project.hana.model.Vbrk;
import com.huazheng.project.hana.model.Vbrp;
import com.huazheng.project.hana.model.Vbuk;
import com.huazheng.project.hana.model.Zmdpc;
import com.huazheng.project.hana.model.Zsd06;
import com.huazheng.project.hana.model.Zsdfhzl;
import com.huazheng.project.mssql.mapper.CrmMapper;
import com.huazheng.project.mssql.model.SalesContractProcess;
import com.huazheng.project.mssql.model.SalesForecastProcess;
import com.huazheng.project.mssql.model.SampleApplicationProcess;
import com.huazheng.project.mssql.model.SampleApplicationProcessMingXi;
import com.huazheng.project.mssql.model.SampleClosingProcess;
import com.huazheng.project.mssql.model.SampleClosingProcessMingXi;
import com.huazheng.project.mssql2.mapper.HzcrmMapper;
import com.huazheng.project.mssql2.model.SysSAPreturnNo;
import com.huazheng.project.mssql2.model.TKeHu;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZYeWuY;
import com.huazheng.project.mssql4.mapper.UltimusDBMapper;
import com.huazheng.project.mssql4.model.Tasks;
import com.huazheng.project.mysql.mapper.TmsMapper;
import com.huazheng.project.mysql.model.Handover;
import com.huazheng.project.mysql.model.HandoverTask;
import com.huazheng.project.mysql.model.TransformHistoryNode;
import com.huazheng.project.mysql.model.TransformNewNode;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class JobServiceImpl {
@Autowired
private RedisTemplate<String, String> redis1Template;
@Autowired
private SapMapper sapMapper;
@Autowired
private CrmMapper crmMapper;
@Autowired
private TmsMapper tmsMapper;
@Autowired
private HzcrmMapper hzcrmMapper;
@Autowired
private UltimusDBMapper ultimusDBMapper;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
// ===================== sapMapper rowids =====================
public void checkJob1() {
selectVbapNew();
selectBsidNew();
selectBsadNew();
selectPa0002New();
selectVbpaNew();
selectTvkbtNew();
selectAufmNew();
selectVbrkNew();
selectVbrpNew();
selectS066New();
selectS067New();
selectVbukNew();
selectLikpNew();
selectKonvNew();
selectLipsNew();
selectAfkoNew();
selectAfpoNew();
selectVbepNew();
selectT023tNew();
selectKna1New();
selectKnvvNew();
selectKnkkNew();
selectMaraNew();
selectMaktNew();
selectZsd06New();
selectZmdpcNew();
selectVbakNew();
selectAufkNew();
selectT001wNew();
selectMskaNew();
selectZsdfhzlNew();
}
private void selectVbapNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:vbap:sendcount", "huazheng:vbap:rowids", "huazheng:list:vbap");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:vbap:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:vbap:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:vbap:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:vbap:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:vbap:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:vbap:rowids"); // 标记rowids
Vbap vbap = Vbap.builder().rowids(Long.valueOf(rowids)).build();
List<Vbap> list = sapMapper.selectVbapNew(vbap);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectBsidNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:bsid:sendcount", "huazheng:bsid:rowids", "huazheng:list:bsid");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:bsid:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:bsid:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:bsid:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:bsid:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:bsid:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:bsid:rowids"); // 标记rowids
Bsid bsid = Bsid.builder().rowids(Long.valueOf(rowids)).build();
List<Bsid> list = sapMapper.selectBsidNew(bsid);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectBsadNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:bsad:sendcount", "huazheng:bsad:rowids", "huazheng:list:bsad");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:bsad:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:bsad:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:bsad:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:bsad:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:bsad:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:bsad:rowids"); // 标记rowids
Bsad bsad = Bsad.builder().rowids(Long.valueOf(rowids)).build();
List<Bsad> list = sapMapper.selectBsadNew(bsad);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectPa0002New() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Pa0002:sendcount", "huazheng:Pa0002:rowids", "huazheng:list:Pa0002");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Pa0002:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Pa0002:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Pa0002:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Pa0002:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Pa0002:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Pa0002:rowids"); // 标记id
Pa0002 pa0002 = Pa0002.builder().rowids(Long.valueOf(rowids)).build();
List<Pa0002> list = sapMapper.selectPa0002New(pa0002);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectVbpaNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbpa:sendcount", "huazheng:Vbpa:rowids", "huazheng:list:Vbpa");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbpa:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbpa:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbpa:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbpa:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbpa:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbpa:rowids"); // 标记id
Vbpa vbpa = Vbpa.builder().rowids(Long.valueOf(rowids)).build();
List<Vbpa> list = sapMapper.selectVbpaNew(vbpa);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectTvkbtNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Tvkbt:sendcount", "huazheng:Tvkbt:rowids", "huazheng:list:Tvkbt");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Tvkbt:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Tvkbt:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Tvkbt:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Tvkbt:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Tvkbt:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Tvkbt:rowids"); // 标记id
Tvkbt tvkbt = Tvkbt.builder().rowids(Long.valueOf(rowids)).build();
List<Tvkbt> list = sapMapper.selectTvkbtNew(tvkbt);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectAufmNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Aufm:sendcount", "huazheng:Aufm:rowids", "huazheng:list:Aufm");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Aufm:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufm:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufm:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Aufm:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Aufm:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Aufm:rowids"); // 标记id
Aufm aufm = Aufm.builder().rowids(Long.valueOf(rowids)).build();
List<Aufm> list = sapMapper.selectAufmNew(aufm);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectVbrkNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrk:sendcount", "huazheng:Vbrk:rowids", "huazheng:list:Vbrk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbrk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbrk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbrk:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbrk:rowids"); // 标记id
Vbrk vbrk = Vbrk.builder().rowids(Long.valueOf(rowids)).build();
List<Vbrk> list = sapMapper.selectVbrkNew(vbrk);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectVbrpNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrp:sendcount", "huazheng:Vbrp:rowids", "huazheng:list:Vbrp");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbrp:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrp:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrp:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbrp:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbrp:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbrp:rowids"); // 标记id
Vbrp vbrp = Vbrp.builder().rowids(Long.valueOf(rowids)).build();
List<Vbrp> list = sapMapper.selectVbrpNew(vbrp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectS066New() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:S066:sendcount", "huazheng:S066:rowids", "huazheng:list:S066");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:S066:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:S066:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:S066:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:S066:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:S066:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:S066:rowids"); // 标记id
S066 s066 = S066.builder().rowids(Long.valueOf(rowids)).build();
List<S066> list = sapMapper.selectS066New(s066);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectS067New() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:S067:sendcount", "huazheng:S067:rowids", "huazheng:list:S067");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:S067:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:S067:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:S067:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:S067:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:S067:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:S067:rowids"); // 标记id
S067 s067 = S067.builder().rowids(Long.valueOf(rowids)).build();
List<S067> list = sapMapper.selectS067New(s067);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectVbukNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbuk:sendcount", "huazheng:Vbuk:rowids", "huazheng:list:Vbuk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbuk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbuk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbuk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbuk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbuk:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbuk:rowids"); // 标记id
Vbuk vbuk = Vbuk.builder().rowids(Long.valueOf(rowids)).build();
List<Vbuk> list = sapMapper.selectVbukNew(vbuk);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectLikpNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Likp:sendcount", "huazheng:Likp:rowids", "huazheng:list:Likp");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Likp:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Likp:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Likp:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Likp:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Likp:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Likp:rowids"); // 标记id
Likp likp = Likp.builder().rowids(Long.valueOf(rowids)).build();
List<Likp> list = sapMapper.selectLikpNew(likp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectKonvNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Konv:sendcount", "huazheng:Konv:rowids", "huazheng:list:Konv");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Konv:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Konv:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Konv:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Konv:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Konv:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Konv:rowids"); // 标记id
Konv konv = Konv.builder().rowids(Long.valueOf(rowids)).build();
List<Konv> list = sapMapper.selectKonvNew(konv);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectLipsNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Lips:sendcount", "huazheng:Lips:rowids", "huazheng:list:Lips");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Lips:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Lips:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Lips:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Lips:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Lips:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Lips:rowids"); // 标记id
Lips lips = Lips.builder().rowids(Long.valueOf(rowids)).build();
List<Lips> list = sapMapper.selectLipsNew(lips);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectAfkoNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Afko:sendcount", "huazheng:Afko:rowids", "huazheng:list:Afko");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Afko:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Afko:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Afko:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Afko:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Afko:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Afko:rowids"); // 标记id
Afko afko = Afko.builder().rowids(Long.valueOf(rowids)).build();
List<Afko> list = sapMapper.selectAfkoNew(afko);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectAfpoNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Afpo:sendcount", "huazheng:Afpo:rowids", "huazheng:list:Afpo");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Afpo:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Afpo:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Afpo:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Afpo:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Afpo:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Afpo:rowids"); // 标记id
Afpo afpo = Afpo.builder().rowids(Long.valueOf(rowids)).build();
List<Afpo> list = sapMapper.selectAfpoNew(afpo);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectVbepNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbep:sendcount", "huazheng:Vbep:rowids", "huazheng:list:Vbep");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbep:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbep:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbep:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbep:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbep:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbep:rowids"); // 标记id
Vbep vbep = Vbep.builder().rowids(Long.valueOf(rowids)).build();
List<Vbep> list = sapMapper.selectVbepNew(vbep);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectT023tNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:T023t:sendcount", "huazheng:T023t:rowids", "huazheng:list:T023t");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:T023t:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:T023t:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:T023t:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:T023t:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:T023t:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:T023t:rowids"); // 标记id
T023t t023t = T023t.builder().rowids(Long.valueOf(rowids)).build();
List<T023t> list = sapMapper.selectT023tNew(t023t);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectKna1New() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Kna1:sendcount", "huazheng:Kna1:rowids", "huazheng:list:Kna1");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Kna1:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Kna1:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Kna1:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Kna1:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Kna1:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Kna1:rowids"); // 标记id
Kna1 kna1 = Kna1.builder().rowids(Long.valueOf(rowids)).build();
List<Kna1> list = sapMapper.selectKna1New(kna1);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectKnvvNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Knvv:sendcount", "huazheng:Knvv:rowids", "huazheng:list:Knvv");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Knvv:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Knvv:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Knvv:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Knvv:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Knvv:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Knvv:rowids"); // 标记id
Knvv knvv = Knvv.builder().rowids(Long.valueOf(rowids)).build();
List<Knvv> list = sapMapper.selectKnvvNew(knvv);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectKnkkNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Knkk:sendcount", "huazheng:Knkk:rowids", "huazheng:list:Knkk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Knkk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Knkk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Knkk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Knkk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Knkk:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Knkk:rowids"); // 标记id
Knkk knkk = Knkk.builder().rowids(Long.valueOf(rowids)).build();
List<Knkk> list = sapMapper.selectKnkkNew(knkk);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectMaraNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Mara:sendcount", "huazheng:Mara:rowids", "huazheng:list:Mara");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Mara:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mara:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mara:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Mara:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Mara:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Mara:rowids"); // 标记id
Mara mara = Mara.builder().rowids(Long.valueOf(rowids)).build();
List<Mara> list = sapMapper.selectMaraNew(mara);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectMaktNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Makt:sendcount", "huazheng:Makt:rowids", "huazheng:list:Makt");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Makt:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Makt:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Makt:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Makt:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Makt:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Makt:rowids"); // 标记id
Makt makt = Makt.builder().rowids(Long.valueOf(rowids)).build();
List<Makt> list = sapMapper.selectMaktNew(makt);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectZsd06New() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Zsd06:sendcount", "huazheng:Zsd06:rowids", "huazheng:list:Zsd06");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Zsd06:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Zsd06:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Zsd06:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Zsd06:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Zsd06:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Zsd06:rowids"); // 标记id
Zsd06 zsd06 = Zsd06.builder().rowids(Long.valueOf(rowids)).build();
List<Zsd06> list = sapMapper.selectZsd06New(zsd06);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectZmdpcNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Zmdpc:sendcount", "huazheng:Zmdpc:rowids", "huazheng:list:Zmdpc");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Zmdpc:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Zmdpc:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Zmdpc:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Zmdpc:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Zmdpc:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Zmdpc:rowids"); // 标记id
Zmdpc zmdpc = Zmdpc.builder().rowids(Long.valueOf(rowids)).build();
List<Zmdpc> list = sapMapper.selectZmdpcNew(zmdpc);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectVbakNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbak:sendcount", "huazheng:Vbak:rowids", "huazheng:list:Vbak");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbak:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbak:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbak:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbak:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbak:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbak:rowids"); // 标记id
Vbak vbak = Vbak.builder().rowids(Long.valueOf(rowids)).build();
List<Vbak> list = sapMapper.selectVbakNew(vbak);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectAufkNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Aufk:sendcount", "huazheng:Aufk:rowids", "huazheng:list:Aufk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Aufk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Aufk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Aufk:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Aufk:rowids"); // 标记id
Aufk aufk = Aufk.builder().rowids(Long.valueOf(rowids)).build();
List<Aufk> list = sapMapper.selectAufkNew(aufk);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectT001wNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:T001w:sendcount", "huazheng:T001w:rowids", "huazheng:list:T001w");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:T001w:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:T001w:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:T001w:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:T001w:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:T001w:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:T001w:rowids"); // 标记id
T001w t001w = T001w.builder().rowids(Long.valueOf(rowids)).build();
List<T001w> list = sapMapper.selectT001wNew(t001w);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectMskaNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Mska:sendcount", "huazheng:Mska:rowids", "huazheng:list:Mska");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Mska:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mska:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mska:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Mska:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Mska:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Mska:rowids"); // 标记id
Mska mska = Mska.builder().rowids(Long.valueOf(rowids)).build();
List<Mska> list = sapMapper.selectMskaNew(mska);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectZsdfhzlNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Zsdfhzl:sendcount", "huazheng:Zsdfhzl:rowids", "huazheng:list:Zsdfhzl");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Zsdfhzl:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Zsdfhzl:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Zsdfhzl:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Zsdfhzl:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Zsdfhzl:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Zsdfhzl:rowids"); // 标记id
Zsdfhzl zsdfhzl = Zsdfhzl.builder().rowids(Long.valueOf(rowids)).build();
List<Zsdfhzl> list = sapMapper.selectZsdfhzlNew(zsdfhzl);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
// ===================== crmMapper rowids =====================
public void checkJob2() {
selectSalesForecastProcessNew();
selectSalesContractProcessNew();
selectSampleApplicationProcessNew();
selectSampleApplicationProcessMingXiNew();
selectSampleClosingProcessNew();
selectSampleClosingProcessMingXiNew();
}
public void selectSalesForecastProcessNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:SalesForecastProcess:sendcount", "huazheng:SalesForecastProcess:id", "huazheng:list:SalesForecastProcess");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:SalesForecastProcess:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SalesForecastProcess:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SalesForecastProcess:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:SalesForecastProcess:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:SalesForecastProcess:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:SalesForecastProcess:id"); // 标记id
SalesForecastProcess sfp = SalesForecastProcess.builder().id(id).build();
List<SalesForecastProcess> list = crmMapper.selectSalesForecastProcessNew(sfp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectSalesContractProcessNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:SalesContractProcess:sendcount", "huazheng:SalesContractProcess:id", "huazheng:list:SalesContractProcess");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:SalesContractProcess:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SalesContractProcess:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SalesContractProcess:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:SalesContractProcess:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:SalesContractProcess:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:SalesContractProcess:id"); // 标记id
SalesContractProcess scp = SalesContractProcess.builder().id(id).build();
List<SalesContractProcess> list = crmMapper.selectSalesContractProcessNew(scp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectSampleApplicationProcessNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:SampleApplicationProcess:sendcount", "huazheng:SampleApplicationProcess:id", "huazheng:list:SampleApplicationProcess");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:SampleApplicationProcess:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleApplicationProcess:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleApplicationProcess:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:SampleApplicationProcess:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:SampleApplicationProcess:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:SampleApplicationProcess:id"); // 标记id
SampleApplicationProcess scp = SampleApplicationProcess.builder().id(id).build();
List<SampleApplicationProcess> list = crmMapper.selectSampleApplicationProcessNew(scp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectSampleApplicationProcessMingXiNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:SampleApplicationProcessMingXi:sendcount", "huazheng:SampleApplicationProcessMingXi:id", "huazheng:list:SampleApplicationProcessMingXi");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:SampleApplicationProcessMingXi:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleApplicationProcessMingXi:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleApplicationProcessMingXi:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:SampleApplicationProcessMingXi:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:SampleApplicationProcessMingXi:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:SampleApplicationProcessMingXi:id"); // 标记id
SampleApplicationProcessMingXi scp = SampleApplicationProcessMingXi.builder().id(id).build();
List<SampleApplicationProcessMingXi> list = crmMapper.selectSampleApplicationProcessMingXiNew(scp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectSampleClosingProcessNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:SampleClosingProcess:sendcount", "huazheng:SampleClosingProcess:id", "huazheng:list:SampleClosingProcess");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:SampleClosingProcess:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleClosingProcess:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleClosingProcess:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:SampleClosingProcess:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:SampleClosingProcess:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:SampleClosingProcess:id"); // 标记id
SampleClosingProcess scp = SampleClosingProcess.builder().id(id).build();
List<SampleClosingProcess> list = crmMapper.selectSampleClosingProcessNew(scp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectSampleClosingProcessMingXiNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:SampleClosingProcessMingXi:sendcount", "huazheng:SampleClosingProcessMingXi:id", "huazheng:list:SampleClosingProcessMingXi");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:SampleClosingProcessMingXi:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleClosingProcessMingXi:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SampleClosingProcessMingXi:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:SampleClosingProcessMingXi:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:SampleClosingProcessMingXi:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:SampleClosingProcessMingXi:id"); // 标记id
SampleClosingProcessMingXi scp = SampleClosingProcessMingXi.builder().id(id).build();
List<SampleClosingProcessMingXi> list = crmMapper.selectSampleClosingProcessMingXiNew(scp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
// ===================== tmsMapper rowids =====================
public void checkJob3() {
selectTransformHistoryNodeNew();
selectHandoverTaskNew();
selectTransformNewNodeNew();
selectHandoverNew();
}
private void selectTransformHistoryNodeNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:TransformHistoryNode:sendcount", "huazheng:TransformHistoryNode:id", "huazheng:list:TransformHistoryNode");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:TransformHistoryNode:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TransformHistoryNode:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TransformHistoryNode:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:TransformHistoryNode:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:TransformHistoryNode:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:TransformHistoryNode:id"); // 标记id
TransformHistoryNode thn = TransformHistoryNode.builder().id(Integer.parseInt(id)).build();
List<TransformHistoryNode> list = tmsMapper.selectTransformHistoryNodeNew(thn);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectHandoverTaskNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:HandoverTask:sendcount", "huazheng:HandoverTask:task_id", "huazheng:list:HandoverTask");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:HandoverTask:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:HandoverTask:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:HandoverTask:task_id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:HandoverTask:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:HandoverTask:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String task_id = opsForValue.get("huazheng:HandoverTask:task_id"); // 标记id
HandoverTask handoverTask = HandoverTask.builder().task_id(task_id).build();
List<HandoverTask> list = tmsMapper.selectHandoverTaskNew(handoverTask);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getTask_id(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectTransformNewNodeNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:TransformNewNode:sendcount", "huazheng:TransformNewNode:id", "huazheng:list:TransformNewNode");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:TransformNewNode:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TransformNewNode:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TransformNewNode:id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:TransformNewNode:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:TransformNewNode:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String id = opsForValue.get("huazheng:TransformNewNode:id"); // 标记id
TransformNewNode transformNewNode = TransformNewNode.builder().id(Integer.parseInt(id)).build();
List<TransformNewNode> list = tmsMapper.selectTransformNewNodeNew(transformNewNode);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getId().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectHandoverNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Handover:sendcount", "huazheng:Handover:handover_id", "huazheng:list:Handover");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Handover:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Handover:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Handover:handover_id", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Handover:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Handover:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String handover_id = opsForValue.get("huazheng:Handover:handover_id"); // 标记id
Handover handover = Handover.builder().handover_id(handover_id).build();
List<Handover> list = tmsMapper.selectHandoverNew(handover);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getHandover_id(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
// ===================== hzcrmMapper rowids =====================
public void checkJob4() {
selectTKeHuXiaoShouZZYeWuYNew();
selectTKeHuNew();
selectSysSAPreturnNoNew();
}
public void selectTKeHuXiaoShouZZYeWuYNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:TKeHuXiaoShouZZYeWuY:sendcount", "huazheng:TKeHuXiaoShouZZYeWuY:rowids", "huazheng:list:TKeHuXiaoShouZZYeWuY");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:TKeHuXiaoShouZZYeWuY:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TKeHuXiaoShouZZYeWuY:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TKeHuXiaoShouZZYeWuY:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:TKeHuXiaoShouZZYeWuY:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:TKeHuXiaoShouZZYeWuY:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:TKeHuXiaoShouZZYeWuY:rowids"); // 标记id
TKeHuXiaoShouZZYeWuY tkeHuXiaoShouZZYeWuY = TKeHuXiaoShouZZYeWuY.builder().rowids(Long.valueOf(rowids)).build();
List<TKeHuXiaoShouZZYeWuY> list = hzcrmMapper.selectTKeHuXiaoShouZZYeWuYNew(tkeHuXiaoShouZZYeWuY);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectTKeHuNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:TKeHu:sendcount", "huazheng:TKeHu:rowids", "huazheng:list:TKeHu");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:TKeHu:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TKeHu:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:TKeHu:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:TKeHu:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:TKeHu:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:TKeHu:rowids"); // 标记id
TKeHu tkeHu = TKeHu.builder().rowids(Long.valueOf(rowids)).build();
List<TKeHu> list = hzcrmMapper.selectTKeHuNew(tkeHu);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectSysSAPreturnNoNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:SysSAPreturnNo:sendcount", "huazheng:SysSAPreturnNo:rowids", "huazheng:list:SysSAPreturnNo");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:SysSAPreturnNo:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SysSAPreturnNo:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:SysSAPreturnNo:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:SysSAPreturnNo:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:SysSAPreturnNo:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:SysSAPreturnNo:rowids"); // 标记id
SysSAPreturnNo sysSAPreturnNo = SysSAPreturnNo.builder().rowids(Long.valueOf(rowids)).build();
List<SysSAPreturnNo> list = hzcrmMapper.selectSysSAPreturnNoNew(sysSAPreturnNo);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
// ===================== ultimusDBMapper rowids =====================
public void checkJob5() {
selectTasksNew();
}
public void selectTasksNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Tasks:sendcount", "huazheng:Tasks:rowids", "huazheng:list:Tasks");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Tasks:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Tasks:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Tasks:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Tasks:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Tasks:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Tasks:rowids"); // 标记id
Tasks tasks = Tasks.builder().rowids(Long.valueOf(rowids)).build();
List<Tasks> list = ultimusDBMapper.selectTasksNew(tasks);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
}
package com.huazheng.project.greenplum.service.impl;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.greenplum.mapper.GPMapper;
import com.huazheng.project.hana.model.CAVThisMonth;
import com.huazheng.project.mssql3.mapper.Cinderellaw2Mapper;
import com.huazheng.project.mssql3.model.PersonComp;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class OtherJobServiceImpl {
@Autowired
private Cinderellaw2Mapper cinderellaw2Mapper;
@Autowired
private RedisTemplate<String, String> redis1Template;
@Autowired
private GPMapper gpMapper;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
// 同步人员对照数据,非flink流程
public void caPersonComp() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:PersonComp:sendcount", "huazheng:PersonComp:rowids", "huazheng:list:PersonComp");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:PersonComp:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:PersonComp:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:PersonComp:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:PersonComp:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:PersonComp:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:PersonComp:rowids"); // 标记id
PersonComp personComp = PersonComp.builder().rowids(Long.valueOf(rowids)).build();
List<PersonComp> list = cinderellaw2Mapper.selectPersonCompNew(personComp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
// 计算回款
public void caPayment() {
// 查询客户每月回款列表
List<CAVThisMonth> groupList = gpMapper.selectCAVThisMonthByEveryMonth();
// 按照客户和而货币分组
Map<String, List<CAVThisMonth>> groupItemsCollect = groupList.stream().collect(Collectors.groupingBy(e -> e.getKunnr() + "#" + e.getWaers()));
groupItemsCollect.forEach((kunnr2Waers, groupItems) -> {
BigDecimal byhkTotal = new BigDecimal(0); // 当月当前累积回款
BigDecimal byxseTotal = new BigDecimal(0); // 当月当前累积销售额
// 遍历每个客户的每月回款清单,开始计算
for (int i = 0; i < groupItems.size(); i++) {
CAVThisMonth item = groupItems.get(i);
String kunnr = item.getKunnr(); // 客户
String waers = item.getWaers(); // 货币
String budatb = item.getBudatb(); // 上个月
// 抽取符合条件的上月的数据
List<CAVThisMonth> collect = groupItems.stream() //
.filter(pp -> pp.getKunnr().equals(kunnr)) //
.filter(pp -> pp.getWaers().equals(waers)) //
.filter(pp -> pp.getBudatb().equals(budatb)) //
.collect(Collectors.toList());
BigDecimal ljsyysk = new BigDecimal(0); // 上月,累积剩余应收款
// 如果上月有数据
if (!collect.isEmpty() && collect.get(0).getLjsyysk() != null) {
ljsyysk = ljsyysk.add(collect.get(0).getLjsyysk()); // 上月,累积剩余应收款
}
BigDecimal byhk = item.getByhk(); // 当月回款
// BigDecimal byxse = item.getByxse(); // 当月销售额
item.setDyjhk(byhk.subtract(ljsyysk)); // 计算,当月净回款
// item.setLjsyysk(byxse.subtract(item.getDyjhk())); // 计算,累积剩余应收款
byhkTotal = byhkTotal.add(item.getByhk()); // 当月回款
byxseTotal = byxseTotal.add(item.getByxse()); // 当月销售额
item.setLjsyysk(byxseTotal.subtract(byhkTotal)); // 计算,累积剩余应收款
}
// 当月销售额0修正
List<CAVThisMonth> zeroCollect = groupItems.stream().filter(pp -> pp.getByxse().compareTo(BigDecimal.ZERO) == 0).collect(Collectors.toList());
if (!zeroCollect.isEmpty()) {
zeroCollect.forEach(item -> {
item.setDyjhk(new BigDecimal(0)); // 计算,当月净回款
item.setLjsyysk(new BigDecimal(0)); // 计算,累积剩余应收款
});
}
});
// 数据输出
groupList.forEach(item -> {
CAVThisMonth target = gpMapper.selectCAVThisMonth(item); // 先查询数据是否存在
String kunnr = item.getKunnr(); // 客户
String waers = item.getWaers(); // 货币
String budatd = item.getBudatd();
String budatb = item.getBudatb();
if (target == null) { // 并不存在
gpMapper.insertCAVThisMonth(item); // 数据入库
log.info("caPayment -> insert {}, {}, {}, {}", kunnr, waers, budatd, budatb);
} else {
String shash = SecureUtil.md5(JSONUtil.toJsonStr(item)); // 源库中数据的hash结果
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
item.setHashResult(shash);
gpMapper.updateCAVThisMonth(item); // 更新数据到数仓中
log.info("caPayment -> update {}, {}, {}, {}", kunnr, waers, budatd, budatb);
}
}
});
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class AfkoSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Afko:sendcount", "huazheng:Afko:id", "huazheng:list:Afko", "huazheng:Afko:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Afko:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class AfpoSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Afpo:sendcount", "huazheng:Afpo:id", "huazheng:list:Afpo", "huazheng:Afpo:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Afpo:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class AufkSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Aufk:sendcount", "huazheng:Aufk:id", "huazheng:list:Aufk", "huazheng:Aufk:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Aufk:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class AufmSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Aufm:sendcount", "huazheng:Aufm:id", "huazheng:list:Aufm", "huazheng:Aufm:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Aufm:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class BsadSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:bsad:sendcount", "huazheng:bsad:id", "huazheng:list:bsad", "huazheng:bsad:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:bsad:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class BsidSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:bsid:sendcount", "huazheng:bsid:id", "huazheng:list:bsid", "huazheng:bsid:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:bsid:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class Kna1Source implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Kna1:sendcount", "huazheng:Kna1:id", "huazheng:list:Kna1", "huazheng:Kna1:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Kna1:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class KnkkSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Knkk:sendcount", "huazheng:Knkk:id", "huazheng:list:Knkk", "huazheng:Knkk:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Knkk:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class KnvvSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Knvv:sendcount", "huazheng:Knvv:id", "huazheng:list:Knvv", "huazheng:Knvv:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Knvv:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class KonvSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Konv:sendcount", "huazheng:Konv:id", "huazheng:list:Konv", "huazheng:Konv:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Konv:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class LikpSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Likp:sendcount", "huazheng:Likp:id", "huazheng:list:Likp", "huazheng:Likp:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Likp:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class LipsSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Lips:sendcount", "huazheng:Lips:id", "huazheng:list:Lips", "huazheng:Lips:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Lips:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class MaktSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Makt:sendcount", "huazheng:Makt:id", "huazheng:list:Makt", "huazheng:Makt:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Makt:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class MaraSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Mara:sendcount", "huazheng:Mara:id", "huazheng:list:Mara", "huazheng:Mara:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Mara:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class MskaSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Mska:sendcount", "huazheng:Mska:id", "huazheng:list:Mska", "huazheng:Mska:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Mska:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class Pa0002Source implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Pa0002:sendcount", "huazheng:Pa0002:id", "huazheng:list:Pa0002", "huazheng:Pa0002:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Pa0002:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class S066Source implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:S066:sendcount", "huazheng:S066:id", "huazheng:list:S066", "huazheng:S066:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:S066:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class S067Source implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:S067:sendcount", "huazheng:S067:id", "huazheng:list:S067", "huazheng:S067:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:S067:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class T001wSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:T001w:sendcount", "huazheng:T001w:id", "huazheng:list:T001w", "huazheng:T001w:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:T001w:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class T023tSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:T023t:sendcount", "huazheng:T023t:id", "huazheng:list:T023t", "huazheng:T023t:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:T023t:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class TvkbtSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Tvkbt:sendcount", "huazheng:Tvkbt:id", "huazheng:list:Tvkbt", "huazheng:Tvkbt:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Tvkbt:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import com.huazheng.project.hana.model.Vbak;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class VbakSource implements SourceFunction<Vbak> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<Vbak> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Vbak:sendcount", "huazheng:Vbak:id", "huazheng:list:Vbak", "huazheng:Vbak:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
Vbak data = JSONUtil.toBean(values[1], Vbak.class);
ctx.collect(data);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Vbak:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class VbapSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:vbap:sendcount", "huazheng:vbap:flagDate", "huazheng:list:vbap", "huazheng:vbap:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:vbap:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class VbepSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Vbep:sendcount", "huazheng:Vbep:id", "huazheng:list:Vbep", "huazheng:Vbep:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Vbep:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class VbpaSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Vbpa:sendcount", "huazheng:Vbpa:id", "huazheng:list:Vbpa", "huazheng:Vbpa:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Vbpa:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class VbrkSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrk:sendcount", "huazheng:Vbrk:id", "huazheng:list:Vbrk", "huazheng:Vbrk:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Vbrk:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class VbrpSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrp:sendcount", "huazheng:Vbrp:id", "huazheng:list:Vbrp", "huazheng:Vbrp:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Vbrp:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class VbukSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Vbuk:sendcount", "huazheng:Vbuk:id", "huazheng:list:Vbuk", "huazheng:Vbuk:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Vbuk:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class ZmdpcSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Zmdpc:sendcount", "huazheng:Zmdpc:id", "huazheng:list:Zmdpc", "huazheng:Zmdpc:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Zmdpc:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class Zsd06Source implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Zsd06:sendcount", "huazheng:Zsd06:id", "huazheng:list:Zsd06", "huazheng:Zsd06:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Zsd06:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.hana;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import com.huazheng.project.hana.model.Zsdfhzl;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class ZsdfhzlSource implements SourceFunction<Zsdfhzl> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<Zsdfhzl> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Zsdfhzl:sendcount", "huazheng:Zsdfhzl:id", "huazheng:list:Zsdfhzl", "huazheng:Zsdfhzl:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
Zsdfhzl data = JSONUtil.toBean(values[1], Zsdfhzl.class);
ctx.collect(data);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Zsdfhzl:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class SalesContractProcessSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:SalesContractProcess:sendcount", "huazheng:SalesContractProcess:id", "huazheng:list:SalesContractProcess", "huazheng:SalesContractProcess:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:SalesContractProcess:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class SalesForecastProcessSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:SalesForecastProcess:sendcount", "huazheng:SalesForecastProcess:id", "huazheng:list:SalesForecastProcess", "huazheng:SalesForecastProcess:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:SalesForecastProcess:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class SampleApplicationProcessMingXiSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:SampleApplicationProcessMingXi:sendcount", "huazheng:SampleApplicationProcessMingXi:id", "huazheng:list:SampleApplicationProcessMingXi", "huazheng:SampleApplicationProcessMingXi:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:SampleApplicationProcessMingXi:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class SampleApplicationProcessSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:SampleApplicationProcess:sendcount", "huazheng:SampleApplicationProcess:id", "huazheng:list:SampleApplicationProcess", "huazheng:SampleApplicationProcess:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:SampleApplicationProcess:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class SampleClosingProcessMingXiSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:SampleClosingProcessMingXi:sendcount", "huazheng:SampleClosingProcessMingXi:id", "huazheng:list:SampleClosingProcessMingXi", "huazheng:SampleClosingProcessMingXi:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:SampleClosingProcessMingXi:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class SampleClosingProcessSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:SampleClosingProcess:sendcount", "huazheng:SampleClosingProcess:id", "huazheng:list:SampleClosingProcess", "huazheng:SampleClosingProcess:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:SampleClosingProcess:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql2;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class SysSAPreturnNoSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:SysSAPreturnNo:sendcount", "huazheng:SysSAPreturnNo:id", "huazheng:list:SysSAPreturnNo", "huazheng:SysSAPreturnNo:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:SysSAPreturnNo:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql2;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class TKeHuSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:TKeHu:sendcount", "huazheng:TKeHu:flagDate", "huazheng:list:TKeHu", "huazheng:TKeHu:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:TKeHu:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mssql2;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class TKeHuXiaoShouZZYeWuYSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:TKeHuXiaoShouZZYeWuY:sendcount", "huazheng:TKeHuXiaoShouZZYeWuY:flagDate", "huazheng:list:TKeHuXiaoShouZZYeWuY", "huazheng:TKeHuXiaoShouZZYeWuY:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:TKeHuXiaoShouZZYeWuY:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
//package com.huazheng.project.greenplum.source.mssql4;
//
//import java.io.PrintWriter;
//import java.io.StringWriter;
//import java.util.Arrays;
//import java.util.List;
//
//import org.apache.flink.streaming.api.functions.source.SourceFunction;
//import org.springframework.core.io.ClassPathResource;
//import org.springframework.data.redis.core.script.DefaultRedisScript;
//import org.springframework.scripting.support.ResourceScriptSource;
//import org.springframework.stereotype.Service;
//
//import com.huazheng.project.HZDataStream;
//
//import cn.hutool.core.thread.ThreadUtil;
//import lombok.extern.log4j.Log4j2;
//
//@Log4j2
//@Service
//public class TasksSource implements SourceFunction<String> {
//
// private static final long serialVersionUID = 1L;
//
//
//
// public String getErrorInfoFromException(Exception e) {
// try {
// StringWriter sw = new StringWriter();
// PrintWriter pw = new PrintWriter(sw);
// e.printStackTrace(pw);
// return "\r\n" + sw.toString() + "\r\n";
// } catch (Exception e2) {
// return "bad getErrorInfoFromException";
// }
// }
//
// @Override
// public void run(SourceContext<String> ctx) throws Exception {
// DefaultRedisScript<String> script = new DefaultRedisScript<String>();
// script.setResultType(String.class);
// script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
// List<String> keys = Arrays.asList("huazheng:Tasks:sendcount", "huazheng:Tasks:id", "huazheng:list:Tasks", "huazheng:Tasks:receivecount");
// while (true) {
// try {
// String value = HZDataStream.redis1Template.execute(script, keys, "");
// String[] values = value.toString().split("==========");
// String checkString = values[0];
// String[] split = checkString.split(", ");
// boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
// if (values.length > 1) { // 有数据字符串
//// log.info(msg + " " + value.toString() + " " + check);
// log.info(checkString + " " + check);
// ctx.collect(values[1]);
// } else { // 没有数据字符串
// ThreadUtil.sleep(1000); // 没有数据了,休眠一下
// }
// } catch (Exception e) {
// HZDataStream.redis1Template.opsForHash().put("huazheng:Tasks:error", "receivecount_elseerror", getErrorInfoFromException(e));
// }
// }
// }
//
// @Override
// public void cancel() {
//
// }
//
//}
package com.huazheng.project.greenplum.source.mssql3;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import com.huazheng.project.mssql3.model.PersonComp;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class PersonCompSource implements SourceFunction<PersonComp> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<PersonComp> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:PersonComp:sendcount", "huazheng:PersonComp:id", "huazheng:list:PersonComp", "huazheng:PersonComp:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
PersonComp data = JSONUtil.toBean(values[1], PersonComp.class);
ctx.collect(data);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:PersonComp:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
//package com.huazheng.project.greenplum.source.mssql4;
//
//import java.io.PrintWriter;
//import java.io.StringWriter;
//import java.util.Arrays;
//import java.util.List;
//
//import org.apache.flink.streaming.api.functions.source.SourceFunction;
//import org.springframework.core.io.ClassPathResource;
//import org.springframework.data.redis.core.script.DefaultRedisScript;
//import org.springframework.scripting.support.ResourceScriptSource;
//import org.springframework.stereotype.Service;
//
//import com.huazheng.project.HZDataStream;
//
//import cn.hutool.core.thread.ThreadUtil;
//import lombok.extern.log4j.Log4j2;
//
//@Log4j2
//@Service
//public class TasksSource implements SourceFunction<String> {
//
// private static final long serialVersionUID = 1L;
//
//
//
// public String getErrorInfoFromException(Exception e) {
// try {
// StringWriter sw = new StringWriter();
// PrintWriter pw = new PrintWriter(sw);
// e.printStackTrace(pw);
// return "\r\n" + sw.toString() + "\r\n";
// } catch (Exception e2) {
// return "bad getErrorInfoFromException";
// }
// }
//
// @Override
// public void run(SourceContext<String> ctx) throws Exception {
// DefaultRedisScript<String> script = new DefaultRedisScript<String>();
// script.setResultType(String.class);
// script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
// List<String> keys = Arrays.asList("huazheng:Tasks:sendcount", "huazheng:Tasks:id", "huazheng:list:Tasks", "huazheng:Tasks:receivecount");
// while (true) {
// try {
// String value = HZDataStream.redis1Template.execute(script, keys, "");
// String[] values = value.toString().split("==========");
// String checkString = values[0];
// String[] split = checkString.split(", ");
// boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
// if (values.length > 1) { // 有数据字符串
//// log.info(msg + " " + value.toString() + " " + check);
// log.info(checkString + " " + check);
// ctx.collect(values[1]);
// } else { // 没有数据字符串
// ThreadUtil.sleep(1000); // 没有数据了,休眠一下
// }
// } catch (Exception e) {
// HZDataStream.redis1Template.opsForHash().put("huazheng:Tasks:error", "receivecount_elseerror", getErrorInfoFromException(e));
// }
// }
// }
//
// @Override
// public void cancel() {
//
// }
//
//}
package com.huazheng.project.greenplum.source.mssql4;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import com.huazheng.project.mssql4.model.Tasks;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class TasksSource implements SourceFunction<Tasks> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<Tasks> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Tasks:sendcount", "huazheng:Tasks:id", "huazheng:list:Tasks", "huazheng:Tasks:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
Tasks data = JSONUtil.toBean(values[1], Tasks.class);
ctx.collect(data);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Tasks:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mysql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class HandoverSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:Handover:sendcount", "huazheng:Handover:handover_id", "huazheng:list:Handover", "huazheng:Handover:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:Handover:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mysql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class HandoverTaskSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:HandoverTask:sendcount", "huazheng:HandoverTask:task_id", "huazheng:list:HandoverTask", "huazheng:HandoverTask:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:HandoverTask:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mysql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class TransformHistoryNodeSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:TransformHistoryNode:sendcount", "huazheng:TransformHistoryNode:id", "huazheng:list:TransformHistoryNode", "huazheng:TransformHistoryNode:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:TransformHistoryNode:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.greenplum.source.mysql;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.List;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.scripting.support.ResourceScriptSource;
import org.springframework.stereotype.Service;
import com.huazheng.project.HZDataStream;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
@Log4j2
@Service
public class TransformNewNodeSource implements SourceFunction<String> {
private static final long serialVersionUID = 1L;
public String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
@Override
public void run(SourceContext<String> ctx) throws Exception {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap.lua")));
List<String> keys = Arrays.asList("huazheng:TransformNewNode:sendcount", "huazheng:TransformNewNode:id", "huazheng:list:TransformNewNode", "huazheng:TransformNewNode:receivecount");
while (true) {
try {
String value = HZDataStream.redis1Template.execute(script, keys, "");
String[] values = value.toString().split("==========");
String checkString = values[0];
String[] split = checkString.split(", ");
boolean check = split[0].split(":")[1].equals(split[1].split(":")[1]);
if (values.length > 1) { // 有数据字符串
// log.info(msg + " " + value.toString() + " " + check);
log.info(checkString + " " + check);
ctx.collect(values[1]);
} else { // 没有数据字符串
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
} catch (Exception e) {
HZDataStream.redis1Template.opsForHash().put("huazheng:TransformNewNode:error", "receivecount_elseerror", getErrorInfoFromException(e));
}
}
}
@Override
public void cancel() {
}
}
package com.huazheng.project.hana.mapper;
import java.util.List;
import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Aufm;
import com.huazheng.project.hana.model.Bsad;
import com.huazheng.project.hana.model.Bsid;
import com.huazheng.project.hana.model.Kna1;
import com.huazheng.project.hana.model.Knkk;
import com.huazheng.project.hana.model.Knvv;
import com.huazheng.project.hana.model.Konv;
import com.huazheng.project.hana.model.Likp;
import com.huazheng.project.hana.model.Lips;
import com.huazheng.project.hana.model.Makt;
import com.huazheng.project.hana.model.Mara;
import com.huazheng.project.hana.model.Mska;
import com.huazheng.project.hana.model.Pa0002;
import com.huazheng.project.hana.model.S066;
import com.huazheng.project.hana.model.S067;
import com.huazheng.project.hana.model.T001w;
import com.huazheng.project.hana.model.T023t;
import com.huazheng.project.hana.model.Tvkbt;
import com.huazheng.project.hana.model.Vbak;
import com.huazheng.project.hana.model.Vbap;
import com.huazheng.project.hana.model.Vbep;
import com.huazheng.project.hana.model.Vbpa;
import com.huazheng.project.hana.model.Vbrk;
import com.huazheng.project.hana.model.Vbrp;
import com.huazheng.project.hana.model.Vbuk;
import com.huazheng.project.hana.model.Zmdpc;
import com.huazheng.project.hana.model.Zsd06;
import com.huazheng.project.hana.model.Zsdfhzl;
public interface SapMapper {
public List<Vbap> selectVbapNew(Vbap vbap);
public List<Bsid> selectBsidNew(Bsid bsid);
public List<Bsad> selectBsadNew(Bsad bsad);
public List<Pa0002> selectPa0002New(Pa0002 pa0002);
public List<Vbpa> selectVbpaNew(Vbpa vbpa);
public List<Tvkbt> selectTvkbtNew(Tvkbt tvkbt);
public List<Aufm> selectAufmNew(Aufm aufm);
public List<Vbrk> selectVbrkNew(Vbrk vbrk);
public List<Vbrp> selectVbrpNew(Vbrp vbrp);
public List<S066> selectS066New(S066 s066);
public List<S067> selectS067New(S067 s067);
public List<Vbuk> selectVbukNew(Vbuk vbuk);
public List<Likp> selectLikpNew(Likp likp);
public List<Konv> selectKonvNew(Konv konv);
public List<Lips> selectLipsNew(Lips lips);
public List<Afko> selectAfkoNew(Afko afko);
public List<Afpo> selectAfpoNew(Afpo afpo);
public List<Vbep> selectVbepNew(Vbep vbep);
public List<T023t> selectT023tNew(T023t t023t);
public List<Kna1> selectKna1New(Kna1 kna1);
public List<Knvv> selectKnvvNew(Knvv knvv);
public List<Knkk> selectKnkkNew(Knkk knkk);
public List<Mara> selectMaraNew(Mara mara);
public List<Makt> selectMaktNew(Makt makt);
public List<Zsd06> selectZsd06New(Zsd06 zsd06);
public List<Zmdpc> selectZmdpcNew(Zmdpc zmdpc);
public List<Vbak> selectVbakNew(Vbak vbak);
public List<Aufk> selectAufkNew(Aufk aufk);
public List<T001w> selectT001wNew(T001w t001w);
public List<Mska> selectMskaNew(Mska mska);
public List<Zsdfhzl> selectZsdfhzlNew(Zsdfhzl zsdfhzl);
public Afko selectAfkoById(Afko target);
public Afpo selectAfpoById(Afpo target);
public Aufk selectAufkById(Aufk target);
public Aufm selectAufmById(Aufm target);
public Kna1 selectKna1ById(Kna1 target);
public Knkk selectKnkkById(Knkk target);
public Knvv selectKnvvById(Knvv target);
public Konv selectKonvById(Konv target);
public Likp selectLikpById(Likp target);
public Lips selectLipsById(Lips target);
public Makt selectMaktById(Makt target);
public Mara selectMaraById(Mara target);
public Mska selectMskaById(Mska target);
public Pa0002 selectPa0002ById(Pa0002 target);
public S066 selectS066ById(S066 target);
public S067 selectS067ById(S067 target);
public T001w selectT001wById(T001w target);
public T023t selectT023tById(T023t target);
public Vbak selectVbakById(Vbak target);
public Vbep selectVbepById(Vbep target);
public Vbpa selectVbpaById(Vbpa target);
public Vbrk selectVbrkById(Vbrk target);
public Vbrp selectVbrpById(Vbrp target);
public Vbuk selectVbukById(Vbuk target);
public Zmdpc selectZmdpcById(Zmdpc target);
public Zsd06 selectZsd06ById(Zsd06 target);
public Zsdfhzl selectZsdfhzlById(Zsdfhzl target);
public Bsad selectBsadById(Bsad target);
public Bsid selectBsidById(Bsid target);
public Vbap selectVbapById(Vbap target);
public Tvkbt selectTvkbtById(Tvkbt target);
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 订单表头数据 PP 订单
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Afko implements Serializable {
private static final long serialVersionUID = 1L;
private String aufnr; // 订单号
/* === 组合键 === */
private String mandt; // 集团
// private String aufnr; // 订单号
/* === 组合键 === */
private String gltrp ; // 基本完成日期
private BigDecimal gamng ; // 订单数量总计
private String plnbez ; // 物料号
private String gmein ; // 基本计量单位
private String plnnr ; // 任务清单组码
private String plnal ; // 组计数器
private String stlnr ; // 物料单
private String cy_seqnr; // 顺序号订单
private String gstrp ; // 订单开始日期
private String aufpl ; // 订单中工序的工艺路线号
private String aplzt ; // 订单的通用计数器
private Date gltrp1 ; // 基本完成日期,转换yyyy-MM-dd
private Date gstrp1 ; // 订单开始日期,转换yyyy-MM-dd
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 订单项
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Afpo implements Serializable {
private static final long serialVersionUID = 1L;
private String kdauf; // 销售订单号
private String kdpos; // 销售订单行项
private String aufnr; // 订单号
/* === 组合键 === */
private String mandt; // 集团
// private String aufnr; // 订单号
private String posnr; // 销售凭证项目
/* === 组合键 === */
private BigDecimal psmng; // 订单项数量
private BigDecimal wemng; // 此订单项的收货数量
private String meins; // 基本计量单位
private String matnr; // 订单的物料编号
private Object uebto; // 过量交货限度
private Object untto; // 交货不足限度
private String pwerk; // 订单的计划工厂
private String verid; // 生产版本
private String dwerk; // 工厂
private String dauat; // 订单类型
private String krsnr; // 预留/相关需求的编号
private String sernr; // BOM展开号
private String plnum; // 计划订单号
private Vbap vbap;
private VbapAdv vbapAdv;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 订单主数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Aufk implements Serializable {
private static final long serialVersionUID = 1L;
private String kdauf; // 销售订单数
private String kdpos; // 销售订单中的项目编号
/* === 组合键 === */
private String mandt; // 集团
private String aufnr; // 订单号
/* === 组合键 === */
private String erdat; // 创建日期
private String erfzeit; // 创建时间
private String ernam; // 输入者
private String aenam; // 最后更改人
private String bukrs; // 公司代码
private String loekz; // 删除标志
private Date erdat1; // 转换 erdat 创建日期yyyy-MM-dd
private Date erdat2; // 转换 erdat 创建日期yyyy-MM-dd hh:mm:ss
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 针对订单的货物移动
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Aufm implements Serializable {
private static final long serialVersionUID = 1L;
private String mblnr; // 物料凭证编号
private String mjahr; // 物料凭证年度
private String zeile; // 物料凭证中的项目
private String bldat; // 凭证中的凭证日期
private String budat; // 凭证中的过帐日期
private String bwart; // 移动类型(库存管理)
private String matnr; // 物料号
private String werks; // 工厂
private String lgort; // 库存地点
private String charg; // 批号
private String sobkz; // 特殊库存标识
private String lifnr; // 供应商帐户号
private String kdauf; // 销售订单数
private String kdpos; // 销售订单中的项目编号
private String shkzg; // 借方/贷方标识
private String menge; // 数量
private String bwtar; // 评估类型
private String aufnr; // 订单号
private Date bldat1; // 凭证中的凭证日期
private Date budat1; // 凭证中的过帐日期
private String mandt; // 集团
private Vbap vbap;
private VbapAdv vbapAdv;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 会计核算:客户的第二个索引(已结算项目)
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Bsad implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String bukrs; // 公司代码
private String kunnr; // 客户编号
private String umsks; // 特殊总分类帐事务类型
private String umskz; // 特殊总帐标识
private Date augdt; // 清帐日期,转换目标
private String augbl; // 清算单据的单据号码
private String zuonr; // 分配编号
private Integer gjahr; // 会计年度
private String belnr; // 会计凭证编号
private Integer buzei; // 会计凭证中的行项目数
private Date budat; // 过账日期,转换目标
private String blart; // 凭证类型
private String waers; // 货币码
private BigDecimal wrbtr; // 凭证货币金额 13,2
private String shkzg; // 借方/贷方标识
private String zterm; // 付款条件代码
private Date zfbdt; // 用于到期日计算的基准日期,转换目标
private Date dqsjc; // 到期时间:budat > 26号 :zfbdt+2个月,budat < 26号 :zfbdt+1个月
private String budatc; // 过账日期所在的月份,转换出来的
private String budatd; // 根据过账日期判断日是否>26,大于的话,就在过账日期的基础上加一个月,小于等于的话就是不变
// 用于hana到目标库转换,目标库没有此字段
private String augdts; // 清帐日期,源数据
private String budats; // 过账日期,源数据
private String zfbdts; // 用于到期日计算的基准日期,源数据
private String buzeis;
private String pernr; // 人员编码
private String vbeln;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 会计核算:客户的第二次索引
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Bsid implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String bukrs; // 公司代码
private String kunnr; // 客户编号
private String umsks; // 特殊总分类帐事务类型
private String umskz; // 特殊总帐标识
private Date augdt; // 清帐日期,转换目标
private String augbl; // 清算单据的单据号码
private String zuonr; // 分配编号
private Integer gjahr; // 会计年度
private String belnr; // 会计凭证编号
private Integer buzei; // 会计凭证中的行项目数
private Date budat; // 过账日期,转换目标
private String blart; // 凭证类型
private String waers; // 货币码
private BigDecimal wrbtr; // 凭证货币金额 13,2
private String shkzg; // 借方/贷方标识
private String zterm; // 付款条件代码
private Date zfbdt; // 用于到期日计算的基准日期,转换目标
private Date dqsjc; // 到期时间:budat > 26号 :zfbdt+2个月,budat < 26号 :zfbdt+1个月
private String budatc; // 过账日期所在的月份,转换出来的
private String budatd; // 根据过账日期判断日是否>26,大于的话,就在过账日期的基础上加一个月,小于等于的话就是不变
// 用于hana到目标库转换,目标库没有此字段
private String augdts; // 清帐日期,源数据
private String budats; // 过账日期,源数据
private String zfbdts; // 用于到期日计算的基准日期,源数据
private String buzeis;
private String pernr; // 人员编码
private String vbeln;
private Long rowids;
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
*
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Bsid2Bsad implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String bukrs; // 公司代码
private String kunnr; // 客户编号
private String umsks; // 特殊总分类帐事务类型
private String umskz; // 特殊总帐标识
private Date augdt; // 清帐日期,转换目标
private String augbl; // 清算单据的单据号码
private String zuonr; // 分配编号
private Integer gjahr; // 会计年度
private String belnr; // 会计凭证编号
private Integer buzei; // 会计凭证中的行项目数
private Date budat; // 过账日期,转换目标
private String blart; // 凭证类型
private String waers; // 货币码
private BigDecimal wrbtr; // 凭证货币金额 13,2
private String shkzg; // 借方/贷方标识
private String zterm; // 付款条件代码
private Date zfbdt; // 用于到期日计算的基准日期,转换目标
private Date dqsjc; // 到期时间:budat > 26号 :zfbdt+2个月,budat < 26号 :zfbdt+1个月
private String budatc; // 过账日期所在的月份,转换出来的
private String budatd; // 根据过账日期判断日是否>26,大于的话,就在过账日期的基础上加一个月,小于等于的话就是不变
// 用于hana到目标库转换,目标库没有此字段
private String augdts; // 清帐日期,源数据
private String budats; // 过账日期,源数据
private String zfbdts; // 用于到期日计算的基准日期,源数据
private String vbeln;
private boolean exist; // 用于标记,不是字段
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class CAVThisMonth implements Serializable {
private static final long serialVersionUID = 1L;
private String kunnr;
private String waers;
private String budatd; // 过账日期计算
private String budatb; // 过账日期计算上个月,非字段用于查询的结果返回
private BigDecimal byxse; // 当月销售额
private BigDecimal byhk; // 当月回款
private BigDecimal dyjhk; // 当月净回款,非字段用于计算的结果返回
private BigDecimal ljsyysk; // 累积剩余应收款,非字段用于计算的结果返回
private String hashResult;
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 客户主文件的一般数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Kna1 implements Serializable {
private static final long serialVersionUID = 1L;
private String kunnr; // 客户编号
private String name1; // 名称1
private String name2; // 名称2
private String mandt;
private String ktokd; // 客户帐户组
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 客户主数据信贷管理控制范围数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Knkk implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String kunnr; // 产品组
private String kkber; // 贷方控制范围
private BigDecimal klimk; // 授信额度
private BigDecimal skfor; // 应收总额 (用于信贷限额检查)
private BigDecimal ssobl; // 检查信贷限额的相关特别债务
private String aedat; // 更新日期
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 客户主记录销售数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Knvv implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String kunnr; // 产品组
private String vkorg; // 销售组织
private String vtweg; // 分销渠道
private String spart; // 产品组
private String waers; // 货币
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 条件(事务数据)
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Konv implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String knumv; // 单据条件数
private String kposn; // 条件项目号
private String stunr; // 步骤编号
private String zaehk; // 条件计数器
private String kntyp; // 条件类别( 例如: 税,货运,价格,成本 )
private BigDecimal kbetr; // 价格( 条件金额或百分数 ) 11 2
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* SD凭证:交货抬头数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Likp implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 交货
/* === 组合键 === */
private String mandt; // 集团
// private String vbeln; // 交货
/* === 组合键 === */
private String erdat ; // 创建日期
private String wadat_ist; // 实际货物移动日期
private String ctlpc ; // 风险类型
private String kunnr ; // 送达方
private Date erdat1 ; // 创建日期
private Date wadat_ist1; // 实际货物移动日期
private String aedat; // 更新日期
private String lfuhr; // 交货时间
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") // 页面写入数据库时格式化
@JSONField(format="yyyy-MM-dd HH:mm:ss") // 数据库导出页面时json格式化
private Date wadat_ist2lfuhr; // 交货时间
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* SD凭证:交货:项目数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Lips implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 交货
private String posnr; // 交货项目
private String vgbel; // 参考单据的单据编号
private String vgpos; // 参考项目的项目号
/* === 组合键 === */
private String mandt; // 集团
// private String vbeln; // 交货
// private String posnr; // 交货项目
/* === 组合键 === */
private String matnr; // 物料
private String matkl; // 物料组
private String arktx; // 物料描述
private String werks; // 工厂
private String lgort; // 库存地点
private String charg; // 批次
private BigDecimal lfimg; // 基本计量单位
private Object uebto; // 过量交货限度
private Object untto; // 交货不足限度
private String erdat; // 记录的创建日期
private String erzet; // 输入时间
private Date erdat1; // 记录的创建日期
private Date erdat2; // 记录的创建日期
private String aedat; // 更新日期
private Vbap vbap;
private VbapAdv vbapAdv;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 物料描述
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Makt implements Serializable {
private static final long serialVersionUID = 1L;
private String matnr; // 物料号
/* === 组合键 === */
private String mandt; // 集团
// private String matnr; // 物料号
private String spras; // 语言代码
/* === 组合键 === */
private String maktx; // 物料描述(短文本)
private String maktxSize; // 物料尺寸
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 常规物料数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Mara implements Serializable {
private static final long serialVersionUID = 1L;
private String matnr; // 物料号
/* === 组合键 === */
private String mandt; // 集团
// private String matnr; // 物料号
/* === 组合键 === */
private String ersda; // 创建日期
private String ernam; // 创建对象的人员名称
private String laeda; // 上次更改的日期
private String aenam; // 对象更改人员的名称
private String vpsta; // 维护全部物料状态
private String pstat; // 维护状态
private String mtart; // 物料类型
private String mbrsh; // 行业领域
private String matkl; // 物料组
private String bismt; // UL号
private String meins; // 基本计量单位
private String bstme; // 采购订单的计量单位
private String wrkst; // 基本物料
private String brgew; // 毛重
private String ntgew; // 净重
private String gewei; // 重量单位
private String spart; // 产品组
private String kzkfg; // 可配置的物料
private String extwg; // 外部物料组
private String cuobf; // 内部对象号
private Date ersda1; // 创建日期
private Date laeda1; // 上次更改的日期
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售订单库存
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Mska implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 销售和分销凭证号
private String posnr; // 销售和分销凭证的项目号
/* === 组合键 === */
private String mandt; // 集团
private String matnr; // 物料号
private String werks; // 工厂
private String lgort; // 库存地点
private String charg; // 批号
private String sobkz; // 特殊库存标识
// private String vbeln; // 销售和分销凭证号
// private String posnr; // 销售和分销凭证的项目号
/* === 组合键 === */
private String kaspe; // 冻结的库存
private String kalab; // 非限制使用的估价的库存
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* HR 主记录: 信息类型 0002 (人员数据)
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Pa0002 implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String pernr; // 人员号
private String subty;
private String objps;
private String sprps;
private String endda; // 结束日期
private String begda;
private String seqnr;
private String nachn; // 姓
private String vorna; // 名
private String yeWuYMC; // 业务员名称
private Date endda1; // 结束日期
private Long rowids; // sap那边的rowid
private String aedtm; // 更新日期
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 未清订单信贷管理
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class S066 implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String ssour; // 原始统计
private String vrsio; // 信息结构中的版本号
private String kkber; // 贷方控制范围
private String knkli; // 带有贷方限额参考的客户帐户号
private BigDecimal spmon; // 分析期间 - 月
private Date sptag; // 分析期间 - 当前日期,转换目标
private BigDecimal spwoc; // 分析期 - 星期
private BigDecimal spbup; // 分析期 - 记帐日期
private BigDecimal oeikw; // 未清销售订单信贷值( 细目 )
private String sptags; // 分析期间 - 当前日期,源数据
private String spwocs;
private String spbups;
private String spmons; // 分析期间 - 月
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 未清交货/发票凭证(KM)
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class S067 implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String ssour; // 原始统计
private String vrsio; // 信息结构中的版本号
private String kkber; // 贷方控制范围
private String knkli; // 带有贷方限额参考的客户帐户号
private BigDecimal spmon; // 分析期间 - 月
private Date sptag; // 分析期间 - 当前日期,转换目标
private BigDecimal spwoc; // 分析期 - 星期
private BigDecimal spbup; // 分析期 - 记帐日期
private BigDecimal olikw; // 未清交货信贷值
private BigDecimal ofakw; // 未清出具发票凭证信贷值
private String sptags; // 分析期间 - 当前日期,源数据
private String spwocs;
private String spbups;
private String spmons; // 分析期间 - 月
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 工厂/分支机构
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class T001w implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String werks; // 工厂
private String name1; // 名称
private String bwkey; // 评估范围
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 物料组描述
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class T023t implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String spras; // 语言代码
private String matkl; // 物料组
private String wgbez; // 物料组描述
private String wgbez60; // 长文本描述物料组
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 机构单位:销售办公室:文本
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Tvkbt implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String spras; // 语言代码
private String vkbur; // 销售部门
private String bezei; // 描述
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售凭证:抬头数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Vbak implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 销售凭证
/* === 组合键 === */
private String mandt; // 集团
// private String vbeln; // 销售凭证
/* === 组合键 === */
private String vbtyp ; // 订单类型
private String audat ; // 创建日期
private String waerk ; // 币种
private String kalsm ; // 定价过程
private String ctlpc ; // 信用额度风险类别
private String kunnr ; // 售达方编号
private String bukrs_vf ; // 供货方编号
private String bstnk ; // 采购订单编号
private String bname ; // 内部合同编号
private String telf1 ; // 售达方联系电话
private BigDecimal netwr ; // 净价值
private String vkbur ; // 销售部门
private String knumv; // 单据条件数
private Date audat1 ; // 创建日期
private String vkorg; // 销售组织
private String vtweg; // 分销渠道
private String kkber; // 贷方控制范围
private String auart; // 销售凭证类型
private String aedat; // 更新日期
private String erdat; // 输入日期
private String erzet; // 输入日期
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") // 页面写入数据库时格式化
@JSONField(format="yyyy-MM-dd HH:mm:ss") // 数据库导出页面时json格式化
private Date erdat2erzet; // 输入日期
private String pernr; // 人员编码
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售凭证:项目数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Vbap implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 销售凭证
private String posnr; // 销售凭证项目
private String matnr; // 物料号
/* === 组合键 === */
private String mandt; // 集团
// private String vbeln; // 销售凭证
// private String posnr; // 销售凭证项目
/* === 组合键 === */
private String matkl ; // 物料组
private String spart ; // 产品组
private BigDecimal kwmeng ; // 数量
private BigDecimal netwr ; // 总净价值
private BigDecimal mwsbp ; // 总税额
private String waerk ; // 币种
private String vrkme ; // 销售单位
private String abgru ; // 拒绝原因
private Object uebto ; // 过量交货限度
private Object untto ; // 交货不足限度
private String werks ; // 工厂(自有或外部)
private String vstel ; // 装运点/接收点
private String mvgr1 ; // 产品等级
private String plavo ; // 计划交货计划指令
private String mvgr4 ; // 应用领域
private String mvgr5 ; // 承诺交期
private String ulxh ; // 客户订单项次
private String zma_ftb_02 ; // 覆铜板-颜色
private String zma_ftb_03 ; // 覆铜板-厚度
private String zma_ftb_45 ; // 覆铜板-膜类型
private String zma_ftb_06 ; // 覆铜板-公差
private String zma_ftb_07 ; // 覆铜板-标记
private String zma_ftb_08 ; // 覆铜板-尺寸
private String zma_jyb_02 ; // 绝缘板-颜色
private String zma_jyb_03 ; // 绝缘板-厚度
private String zma_jyb_45 ; // 绝缘板-膜类型
private String zma_jyb_06 ; // 绝缘板-公差
private String zma_jyb_07 ; // 绝缘板-尺寸
private String zma_ljb_03 ; // 铝基板-导热系数
private String zma_ljb_04 ; // 铝基板-绝缘层厚度
private String zma_ljb_06 ; // 铝基板-铝板型号
private String zma_ljb_07 ; // 铝基板-处理工艺
private String zma_ljb_08 ; // 铝基板-膜类型
private String zma_ljb_11 ; // 铝基板-基板厚度
private String zma_ljb_12 ; // 铝基板-公差
private String zma_ljb_13 ; // 铝基板-尺寸
private String zma_yhbg_02 ; // 用户半固化片胶系
private String zma_yhbg_04 ; // 用户半固化片-布型
private String zma_yhbg_05 ; // 用户半固化片-含量
private String zma_yhbg_06 ; // 用户半固化片-幅宽
private String tbpz ; // 铜箔Copper
private String ws ; // 导热系数T.C
private String cu_maktx ; // 客户物料描述
private String cu_pcdst ; // 客户标签尺寸
private String ztype ; // (标签信息)TYPE
private String barcode ; // 条形码
private String gdno ; // 工单号
private String lh ; // 铝厚
private String dgxx ; // 叠构信息
private String zklx ; // 钻孔类型
private BigDecimal netpr; // 净价
private String erdat; // 创建日期
private String erzet; // 创建时间
private Date erdat1; // 转换 erdat 创建日期yyyy-MM-dd
private Date erdat2; // 转换 erdat 创建日期yyyy-MM-dd hh:mm:ss
private String aedat;
private String pernr; // 人员编码
private Long rowids; // sap那边的rowid
private VbapAdv vbapAdv;
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class VbapAdv implements Serializable {
private static final long serialVersionUID = 1L;
// vbap
private String vbeln; // 销售凭证
private String posnr; // 销售凭证项目
private String matnr; // 物料号
private String mandt; // 集团
private String matkl ; // 物料组
private String spart ; // 产品组
private BigDecimal kwmeng ; // 数量
private BigDecimal netwr ; // 总净价值
private BigDecimal mwsbp ; // 总税额
private String waerk ; // 币种
private String vrkme ; // 销售单位
private String abgru ; // 拒绝原因
private Object uebto ; // 过量交货限度
private Object untto ; // 交货不足限度
private String werks ; // 工厂(自有或外部)
private String vstel ; // 装运点/接收点
private String mvgr1 ; // 产品等级
private String plavo ; // 计划交货计划指令
private String mvgr4 ; // 应用领域
private String mvgr5 ; // 承诺交期
private String ulxh ; // 客户订单项次
private String zma_ftb_02 ; // 覆铜板-颜色
private String zma_ftb_03 ; // 覆铜板-厚度
private String zma_ftb_45 ; // 覆铜板-膜类型
private String zma_ftb_06 ; // 覆铜板-公差
private String zma_ftb_07 ; // 覆铜板-标记
private String zma_ftb_08 ; // 覆铜板-尺寸
private String zma_jyb_02 ; // 绝缘板-颜色
private String zma_jyb_03 ; // 绝缘板-厚度
private String zma_jyb_45 ; // 绝缘板-膜类型
private String zma_jyb_06 ; // 绝缘板-公差
private String zma_jyb_07 ; // 绝缘板-尺寸
private String zma_ljb_03 ; // 铝基板-导热系数
private String zma_ljb_04 ; // 铝基板-绝缘层厚度
private String zma_ljb_06 ; // 铝基板-铝板型号
private String zma_ljb_07 ; // 铝基板-处理工艺
private String zma_ljb_08 ; // 铝基板-膜类型
private String zma_ljb_11 ; // 铝基板-基板厚度
private String zma_ljb_12 ; // 铝基板-公差
private String zma_ljb_13 ; // 铝基板-尺寸
private String zma_yhbg_02 ; // 用户半固化片胶系
private String zma_yhbg_04 ; // 用户半固化片-布型
private String zma_yhbg_05 ; // 用户半固化片-含量
private String zma_yhbg_06 ; // 用户半固化片-幅宽
private String tbpz ; // 铜箔Copper
private String ws ; // 导热系数T.C
private String cu_maktx ; // 客户物料描述
private String cu_pcdst ; // 客户标签尺寸
private String ztype ; // (标签信息)TYPE
private String barcode ; // 条形码
private String gdno ; // 工单号
private String lh ; // 铝厚
private String dgxx ; // 叠构信息
private String zklx ; // 钻孔类型
private BigDecimal netpr; // 净价
private String erdat; // 创建日期
private String erzet; // 创建时间
private Date erdat1; // 转换 erdat 创建日期yyyy-MM-dd
private Date erdat2; // 转换 erdat 创建日期yyyy-MM-dd hh:mm:ss
private String pernr; // 人员编码
// aufk
private String aufk_kdauf; // 销售订单数
private String aufk_kdpos; // 销售订单中的项目编号
private String aufk_mandt; // 集团
private String aufk_aufnr; // 订单号
private String aufk_erdat; // 创建日期
private String aufk_erfzeit; // 创建时间
private String aufk_ernam; // 输入者
private String aufk_aenam; // 最后更改人
private String aufk_bukrs; // 公司代码
private Date aufk_erdat1; // 转换 erdat 创建日期yyyy-MM-dd
private Date aufk_erdat2; // 转换 erdat 创建日期yyyy-MM-dd hh:mm:ss
private String aedat;
// SalesContractProcess
private String scp_id;
private String scp_xiaoShouDDBH; // 销售单号
private String scp_xuFangGSID ; // 客户编号
private String scp_xuFangGS ; // 客户名称
private String scp_gongFangGSt ; // 供方公司
private String scp_xiaoShouBMt ; // 销售部门
private String scp_shouHuoGSID ; // 收货方编号
private String scp_shouHuoGS ; // 收货方名称
private String scp_fuKuanTJt ; // 付款条件
private String scp_caiGouDDBH ; // 采购订单编号
private String scp_dangQianXYED ; // 当前信用额度
private String scp_yvQiK ; // 逾期款
private String scp_dengJi ; // 产品等级
private String scp_biZhongt ; // 币种
private String scp_yongJin ; // 佣金
private String scp_zongHeMLL ; // 合同综合预测毛利率
private String scp_sysProcessname ; // 流程名称
private Integer scp_sysIncident ; // 流程编号
private String scp_ziShiYBv ;
// mara
private String mara_matnr; // 物料号
private String mara_mandt; // 集团
private String mara_ersda; // 创建日期
private String mara_ernam; // 创建对象的人员名称
private String mara_laeda; // 上次更改的日期
private String mara_aenam; // 对象更改人员的名称
private String mara_vpsta; // 维护全部物料状态
private String mara_pstat; // 维护状态
private String mara_mtart; // 物料类型
private String mara_mbrsh; // 行业领域
private String mara_matkl; // 物料组
private String mara_bismt; // UL号
private String mara_meins; // 基本计量单位
private String mara_bstme; // 采购订单的计量单位
private String mara_wrkst; // 基本物料
private String mara_brgew; // 毛重
private String mara_ntgew; // 净重
private String mara_gewei; // 重量单位
private String mara_spart; // 产品组
private String mara_kzkfg; // 可配置的物料
private String mara_extwg; // 外部物料组
private String mara_cuobf; // 内部对象号
private Date mara_ersda1; // 创建日期
private Date mara_laeda1; // 上次更改的日期
// makt
private String makt_matnr; // 物料号
private String makt_mandt; // 集团
private String makt_spras; // 语言代码
private String makt_maktx; // 物料描述(短文本)
private String makt_maktxSize; // 物料描述(短文本)
// zsd06
private String zsd06_vbeln; // 销售和分销凭证号
private String zsd06_posnr; // 销售和分销凭证的项目号
private String zsd06_mandt; // 集团
private String zsd06_datum ; // 计划承诺交期日
private String zsd06_uname ; // 用户名
private String zsd06_crt_uname ; // 创建者
private String zsd06_crt_datum ; // 创建日期
private String zsd06_crt_time ; // 创建时间
private String zsd06_cha_name ; // 最后修改人
private String zsd06_cha_datum ; // 最后修改日期
private String zsd06_cha_time ; // 上次修改时间
private Date zsd06_datum1 ; // 计划承诺交期日
private Date zsd06_crt_datum1 ; // 创建日期
private Date zsd06_cha_datum1 ; // 最后修改日期
// vbak
private String vbak_vbeln; // 销售凭证
private String vbak_mandt; // 集团
private String vbak_vbtyp ; // 订单类型
private String vbak_audat ; // 创建日期
private String vbak_waerk ; // 币种
private String vbak_kalsm ; // 定价过程
private String vbak_ctlpc ; // 信用额度风险类别
private String vbak_kunnr ; // 售达方编号
private String vbak_bukrs_vf ; // 供货方编号
private String vbak_bstnk ; // 采购订单编号
private String vbak_bname ; // 内部合同编号
private String vbak_telf1 ; // 售达方联系电话
private BigDecimal vbak_netwr ; // 净价值
private String vbak_vkbur ; // 销售部门
private String vbak_knumv; // 单据条件数
private Date vbak_audat1 ; // 创建日期
private String vbak_vkorg; // 销售组织
private String vbak_vtweg; // 分销渠道
private String vbak_kkber; // 贷方控制范围
private String vbak_auart; // 销售凭证类型
// likp
private String likp_vbeln; // 交货
private String likp_mandt; // 集团
private String likp_erdat ; // 创建日期
private String likp_wadat_ist; // 实际货物移动日期
private String likp_ctlpc ; // 风险类型
private String likp_kunnr ; // 送达方
private Date likp_erdat1 ; // 创建日期
private Date likp_wadat_ist1; // 实际货物移动日期
// handover
private String handover_vbeln; // 交货单号
private String handover_task_id; // 交货单号
private String handover_handover_id; // 交货单Id
private Integer handover_handover_type ; // 交货单类型(1-内销 2-外销 3-厂间调拨)
private Integer handover_order_type ; // 订单类型(1-成品、2-半成品、3-原材料)
private String handover_task_no ; // 送货单号
private String handover_sale_no ; // 销售单号
private Integer handover_delivery_type ; // 发货方式 (1-货代 2-物流)
private Integer handover_handover_state ; // 发货状态(未备货、开始备货、完成备货、已发货、已签收)
private String handover_f_plant ; // 发货地
private String handover_plant ; // 生产地(场内调拨的目的地)
private Integer handover_customer_id ; // 客户id
private String handover_customer_name ; // 客户名称
private Integer handover_fmenge ; // 发货指令数量
private Integer handover_delivery_num ; // 实际发货数量
private Integer handover_port ; // 目的港口
private Integer handover_piect_total ; // 件数合计
private BigDecimal handover_total_net_weight ; // 净重合计
private BigDecimal handover_weight_total ; // 重量合计
private BigDecimal handover_settlement_weight ; // 结算重量
private Integer handover_weight_state ; // 计重审核状态(1-已审核 2-未审核)
private String handover_vrkme ; // 单位
private BigDecimal handover_average_freight ; // 均摊运费
private String handover_order_remark ; // 订单备注
private Date handover_delivery_time ; // 交货指令时间(发货指令日期)
private Date handover_erdat ; // 订单创建时间
private Date handover_plan_product_time ; // 生产计划时间
private Date handover_open_ready_time ; // 开始备货时间
private Date handover_already_ready_time ; // 完成备货时间
private Date handover_appearance_time ; // 扫码发货时间
private Date handover_sign_time ; // 客户签收时间
private Date handover_edatu ; // 计划承诺交期
private String handover_area_no ; // 所属区域编号
private String handover_area_name ; // 所属区域名称
private Date handover_fmenge_time ; // 发货指令时间
private String handover_klabc ; // 客户等级
private String handover_sales_man ; // 业务员名称
private String handover_sales_department ; // 销售部门描述
private Integer handover_is_valid ; // 是否有效
private String handover_created_user_id ; // 创建人
private Date handover_created_time ; // 创建时间
private String handover_modified_user_id ; // 修改人
private Date handover_modified_time ; // 修改时间
private String handover_remark ; // 备注
private Integer handover_is_auto_created ; // 是否自动生成厂间调拨单:0否,1是
private String handover_delivery_state ; // A:未开始 C:完成(sap接口标识)
private Integer handover_operate_tag ; // 4-删除(sap接口标识)
private Integer handover_transport_time ; // 运输时效(单位 h)
private Integer handover_is_date_success ; // 日期是否达交 1是 0否
private Integer handover_is_num_success ; // 数量是否达交 1是 0否
private Integer handover_is_sign_success ; // 签收是否达交 1是 0否
private BigDecimal handover_weighing_weight ; // 称重重量
private Date handover_delivery_issued_time ; // 发货指令下达时间
// SysSAPreturnNo
private Integer ssspn_id;
private String ssspn_processName; // 流程名称
private Integer ssspn_shiLiH; // 流程编号
private String ssspn_sapNo; // 销售订单号
private Date ssspn_chuangJianSJ; // 创建时间
// Zmdpc
private String zmdpc_mandt; // 集团
private String zmdpc_vbeln; // 销售和分销凭证号
private String zmdpc_posnr; // 销售和分销凭证的项目号
private String zmdpc_f_plant; // 发货地
private String zmdpc_plant; // 生产地
private String zmdpc_x_plant; // 单一字符标识
// Vbpa
private String vbpa_mandt; // 集团
private String vbpa_vbeln; // 销售和分销凭证号
private String vbpa_posnr; // 销售和分销凭证的项目号
private String vbpa_parvw; // 合作伙伴功能
private String vbpa_pernr; // 人员编号
// kna1
private String kna1_kunnr; // 客户编号
private String kna1_name1; // 名称1
private String kna1_name2; // 名称2
private String kna1_mandt;
// t023t
private String t023t_mandt; // 集团
private String t023t_spras; // 语言代码
private String t023t_matkl; // 物料组
private String t023t_wgbez; // 物料组描述
private String t023t_wgbez60; // 长文本描述物料组
// =========== 统计字段
private Date kpsj; // vbrk fkdat1 max
private BigDecimal htsl; // Vbap kwmeng sum 自身对象
private Date pssj; // Vbap erdat1 max 自身对象
private Date jhsj; // vbep edatu1 max
private Date pcsj; // aufk erdat1 max 一对一
private Date rksj; // aufm budat1 max
private Date ccsj; // handover already_ready_time max 一对一
private BigDecimal pcsl; // Afpo pc(psmng) sum
private BigDecimal rksl; // Afpo rk(wemng) sum
private BigDecimal jhsl; // vbep bmeng sum
private BigDecimal ccsl; // Lips lfimg sum
private BigDecimal kpsl; // vbrp fkimg sum
private Date wlsj; // handover sign_time max 一对一
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售凭证:计划行数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Vbep implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 销售凭证:销售订单号
private String posnr; // 销售凭证:行项目号
private String edatu; // 计划交货日期
private String ettyp; // 计划行类别
private BigDecimal wmeng; // 订单数量
private BigDecimal bmeng; // 确认数量
private Date edatu1; // 计划交货日期
private String mandt; // 集团
private String etenr; // 交货计划行号
private Vbap vbap;
private VbapAdv vbapAdv;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售凭证 : 合作伙伴
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Vbpa implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String vbeln; // 销售和分销凭证号
private String posnr; // 销售和分销凭证的项目号
private String parvw; // 合作伙伴功能
private String pernr; // 人员编号
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 发票抬头
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Vbrk implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln ; // 发票编号
private String fkart ; // 发票类型
private String waerk ; // 币种
private String erdat ; // 凭证创建日期
private String erzet ; // 凭证创建时间
private String zterm ; // 付款条件
private String kunrg ; // 付款方
private String bstnk_vf ; // 采购订单编号
private String zbillty ; // 金税发票类型
private String zbz01 ; // 开票备注
private String zbz02 ; // 开票说明(财务)
private String zdc_flg ; // 是否开折扣
private String bukrs ; // 公司代码
private String ktgrd ; // 客户分配账户组别
private String fkdat ; // 出具发票日期
private String inco1 ; // 国际贸易条款 (部分1)
private String inco2 ; // 国际贸易条件(部分2)
private BigDecimal netwr ; // 净价值15,2
private BigDecimal mwsbk ; // 税额13,2
private Date erdat1; // 转换 erdat 创建日期yyyy-MM-dd
private Date erdat2; // 转换 erdat 创建日期yyyy-MM-dd hh:mm:ss
private Date fkdat1; // 转换 fkdat 创建日期yyyy-MM-dd
private String mandt; // 集团
private String aedat; // 更新日期
private Vbap vbap;
private VbapAdv vbapAdv;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 发票行项目
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Vbrp implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln ; // 开票凭证
private String posnr ; // 出具发票项目
private BigDecimal fkimg ; // 实际已开票数量
private String meins ; // 基本计量单位
private String vgbel ; // 参考单据的单据编号
private String vgpos ; // 参考项目的项目号
private String aubel ; // 销售凭证
private String aupos ; // 销售凭证项目
private String matnr ; // 物料号
private String arktx ; // 销售订单项目短文本
private String matkl ; // 物料组
private String spart ; // 产品组
private String zarktx_js; // 开票品名
private BigDecimal zfkimg_js; // 金税开票数量
private String zvrkme_js; // 金税开票单位
private String mandt; // 集团
private BigDecimal netwr; // 出具发票项目的凭证货币净值15 2
private BigDecimal mwsbp; // 凭证货币税额13 2
private Vbap vbap;
private VbapAdv vbapAdv;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售凭证:抬头状态和管理数据
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Vbuk implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 销售和分销凭证号
private String wbstk; // 货物移动状态总计
private String kostk; // 拣配状态
private String mandt; // 集团
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售订单生产地对照表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Zmdpc implements Serializable {
private static final long serialVersionUID = 1L;
private String mandt; // 集团
private String vbeln; // 销售和分销凭证号
private String posnr; // 销售和分销凭证的项目号
private String f_plant; // 发货地
private String plant; // 生产地
private String x_plant; // 单一字符标识
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 承诺交期日
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Zsd06 implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 销售和分销凭证号
private String posnr; // 销售和分销凭证的项目号
/* === 组合键 === */
private String mandt; // 集团
// private String vbeln; // 销售和分销凭证号
// private String posnr; // 销售和分销凭证的项目号
/* === 组合键 === */
private String datum ; // 计划承诺交期日
private String uname ; // 用户名
// private String include ; // 用户创建/更改信息,hana中找不到的字段
private String crt_uname ; // 创建者
private String crt_datum ; // 创建日期
private String crt_time ; // 创建时间
private String cha_name ; // 最后修改人
private String cha_datum ; // 最后修改日期
private String cha_time ; // 上次修改时间
private Date datum1 ; // 计划承诺交期日
private Date crt_datum1 ; // 创建日期
private Date cha_datum1 ; // 最后修改日期
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 交货单发货指令信息表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Zsdfhzl implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 销售和分销凭证号
private String posnr; // 销售和分销凭证的项目号
/* === 组合键 === */
private String mandt; // 集团
// private String vbeln; // 销售和分销凭证号
// private String posnr; // 销售和分销凭证的项目号
/* === 组合键 === */
private String vgbel; // 参考单据的单据编号
private String vgpos; // 参考项目的项目号
private String uname ; // 下达发货指令人
private String matnr ; // 物料编号
private BigDecimal fmenge ; // 发货指令数量
private String cdate ; // 创建发货指令时间
private String ctime ; // 创建发货指令时间
private String fh_date ; // 计划发货(发货指令)时间
private String werks ; // 计划发货工厂
private Date cdate1 ; // 创建发货指令时间
private Date fh_date1 ; // 计划发货(发货指令)时间
private String cha_datum; // 更新日期
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.mapper;
import java.util.List;
import com.huazheng.project.mssql.model.SalesContractProcess;
import com.huazheng.project.mssql.model.SalesContractProcessMX;
import com.huazheng.project.mssql.model.SalesForecastProcess;
import com.huazheng.project.mssql.model.SalesForecastProcessMX;
import com.huazheng.project.mssql.model.SampleApplicationProcess;
import com.huazheng.project.mssql.model.SampleApplicationProcessMingXi;
import com.huazheng.project.mssql.model.SampleClosingProcess;
import com.huazheng.project.mssql.model.SampleClosingProcessMingXi;
public interface CrmMapper {
public List<SalesContractProcess> selectSalesContractProcessNew(SalesContractProcess scp);
public List<SalesForecastProcess> selectSalesForecastProcessNew(SalesForecastProcess sfp);
public List<SampleApplicationProcess> selectSampleApplicationProcessNew(SampleApplicationProcess scp);
public List<SampleApplicationProcessMingXi> selectSampleApplicationProcessMingXiNew(SampleApplicationProcessMingXi scp);
public List<SampleClosingProcess> selectSampleClosingProcessNew(SampleClosingProcess scp);
public List<SampleClosingProcessMingXi> selectSampleClosingProcessMingXiNew(SampleClosingProcessMingXi scp);
public List<SalesContractProcessMX> selectSalesContractProcessMX(SalesContractProcess scp);
public List<SalesForecastProcessMX> selectSalesForecastProcessMX(SalesForecastProcess scp);
public SalesContractProcess selectSalesContractProcessById(SalesContractProcess target);
public SalesContractProcessMX selectSalesContractProcessMXById(SalesContractProcessMX target);
public SalesForecastProcess selectSalesForecastProcessById(SalesForecastProcess target);
public SalesForecastProcessMX selectSalesForecastProcessMXById(SalesForecastProcessMX target);
public SampleApplicationProcess selectSampleApplicationProcessById(SampleApplicationProcess target);
public SampleApplicationProcessMingXi selectSampleApplicationProcessMingXiById(SampleApplicationProcessMingXi target);
public SampleClosingProcess selectSampleClosingProcessById(SampleClosingProcess target);
public SampleClosingProcessMingXi selectSampleClosingProcessMingXiById(SampleClosingProcessMingXi target);
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import com.huazheng.project.hana.model.Vbap;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售合同流程
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SalesContractProcess implements Serializable {
private static final long serialVersionUID = 1L;
/* === 主键 === */
private String id;
/* === 主键 === */
private String xiaoShouDDBH; // 销售单号
private String xuFangGSID ; // 客户编号
private String xuFangGS ; // 客户名称
private String gongFangGSt ; // 供方公司
private String xiaoShouBMt ; // 销售部门
private String shouHuoGSID ; // 收货方编号
private String shouHuoGS ; // 收货方名称
private String fuKuanTJt ; // 付款条件
private String caiGouDDBH ; // 采购订单编号
private String dangQianXYED ; // 当前信用额度
private String yvQiK ; // 逾期款
private String dengJi ; // 产品等级
private String biZhongt ; // 币种
private String yongJin ; // 佣金
private String zongHeMLL ; // 合同综合预测毛利率
private String sysProcessname ; // 流程名称
private Integer sysIncident ; // 流程编号
private String ziShiYBv;
private Vbap vbap;
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import com.huazheng.project.hana.model.Vbap;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售合同流程MX
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SalesContractProcessMX implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private Object chengben; // 由于sqlserver那边是文本类型,实际要保存为数字类型,此处用object
private Integer sysIncident; // 流程编号
private String zongjia; // 销售值
private String maolibz; // 预测毛利
private Vbap vbap;
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售预测流程
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SalesForecastProcess implements Serializable {
private static final long serialVersionUID = 1L;
private String id; // 主键
private String shenQingR; // 申请人
private Integer sysIncstatus; // 状态
private String shenQingRBM ; // 部门
private String yuCeLXt ; // 预测类型
private String sysProcessname; // 流程名称
private Integer sysIncident; // 流程编号
private String kaiShiSJs; // 开始时间,源数据
private String jieShuSJs; // 结束时间,源数据
private Date kaiShiSJ; // 开始时间,转换目标数据
private Date jieShuSJ; // 结束时间,转换目标数据
private String shenQingRLN; // 申请人编号
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 销售预测流程MX
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SalesForecastProcessMX implements Serializable {
private static final long serialVersionUID = 1L;
private String id; // 主键
private String wuLiaoH ; // 物料号
private String wuLiaoMS ; // 物料描述
private String keHuMC ; // 客户
private String jiHuaJDL ; // 计划接单量
private String mingXiMingC ; // 明细名称
private Integer sysIncident ; // 流程编号
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 样品申请流程
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SampleApplicationProcess implements Serializable {
private static final long serialVersionUID = 1L;
private String id ; // 主键
private String dingDanLXv ; // 销售类别(数字值)
private String dingDanLXt ; // 销售类别(文本值)
private Integer sYS_INCIDENT ; // 流程编号
private String yeWuYID ; // 业务员ID
private String xuFangGS ; // 客户名称
private String xuFangGSID ; // 客户ID
private String yangPinLXv ; // 重要性(数字值)
private String yangPinLXt ; // 重要性(文本值)
private String pCBCS ; // 重要样品用途
private String chanPinYY ; //
private String jiFuBZ ; // 特殊要求
private Date sYS_UPDATETIME; // 接单时间
private String pCBCS2chanPinYY;
private String ziSHiYBv; // 子事业部
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 样品申请流程明细
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SampleApplicationProcessMingXi implements Serializable {
private static final long serialVersionUID = 1L;
private String id ; // 主键
private String sYS_INCIDENT; // 流程编号
private String uLPH ; // 牌号
private String wuLiaoMS ; // 规格
private String shuLiang ; // 数量
private String hangXiangMH; // 航向MH
private String hangxiangmh1; // 行项目号
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 样品结案流程
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SampleClosingProcess implements Serializable {
private static final long serialVersionUID = 1L;
private String id ; // 主键
private Integer sYS_INCIDENT ; // 流程编号
private String yangPinSQSLH ; // 样品申请实例号
private Integer yangPinSQSLHi; // 不从源库种读取,处理过程中转换
private Integer sYS_INCSTATUS;
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 样品结案流程明细
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SampleClosingProcessMingXi implements Serializable {
private static final long serialVersionUID = 1L;
private String id ; // 主键
private Integer sYS_INCIDENT; // 流程编号
private String shiFouTGv ; // 样品结果(数字值)
private String shiFouTGt ; // 样品结果(文本值)
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql2.mapper;
import java.util.List;
import com.huazheng.project.mssql2.model.SysSAPreturnNo;
import com.huazheng.project.mssql2.model.TKeHu;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZ;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZYeWuY;
import com.huazheng.project.mssql2.model.TWuLiaoDB;
public interface HzcrmMapper {
public List<TKeHuXiaoShouZZYeWuY> selectTKeHuXiaoShouZZYeWuYNew(TKeHuXiaoShouZZYeWuY tkeHuXiaoShouZZYeWuY);
public List<TKeHu> selectTKeHuNew(TKeHu tkeHu);
public List<SysSAPreturnNo> selectSysSAPreturnNoNew(SysSAPreturnNo sysSAPreturnNo);
public List<TKeHuXiaoShouZZ> selectTKeHuXiaoShouZZ(TKeHu tkeHu);
public List<TKeHuXiaoShouZZYeWuY> selectTKeHuXiaoShouZZYeWuY(TKeHu tkeHu);
public List<TWuLiaoDB> selectTWuLiaoDB(TKeHu tkeHu);
public SysSAPreturnNo selectSysSAPreturnNoById(SysSAPreturnNo target);
public TKeHu selectTKeHuById(TKeHu target);
public TKeHuXiaoShouZZ selectTKeHuXiaoShouZZById(TKeHuXiaoShouZZ target);
public TKeHuXiaoShouZZYeWuY selectTKeHuXiaoShouZZYeWuYById(TKeHuXiaoShouZZYeWuY target);
public TWuLiaoDB selectTWuLiaoDBById(TWuLiaoDB target);
}
package com.huazheng.project.mssql2.model;
import java.io.Serializable;
import java.util.Date;
import com.huazheng.project.hana.model.Vbap;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class SysSAPreturnNo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String processName; // 流程名称
private Integer shiLiH; // 流程编号
private String sapNo; // 销售订单号
private Date chuangJianSJ; // 创建时间
private Vbap vbap;
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql2.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class TKeHu implements Serializable {
private static final long serialVersionUID = 1L;
private String keHuID; // 客户ID主键
private String keHuCode; // 客户编码
private String keHuMC; // 客户名称
private Long xinBaoED; // 中信保批复额度
private String diQu; // 地区
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql2.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class TKeHuXiaoShouZZ implements Serializable {
private static final long serialVersionUID = 1L;
private String id; // 主键
private String keHuID; // 客户ID
private String fuKuanTJ; // 账期
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql2.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class TKeHuXiaoShouZZYeWuY implements Serializable {
private static final long serialVersionUID = 1L;
private String id; // 主键
private String keHuID; // 客户ID
private String yeWuYMC; // 业务员
private String yeWuYLoginName; // 业务员编号
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql2.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 客户物料对照表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class TWuLiaoDB implements Serializable {
private static final long serialVersionUID = 1L;
private String id ; // ID
private String chuangJianRLN ; // 创建人ID
private String chuangJianR ; // 创建人名称
private Date chuangJianSJ ; // 创建时间
private String gengXinRLN ; // 更新人ID
private String gengXinR ; // 更新人名称
private Date gengXinSJ ; // 更新时间
private String shanChuRLN ; // 删除人ID
private String shanChuR ; // 删除人名称
private Date shanChuSJ ; // 删除时间
private String shiFouYSC ; // 是否已删除
private String keHuID ; // 客户ID T_wuliaoDB.KeHuID=T_KeHu.KeHuID
private String keHuMC ; // 客户名称
private String keHuWLMC ; // 客户物料名称
private String xiTongWLMC ; // 系统物料名称
private String xiTongWLBM ; // 系统物料编码
private String keHuWLBM ; // 客户物料编码
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql3.mapper;
import java.util.List;
import com.huazheng.project.mssql3.model.PersonComp;
public interface Cinderellaw2Mapper {
public List<PersonComp> selectPersonCompNew(PersonComp personComp);
public PersonComp selectPersonCompById(PersonComp target);
}
package com.huazheng.project.mssql3.model;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 人员对照
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class PersonComp implements Serializable {
private static final long serialVersionUID = 1L;
private String id; // 主键(非源表的主键)
private String uname; // 上级人员名称
private String uposnr; // 上级人员编码
private String dname; // 下级人员名称
private String dposnr; // 下级人员编码
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mssql4.mapper;
import java.util.List;
import com.huazheng.project.mssql4.model.Tasks;
public interface UltimusDBMapper {
public List<Tasks> selectTasksNew(Tasks tasks);
public Tasks selectTasksById(Tasks target);
}
package com.huazheng.project.mssql4.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Tasks implements Serializable {
private static final long serialVersionUID = 1L;
private String taskId; // 主键
private String processName; // 流程名字
private Integer incident; // 流程号
private Date startTime; // 审核时间
private Integer taskUser; // 人员
private Long rowids; // sap那边的rowid
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mysql.mapper;
import java.util.List;
import com.huazheng.project.mysql.model.Handover;
import com.huazheng.project.mysql.model.HandoverTask;
import com.huazheng.project.mysql.model.TransformHistoryNode;
import com.huazheng.project.mysql.model.TransformNewNode;
public interface TmsMapper {
public List<TransformHistoryNode> selectTransformHistoryNodeNew(TransformHistoryNode thn);
public List<HandoverTask> selectHandoverTaskNew(HandoverTask handoverTask);
public List<TransformNewNode> selectTransformNewNodeNew(TransformNewNode tnn);
public List<Handover> selectHandoverNew(Handover handover);
public Handover selectHandoverById(Handover target);
public HandoverTask selectHandoverTaskById(HandoverTask target);
public TransformNewNode selectTransformNewNodeById(TransformNewNode target);
public TransformHistoryNode selectTransformHistoryNodeById(TransformHistoryNode target);
}
package com.huazheng.project.mysql.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.huazheng.project.hana.model.Vbap;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 交货单主表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class Handover implements Serializable {
private static final long serialVersionUID = 1L;
private String vbeln; // 交货单号
private String task_id; // 交货单号
/* === 主键 === */
private String handover_id; // 交货单Id
/* === 主键 === */
private Integer handover_type ; // 交货单类型(1-内销 2-外销 3-厂间调拨)
private Integer order_type ; // 订单类型(1-成品、2-半成品、3-原材料)
private String task_no ; // 送货单号
private String sale_no ; // 销售单号
private Integer delivery_type ; // 发货方式 (1-货代 2-物流)
private Integer handover_state ; // 发货状态(未备货、开始备货、完成备货、已发货、已签收)
private String f_plant ; // 发货地
private String plant ; // 生产地(场内调拨的目的地)
private Integer customer_id ; // 客户id
private String customer_name ; // 客户名称
private Integer fmenge ; // 发货指令数量
private Integer delivery_num ; // 实际发货数量
private Integer port ; // 目的港口
private Integer piect_total ; // 件数合计
private BigDecimal total_net_weight ; // 净重合计
private BigDecimal weight_total ; // 重量合计
private BigDecimal settlement_weight ; // 结算重量
private Integer weight_state ; // 计重审核状态(1-已审核 2-未审核)
private String vrkme ; // 单位
private BigDecimal average_freight ; // 均摊运费
private String order_remark ; // 订单备注
private Date delivery_time ; // 交货指令时间(发货指令日期)
private Date erdat ; // 订单创建时间
private Date plan_product_time ; // 生产计划时间
private Date open_ready_time ; // 开始备货时间
private Date already_ready_time ; // 完成备货时间
private Date appearance_time ; // 扫码发货时间
private Date sign_time ; // 客户签收时间
private Date edatu ; // 计划承诺交期
private String area_no ; // 所属区域编号
private String area_name ; // 所属区域名称
private Date fmenge_time ; // 发货指令时间
private String klabc ; // 客户等级
private String sales_man ; // 业务员名称
private String sales_department ; // 销售部门描述
private Integer is_valid ; // 是否有效
private String created_user_id ; // 创建人
private Date created_time ; // 创建时间
private String modified_user_id ; // 修改人
private Date modified_time ; // 修改时间
private String remark ; // 备注
private Integer is_auto_created ; // 是否自动生成厂间调拨单:0否,1是
private String delivery_state ; // A:未开始 C:完成(sap接口标识)
private Integer operate_tag ; // 4-删除(sap接口标识)
private Integer transport_time ; // 运输时效(单位 h)
private Integer is_date_success ; // 日期是否达交 1是 0否
private Integer is_num_success ; // 数量是否达交 1是 0否
private Integer is_sign_success ; // 签收是否达交 1是 0否
private BigDecimal weighing_weight ; // 称重重量
private Date delivery_issued_time ; // 发货指令下达时间
private Vbap vbap;
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mysql.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 送货单(派车单)
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class HandoverTask implements Serializable {
private static final long serialVersionUID = 1L;
/* === 主键 === */
private String task_id ; // 送货单Id
/* === 主键 === */
private String task_no ; // 送货单号
private Integer task_type ; // 送货单类型
private Integer task_state ; // 送货单状态
private String f_plant ; // 发货地
private String plant ; // 生产地
private Integer customer_id ; // 客户id
private String customer_name ; // 客户名称
private String kunnr ; // 客户编码
private BigDecimal actual_handover_num ; // 实际发货数量合计
private Integer receipt_state ; // 回单审核状态
private Date receipt_time ; // 回单审核时间
private Integer cost_state ; // 费用状态
private Date cost_handle_time ; // 费用处理时间
private Integer handover_print_state ; // 送货交接单打印状态
private Date last_print_time ; // 最后一次打印时间
private Integer appearance_state ; // 出厂状态
private Date appearance_time ; // 出厂时间
private Integer company_id ; // 承运商Id
private String company_no ; // 承运商编码
private String company_name ; // 承运商名称
private BigDecimal netweight_count ; // 毛重合计
private BigDecimal weight_count ; // 结算重量合计
private Integer handover_direct_count; // 发货指令数量合计
private Integer transport_type ; // 运输类型(1-零担 2-直送
private Integer vehicle_type ; // 车辆类型( 1-普货 2-冷藏
private BigDecimal delivery_cost ; // 快送费用
private Date delivery_date ; // 发货日期
private Date sign_time ; // 签收时间
private String area_name ; // 区域名称
private Integer area_id ; // 区域ID
private Integer port ; // 港口
private Integer delivery_type ; // 发货方式(1货代2物流)
private Integer dispatch_type ; // 调拨方式
private Integer piece_count ; // 件数合计
private String remark ; // 备注
private Integer is_valid ; // 是否有效
private Integer created_user_id ; // 创建人
private Date created_time ; // 创建时间
private Integer modified_user_id ; // 修改人
private Date modified_time ; // 修改时间
private String receipt_remark ; // 审核备注
private Date s12; // 签收时间
private Date s21; // 扫码时间
private Date s24; // 出厂检验时间
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mysql.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 节点信息记录
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class TransformHistoryNode implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id; // 主键
private String task_no ; // 送货单号
private Date last_commit_time ; // 最后提交时间
private Integer second_node ; // 第二个节点
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
package com.huazheng.project.mysql.model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 节点信息最新表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Builder
public class TransformNewNode implements Serializable {
private static final long serialVersionUID = 1L;
private Integer task_id; // 交货单号
/* === 主键 === */
private Integer id; // 主键
/* === 主键 === */
private String task_no ; // 送货单号
private String vehicle_no ; // 车牌号
private Date last_commit_time ; // 最后提交时间
private Integer first_node ; // 第一个节点
private Integer second_node ; // 第二个节点
private String vehicle_type ; // 车辆类型
private String driver ; // 司机
private String driver_phone ; // 司机电话
private String location ; // 位置
private String exception_comment; // 异常备注
private Integer comit_type ; // 1网页0手机
private Integer exception_type ; // 异常类型
private String exception_picture; // 图片路径
private Integer is_valid ; // 是否有效
private BigDecimal lon ; // 经度
private BigDecimal lat ; // 维度
private Integer created_user_id ; // 创建人
private Date created_time ; // 创建时间
private Integer modified_user_id ; // 修改人
private Date modified_time ; // 修改时间
private boolean exist; // 用于标记,不是字段
private String hashResult; // 数据hash标记
private String rowNum; // 用于标记,不是字段
}
#测试
redis.hostName=192.168.80.55
redis.port=6379
redis.database=0
redis.maxTotal=200
redis.maxIdle=200
redis.maxWaitMillis=2000
redis1.database=1
hana_user=sapdev
hana_mandt=and mandt is not null
druid.hana.driverClassName: com.sap.db.jdbc.Driver
druid.hana.url: jdbc:sap://192.168.80.68:38015?databaseName=HD1&zeroDateTimeBehavior=convertToNull
druid.hana.username: SAPBW
druid.hana.password: Pass@12345
druid.hana.validationQuery: select 'hello world' from dummy
druid.hana.initialSize: 5
druid.hana.minIdle: 10
druid.hana.maxActive: 50
druid.hana.maxWait: 60000
druid.hana.timeBetweenEvictionRunsMillis: 60000
druid.hana.minEvictableIdleTimeMillis: 300000
druid.hana.testWhileIdle: true
druid.hana.testOnBorrow: false
druid.hana.testOnReturn: false
druid.hana.poolPreparedStatements: false
druid.hana.maxPoolPreparedStatementPerConnectionSize: 5
druid.hana.mapper: classpath:/mapper/hana/*Mapper_hana.xml
druid.mysql.driverClassName: com.mysql.cj.jdbc.Driver
druid.mysql.url: jdbc:mysql://192.168.80.31:3306/huazhengxincai_main?zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
druid.mysql.username: hzxc_reader
druid.mysql.password: uXu9hRwJFhA6FyNXl_m
druid.mysql.validationQuery: SELECT '1'
druid.mysql.initialSize: 5
druid.mysql.minIdle: 10
druid.mysql.maxActive: 50
druid.mysql.maxWait: 60000
druid.mysql.timeBetweenEvictionRunsMillis: 60000
druid.mysql.minEvictableIdleTimeMillis: 300000
druid.mysql.testWhileIdle: true
druid.mysql.testOnBorrow: false
druid.mysql.testOnReturn: false
druid.mysql.poolPreparedStatements: false
druid.mysql.maxPoolPreparedStatementPerConnectionSize: 5
druid.mysql.mapper: classpath:/mapper/mysql/*Mapper_mysql.xml
druid.mssql.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql.url: jdbc:sqlserver://192.168.80.29:1433;DatabaseName=HZBPM
druid.mssql.username: sa
druid.mssql.password: sa`1
druid.mssql.validationQuery: select '1'
druid.mssql.initialSize: 5
druid.mssql.minIdle: 10
druid.mssql.maxActive: 50
druid.mssql.maxWait: 60000
druid.mssql.timeBetweenEvictionRunsMillis: 60000
druid.mssql.minEvictableIdleTimeMillis: 300000
druid.mssql.testWhileIdle: true
druid.mssql.testOnBorrow: false
druid.mssql.testOnReturn: false
druid.mssql.poolPreparedStatements: false
druid.mssql.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql.mapper: classpath:/mapper/mssql/*Mapper_mssql.xml
druid.mssql2.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql2.url: jdbc:sqlserver://192.168.80.29:1433;DatabaseName=HZCRM
druid.mssql2.username: sa
druid.mssql2.password: sa`1
druid.mssql2.validationQuery: select '1'
druid.mssql2.initialSize: 5
druid.mssql2.minIdle: 10
druid.mssql2.maxActive: 50
druid.mssql2.maxWait: 60000
druid.mssql2.timeBetweenEvictionRunsMillis: 60000
druid.mssql2.minEvictableIdleTimeMillis: 300000
druid.mssql2.testWhileIdle: true
druid.mssql2.testOnBorrow: false
druid.mssql2.testOnReturn: false
druid.mssql2.poolPreparedStatements: false
druid.mssql2.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql2.mapper: classpath:/mapper/mssql2/*Mapper_mssql2.xml
druid.mssql3.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql3.url: jdbc:sqlserver://192.168.80.29:1433;DatabaseName=CINDERELLAW2
druid.mssql3.username: sa
druid.mssql3.password: sa`1
druid.mssql3.validationQuery: select '1'
druid.mssql3.initialSize: 5
druid.mssql3.minIdle: 10
druid.mssql3.maxActive: 50
druid.mssql3.maxWait: 60000
druid.mssql3.timeBetweenEvictionRunsMillis: 60000
druid.mssql3.minEvictableIdleTimeMillis: 300000
druid.mssql3.testWhileIdle: true
druid.mssql3.testOnBorrow: false
druid.mssql3.testOnReturn: false
druid.mssql3.poolPreparedStatements: false
druid.mssql3.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql3.mapper: classpath:/mapper/mssql3/*Mapper_mssql3.xml
druid.mssql4.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql4.url: jdbc:sqlserver://192.168.80.29:1433;DatabaseName=UltimusDB
druid.mssql4.username: sa
druid.mssql4.password: sa`1
druid.mssql4.validationQuery: select '1'
druid.mssql4.initialSize: 5
druid.mssql4.minIdle: 10
druid.mssql4.maxActive: 50
druid.mssql4.maxWait: 60000
druid.mssql4.timeBetweenEvictionRunsMillis: 60000
druid.mssql4.minEvictableIdleTimeMillis: 300000
druid.mssql4.testWhileIdle: true
druid.mssql4.testOnBorrow: false
druid.mssql4.testOnReturn: false
druid.mssql4.poolPreparedStatements: false
druid.mssql4.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql4.mapper: classpath:/mapper/mssql4/*Mapper_mssql4.xml
druid.greenplum.driverClassName: com.pivotal.jdbc.GreenplumDriver
druid.greenplum.url: jdbc:pivotal:greenplum://192.168.80.50:5432;DatabaseName=hzgpdata
druid.greenplum.username: gpadmin
druid.greenplum.password: gpadmin
druid.greenplum.validationQuery: select '1'
druid.greenplum.initialSize: 5
druid.greenplum.minIdle: 10
druid.greenplum.maxActive: 50
druid.greenplum.maxWait: 60000
druid.greenplum.timeBetweenEvictionRunsMillis: 60000
druid.greenplum.minEvictableIdleTimeMillis: 300000
druid.greenplum.testWhileIdle: true
druid.greenplum.testOnBorrow: false
druid.greenplum.testOnReturn: false
druid.greenplum.poolPreparedStatements: false
druid.greenplum.maxPoolPreparedStatementPerConnectionSize: 5
druid.greenplum.mapper: classpath:/mapper/greenplum/*Mapper_greenplum.xml
#生产
redis.hostName=192.168.80.54
redis.port=6379
redis.database=0
redis.maxTotal=200
redis.maxIdle=200
redis.maxWaitMillis=2000
redis1.database=1
hana_user=sapabap1
hana_mandt=and mandt = '800'
druid.hana.driverClassName: com.sap.db.jdbc.Driver
druid.hana.url: jdbc:sap://192.168.80.66:31041?databaseName=HD2&zeroDateTimeBehavior=convertToNull
druid.hana.username: SAPBW
druid.hana.password: Hzxc888888
druid.hana.validationQuery: select 'hello world' from dummy
druid.hana.initialSize: 5
druid.hana.minIdle: 10
druid.hana.maxActive: 50
druid.hana.maxWait: 60000
druid.hana.timeBetweenEvictionRunsMillis: 60000
druid.hana.minEvictableIdleTimeMillis: 300000
druid.hana.testWhileIdle: true
druid.hana.testOnBorrow: false
druid.hana.testOnReturn: false
druid.hana.poolPreparedStatements: false
druid.hana.maxPoolPreparedStatementPerConnectionSize: 5
druid.hana.mapper: classpath:/mapper/hana/*Mapper_hana.xml
druid.mysql.driverClassName: com.mysql.cj.jdbc.Driver
druid.mysql.url: jdbc:mysql://192.168.80.33:3306/huazhengxincai_main?zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
druid.mysql.username: hzxc_reader
druid.mysql.password: LCik4PEul2X-ZPujgG7ap
druid.mysql.validationQuery: SELECT '1'
druid.mysql.initialSize: 5
druid.mysql.minIdle: 10
druid.mysql.maxActive: 50
druid.mysql.maxWait: 60000
druid.mysql.timeBetweenEvictionRunsMillis: 60000
druid.mysql.minEvictableIdleTimeMillis: 300000
druid.mysql.testWhileIdle: true
druid.mysql.testOnBorrow: false
druid.mysql.testOnReturn: false
druid.mysql.poolPreparedStatements: false
druid.mysql.maxPoolPreparedStatementPerConnectionSize: 5
druid.mysql.mapper: classpath:/mapper/mysql/*Mapper_mysql.xml
druid.mssql.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql.url: jdbc:sqlserver://192.168.80.125:1433;DatabaseName=HZBPM
druid.mssql.username: ShuChang
druid.mssql.password: hzxc@666666
druid.mssql.validationQuery: select '1'
druid.mssql.initialSize: 5
druid.mssql.minIdle: 10
druid.mssql.maxActive: 50
druid.mssql.maxWait: 60000
druid.mssql.timeBetweenEvictionRunsMillis: 60000
druid.mssql.minEvictableIdleTimeMillis: 300000
druid.mssql.testWhileIdle: true
druid.mssql.testOnBorrow: false
druid.mssql.testOnReturn: false
druid.mssql.poolPreparedStatements: false
druid.mssql.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql.mapper: classpath:/mapper/mssql/*Mapper_mssql.xml
druid.mssql2.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql2.url: jdbc:sqlserver://192.168.80.125:1433;DatabaseName=HZCRM
druid.mssql2.username: ShuChang
druid.mssql2.password: hzxc@666666
druid.mssql2.validationQuery: select '1'
druid.mssql2.initialSize: 5
druid.mssql2.minIdle: 10
druid.mssql2.maxActive: 50
druid.mssql2.maxWait: 60000
druid.mssql2.timeBetweenEvictionRunsMillis: 60000
druid.mssql2.minEvictableIdleTimeMillis: 300000
druid.mssql2.testWhileIdle: true
druid.mssql2.testOnBorrow: false
druid.mssql2.testOnReturn: false
druid.mssql2.poolPreparedStatements: false
druid.mssql2.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql2.mapper: classpath:/mapper/mssql2/*Mapper_mssql2.xml
druid.mssql3.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql3.url: jdbc:sqlserver://192.168.80.125:1433;DatabaseName=CINDERELLAW2
druid.mssql3.username: ShuChang
druid.mssql3.password: hzxc@666666
druid.mssql3.validationQuery: select '1'
druid.mssql3.initialSize: 5
druid.mssql3.minIdle: 10
druid.mssql3.maxActive: 50
druid.mssql3.maxWait: 60000
druid.mssql3.timeBetweenEvictionRunsMillis: 60000
druid.mssql3.minEvictableIdleTimeMillis: 300000
druid.mssql3.testWhileIdle: true
druid.mssql3.testOnBorrow: false
druid.mssql3.testOnReturn: false
druid.mssql3.poolPreparedStatements: false
druid.mssql3.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql3.mapper: classpath:/mapper/mssql3/*Mapper_mssql3.xml
druid.greenplum.driverClassName: com.pivotal.jdbc.GreenplumDriver
druid.greenplum.url: jdbc:pivotal:greenplum://192.168.80.50:5432;DatabaseName=hzgpdata_pro
druid.greenplum.username: gpadmin
druid.greenplum.password: gpadmin
druid.greenplum.validationQuery: select '1'
druid.greenplum.initialSize: 5
druid.greenplum.minIdle: 10
druid.greenplum.maxActive: 50
druid.greenplum.maxWait: 60000
druid.greenplum.timeBetweenEvictionRunsMillis: 60000
druid.greenplum.minEvictableIdleTimeMillis: 300000
druid.greenplum.testWhileIdle: true
druid.greenplum.testOnBorrow: false
druid.greenplum.testOnReturn: false
druid.greenplum.poolPreparedStatements: false
druid.greenplum.maxPoolPreparedStatementPerConnectionSize: 5
druid.greenplum.mapper: classpath:/mapper/greenplum/*Mapper_greenplum.xml
#生产
redis.hostName=192.168.80.54
redis.port=6379
redis.database=0
redis.maxTotal=200
redis.maxIdle=200
redis.maxWaitMillis=2000
redis1.database=1
hana_user=sapabap1
hana_mandt=and mandt = '800'
druid.hana.driverClassName: com.sap.db.jdbc.Driver
druid.hana.url: jdbc:sap://192.168.80.66:31041?databaseName=HD2&zeroDateTimeBehavior=convertToNull
druid.hana.username: SAPBW
druid.hana.password: Hzxc888888
druid.hana.validationQuery: select 'hello world' from dummy
druid.hana.initialSize: 5
druid.hana.minIdle: 10
druid.hana.maxActive: 50
druid.hana.maxWait: 60000
druid.hana.timeBetweenEvictionRunsMillis: 60000
druid.hana.minEvictableIdleTimeMillis: 300000
druid.hana.testWhileIdle: true
druid.hana.testOnBorrow: false
druid.hana.testOnReturn: false
druid.hana.poolPreparedStatements: false
druid.hana.maxPoolPreparedStatementPerConnectionSize: 5
druid.hana.mapper: classpath:/mapper/hana/*Mapper_hana.xml
druid.mysql.driverClassName: com.mysql.cj.jdbc.Driver
druid.mysql.url: jdbc:mysql://192.168.80.33:3306/huazhengxincai_main?zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
druid.mysql.username: hzxc_reader
druid.mysql.password: LCik4PEul2X-ZPujgG7ap
druid.mysql.validationQuery: SELECT '1'
druid.mysql.initialSize: 5
druid.mysql.minIdle: 10
druid.mysql.maxActive: 50
druid.mysql.maxWait: 60000
druid.mysql.timeBetweenEvictionRunsMillis: 60000
druid.mysql.minEvictableIdleTimeMillis: 300000
druid.mysql.testWhileIdle: true
druid.mysql.testOnBorrow: false
druid.mysql.testOnReturn: false
druid.mysql.poolPreparedStatements: false
druid.mysql.maxPoolPreparedStatementPerConnectionSize: 5
druid.mysql.mapper: classpath:/mapper/mysql/*Mapper_mysql.xml
druid.mssql.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql.url: jdbc:sqlserver://192.168.80.125:1433;DatabaseName=HZBPM
druid.mssql.username: ShuChang
druid.mssql.password: hzxc@666666
druid.mssql.validationQuery: select '1'
druid.mssql.initialSize: 5
druid.mssql.minIdle: 10
druid.mssql.maxActive: 50
druid.mssql.maxWait: 60000
druid.mssql.timeBetweenEvictionRunsMillis: 60000
druid.mssql.minEvictableIdleTimeMillis: 300000
druid.mssql.testWhileIdle: true
druid.mssql.testOnBorrow: false
druid.mssql.testOnReturn: false
druid.mssql.poolPreparedStatements: false
druid.mssql.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql.mapper: classpath:/mapper/mssql/*Mapper_mssql.xml
druid.mssql2.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql2.url: jdbc:sqlserver://192.168.80.125:1433;DatabaseName=HZCRM
druid.mssql2.username: ShuChang
druid.mssql2.password: hzxc@666666
druid.mssql2.validationQuery: select '1'
druid.mssql2.initialSize: 5
druid.mssql2.minIdle: 10
druid.mssql2.maxActive: 50
druid.mssql2.maxWait: 60000
druid.mssql2.timeBetweenEvictionRunsMillis: 60000
druid.mssql2.minEvictableIdleTimeMillis: 300000
druid.mssql2.testWhileIdle: true
druid.mssql2.testOnBorrow: false
druid.mssql2.testOnReturn: false
druid.mssql2.poolPreparedStatements: false
druid.mssql2.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql2.mapper: classpath:/mapper/mssql2/*Mapper_mssql2.xml
druid.mssql3.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql3.url: jdbc:sqlserver://192.168.80.125:1433;DatabaseName=CINDERELLAW2
druid.mssql3.username: ShuChang
druid.mssql3.password: hzxc@666666
druid.mssql3.validationQuery: select '1'
druid.mssql3.initialSize: 5
druid.mssql3.minIdle: 10
druid.mssql3.maxActive: 50
druid.mssql3.maxWait: 60000
druid.mssql3.timeBetweenEvictionRunsMillis: 60000
druid.mssql3.minEvictableIdleTimeMillis: 300000
druid.mssql3.testWhileIdle: true
druid.mssql3.testOnBorrow: false
druid.mssql3.testOnReturn: false
druid.mssql3.poolPreparedStatements: false
druid.mssql3.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql3.mapper: classpath:/mapper/mssql3/*Mapper_mssql3.xml
druid.mssql4.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid.mssql4.url: jdbc:sqlserver://192.168.80.125:1433;DatabaseName=UltimusDB
druid.mssql4.username: ShuChang
druid.mssql4.password: hzxc@666666
druid.mssql4.validationQuery: select '1'
druid.mssql4.initialSize: 5
druid.mssql4.minIdle: 10
druid.mssql4.maxActive: 50
druid.mssql4.maxWait: 60000
druid.mssql4.timeBetweenEvictionRunsMillis: 60000
druid.mssql4.minEvictableIdleTimeMillis: 300000
druid.mssql4.testWhileIdle: true
druid.mssql4.testOnBorrow: false
druid.mssql4.testOnReturn: false
druid.mssql4.poolPreparedStatements: false
druid.mssql4.maxPoolPreparedStatementPerConnectionSize: 5
druid.mssql4.mapper: classpath:/mapper/mssql4/*Mapper_mssql4.xml
druid.greenplum.driverClassName: com.pivotal.jdbc.GreenplumDriver
druid.greenplum.url: jdbc:pivotal:greenplum://192.168.80.50:5432;DatabaseName=hzgpdata_pro
druid.greenplum.username: gpadmin
druid.greenplum.password: gpadmin
druid.greenplum.validationQuery: select '1'
druid.greenplum.initialSize: 5
druid.greenplum.minIdle: 10
druid.greenplum.maxActive: 50
druid.greenplum.maxWait: 60000
druid.greenplum.timeBetweenEvictionRunsMillis: 60000
druid.greenplum.minEvictableIdleTimeMillis: 300000
druid.greenplum.testWhileIdle: true
druid.greenplum.testOnBorrow: false
druid.greenplum.testOnReturn: false
druid.greenplum.poolPreparedStatements: false
druid.greenplum.maxPoolPreparedStatementPerConnectionSize: 5
druid.greenplum.mapper: classpath:/mapper/greenplum/*Mapper_greenplum.xml
drop table CAVThisMonth;
CREATE TABLE CAVThisMonth (
kunnr text,
waers text,
budatd text,
budatb text,
byxse numeric(13,2),
byhk numeric(13,2),
dyjhk numeric(13,2),
ljsyysk numeric(13,2),
PRIMARY KEY (kunnr,waers,budatd,budatb)
)
Distributed by (kunnr,waers,budatd,budatb);
alter table CAVThisMonth add column hashResult text;
drop table PersonComp;
CREATE TABLE PersonComp (
id text,
uname text,
uposnr text,
dname text,
dposnr text,
PRIMARY KEY (id)
)
Distributed by (id);
alter table PersonComp add column hashResult text;
alter table PersonComp add column rowNum serial;
select '订单主数据' as tbchname, 'aufk' as tbname, count(1) as sl from aufk union all
select '销售凭证:项目数据' as tbchname, 'Vbap' as tbname, count(2) as sl from Vbap union all
select '销售合同流程' as tbchname, 'SalesContractProcess' as tbname, count(3) as sl from SalesContractProcess union all
select '订单项' as tbchname, 'Afpo' as tbname, count(4) as sl from Afpo union all
select '订单表头数据 PP 订单' as tbchname, 'Afko' as tbname, count(5) as sl from Afko union all
select '常规物料数据' as tbchname, 'Mara' as tbname, count(6) as sl from Mara union all
select '物料描述' as tbchname, 'Makt' as tbname, count(7) as sl from Makt union all
select '承诺交期日' as tbchname, 'Zsd06' as tbname, count(8) as sl from Zsd06 union all
select '销售凭证:抬头数据' as tbchname, 'Vbak' as tbname, count(9) as sl from Vbak union all
select 'SD凭证:交货:项目数据' as tbchname, 'Lips' as tbname, count(10) as sl from Lips union all
select 'SD凭证:交货抬头数据' as tbchname, 'Likp' as tbname, count(11) as sl from Likp union all
select '交货单主表' as tbchname, 'Handover' as tbname, count(12) as sl from Handover union all
select '送货单(派车单)' as tbchname, 'HandoverTask' as tbname, count(13) as sl from HandoverTask union all
select '节点信息最新表' as tbchname, 'TransformNewNode' as tbname, count(14) as sl from TransformNewNode union all
select '销售订单库存' as tbchname, 'Mska' as tbname, count(15) as sl from Mska union all
select '交货单发货指令信息表' as tbchname, 'Zsdfhzl' as tbname, count(16) as sl from Zsdfhzl union all
select '销售凭证:计划行数据' as tbchname, 'vbep' as tbname, count(17) as sl from vbep union all
select '销售凭证:抬头状态和管理数据' as tbchname, 'vbuk' as tbname, count(18) as sl from vbuk union all
select '客户主文件的一般数据' as tbchname, 'kna1' as tbname, count(19) as sl from kna1 union all
select '针对订单的货物移动' as tbchname, 'aufm' as tbname, count(20) as sl from aufm union all
select 'SAP订单返回信息表' as tbchname, 'SysSAPreturnNo' as tbname, count(21) as sl from SysSAPreturnNo union all
select '发票抬头' as tbchname, 'vbrk' as tbname, count(22) as sl from vbrk union all
select '发票行项目' as tbchname, 'vbrp' as tbname, count(23) as sl from vbrp union all
select '物料组描述' as tbchname, 't023t' as tbname, count(24) as sl from t023t union all
select '条件(事务数据)' as tbchname, 'Konv' as tbname, count(25) as sl from Konv union all
select '销售订单生产地对照表' as tbchname, 'Zmdpc' as tbname, count(26) as sl from Zmdpc union all
select '销售凭证合作伙伴' as tbchname, 'vbpa' as tbname, count(27) as sl from vbpa union all
select 'HR 主记录: 信息类型 0002 (人员数据)' as tbchname, 'pa0002' as tbname, count(28) as sl from pa0002 union all
select 'Vbap宽表' as tbchname, 'VbapAdv' as tbname, count(29) as sl from VbapAdv union all
select '销售合同流程MX' as tbchname, 'SalesContractProcessMX' as tbname, count(30) as sl from SalesContractProcessMX union all
select '工厂/分支机构' as tbchname, 't001w' as tbname, count(31) as sl from t001w union all
select '销售预测流程' as tbchname, 'SalesForecastProcess' as tbname, count(32) as sl from SalesForecastProcess union all
select '销售预测流程MX' as tbchname, 'SalesForecastProcessMX' as tbname, count(33) as sl from SalesForecastProcessMX union all
select '客户表' as tbchname, 'TKeHu' as tbname, count(34) as sl from TKeHu union all
select '客户销售' as tbchname, 'TKeHuXiaoShouZZ' as tbname, count(35) as sl from TKeHuXiaoShouZZ union all
select '客户销售业务员' as tbchname, 'TKeHuXiaoShouZZYeWuY' as tbname, count(36) as sl from TKeHuXiaoShouZZYeWuY union all
select '客户主记录销售数据' as tbchname, 'knvv' as tbname, count(37) as sl from knvv union all
select '客户主数据信贷管理控制范围数据' as tbchname, 'knkk' as tbname, count(38) as sl from knkk union all
select '未清订单信贷管理' as tbchname, 's066' as tbname, count(39) as sl from s066 union all
select '未清交货/发票凭证(KM)' as tbchname, 's067' as tbname, count(40) as sl from s067 union all
select '会计核算:客户的第二次索引' as tbchname, 'bsid' as tbname, count(41) as sl from bsid union all
select '会计核算:客户的第二个索引(已结算项目)' as tbchname, 'bsad' as tbname, count(42) as sl from bsad union all
select '会计核算合并表' as tbchname, 'bsid2bsad' as tbname, count(43) as sl from bsid2bsad union all
--select '本月回款(视图)' as tbchname, 'V_PayThisMonth' as tbname, count(44) as sl from V_PayThisMonth union all
--select '本月销售(视图)' as tbchname, 'V_SalesThisMonth' as tbname, count(45) as sl from V_SalesThisMonth union all
select '客户物料对照表' as tbchname, 'TWuLiaoDB' as tbname, count(46) as sl from TWuLiaoDB union all
select '人员对照' as tbchname, 'PersonComp' as tbname, count(47) as sl from PersonComp union all
select '节点信息记录' as tbchname, 'TransformHistoryNode' as tbname, count(48) as sl from TransformHistoryNode union all
--select '净收额(视图)' as tbchname, 'V_ThisMonth' as tbname, count(49) as sl from V_ThisMonth union all
select '净收额计算表' as tbchname, 'cavthismonth' as tbname, count(50) as sl from cavthismonth union all
select '机构单位销售办公室文本' as tbchname, 'tvkbt' as tbname, count(51) as sl from tvkbt;
truncate aufk ;
truncate Vbap ;
truncate SalesContractProcess ;
truncate Afpo ;
truncate Afko ;
truncate Mara ;
truncate Makt ;
truncate Zsd06 ;
truncate Vbak ;
truncate Lips ;
truncate Likp ;
truncate Handover ;
truncate HandoverTask ;
truncate TransformNewNode ;
truncate Mska ;
truncate Zsdfhzl ;
truncate vbep ;
truncate vbuk ;
truncate kna1 ;
truncate aufm ;
truncate SysSAPreturnNo ;
truncate vbrk ;
truncate vbrp ;
truncate t023t ;
truncate Konv ;
truncate Zmdpc ;
truncate vbpa ;
truncate pa0002 ;
truncate VbapAdv ;
truncate SalesContractProcessMX ;
truncate t001w ;
truncate SalesForecastProcess ;
truncate SalesForecastProcessMX ;
--当前活跃的查询
select pid,sess_id,client_addr,state,backend_start,xact_start,query_start,state_change from pg_stat_activity where state = 'active' and client_addr is not null;
select pg_cancel_backend(pid);
select pg_cancel_backend(880);
--授权ip段访问
vim /data/master/gpseg-1/pg_hba.conf
host all all 192.168.100.1/24 md5
--重载配置文件
gpstop -u
--启动
gpstart
--分区数据分布情况
select gp_segment_id,tableoid::regclass,count(*) from jcbkdata group by 1,2 order by 1,2;
select top 20 "$rowid$" as rowids,
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr,
case wadat_ist when '00000000' then null else (to_date(wadat_ist)||' '||to_time(lfuhr)) end as wadat_ist2lfuhr
from sapabap1.likp where wadat_ist = '00000000';
select top 10
a.vbeln, a.mandt, a.vbtyp, a.audat, a.waerk, a.kalsm, a.ctlpc, a.kunnr, a.bukrs_vf, a.bstnk,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat, b.pernr,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet
from sapabap1.vbak a
left join (
select q.vbeln,q.posnr,r.pernr from sapabap1.vbap q
left join (
select vbeln,posnr,pernr from sapabap1.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = '800'
) b on a.vbeln = b.vbeln
where a.mandt = '800' and a.erdat = '00000000'
select
a.vbeln, a.mandt, a.vbtyp, a.audat, a.waerk, a.kalsm, a.ctlpc, a.kunnr, a.bukrs_vf, a.bstnk,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat, b.pernr,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet,
a.erdat, a.erzet
from sapabap1.vbak a
left join (
select q.vbeln,r.pernr from sapabap1.vbap q
left join (
select vbeln,posnr,pernr from sapabap1.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = '800'
group by q.vbeln,r.pernr
) b on a.vbeln = b.vbeln
where a.vbeln = '0010042311' and a.mandt = '800'
----
select
a.vbeln, a.mandt, a.vbtyp, a.audat, a.waerk, a.kalsm, a.ctlpc, a.kunnr, a.bukrs_vf, a.bstnk,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat, b.pernr,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet,
a.erdat, a.erzet
from sapabap1.vbak a
left join (
select q.vbeln,r.pernr from sapabap1.vbap q
left join (
select vbeln,posnr,pernr from sapabap1.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = '800' and r.pernr is not null
group by q.vbeln,r.pernr
) b on a.vbeln = b.vbeln
where a.vbeln = '0010009580' and a.mandt = '800'
----------------------------
select
p.vbeln, p.posnr, p.matnr, p.mandt, p.matkl, p.spart, p.kwmeng, p.netwr, p.mwsbp, p.waerk, p.vrkme, p.abgru,
p.uebto, p.untto, p.werks, p.vstel, p.mvgr1, p.plavo, p.mvgr4, p.mvgr5, p.ulxh, p.zma_ftb_02, p.zma_ftb_03,
p.zma_ftb_45, p.zma_ftb_06, p.zma_ftb_07, p.zma_ftb_08, p.zma_jyb_02, p.zma_jyb_03, p.zma_jyb_45,
p.zma_jyb_06, p.zma_jyb_07, p.zma_ljb_03, p.zma_ljb_04, p.zma_ljb_06, p.zma_ljb_07, p.zma_ljb_08,
p.zma_ljb_11, p.zma_ljb_12, p.zma_ljb_13, p.zma_yhbg_02, p.zma_yhbg_04, p.zma_yhbg_05, p.zma_yhbg_06,
p.tbpz, p.ws, p.cu_maktx, p.cu_pcdst, p.ztype, p.barcode, p.gdno, p.lh, p.dgxx, p.zklx, p.erdat, p.erzet, p.netpr, p.aedat,q.pernr
from sapabap1.vbap p
left join (
select
a.vbeln,b.posnr, b.pernr
from sapabap1.vbak a
left join () b on a.vbeln = b.vbeln
where b.pernr is not null and a.mandt = '800' and a.vbeln = '0010041154'
group by a.vbeln, b.posnr,b.pernr
) q on p.vbeln = q.vbeln
where p.vbeln = '0010041154' and p.posnr = '000010' and p.mandt = '800' and p.erdat = '20190606';
select
p.vbeln, p.posnr, p.matnr, p.mandt, p.matkl, p.spart, p.kwmeng, p.netwr, p.mwsbp, p.waerk, p.vrkme, p.abgru,
p.uebto, p.untto, p.werks, p.vstel, p.mvgr1, p.plavo, p.mvgr4, p.mvgr5, p.ulxh, p.zma_ftb_02, p.zma_ftb_03,
p.zma_ftb_45, p.zma_ftb_06, p.zma_ftb_07, p.zma_ftb_08, p.zma_jyb_02, p.zma_jyb_03, p.zma_jyb_45,
p.zma_jyb_06, p.zma_jyb_07, p.zma_ljb_03, p.zma_ljb_04, p.zma_ljb_06, p.zma_ljb_07, p.zma_ljb_08,
p.zma_ljb_11, p.zma_ljb_12, p.zma_ljb_13, p.zma_yhbg_02, p.zma_yhbg_04, p.zma_yhbg_05, p.zma_yhbg_06,
p.tbpz, p.ws, p.cu_maktx, p.cu_pcdst, p.ztype, p.barcode, p.gdno, p.lh, p.dgxx, p.zklx, p.erdat, p.erzet, p.netpr, p.aedat,q.pernr
from sapabap1.vbap p
left join (
select a.vbeln,a.posnr,a.pernr from sapabap1.vbpa a
left join sapabap1.vbak b on a.vbeln = b.vbeln
where a.mandt = '800' and a.pernr != '00000000'
group by a.vbeln,a.posnr,a.pernr
) q on p.vbeln = q.vbeln and p.posnr = q.posnr
where p.vbeln = '0010041154' and p.posnr = '000010' and p.mandt = '800' and p.erdat = '20190606';
select
p.vbeln, p.posnr, p.matnr, p.mandt, p.matkl, p.spart, p.kwmeng, p.netwr, p.mwsbp, p.waerk, p.vrkme, p.abgru,
p.uebto, p.untto, p.werks, p.vstel, p.mvgr1, p.plavo, p.mvgr4, p.mvgr5, p.ulxh, p.zma_ftb_02, p.zma_ftb_03,
p.zma_ftb_45, p.zma_ftb_06, p.zma_ftb_07, p.zma_ftb_08, p.zma_jyb_02, p.zma_jyb_03, p.zma_jyb_45,
p.zma_jyb_06, p.zma_jyb_07, p.zma_ljb_03, p.zma_ljb_04, p.zma_ljb_06, p.zma_ljb_07, p.zma_ljb_08,
p.zma_ljb_11, p.zma_ljb_12, p.zma_ljb_13, p.zma_yhbg_02, p.zma_yhbg_04, p.zma_yhbg_05, p.zma_yhbg_06,
p.tbpz, p.ws, p.cu_maktx, p.cu_pcdst, p.ztype, p.barcode, p.gdno, p.lh, p.dgxx, p.zklx, p.erdat, p.erzet, p.netpr, p.aedat,q.pernr
from ${hana_user}.vbap p
left join (
select a.vbeln,a.posnr,a.pernr from ${hana_user}.vbpa a
left join ${hana_user}.vbak b on a.vbeln = b.vbeln
where a.mandt = #{mandt} and a.pernr != '00000000'
group by a.vbeln,a.posnr,a.pernr
) q on p.vbeln = q.vbeln and p.posnr = q.posnr
where p.vbeln = #{vbeln} and p.posnr = #{posnr} and p.mandt = #{mandt} and p.erdat = #{erdat}
select top 20 "$rowid$" as rowids,
p.vbeln, p.posnr, p.matnr, p.mandt, p.matkl, p.spart, p.kwmeng, p.netwr, p.mwsbp, p.waerk, p.vrkme, p.abgru,
p.uebto, p.untto, p.werks, p.vstel, p.mvgr1, p.plavo, p.mvgr4, p.mvgr5, p.ulxh, p.zma_ftb_02, p.zma_ftb_03,
p.zma_ftb_45, p.zma_ftb_06, p.zma_ftb_07, p.zma_ftb_08, p.zma_jyb_02, p.zma_jyb_03, p.zma_jyb_45,
p.zma_jyb_06, p.zma_jyb_07, p.zma_ljb_03, p.zma_ljb_04, p.zma_ljb_06, p.zma_ljb_07, p.zma_ljb_08,
p.zma_ljb_11, p.zma_ljb_12, p.zma_ljb_13, p.zma_yhbg_02, p.zma_yhbg_04, p.zma_yhbg_05, p.zma_yhbg_06,
p.tbpz, p.ws, p.cu_maktx, p.cu_pcdst, p.ztype, p.barcode, p.gdno, p.lh, p.dgxx, p.zklx, p.erdat, p.erzet, p.netpr, p.aedat,q.pernr
from sapabap1.vbap p
left join (
select a.vbeln,a.posnr,a.pernr from sapabap1.vbpa a
left join sapabap1.vbak b on a.vbeln = b.vbeln
where a.mandt = '800' and a.pernr != '00000000'
group by a.vbeln,a.posnr,a.pernr
) q on p.vbeln = q.vbeln and p.posnr = q.posnr
where p."$rowid$" > 10 and p.mandt = '800'
order by p."$rowid$"
drop table bsad;
CREATE TABLE bsad (
mandt text,
bukrs text,
kunnr text,
umsks text,
umskz text,
augdt timestamp,
augbl text,
zuonr text,
gjahr integer,
belnr text,
buzei integer,
blart text,
waers text,
wrbtr numeric(13,2),
shkzg text,
PRIMARY KEY (mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr, gjahr, belnr, buzei)
)
Distributed by (mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr, gjahr, belnr, buzei);
alter table bsad add column budat timestamp;
alter table bsad add column zfbdt timestamp;
alter table bsad add column dqsjc timestamp;
alter table bsad add column budatc text;
alter table bsad add column vbeln text;
alter table bsad add column zterm text;
alter table bsad add column budatd text;
alter table bsad add column hashResult text;
alter table bsad add column rowNum serial;
alter table bsad add column augdts text;
alter table bsad add column buzeis text;
alter table bsad add column pernr text;
drop table bsid;
CREATE TABLE bsid (
mandt text,
bukrs text,
kunnr text,
umsks text,
umskz text,
augdt timestamp,
augbl text,
zuonr text,
gjahr integer,
belnr text,
buzei integer,
blart text,
waers text,
wrbtr numeric(13,2),
shkzg text,
PRIMARY KEY (mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr, gjahr, belnr, buzei)
)
Distributed by (mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr, gjahr, belnr, buzei);
alter table bsid add column budat timestamp;
alter table bsid add column zfbdt timestamp;
alter table bsid add column dqsjc timestamp;
alter table bsid add column budatc text;
alter table bsid add column vbeln text;
alter table bsid add column zterm text;
alter table bsid add column budatd text;
alter table bsid add column hashResult text;
alter table bsid add column rowNum serial;
alter table bsid add column augdts text;
alter table bsid add column buzeis text;
alter table bsid add column pernr text;
drop table knkk;
CREATE TABLE knkk (
mandt text,
kunnr text,
kkber text,
klimk numeric(15,2),
skfor numeric(15,2),
ssobl numeric(15,2),
PRIMARY KEY (mandt,kunnr,kkber)
)
Distributed by (mandt,kunnr,kkber);
alter table knkk add column hashResult text;
alter table knkk add column rowNum serial;
alter table lips add column aedat text;
drop table knvv;
CREATE TABLE knvv (
mandt text,
kunnr text,
vkorg text,
vtweg text,
spart text,
waers text,
PRIMARY KEY (mandt,kunnr,vkorg,vtweg,spart)
)
Distributed by (mandt,kunnr,vkorg,vtweg,spart);
alter table knvv add column hashResult text;
alter table knvv add column rowNum serial;
drop table s066;
CREATE TABLE s066 (
mandt text,
ssour text,
vrsio text,
kkber text,
knkli text,
spmon numeric(6,0),
sptag timestamp,
spwoc numeric(6,0),
spbup numeric(6,0),
oeikw numeric(19,2),
sptags text,
spwocs text,
spbups text,
PRIMARY KEY (mandt, ssour, vrsio, kkber, knkli, spmon, sptag, spwoc, spbup)
)
Distributed by (mandt, ssour, vrsio, kkber, knkli, spmon, sptag, spwoc, spbup);
alter table s066 add column hashResult text;
alter table s066 add column rowNum serial;
alter table s066 add column spmons text;
drop table s067;
CREATE TABLE s067 (
mandt text,
ssour text,
vrsio text,
kkber text,
knkli text,
spmon numeric(6,0),
sptag timestamp,
spwoc numeric(6,0),
spbup numeric(6,0),
olikw numeric(19,2),
ofakw numeric(19,2),
sptags text,
spwocs text,
spbups text,
PRIMARY KEY (mandt, ssour, vrsio, kkber, knkli, spmon, sptag, spwoc, spbup)
)
Distributed by (mandt, ssour, vrsio, kkber, knkli, spmon, sptag, spwoc, spbup);
alter table s067 add column hashResult text;
alter table s067 add column rowNum serial;
alter table s067 add column spmons text;
drop table Zsd06;
CREATE TABLE Zsd06 (
vbeln text,
posnr text,
mandt text,
datum text,
uname text,
include text,
crt_uname text,
crt_datum text,
crt_time text,
cha_name text,
cha_datum text,
cha_time text,
datum1 date,
crt_datum1 timestamp,
cha_datum1 timestamp,
PRIMARY KEY (vbeln, posnr, mandt)
)
Distributed by (vbeln, posnr, mandt);
alter table Zsd06 add column hashResult text;
alter table Zsd06 add column rowNum serial;
drop table Zsdfhzl;
CREATE TABLE Zsdfhzl (
vbeln text,
posnr text,
mandt text,
vgbel text,
vgpos text,
uname text,
matnr text,
cdate text,
ctime text,
fh_date text,
werks text,
fmenge numeric(13,3),
cdate1 timestamp,
fh_date1 date,
PRIMARY KEY (mandt, vbeln, posnr)
)
Distributed by (mandt, vbeln, posnr);
alter table Zsdfhzl add column hashResult text;
alter table Zsdfhzl add column rowNum serial;
alter table Zsdfhzl add column cha_datum text;
drop table afko;
CREATE TABLE afko (
aufnr text,
mandt text,
gltrp text,
gamng numeric(13,3),
plnbez text,
gmein text,
plnnr text,
plnal text,
stlnr text,
cy_seqnr text,
gstrp text,
aufpl text,
aplzl text,
aplzt text,
gltrp1 date,
gstrp1 date,
PRIMARY KEY (aufnr, mandt)
)
Distributed by (aufnr, mandt);
alter table afko add column hashResult text;
alter table afko add column rowNum serial;
drop table afpo;
CREATE TABLE afpo (
kdauf text,
kdpos text,
aufnr text,
mandt text,
posnr text,
psmng numeric(13,3),
wemng numeric(13,3),
meins text,
matnr text,
uebto numeric(3,1),
untto numeric(3,1),
pwerk text,
verid text,
dwerk text,
dauat text,
krsnr text,
sernr text,
plnum text,
PRIMARY KEY (aufnr, mandt, posnr)
)
Distributed by (aufnr, mandt, posnr);
alter table afpo add column hashResult text;
alter table afpo add column rowNum serial;
drop table aufk;
CREATE TABLE aufk (
kdauf text,
kdpos text,
mandt text,
aufnr text,
erdat text,
erfzeit text,
ernam text,
aenam text,
bukrs text,
erdat1 date,
erdat2 timestamp,
PRIMARY KEY (mandt, aufnr)
)
Distributed by (mandt, aufnr);
alter table aufk add column hashResult text;
alter table aufk add column rowNum serial;
alter table aufk add column loekz text;
drop table aufm;
CREATE TABLE aufm (
mblnr text,mjahr text,zeile text,bldat text,
budat text,bwart text,matnr text,werks text,
lgort text,charg text,sobkz text,lifnr text,
kdauf text,kdpos text,shkzg text,menge text,
bwtar text,aufnr text,bldat1 date,budat1 date,
mandt text,hashResult text,rowNum serial,
PRIMARY KEY (mblnr, mandt, mjahr, zeile)
)
Distributed by (mblnr, mandt, mjahr, zeile)
partition by range(mjahr)
(
partition p2015 start ('2015') inclusive end ('2016') exclusive,
partition p2016 start ('2016') inclusive end ('2017') exclusive,
partition p2017 start ('2017') inclusive end ('2018') exclusive,
partition p2018 start ('2018') inclusive end ('2019') exclusive,
partition p2019 start ('2019') inclusive end ('2020') exclusive,
partition p2020 start ('2020') inclusive end ('2021') exclusive,
partition p2021 start ('2021') inclusive end ('2022') exclusive,
partition p2022 start ('2022') inclusive end ('2023') exclusive,
partition p2023 start ('2023') inclusive end ('2024') exclusive,
partition p2024 start ('2024') inclusive end ('2025') exclusive,
partition p2025 start ('2025') inclusive end ('2026') exclusive,
partition p2026 start ('2026') inclusive end ('2027') exclusive,
partition p2027 start ('2027') inclusive end ('2028') exclusive,
partition p2028 start ('2028') inclusive end ('2029') exclusive,
partition p2029 start ('2029') inclusive end ('2030') exclusive,
default partition default_p
);
\ No newline at end of file
drop table kna1;
CREATE TABLE kna1 (
kunnr text,
name1 text,
name2 text,
mandt text,
PRIMARY KEY (mandt, kunnr)
)
Distributed by (mandt, kunnr);
alter table kna1 add column hashResult text;
alter table kna1 add column rowNum serial;
alter table kna1 add column ktokd text;
drop table konv;
CREATE TABLE konv (
mandt text,knumv text,kposn text,stunr text,
zaehk text,kntyp text,kbetr numeric(11,2),
hashResult text,rowNum serial,
PRIMARY KEY (mandt, knumv, kposn, stunr, zaehk)
)
Distributed by (mandt, knumv, kposn, stunr, zaehk)
partition by list(stunr)
subpartition by list (kposn)
subpartition template
(
subpartition p000010 values ('000010'),
subpartition p000020 values ('000020'),
subpartition p000030 values ('000030'),
subpartition p000040 values ('000040'),
subpartition p000011 values ('000011'),
subpartition p000050 values ('000050'),
subpartition p000012 values ('000012'),
subpartition p000060 values ('000060'),
subpartition p000021 values ('000021'),
subpartition p000070 values ('000070'),
subpartition p000013 values ('000013'),
subpartition p000022 values ('000022'),
subpartition p000080 values ('000080'),
subpartition p000014 values ('000014'),
subpartition p000031 values ('000031'),
subpartition p000023 values ('000023'),
subpartition p000090 values ('000090'),
subpartition p000015 values ('000015'),
subpartition p000032 values ('000032'),
subpartition p000100 values ('000100'),
subpartition p000024 values ('000024'),
subpartition p000016 values ('000016'),
subpartition p000041 values ('000041'),
subpartition p000110 values ('000110'),
subpartition p000033 values ('000033'),
subpartition p000025 values ('000025'),
subpartition p000017 values ('000017'),
subpartition p000042 values ('000042'),
subpartition p000120 values ('000120'),
subpartition p000026 values ('000026'),
subpartition p000034 values ('000034'),
subpartition p000051 values ('000051'),
subpartition p000018 values ('000018'),
subpartition p000130 values ('000130'),
subpartition p000027 values ('000027'),
subpartition p000019 values ('000019'),
subpartition p000035 values ('000035'),
subpartition p000061 values ('000061'),
subpartition p000043 values ('000043'),
subpartition p000052 values ('000052'),
subpartition p000028 values ('000028'),
subpartition p000140 values ('000140'),
subpartition p000036 values ('000036'),
subpartition p000029 values ('000029'),
subpartition p000150 values ('000150'),
subpartition p000044 values ('000044'),
subpartition p000062 values ('000062'),
default subpartition other
)
(
partition p920 values ('920'),
partition p915 values ('915'),
partition p945 values ('945'),
partition p950 values ('950'),
partition p940 values ('940'),
partition p007 values ('007'),
partition p008 values ('008'),
partition p012 values ('012'),
partition p001 values ('001'),
partition p010 values ('010'),
partition p023 values ('023'),
partition p021 values ('021'),
partition p035 values ('035'),
partition p011 values ('011'),
partition p009 values ('009'),
partition p190 values ('190'),
partition p935 values ('935'),
partition p936 values ('936'),
partition p900 values ('900'),
partition p017 values ('170'),
partition p939 values ('939'),
default partition default_p
);
drop table likp;
CREATE TABLE likp (
vbeln text,
mandt text,
erdat text,
wadat_ist text,
ctlpc text,
kunnr text,
erdat1 date,
wadat_ist1 date,
PRIMARY KEY (vbeln, mandt)
)
Distributed by (vbeln, mandt);
alter table likp add column hashResult text;
alter table likp add column rowNum serial;
alter table likp add column aedat text;
alter table likp add column wadat_ist2lfuhr timestamp;
alter table likp add column lfuhr text;
drop table lips;
CREATE TABLE lips (
vbeln text,
posnr text,
vgbel text,
vgpos text,
mandt text,
matnr text,
matkl text,
arktx text,
werks text,
lgort text,
charg text,
lfimg numeric(13,3),
uebto numeric(3,1),
untto numeric(3,1),
erdat text,
erzet text,
erdat1 date,
erdat2 timestamp,
PRIMARY KEY (vbeln, mandt, posnr)
)
Distributed by (vbeln, mandt, posnr);
alter table lips add column hashResult text;
alter table lips add column rowNum serial;
alter table lips add column aedat text;
drop table makt;
CREATE TABLE makt (
matnr text,
mandt text,
spras text,
maktx text,
maktxSize text,
PRIMARY KEY (matnr, mandt, spras)
)
Distributed by (matnr, mandt, spras);
alter table makt add column hashResult text;
alter table makt add column rowNum serial;
drop table mara;
CREATE TABLE mara (
matnr text,
mandt text,
ersda text,
ernam text,
laeda text,
aenam text,
vpsta text,
pstat text,
mtart text,
mbrsh text,
matkl text,
bismt text,
meins text,
bstme text,
wrkst text,
brgew text,
ntgew text,
gewei text,
spart text,
kzkfg text,
extwg text,
cuobf text,
ersda1 date,
laeda1 date,
PRIMARY KEY (matnr, mandt)
)
Distributed by (matnr, mandt);
alter table mara add column hashResult text;
alter table mara add column rowNum serial;
drop table mska;
CREATE TABLE mska (
vbeln text,
posnr text,
mandt text,
matnr text,
werks text,
lgort text,
charg text,
sobkz text,
kaspe text,
kalab text,
PRIMARY KEY (mandt, matnr, werks, lgort, charg, sobkz, vbeln, posnr)
)
Distributed by (mandt, matnr, werks, lgort, charg, sobkz, vbeln, posnr);
alter table mska add column hashResult text;
alter table mska add column rowNum serial;
drop table pa0002;
CREATE TABLE pa0002 (
mandt text,
pernr text,
subty text,
objps text,
sprps text,
endda text,
begda text,
seqnr text,
nachn text,
vorna text,
YeWuYMC text,
endda1 date,
PRIMARY KEY (mandt,pernr,subty,objps,sprps,endda,begda,seqnr)
)
Distributed by (mandt,pernr,subty,objps,sprps,endda,begda,seqnr);
alter table pa0002 add column hashResult text;
alter table pa0002 add column rowNum serial;
alter table pa0002 add column aedtm text;
drop table t001w;
CREATE TABLE t001w (
mandt text,
werks text,
name1 text,
bwkey text,
PRIMARY KEY (mandt,werks)
)
Distributed by (mandt,werks);
alter table t001w add column hashResult text;
alter table t001w add column rowNum serial;
drop table t023t;
CREATE TABLE t023t (
mandt text,
spras text,
matkl text,
wgbez text,
wgbez60 text,
PRIMARY KEY (mandt, spras, matkl)
)
Distributed by (mandt, spras, matkl);
alter table t023t add column hashResult text;
alter table t023t add column rowNum serial;
drop table vbak;
CREATE TABLE vbak (
vbeln text,
mandt text,
vbtyp text,
audat text,
waerk text,
kalsm text,
ctlpc text,
kunnr text,
bukrs_vf text,
bstnk text,
bname text,
telf1 text,
netwr numeric(15,2),
vkbur text ,
audat1 date,
knumv text,
vkorg text,
PRIMARY KEY (vbeln, mandt)
)
Distributed by (vbeln, mandt);
alter table vbak add column vtweg text;
alter table vbak add column kkber text;
alter table vbak add column auart text;
alter table vbak add column hashResult text;
alter table vbak add column rowNum serial;
alter table vbak add column aedat text;
alter table vbak add column pernr text;
alter table vbak add column erdat2erzet timestamp;
alter table vbak add column erdat text;
alter table vbak add column erzet text;
drop table vbap;
CREATE TABLE vbap (
vbeln text,
posnr text,
matnr text,
mandt text,
matkl text,
spart text,
kwmeng numeric(15,3),
netwr numeric(15,2),
mwsbp numeric(13,2),
waerk text,
vrkme text,
abgru text,
uebto numeric(3,1),
untto numeric(3,1),
werks text,
vstel text,
mvgr1 text,
plavo text,
mvgr4 text,
mvgr5 text,
ulxh text,
zma_ftb_02 text,
zma_ftb_03 text,
zma_ftb_45 text,
zma_ftb_06 text,
zma_ftb_07 text,
zma_ftb_08 text,
zma_jyb_02 text,
zma_jyb_03 text,
zma_jyb_45 text,
zma_jyb_06 text,
zma_jyb_07 text,
zma_ljb_03 text,
zma_ljb_04 text,
zma_ljb_06 text,
zma_ljb_07 text,
zma_ljb_08 text,
zma_ljb_11 text,
zma_ljb_12 text,
zma_ljb_13 text,
zma_yhbg_02 text,
zma_yhbg_04 text,
zma_yhbg_05 text,
zma_yhbg_06 text,
tbpz text,
ws text,
cu_maktx text,
cu_pcdst text,
ztype text,
barcode text,
gdno text,
lh text,
dgxx text,
zklx text,
erdat text,
erzet text,
erdat1 date,
erdat2 timestamp,
netpr numeric(11,2),
PRIMARY KEY (vbeln, posnr, mandt, erdat1)
)
Distributed by (vbeln, posnr, mandt, erdat1)
partition by range(erdat1)
(start (date '2015-01-01') inclusive
end (date '2030-01-01') exclusive
every (interval '1 month')
);
alter table vbap add column hashResult text;
alter table vbap add column rowNum serial;
alter table vbap add column aedat text;
alter table vbap add column pernr text;
drop table vbapadv;
CREATE TABLE vbapadv (
vbeln text,
posnr text,
matnr text,
mandt text,
matkl text,
spart text,
kwmeng numeric(15,3),
netwr numeric(15,2),
mwsbp numeric(13,2),
waerk text,
vrkme text,
abgru text,
uebto numeric(3,1),
untto numeric(3,1),
werks text,
vstel text,
mvgr1 text,
plavo text,
mvgr4 text,
mvgr5 text,
ulxh text,
zma_ftb_02 text,
zma_ftb_03 text,
zma_ftb_45 text,
zma_ftb_06 text,
zma_ftb_07 text,
zma_ftb_08 text,
zma_jyb_02 text,
zma_jyb_03 text,
zma_jyb_45 text,
zma_jyb_06 text,
zma_jyb_07 text,
zma_ljb_03 text,
zma_ljb_04 text,
zma_ljb_06 text,
zma_ljb_07 text,
zma_ljb_08 text,
zma_ljb_11 text,
zma_ljb_12 text,
zma_ljb_13 text,
zma_yhbg_02 text,
zma_yhbg_04 text,
zma_yhbg_05 text,
zma_yhbg_06 text,
tbpz text,
ws text,
cu_maktx text,
cu_pcdst text,
ztype text,
barcode text,
gdno text,
lh text,
dgxx text,
zklx text,
erdat text,
erzet text,
erdat1 date,
erdat2 timestamp,
--aufk
aufk_kdauf text,
aufk_kdpos text,
aufk_mandt text,
aufk_aufnr text,
aufk_erdat text,
aufk_erfzeit text,
aufk_ernam text,
aufk_aenam text,
aufk_bukrs text,
aufk_erdat1 date,
aufk_erdat2 timestamp,
--SalesContractProcess
scp_id text,
scp_xiaoShouDDBH text,
scp_xuFangGSID text,
scp_xuFangGS text,
scp_gongFangGSt text,
scp_xiaoShouBMt text,
scp_shouHuoGSID text,
scp_shouHuoGS text,
scp_fuKuanTJt text,
scp_caiGouDDBH text,
scp_dangQianXYED text,
scp_yvQiK text,
scp_dengJi text,
scp_biZhongt text,
scp_yongJin text,
scp_zongHeMLL text,
scp_sysProcessname text,
scp_sysIncident integer,
--mara
mara_matnr text,
mara_mandt text,
mara_ersda text,
mara_ernam text,
mara_laeda text,
mara_aenam text,
mara_vpsta text,
mara_pstat text,
mara_mtart text,
mara_mbrsh text,
mara_matkl text,
mara_bismt text,
mara_meins text,
mara_bstme text,
mara_wrkst text,
mara_brgew text,
mara_ntgew text,
mara_gewei text,
mara_spart text,
mara_kzkfg text,
mara_extwg text,
mara_cuobf text,
mara_ersda1 date,
mara_laeda1 date,
--makt
makt_matnr text,
makt_mandt text,
makt_spras text,
makt_maktx text,
--zsd06
zsd06_vbeln text,
zsd06_posnr text,
zsd06_mandt text,
zsd06_datum text,
zsd06_uname text,
zsd06_include text,
zsd06_crt_uname text,
zsd06_crt_datum text,
zsd06_crt_time text,
zsd06_cha_name text,
zsd06_cha_datum text,
zsd06_cha_time text,
zsd06_datum1 date,
zsd06_crt_datum1 timestamp,
zsd06_cha_datum1 timestamp,
--vbak
vbak_vbeln text,
vbak_mandt text,
vbak_vbtyp text,
vbak_audat text,
vbak_waerk text,
vbak_kalsm text,
vbak_ctlpc text,
vbak_kunnr text,
vbak_bukrs_vf text,
vbak_bstnk text,
vbak_bname text,
vbak_telf1 text,
vbak_netwr numeric(15,2),
vbak_vkbur text ,
vbak_audat1 date,
vbak_knumv text,
vbak_vkorg text,
--likp
likp_vbeln text,
likp_mandt text,
likp_erdat text,
likp_wadat_ist text,
likp_ctlpc text,
likp_kunnr text,
likp_erdat1 date,
likp_wadat_ist1 date,
--handover
handover_vbeln text,
handover_task_id text,
handover_handover_id text,
handover_handover_type integer,
handover_order_type integer,
handover_task_no text,
handover_sale_no text,
handover_delivery_type integer,
handover_handover_state integer,
handover_f_plant text,
handover_plant text,
handover_customer_id integer,
handover_customer_name text,
handover_fmenge integer,
handover_delivery_num integer,
handover_port integer,
handover_piect_total integer,
handover_total_net_weight numeric(11,0),
handover_weight_total numeric(9,2),
handover_settlement_weight numeric(9,2),
handover_weight_state integer,
handover_vrkme text,
handover_average_freight numeric(9,2),
handover_order_remark text,
handover_delivery_time timestamp,
handover_erdat timestamp,
handover_plan_product_time timestamp,
handover_open_ready_time timestamp,
handover_already_ready_time timestamp,
handover_appearance_time timestamp,
handover_sign_time timestamp,
handover_edatu timestamp,
handover_area_no text,
handover_area_name text,
handover_fmenge_time timestamp,
handover_klabc text,
handover_sales_man text,
handover_sales_department text,
handover_is_valid integer,
handover_created_user_id text,
handover_created_time timestamp,
handover_modified_user_id text,
handover_modified_time timestamp,
handover_remark text,
handover_is_auto_created integer,
handover_delivery_state text,
handover_operate_tag integer,
handover_transport_time integer,
handover_is_date_success integer,
handover_is_num_success integer,
handover_is_sign_success integer,
handover_weighing_weight numeric(9,2),
handover_delivery_issued_time timestamp,
--SysSAPreturnNo
ssspn_id integer,
ssspn_processName text,
ssspn_shiLiH integer,
ssspn_sapNo text,
ssspn_chuangJianSJ timestamp,
--zmdpc
zmdpc_vbeln text,
zmdpc_posnr text,
zmdpc_f_plant text,
zmdpc_plant text,
zmdpc_x_plant text,
zmdpc_mandt text,
--vbpa
vbpa_mandt text,
vbpa_vbeln text,
vbpa_posnr text,
vbpa_parvw text,
vbpa_pernr text,
kpsj date,
htsl numeric(15,3),
pssj date,
jhsj date,
pcsj date,
rksj date,
ccsj timestamp,
pcsl numeric(15,3),
rksl numeric(15,3),
jhsl numeric(15,3),
ccsl numeric(15,3),
kpsl numeric(15,3),
wlsj timestamp,
PRIMARY KEY (vbeln, posnr, mandt, erdat1)
)
Distributed by (vbeln, posnr, mandt, erdat1)
partition by range(erdat1)
(start (date '2015-01-01') inclusive
end (date '2030-01-01') exclusive
every (interval '1 month')
);
alter table vbapadv add column kna1_kunnr text;
alter table vbapadv add column kna1_name1 text;
alter table vbapadv add column kna1_name2 text;
alter table vbapadv add column kna1_mandt text;
alter table vbapadv add column t023t_mandt text;
alter table vbapadv add column t023t_spras text;
alter table vbapadv add column t023t_matkl text;
alter table vbapadv add column t023t_wgbez text;
alter table vbapadv add column t023t_wgbez60 text;
alter table vbapadv add column netpr numeric(11,2);
alter table vbapadv add column makt_maktxSize text;
alter table vbapadv add column scp_ziShiYBv text;
alter table vbapadv add column vbak_vtweg text;
alter table vbapadv add column vbak_kkber text;
alter table vbapadv add column vbak_auart text;
alter table vbapadv add column aedat text;
alter table vbapadv drop column vbpa_mandt;
alter table vbapadv drop column vbpa_vbeln;
alter table vbapadv drop column vbpa_posnr;
alter table vbapadv drop column vbpa_parvw;
alter table vbapadv drop column vbpa_pernr;
alter table vbapadv add column pernr text;
drop table vbep;
CREATE TABLE vbep (
vbeln text,
posnr text,
edatu text,
ettyp text,
wmeng numeric(13,3),
bmeng numeric(13,3),
edatu1 date,
mandt text,
etenr text,
PRIMARY KEY (mandt, vbeln, posnr, etenr)
)
Distributed by (mandt, vbeln, posnr, etenr);
alter table vbep add column hashResult text;
alter table vbep add column rowNum serial;
drop table vbpa;
CREATE TABLE vbpa (
mandt text,
vbeln text,
posnr text,
parvw text,
pernr text,
PRIMARY KEY (vbeln, posnr, mandt, parvw)
)
Distributed by (vbeln, posnr, mandt, parvw);
alter table vbpa add column hashResult text;
alter table vbpa add column rowNum serial;
drop table vbrk;
CREATE TABLE vbrk (
vbeln text,
fkart text,
waerk text,
erdat text,
erzet text,
zterm text,
kunrg text,
bstnk_vf text,
zbillty text,
zbz01 text,
zbz02 text,
zdc_flg text,
bukrs text,
ktgrd text,
fkdat text,
inco1 text,
inco2 text,
netwr numeric(15,2),
mwsbk numeric(13,2),
erdat1 date,
erdat2 timestamp,
fkdat1 date,
mandt text,
PRIMARY KEY (mandt, vbeln)
)
Distributed by (mandt, vbeln);
alter table vbrk add column hashResult text;
alter table vbrk add column rowNum serial;
alter table vbrk add column aedat text;
drop table vbrp;
CREATE TABLE vbrp (
vbeln text,
posnr text,
fkimg numeric(13,2),
meins text,
vgbel text,
vgpos text,
aubel text,
aupos text,
matnr text,
arktx text,
matkl text,
spart text,
zarktx_js text,
zfkimg_js numeric(13,2),
zvrkme_js text,
mandt text,
netwr numeric(15,2),
mwsbp numeric(13,2),
PRIMARY KEY (mandt, vbeln, posnr)
)
Distributed by (mandt, vbeln, posnr);
alter table vbrp add column hashResult text;
alter table vbrp add column rowNum serial;
drop table vbuk;
CREATE TABLE vbuk (
vbeln text,
wbstk text,
kostk text,
mandt text,
PRIMARY KEY (mandt, vbeln)
)
Distributed by (mandt, vbeln);
alter table vbuk add column hashResult text;
alter table vbuk add column rowNum serial;
drop table zmdpc;
CREATE TABLE zmdpc (
vbeln text,
posnr text,
f_plant text,
plant text,
x_plant text,
mandt text,
PRIMARY KEY (vbeln, posnr, mandt)
)
Distributed by (vbeln, posnr, mandt);
alter table zmdpc add column hashResult text;
alter table zmdpc add column rowNum serial;
drop table Tvkbt;
CREATE TABLE Tvkbt (
mandt text,
spras text,
vkbur text,
bezei text,
rowNum serial,
hashResult text
PRIMARY KEY (mandt, spras, vkbur)
)
Distributed by (mandt, spras, vkbur);
drop table SalesForecastProcess;
CREATE TABLE SalesForecastProcess (
id text,
shenQingR text,
shenQingRBM text,
yuCeLXt text,
sysIncstatus text,
sysProcessname text,
sysIncident integer,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SalesForecastProcess add column kaiShiSJ timestamp;
alter table SalesForecastProcess add column jieShuSJ timestamp;
alter table SalesForecastProcess add column hashResult text;
alter table SalesForecastProcess add column rowNum serial;
alter table SalesForecastProcess add column shenQingRLN text;
\ No newline at end of file
drop table SalesForecastProcessMX;
CREATE TABLE SalesForecastProcessMX (
id text,
wuLiaoH text,
wuLiaoMS text,
keHuMC text,
jiHuaJDL text,
mingXiMingC text,
sysIncident integer,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SalesForecastProcessMX alter COLUMN jiHuaJDL type integer USING jihuajdl::integer;
alter table SalesForecastProcessMX add column hashResult text;
alter table SalesForecastProcessMX add column rowNum serial;
drop table SampleApplicationProcess;
CREATE TABLE SampleApplicationProcess (
id text,
dingDanLXv text,
dingDanLXt text,
sYS_INCIDENT integer,
yeWuYID text,
xuFangGS text,
xuFangGSID text,
yangPinLXv text,
yangPinLXt text,
pCBCS text,
chanPinYY text,
jiFuBZ text,
sYS_UPDATETIME timestamp,
hashResult text,
rowNum serial,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SampleApplicationProcess add column pCBCS2chanPinYY text;
alter table SampleApplicationProcess add column ziSHiYBv text;
drop table SampleApplicationProcessMingXi;
CREATE TABLE SampleApplicationProcessMingXi (
id text,
sYS_INCIDENT integer,
uLPH text,
wuLiaoMS text,
shuLiang text,
hashResult text,
rowNum serial,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SampleApplicationProcessMingXi add column hangXiangMH text;
alter table SampleApplicationProcessMingXi add column hangxiangmh1 integer;
drop table SampleClosingProcess;
CREATE TABLE SampleClosingProcess (
id text,
sYS_INCIDENT integer,
yangPinSQSLH text,
hashResult text,
rowNum serial,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SampleClosingProcess add column yangPinSQSLHi integer;
alter table SampleClosingProcess add column sYS_INCSTATUS integer;
drop table SampleClosingProcessMingXi;
CREATE TABLE SampleClosingProcessMingXi (
id text,
sYS_INCIDENT integer,
shiFouTGv text,
shiFouTGt text,
hashResult text,
rowNum serial,
PRIMARY KEY (id)
)
Distributed by (id);
drop table SalesContractProcess;
CREATE TABLE SalesContractProcess (
id text,
xiaoShouDDBH text,
xuFangGSID text,
xuFangGS text,
gongFangGSt text,
xiaoShouBMt text,
shouHuoGSID text,
shouHuoGS text,
fuKuanTJt text,
caiGouDDBH text,
dangQianXYED text,
yvQiK text,
dengJi text,
biZhongt text,
yongJin text,
zongHeMLL text,
sysProcessname text,
sysIncident integer,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SalesContractProcess add column ziShiYBv text;
alter table SalesContractProcess add column hashResult text;
alter table SalesContractProcess add column rowNum serial;
drop table SalesContractProcessMX;
CREATE TABLE SalesContractProcessMX (
id text,
chengben numeric(15,5),
sysIncident integer,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SalesContractProcessMX add column hashResult text;
alter table SalesContractProcessMX add column rowNum serial;
alter table SalesContractProcessMX add column zongjia text;
alter table SalesContractProcessMX add column maolibz text;
drop table TKeHu;
CREATE TABLE TKeHu (
keHuID text,
keHuCode text,
keHuMC text,
xinBaoED numeric(18,0),
diQu text,
PRIMARY KEY (keHuID)
)
Distributed by (keHuID);
alter table TKeHu add column hashResult text;
alter table TKeHu add column rowNum serial;
drop table TKeHuXiaoShouZZ;
CREATE TABLE TKeHuXiaoShouZZ (
id text,
keHuID text,
fuKuanTJ text,
PRIMARY KEY (id)
)
Distributed by (id);
alter table TKeHuXiaoShouZZ add column hashResult text;
alter table TKeHuXiaoShouZZ add column rowNum serial;
drop table TKeHuXiaoShouZZYeWuY;
CREATE TABLE TKeHuXiaoShouZZYeWuY (
id text,
keHuID text,
yeWuYMC text,
PRIMARY KEY (id)
)
Distributed by (id);
alter table TKeHuXiaoShouZZYeWuY add column hashResult text;
alter table TKeHuXiaoShouZZYeWuY add column rowNum serial;
alter table TKeHuXiaoShouZZYeWuY add column yeWuYLoginName text;
drop table TWuLiaoDB;
CREATE TABLE TWuLiaoDB (
id text,
chuangJianRLN text,
chuangJianR text,
chuangJianSJ timestamp,
gengXinRLN text,
gengXinR text,
gengXinSJ timestamp,
shanChuRLN text,
shanChuR text,
shanChuSJ timestamp,
shiFouYSC text,
keHuID text,
keHuMC text,
keHuWLMC text,
xiTongWLMC text,
xiTongWLBM text,
keHuWLBM text,
PRIMARY KEY (id)
)
Distributed by (id);
alter table TWuLiaoDB add column hashResult text;
alter table TWuLiaoDB add column rowNum serial;
drop table SysSAPreturnNo;
CREATE TABLE SysSAPreturnNo (
id integer,
processName text,
shiLiH integer,
sapNo text,
chuangJianSJ timestamp,
PRIMARY KEY (id)
)
Distributed by (id);
alter table SysSAPreturnNo add column hashResult text;
alter table SysSAPreturnNo add column rowNum serial;
drop table Tasks;
CREATE TABLE Tasks (
taskId text,
processName text,
incident integer,
startTime timestamp,
taskUser integer,
hashResult text,
rowNum serial,
PRIMARY KEY (taskId)
)
Distributed by (taskId);
drop table handover;
CREATE TABLE handover (
vbeln text,
task_id text,
handover_id text,
handover_type integer,
order_type integer,
task_no text,
sale_no text,
delivery_type integer,
handover_state integer,
f_plant text,
plant text,
customer_id integer,
customer_name text,
fmenge integer,
delivery_num integer,
port integer,
piect_total integer,
total_net_weight numeric(11,0),
weight_total numeric(9,2),
settlement_weight numeric(9,2),
weight_state integer,
vrkme text,
average_freight numeric(9,2),
order_remark text,
delivery_time timestamp,
erdat timestamp,
plan_product_time timestamp,
open_ready_time timestamp,
already_ready_time timestamp,
appearance_time timestamp,
sign_time timestamp,
edatu timestamp,
area_no text,
area_name text,
fmenge_time timestamp,
klabc text,
sales_man text,
sales_department text,
is_valid integer,
created_user_id text,
created_time timestamp,
modified_user_id text,
modified_time timestamp,
remark text,
is_auto_created integer,
delivery_state text,
operate_tag integer,
transport_time integer,
is_date_success integer,
is_num_success integer,
is_sign_success integer,
weighing_weight numeric(9,2),
delivery_issued_time timestamp,
PRIMARY KEY (handover_id)
)
Distributed by (handover_id);
alter table handover add column hashResult text;
alter table handover add column rowNum serial;
drop table handoverTask;
CREATE TABLE handoverTask (
task_id text,
task_no text,
task_type integer,
task_state integer,
f_plant text,
plant text,
customer_id integer,
customer_name text,
kunnr text,
actual_handover_num numeric(9,2),
receipt_state integer,
receipt_time timestamp,
cost_state integer,
cost_handle_time timestamp,
handover_print_state integer,
last_print_time timestamp,
appearance_state integer,
appearance_time timestamp,
company_id integer,
company_no text,
company_name text,
netweight_count numeric(9,2),
weight_count numeric(9,2),
handover_direct_count integer,
transport_type integer,
vehicle_type integer,
delivery_cost numeric(9,2),
delivery_date timestamp,
sign_time timestamp,
area_name text,
area_id integer,
port integer,
delivery_type integer,
dispatch_type integer,
piece_count integer,
remark text,
is_valid integer,
created_user_id integer,
created_time timestamp,
modified_user_id integer,
modified_time timestamp,
receipt_remark text,
PRIMARY KEY (task_id)
)
Distributed by (task_id);
alter table handoverTask add column s12 timestamp;
alter table handoverTask add column s21 timestamp;
alter table handoverTask add column s24 timestamp;
alter table handoverTask add column hashResult text;
alter table handoverTask add column rowNum serial;
drop table transformHistoryNode;
CREATE TABLE transformHistoryNode (
id integer,
task_no text,
last_commit_time timestamp,
second_node integer,
PRIMARY KEY (id)
)
Distributed by (id);
alter table transformHistoryNode add column hashResult text;
alter table transformHistoryNode add column rowNum serial;
\ No newline at end of file
drop table transformNewNode;
CREATE TABLE transformNewNode (
task_id integer,
id integer,
task_no text,
vehicle_no text,
last_commit_time timestamp,
first_node integer,
second_node integer,
vehicle_type text,
driver text,
driver_phone text,
location text,
exception_comment text,
comit_type integer,
exception_type integer,
exception_picture text,
is_valid integer,
lon numeric(9,6),
lat numeric(9,6),
created_user_id integer,
created_time timestamp,
modified_user_id integer,
modified_time timestamp ,
PRIMARY KEY (id)
)
Distributed by (id);
alter table transformNewNode add column hashResult text;
alter table transformNewNode add column rowNum serial;
select
a.BUKRS,a.KUNNR,a.BLART,a.UMSKZ,a.WAERS,
round(a.WRBTR_S,2) as WRBTR_S, round(a.WRBTR_H,2) as WRBTR_H, round((a.WRBTR_S + a.WRBTR_H),2) as BYHK,
a.budatc,a.zfbdt,a.dqsjc,a.zterm,a.vbeln,a.pernr
from (
select BUKRS,KUNNR,BLART,UMSKZ,WAERS,
sum(case when shkzg='S' then WRBTR/-1 else 0 end) as WRBTR_S,
sum(case when shkzg='H' then WRBTR else 0 end) as WRBTR_H,
budatc,zfbdt,dqsjc,zterm,vbeln,pernr
from bsid2bsad
where UMSKZ = '' and BLART in ('DZ', 'ZD')
GROUP BY BUKRS,KUNNR,BLART,UMSKZ,WAERS,budatc,zfbdt,dqsjc,zterm,vbeln,pernr
) a
select
a.mandt,a.BUKRS,a.KUNNR,a.BLART,a.UMSKZ,a.WAERS,
round(a.WRBTR_S,2) as WRBTR_S, round(a.WRBTR_H,2) as WRBTR_H, round((a.WRBTR_S + a.WRBTR_H),2) as BYXSE,
a.budatd,a.zfbdt,a.dqsjc,a.zterm,a.vbeln,a.pernr
from (
select mandt,BUKRS,KUNNR,BLART,UMSKZ,WAERS,
sum(case when shkzg='S' then WRBTR else 0 end) as WRBTR_S,
sum(case when shkzg='H' then WRBTR/-1 else 0 end) as WRBTR_H,
budatd,zfbdt,dqsjc,zterm,vbeln,pernr
from bsid2bsad
where UMSKZ = '' and BLART in ('RV', 'QC')
GROUP BY mandt,BUKRS,KUNNR,BLART,UMSKZ,WAERS,budatd,zfbdt,dqsjc,zterm,vbeln,pernr
) a
select r.kunnr,r.waers,
r.budatd,
TO_CHAR(to_date(r.budatd,'yyyy-MM') + INTERVAL '-1 MONTH','YYYY-MM') budatb,
max(r.byxse) as byxse,max(r.byhk) as byhk
from (
select r1.kunnr,r1.byhk, '0' as BYXSE,r1.budatd,r1.waers from (
select
a.KUNNR,
round((a.WRBTR_S + a.WRBTR_H),2) as BYHK,
a.budatd,a.waers
from (
select KUNNR,waers,
sum(case when shkzg='S' then WRBTR/-1 else 0 end) as WRBTR_S,
sum(case when shkzg='H' then WRBTR else 0 end) as WRBTR_H,
budatd
from bsid2bsad
where UMSKZ = '' and BLART in ('DZ', 'ZD')
GROUP BY KUNNR,budatd,waers
) a
where a.budatd is not null
) r1
union all
select r2.kunnr, '0' as byhk,r2.BYXSE,r2.budatd,r2.waers from (
select
a.KUNNR,
round((a.WRBTR_S + a.WRBTR_H),2) as BYXSE,
a.budatd,a.waers
from (
select KUNNR,waers,
sum(case when shkzg='S' then WRBTR else 0 end) as WRBTR_S,
sum(case when shkzg='H' then WRBTR/-1 else 0 end) as WRBTR_H,
budatd
from bsid2bsad
where UMSKZ = '' and BLART in ('RV', 'QC')
GROUP BY KUNNR,budatd,waers
) a
where a.budatd is not null
) r2
) r
group by r.kunnr,r.budatd,r.waers
order by r.budatd;
/*暂停开发
select
COALESCE(r2.kunnr,r1.kunnr) as kunnr,
COALESCE(r2.waers,r1.waers) as waers,
COALESCE(r2.budatd,r1.budatc) as budatd,
TO_CHAR(to_date(COALESCE(r2.budatd,r1.budatc),'yyyy-MM') + INTERVAL '-1 MONTH','YYYY-MM') budatb,
COALESCE(r2.byxse,0) as byxse,
COALESCE(r1.budatc,r2.budatd) as budatc,
COALESCE(r1.byhk,0) as byhk
from (
select
a.KUNNR,
round((a.WRBTR_S + a.WRBTR_H),2) as BYXSE,
a.budatd,a.waers
from (
select KUNNR,waers,
sum(case when shkzg='S' then WRBTR else 0 end) as WRBTR_S,
sum(case when shkzg='H' then WRBTR/-1 else 0 end) as WRBTR_H,
budatd
from bsid2bsad
where UMSKZ = '' and BLART in ('RV', 'QC')
GROUP BY KUNNR,budatd,waers
) a
where a.budatd is not null and a.kunnr = '0001000167' order by a.budatd
) r2 full join (
select
a.KUNNR,
round((a.WRBTR_S + a.WRBTR_H),2) as BYHK,
a.budatc,a.waers
from (
select KUNNR,waers,
sum(case when shkzg='S' then WRBTR/-1 else 0 end) as WRBTR_S,
sum(case when shkzg='H' then WRBTR else 0 end) as WRBTR_H,
budatc
from bsid2bsad
where UMSKZ = '' and BLART in ('DZ', 'ZD')
GROUP BY KUNNR,budatc,waers
) a
where a.budatc is not null and a.kunnr = '0001000167' order by a.budatc
) r1 on r2.kunnr = r1.kunnr and r2.budatd = r1.budatc
order by COALESCE(r2.budatd,r1.budatc),COALESCE(r1.budatc,r2.budatd)
*/
\ No newline at end of file
--drop table bsid2bsad;
--CREATE TABLE bsid2bsad (
--mandt text,
--bukrs text,
--kunnr text,
--umsks text,
--umskz text,
--augdt timestamp,
--augbl text,
--zuonr text,
--gjahr integer,
--belnr text,
--buzei integer,
--blart text,
--waers text,
--wrbtr numeric(13,2),
--shkzg text,
--PRIMARY KEY (mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr, gjahr, belnr, buzei)
--)
--Distributed by (mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr, gjahr, belnr, buzei);
--
--alter table bsid2bsad add column budat timestamp;
--alter table bsid2bsad add column zfbdt timestamp;
--alter table bsid2bsad add column dqsjc timestamp;
--alter table bsid2bsad add column budatc text;
--alter table bsid2bsad add column vbeln text;
--alter table bsid2bsad add column zterm text;
--alter table bsid2bsad add column budatd text;
--alter table bsid2bsad add column rowNum serial;
select
mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr,
gjahr, belnr, buzei, blart, waers, wrbtr, shkzg,
budat, zfbdt, dqsjc, budatc, vbeln, zterm, budatd, pernr
from Bsid UNION all
select
mandt, bukrs, kunnr, umsks, umskz, augdt, augbl, zuonr,
gjahr, belnr, buzei, blart, waers, wrbtr, shkzg,
budat, zfbdt, dqsjc, budatc, vbeln, zterm, budatd, pernr
from Bsad;
select r1.ccsl, r2.jhsl, r3.rksl, r4.pcsl, r5.kpsl, r6.Jhsj, r7.kpsj, r8.rksj, r9.ccsj, r10.wlsj from (
select r1.ccsl, r2.jhsl, r3.rksl, r4.pcsl, r5.kpsl, r6.Jhsj, r7.kpsj, r8.rksj, r9.ccsj, r10.wlsj from (
select 'a' as r1, 'b' as r2
) a
left join (
select sum(lfimg) as ccsl from lips where vgbel = '' and vgpos = '' and mandt = '800'
) r1 on 1=1
left join (
select sum(Bmeng) as jhsl from vbep where vbeln = '' and posnr = '' and mandt = '800'
) r2 on 1=1
left join (
select sum(wemng) as rksl from afpo where kdauf = '' and kdpos = '' and mandt = '800'
) r3 on 1=1
left join (
select sum(psmng) as pcsl from afpo where kdauf = '' and kdpos = '' and mandt = '800'
) r4 on 1=1
left join (
select sum(q.fkimg) as kpsl from vbap p
left join (
select b.fkimg, b.aubel, b.aupos, a.mandt from vbrk a
left join vbrp b on a.vbeln = b.vbeln and a.mandt = b.mandt
where a.mandt is not null and b.mandt is not null and a.fkart not in ('ZIV1', 'ZIVR')
group by b.fkimg, b.aubel, b.aupos, a.mandt
) q on p.vbeln = q.aubel and p.mandt = q.mandt and p.posnr = q.aupos
where p.vbeln = '' and p.posnr = '' and p.mandt = '800' and p.erdat1 = '2020-10-31'
) r5 on 1=1
left join (
select max(edatu1) as Jhsj from vbep where vbeln = '' and posnr = '' and mandt = '800'
) r6 on 1=1
left join (
select max(r.kpsj) as kpsj from (
select a.vbeln, a.posnr, a.mandt, a.erdat1, b.kpsj from vbap a
left join (
select aa.vbeln, aa.posnr, aa.mandt, bb.kpsj from lips aa
left join (
select aaa.vgbel,aaa.vgpos,aaa.vbeln,aaa.mandt,bbb.kpsj from Vbrp aaa
left join (
select vbeln, mandt, max(Fkdat1) as kpsj from vbrk group by vbeln, mandt
) bbb on aaa.vbeln = bbb.vbeln and aaa.mandt = bbb.mandt
) bb on aa.vbeln = bb.vgbel and aa.posnr = bb.vgpos and aa.mandt = bb.mandt
) b on a.vbeln = b.vbeln and a.posnr = b.posnr and a.mandt = b.mandt
where a.vbeln = '' and a.posnr = '' and a.mandt = '800' and a.erdat1 = '2020-10-31'
) r
) r7 on 1=1
left join (
select max(r.rksj) as rksj from (
select a.vbeln, a.posnr, a.mandt, a.erdat1, b.rksj from vbap a
left join (
select aa.kdauf,aa.kdpos,aa.mandt,aa.aufnr,bb.rksj from afpo aa
left join (
select aaa.aufnr,aaa.mandt,bbb.rksj from afko aaa
left join (
select aufnr,mandt,max(budat1) as rksj from aufm where budat1 is not null group by aufnr,mandt
) bbb on aaa.aufnr = bbb.aufnr and aaa.mandt = bbb.mandt
where bbb.rksj is not null
) bb on aa.aufnr = bb.aufnr and aa.mandt = bb.mandt
where bb.rksj is not null
) b on a.vbeln = b.kdauf and a.posnr = b.kdpos and a.mandt = b.mandt
where a.vbeln = '' and a.posnr = '' and a.mandt = '800' and a.erdat1 = '2020-10-31' and b.rksj is not null
) r
)r8 on 1=1
left join (
select max(r.already_ready_time) as ccsj from (
select a.vbeln, a.posnr, a.mandt, a.erdat1, b.already_ready_time from vbap a
left join (
select aa.vbeln, aa.posnr, aa.mandt, bb.already_ready_time from lips aa
left join (
select aaa.vbeln,aaa.mandt,bbb.already_ready_time from likp aaa
left join (
select vbeln,max(already_ready_time) as already_ready_time from handover group by vbeln
) bbb on aaa.vbeln = bbb.vbeln
) bb on aa.vbeln = bb.vbeln and aa.mandt = bb.mandt
) b on a.vbeln = b.vbeln and a.posnr = b.posnr and a.mandt = b.mandt
where a.vbeln = '' and a.posnr = '' and a.mandt = '800' and a.erdat1 = '2020-10-31'
) r
) r9 on 1=1
left join (
select max(r.sign_time) as wlsj from (
select a.vbeln, a.posnr, a.mandt, a.erdat1, b.sign_time from vbap a
left join (
select aa.vbeln, aa.posnr, aa.mandt, bb.sign_time from lips aa
left join (
select aaa.vbeln,aaa.mandt,bbb.sign_time from likp aaa
left join (
select vbeln,max(sign_time) as sign_time from handover group by vbeln
) bbb on aaa.vbeln = bbb.vbeln
) bb on aa.vbeln = bb.vbeln and aa.mandt = bb.mandt
) b on a.vbeln = b.vbeln and a.posnr = b.posnr and a.mandt = b.mandt
where a.vbeln = '' and a.posnr = '' and a.mandt = '800' and a.erdat1 = '2020-10-31'
) r
) r10 on 1=1
#!/bin/bash
su gpadmin -c '/usr/local/greenplum-db-6.4.0/bin/gpkafka load --quit-at-eof /home/gpadmin/huazheng/tbl_vbap.yaml'
DATABASE: hzgpdata
USER: gpadmin
HOST: 192.168.80.50
PORT: 5432
KAFKA:
INPUT:
SOURCE:
BROKERS: 192.168.80.55:9092
TOPIC: tbl_vbap-out
COLUMNS:
- NAME: vbeln
TYPE: text
- NAME: posnr
TYPE: text
- NAME: matnr
TYPE: text
- NAME: mandt
TYPE: text
FORMAT: csv
ERROR_LIMIT: 200
OUTPUT:
SCHEMA: public
TABLE: vbap
MAPPING:
- NAME: vbeln
EXPRESSION: vbeln
- NAME: posnr
EXPRESSION: posnr
- NAME: matnr
EXPRESSION: matnr
- NAME: mandt
EXPRESSION: mandt
COMMIT:
MAX_ROW: 500000
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1}:%L - %m %n</pattern>
</encoder>
</appender>
<!-- <logger name="org.mybatis" level="DEBUG"> -->
<!-- <appender-ref ref="STDOUT" /> -->
<!-- </logger> -->
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
<!-- %-4relative [%thread] %-5level %logger{35} - %msg %n -->
<!-- %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n -->
<!-- %d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1}:%L - %m %n -->
--判断列表长度
local llen = redis.call('llen', KEYS[3])
--列表有值的情况
if llen ~= 0 then
local source = redis.call('get', KEYS[4])
local target = redis.call('incr', KEYS[4])
--计数器自增后不相等
if source ~= target then
--从列表的右端弹出一个值
local table_res = redis.call('rpop', KEYS[3])
local llen2 = redis.call('llen', KEYS[3])
--验证代码
local source1 = redis.call('get', KEYS[1])
local source2 = redis.call('get', KEYS[4])
return 'sendcount:'..source1..', receivecount:'..source2..', llen:'..llen2..', source:'..source..', target:'..target..'=========='..table_res
else
--验证代码
local source1 = redis.call('get', KEYS[1])
local source2 = redis.call('get', KEYS[4])
return 'sendcount:'..source1..', receivecount:'..source2..', llen:'..llen..'=========='
end
else
return 'sendcount:0, receivecount:0, llen:'..llen..'=========='
end
local source = redis.call('get', KEYS[1])
local target = redis.call('incr', KEYS[1])
--计数器自增后不相等
if source ~= target then
--设置日期
redis.call('set', KEYS[2], ARGV[1])
local set = redis.call('get', KEYS[2])
--列表左侧压入一个值
local lpush = redis.call('lpush', KEYS[3], ARGV[2])
return 'source:'..source..'-->'..target..', set:'..set..', lpush:'..lpush
else
return '2'
end
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huazheng.project.hana.mapper.SapMapper">
<select id="selectVbapNew" parameterType="Vbap" resultType="Vbap">
select top 20 "$rowid$" as rowids,
p.vbeln, p.posnr, p.matnr, p.mandt, p.matkl, p.spart, p.kwmeng, p.netwr, p.mwsbp, p.waerk, p.vrkme, p.abgru,
p.uebto, p.untto, p.werks, p.vstel, p.mvgr1, p.plavo, p.mvgr4, p.mvgr5, p.ulxh, p.zma_ftb_02, p.zma_ftb_03,
p.zma_ftb_45, p.zma_ftb_06, p.zma_ftb_07, p.zma_ftb_08, p.zma_jyb_02, p.zma_jyb_03, p.zma_jyb_45,
p.zma_jyb_06, p.zma_jyb_07, p.zma_ljb_03, p.zma_ljb_04, p.zma_ljb_06, p.zma_ljb_07, p.zma_ljb_08,
p.zma_ljb_11, p.zma_ljb_12, p.zma_ljb_13, p.zma_yhbg_02, p.zma_yhbg_04, p.zma_yhbg_05, p.zma_yhbg_06,
p.tbpz, p.ws, p.cu_maktx, p.cu_pcdst, p.ztype, p.barcode, p.gdno, p.lh, p.dgxx, p.zklx, p.erdat, p.erzet, p.netpr, p.aedat,q.pernr
from ${hana_user}.vbap p
left join (
select a.vbeln,a.posnr,a.pernr from ${hana_user}.vbpa a
left join ${hana_user}.vbak b on a.vbeln = b.vbeln
where a.mandt = #{mandt} and a.pernr != '00000000'
group by a.vbeln,a.posnr,a.pernr
) q on p.vbeln = q.vbeln and p.posnr = q.posnr
where p."$rowid$" > 10 and p.mandt = #{mandt}
order by p."$rowid$"
</select>
<select id="selectBsidNew" parameterType="Bsid" resultType="Bsid">
select top 20 a."$rowid$" as rowids,
a.vbeln,a.mandt,a.bukrs,a.kunnr,a.umsks,a.umskz,a.augdt as augdts,a.augbl,a.zuonr,a.gjahr,a.belnr,a.buzei,a.buzei as buzeis,
a.blart,a.waers,a.wrbtr,a.shkzg,a.budat as budats,a.zfbdt as zfbdts,a.zterm, b.pernr
from ${hana_user}.bsid a
left join (
select
aa.vbeln, aa.aubel, bb.pernr
from ${hana_user}.vbrp aa
left join (
select vbeln,pernr,posnr from ${hana_user}.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,pernr,posnr
) bb on aa.aubel = bb.vbeln and aa.aupos = bb.posnr
where bb.pernr is not null and aa.mandt = '800'
group by aa.vbeln, aa.aubel, bb.pernr
) b on a.vbeln = b.vbeln
where a."$rowid$" &gt; #{rowids} and a.mandt = '800'
order by a."$rowid$"
</select>
<select id="selectBsadNew" parameterType="Bsad" resultType="Bsad">
select top 20 a."$rowid$" as rowids,
a.vbeln,a.mandt,a.bukrs,a.kunnr,a.umsks,a.umskz,a.augdt as augdts,a.augbl,a.zuonr,a.gjahr,a.belnr,a.buzei,a.buzei as buzeis,
a.blart,a.waers,a.wrbtr,a.shkzg,a.budat as budats,a.zfbdt as zfbdts,a.zterm, b.pernr
from ${hana_user}.bsad a
left join (
select
aa.vbeln, aa.aubel, bb.pernr
from ${hana_user}.vbrp aa
left join (
select vbeln,pernr,posnr from ${hana_user}.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,pernr,posnr
) bb on aa.aubel = bb.vbeln and aa.aupos = bb.posnr
where bb.pernr is not null and aa.mandt = '800'
group by aa.vbeln, aa.aubel, bb.pernr
) b on a.vbeln = b.vbeln
where a."$rowid$" &gt; #{rowids} and a.mandt = '800'
order by a."$rowid$"
</select>
<select id="selectPa0002New" parameterType="Pa0002" resultType="Pa0002">
select top 20 "$rowid$" as rowids,
mandt,pernr,subty,objps,sprps,endda,begda,seqnr,nachn,vorna,aedtm
from ${hana_user}.Pa0002
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectVbpaNew" parameterType="Vbpa" resultType="Vbpa">
select top 20 "$rowid$" as rowids,
mandt, vbeln, posnr, parvw, pernr
from ${hana_user}.Vbpa
where "$rowid$" &gt; #{rowids} and parvw = 'VE' ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectTvkbtNew" parameterType="Tvkbt" resultType="Tvkbt">
select top 20 "$rowid$" as rowids,
mandt,spras,vkbur,bezei
from ${hana_user}.Tvkbt
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectAufmNew" parameterType="Aufm" resultType="Aufm">
select top 20 "$rowid$" as rowids,
mblnr, mjahr, zeile, bldat, budat, bwart, matnr, werks, lgort,
charg, sobkz, lifnr, kdauf, kdpos, shkzg, menge, bwtar, aufnr, mandt
from ${hana_user}.aufm
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectVbrkNew" parameterType="Vbrk" resultType="Vbrk">
select top 20 "$rowid$" as rowids,
vbeln,fkart,waerk,erdat,erzet,zterm,kunrg,bstnk_vf,
zbillty,zbz01,zbz02,zdc_flg,bukrs,ktgrd,fkdat,inco1,
inco2,netwr,mwsbk,aedat,mandt
from ${hana_user}.Vbrk
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectVbrpNew" parameterType="Vbrp" resultType="Vbrp">
select top 20 "$rowid$" as rowids,
vbeln,posnr,fkimg,meins,vgbel,vgpos,aubel,aupos,matnr,
arktx,matkl,spart,zarktx_js,zfkimg_js,zvrkme_js, mandt,netwr,mwsbp
from ${hana_user}.Vbrp
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectS066New" parameterType="S066" resultType="S066">
select top 20 "$rowid$" as rowids,
mandt, ssour, vrsio, kkber, knkli, spmon, sptag as sptags, spwoc, spbup, oeikw,
spwoc as spwocs, spbup as spbups, spmon as spmons
from ${hana_user}.S066
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectS067New" parameterType="S067" resultType="S067">
select top 20 "$rowid$" as rowids,
mandt, ssour, vrsio, kkber, knkli, spmon, sptag as sptags, spwoc, spbup, olikw, ofakw,
spwoc as spwocs, spbup as spbups, spmon as spmons
from ${hana_user}.S067
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectVbukNew" parameterType="Vbuk" resultType="Vbuk">
select top 20 "$rowid$" as rowids,
vbeln, wbstk, kostk, mandt
from ${hana_user}.vbuk
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectLikpNew" parameterType="Likp" resultType="Likp">
select top 20 "$rowid$" as rowids,
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr,
case wadat_ist when '00000000' then null else (to_date(wadat_ist)||' '||to_time(lfuhr)) end as wadat_ist2lfuhr
from ${hana_user}.likp
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectKonvNew" parameterType="Konv" resultType="Konv">
select top 20 "$rowid$" as rowids,
mandt,knumv,kposn,stunr,zaehk,kntyp,kbetr
from ${hana_user}.konv
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectLipsNew" parameterType="Lips" resultType="Lips">
select top 20 "$rowid$" as rowids,
vbeln, posnr, vgbel, vgpos, mandt, matnr, matkl, arktx, werks, lgort,
charg, lfimg, uebto, untto, erdat, erzet, aedat
from ${hana_user}.lips
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectAfkoNew" parameterType="Afko" resultType="Afko">
select top 20 "$rowid$" as rowids,
aufnr, mandt, gltrp, gamng, plnbez, gmein, plnnr, plnal,
stlnr, cy_seqnr, gstrp, aufpl, aplzt
from ${hana_user}.afko
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectAfpoNew" parameterType="Afpo" resultType="Afpo">
select top 20 "$rowid$" as rowids,
kdauf, kdpos, aufnr, mandt, posnr, psmng, wemng, meins, matnr,
uebto, untto, pwerk, verid, dwerk, dauat, krsnr, sernr, plnum
from ${hana_user}.Afpo
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectVbepNew" parameterType="Vbep" resultType="Vbep">
select top 20 "$rowid$" as rowids,
vbeln, posnr, edatu, ettyp, wmeng, bmeng, mandt, etenr
from ${hana_user}.vbep
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectT023tNew" parameterType="T023t" resultType="T023t">
select top 20 "$rowid$" as rowids,
mandt,spras,matkl,wgbez,wgbez60
from ${hana_user}.T023t
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectKna1New" parameterType="Kna1" resultType="Kna1">
select top 20 "$rowid$" as rowids,
kunnr, name1, name2, mandt, ktokd
from ${hana_user}.Kna1
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectKnvvNew" parameterType="Knvv" resultType="Knvv">
select top 20 "$rowid$" as rowids,
mandt, kunnr, vkorg, vtweg, spart, waers
from ${hana_user}.Knvv
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectKnkkNew" parameterType="Knkk" resultType="Knkk">
select top 20 "$rowid$" as rowids,
mandt,kunnr,kkber,klimk,skfor,ssobl,aedat
from ${hana_user}.Knkk
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectMaraNew" parameterType="Mara" resultType="Mara">
select top 20 "$rowid$" as rowids,
matnr, mandt, ersda, ernam, laeda, aenam, vpsta, pstat, mtart, mbrsh, matkl,
bismt, meins, bstme, wrkst, brgew, ntgew, gewei, spart, kzkfg, extwg, cuobf
from ${hana_user}.Mara
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectMaktNew" parameterType="Makt" resultType="Makt">
select top 20 "$rowid$" as rowids,
matnr, mandt, spras, maktx
from ${hana_user}.Makt
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectZsd06New" parameterType="Zsd06" resultType="Zsd06">
select top 20 "$rowid$" as rowids,
vbeln, posnr, mandt, datum, uname, crt_uname, crt_datum,
crt_time, cha_name, cha_datum, cha_time
from ${hana_user}.Zsd_06
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectZmdpcNew" parameterType="Zmdpc" resultType="Zmdpc">
select top 20 "$rowid$" as rowids,
vbeln,posnr,f_plant,plant,x_plant,mandt
from ${hana_user}.Zmdpc
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectVbakNew" parameterType="Vbak" resultType="Vbak">
select top 20 "$rowid$" as rowids,
a.vbeln, a.mandt, a.vbtyp, a.audat, a.waerk, a.kalsm, a.ctlpc, a.kunnr, a.bukrs_vf, a.bstnk,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat, b.pernr,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet,
a.erdat, a.erzet
from ${hana_user}.vbak a
left join (
select q.vbeln,r.pernr from ${hana_user}.vbap q
left join (
select vbeln,posnr,pernr from ${hana_user}.vbpa where mandt = #{mandt} and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = #{mandt} and r.pernr is not null
group by q.vbeln,r.pernr
) b on a.vbeln = b.vbeln
where "$rowid$" &gt; #{rowids} and a.mandt = '800'
order by "$rowid$"
</select>
<select id="selectAufkNew" parameterType="Aufk" resultType="Aufk">
select top 20 "$rowid$" as rowids,
kdauf,kdpos,mandt,aufnr,erdat,erfzeit,ernam,aenam,bukrs,loekz
from ${hana_user}.aufk
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectT001wNew" parameterType="T001w" resultType="T001w">
select top 20 "$rowid$" as rowids,
mandt, werks, name1, bwkey
from ${hana_user}.T001w
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectMskaNew" parameterType="Mska" resultType="Mska">
select top 20 "$rowid$" as rowids,
vbeln, posnr, mandt, matnr, werks, lgort, charg, sobkz, kaspe, kalab
from ${hana_user}.Mska
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectZsdfhzlNew" parameterType="Zsdfhzl" resultType="Zsdfhzl">
select top 20 "$rowid$" as rowids,
vbeln, posnr, mandt, vgbel, vgpos, uname, matnr, fmenge, cdate, ctime, fh_date, werks, cha_datum
from ${hana_user}.zsd_fhzl
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectAfkoById" parameterType="Afko" resultType="Afko">
select
aufnr, mandt, gltrp, gamng, plnbez, gmein, plnnr, plnal,
stlnr, cy_seqnr, gstrp, aufpl, aplzt
from ${hana_user}.afko where aufnr = #{aufnr} and mandt = #{mandt}
</select>
<select id="selectAfpoById" parameterType="Afpo" resultType="Afpo">
select
kdauf, kdpos, aufnr, mandt, posnr, psmng, wemng, meins, matnr,
uebto, untto, pwerk, verid, dwerk, dauat, krsnr, sernr, plnum
from ${hana_user}.afpo
where aufnr = #{aufnr} and posnr = #{posnr} and mandt = #{mandt}
</select>
<select id="selectAufkById" parameterType="Aufk" resultType="Aufk">
select kdauf,kdpos,mandt,aufnr,erdat,erfzeit,ernam,aenam,bukrs,loekz
from ${hana_user}.aufk
where mandt = #{mandt} and aufnr = #{aufnr}
</select>
<select id="selectAufmById" parameterType="Aufm" resultType="Aufm">
select
mblnr, mjahr, zeile, bldat, budat, bwart, matnr, werks, lgort,
charg, sobkz, lifnr, kdauf, kdpos, shkzg, menge, bwtar, aufnr, mandt
from ${hana_user}.aufm
where mblnr = #{mblnr} and mandt = #{mandt} and mjahr = #{mjahr} and zeile = #{zeile}
</select>
<select id="selectKna1ById" parameterType="Kna1" resultType="Kna1">
select kunnr, name1, name2, mandt, ktokd
from ${hana_user}.kna1
where kunnr = #{kunnr} and mandt = #{mandt}
</select>
<select id="selectKnkkById" parameterType="Knkk" resultType="Knkk">
select mandt,kunnr,kkber,klimk,skfor,ssobl,aedat
from ${hana_user}.Knkk
where kunnr = #{kunnr} and kkber = #{kkber} and mandt = #{mandt}
</select>
<select id="selectKnvvById" parameterType="Knvv" resultType="Knvv">
select mandt, kunnr, vkorg, vtweg, spart, waers
from ${hana_user}.Knvv
where mandt = #{mandt} and kunnr = #{kunnr} and vkorg = #{vkorg} and vtweg = #{vtweg} and spart = #{spart}
</select>
<select id="selectKonvById" parameterType="Konv" resultType="Konv">
select mandt,knumv,kposn,stunr,zaehk,kntyp,kbetr
from ${hana_user}.Konv
where mandt = #{mandt} and knumv = #{knumv} and kposn = #{kposn} and stunr = #{stunr} and zaehk = #{zaehk}
</select>
<select id="selectLikpById" parameterType="Likp" resultType="Likp">
select
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr,
case wadat_ist when '00000000' then null else (to_date(wadat_ist)||' '||to_time(lfuhr)) end as wadat_ist2lfuhr
from ${hana_user}.likp
where vbeln = #{vbeln} and mandt = #{mandt}
</select>
<select id="selectLipsById" parameterType="Lips" resultType="Lips">
select
vbeln, posnr, vgbel, vgpos, mandt, matnr, matkl, arktx, werks, lgort,
charg, lfimg, uebto, untto, erdat, erzet, aedat
from ${hana_user}.lips
where vbeln = #{vbeln} and posnr = #{posnr} and mandt = #{mandt}
</select>
<select id="selectMaktById" parameterType="Makt" resultType="Makt">
select matnr, mandt, spras, maktx from ${hana_user}.makt
where matnr = #{matnr} and mandt = #{mandt} and spras = #{spras}
</select>
<select id="selectMaraById" parameterType="Mara" resultType="Mara">
select
matnr, mandt, ersda, ernam, laeda, aenam, vpsta, pstat, mtart, mbrsh, matkl,
bismt, meins, bstme, wrkst, brgew, ntgew, gewei, spart, kzkfg, extwg, cuobf
from ${hana_user}.mara
where matnr = #{matnr} and mandt = #{mandt}
</select>
<select id="selectMskaById" parameterType="Mska" resultType="Mska">
select
vbeln, posnr, mandt, matnr, werks, lgort, charg, sobkz, kaspe, kalab
from ${hana_user}.mska
where mandt = #{mandt} and matnr = #{matnr} and werks = #{werks} and lgort = #{lgort}
and charg = #{charg} and sobkz = #{sobkz} and vbeln = #{vbeln} and posnr = #{posnr}
</select>
<select id="selectPa0002ById" parameterType="Pa0002" resultType="Pa0002">
select mandt,pernr,subty,objps,sprps,endda,begda,seqnr,nachn,vorna,aedtm
from ${hana_user}.Pa0002
where mandt = #{mandt} and pernr = #{pernr} and subty = #{subty} and objps = #{objps}
and sprps = #{sprps} and endda = #{endda} and begda = #{begda} and seqnr = #{seqnr}
</select>
<select id="selectS066ById" parameterType="S066" resultType="S066">
select mandt, ssour, vrsio, kkber, knkli, spmon, sptag as sptags, spwoc, spbup, oeikw,
spwoc as spwocs, spbup as spbups, spmon as spmons
from ${hana_user}.S066
where mandt = #{mandt} and ssour = #{ssour} and vrsio = #{vrsio} and kkber = #{kkber} and
knkli = #{knkli} and spmon = #{spmons} and sptag = #{sptags} and spwoc = #{spwocs} and spbup = #{spbups}
</select>
<select id="selectS067ById" parameterType="S067" resultType="S067">
select mandt, ssour, vrsio, kkber, knkli, spmon, sptag as sptags, spwoc, spbup, olikw, ofakw,
spwoc as spwocs, spbup as spbups, spmon as spmons
from ${hana_user}.S067
where mandt = #{mandt} and ssour = #{ssour} and vrsio = #{vrsio} and kkber = #{kkber} and
knkli = #{knkli} and spmon = #{spmons} and sptag = #{sptags} and spwoc = #{spwocs} and spbup = #{spbups}
</select>
<select id="selectT001wById" parameterType="T001w" resultType="T001w">
select mandt, werks, name1, bwkey
from ${hana_user}.T001w
where werks = #{werks} and mandt = #{mandt}
</select>
<select id="selectT023tById" parameterType="T023t" resultType="T023t">
select mandt,spras,matkl,wgbez,wgbez60
from ${hana_user}.T023t
where mandt = #{mandt} and spras = #{spras} and matkl = #{matkl}
</select>
<select id="selectVbakById" parameterType="Vbak" resultType="Vbak">
select
a.vbeln, a.mandt, a.vbtyp, a.audat, a.waerk, a.kalsm, a.ctlpc, a.kunnr, a.bukrs_vf, a.bstnk,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat, b.pernr,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet,
a.erdat, a.erzet
from ${hana_user}.vbak a
left join (
select q.vbeln,r.pernr from ${hana_user}.vbap q
left join (
select vbeln,posnr,pernr from ${hana_user}.vbpa where mandt = #{mandt} and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = #{mandt} and r.pernr is not null
group by q.vbeln,r.pernr
) b on a.vbeln = b.vbeln
where a.vbeln = #{vbeln} and a.mandt = #{mandt}
</select>
<select id="selectVbepById" parameterType="Vbep" resultType="Vbep">
select vbeln, posnr, edatu, ettyp, wmeng, bmeng, mandt, etenr
from ${hana_user}.vbep
where vbeln = #{vbeln} and posnr = #{posnr} and etenr = #{etenr} and mandt = #{mandt}
</select>
<select id="selectVbpaById" parameterType="Vbpa" resultType="Vbpa">
select mandt, vbeln, posnr, parvw, pernr
from ${hana_user}.Vbpa
where vbeln = #{vbeln} and posnr = #{posnr} and mandt = #{mandt} and parvw = #{parvw}
</select>
<select id="selectVbrkById" parameterType="Vbrk" resultType="Vbrk">
select
vbeln,fkart,waerk,erdat,erzet,zterm,kunrg,bstnk_vf,
zbillty,zbz01,zbz02,zdc_flg,bukrs,ktgrd,fkdat,inco1,
inco2,netwr,mwsbk,aedat,mandt
from ${hana_user}.Vbrk
where vbeln = #{vbeln} and mandt = #{mandt}
</select>
<select id="selectVbrpById" parameterType="Vbrp" resultType="Vbrp">
select vbeln,posnr,fkimg,meins,vgbel,vgpos,aubel,aupos,matnr,
arktx,matkl,spart,zarktx_js,zfkimg_js,zvrkme_js, mandt,netwr,mwsbp
from ${hana_user}.Vbrp
where vbeln = #{vbeln} and posnr = #{posnr} and mandt = #{mandt}
</select>
<select id="selectVbukById" parameterType="Vbuk" resultType="Vbuk">
select vbeln, wbstk, kostk, mandt
from ${hana_user}.vbuk
where vbeln = #{vbeln} and mandt = #{mandt}
</select>
<select id="selectZmdpcById" parameterType="Zmdpc" resultType="Zmdpc">
select vbeln,posnr,f_plant,plant,x_plant,mandt
from ${hana_user}.Zmdpc
where vbeln = #{vbeln} and posnr = #{posnr} and mandt = #{mandt}
</select>
<select id="selectZsd06ById" parameterType="Zsd06" resultType="Zsd06">
select vbeln, posnr, mandt, datum, uname, crt_uname, crt_datum,
crt_time, cha_name, cha_datum, cha_time
from ${hana_user}.zsd_06
where vbeln = #{vbeln} and posnr = #{posnr} and mandt = #{mandt}
</select>
<select id="selectZsdfhzlById" parameterType="Zsdfhzl" resultType="Zsdfhzl">
select vbeln, posnr, mandt, vgbel, vgpos, uname, matnr, fmenge, cdate, ctime, fh_date, werks, cha_datum
from ${hana_user}.zsd_fhzl
where vbeln = #{vbeln} and posnr = #{posnr} and mandt = #{mandt}
</select>
<select id="selectBsidById" parameterType="Bsid" resultType="Bsid">
select
a.vbeln,a.mandt,a.bukrs,a.kunnr,a.umsks,a.umskz,a.augdt as augdts,a.augbl,a.zuonr,a.gjahr,a.belnr,a.buzei,a.buzei as buzeis,
a.blart,a.waers,a.wrbtr,a.shkzg,a.budat as budats,a.zfbdt as zfbdts,a.zterm, b.pernr
from ${hana_user}.Bsid a
left join (
select
aa.vbeln, aa.aubel, bb.pernr
from ${hana_user}.vbrp aa
left join (
select vbeln,pernr,posnr from ${hana_user}.vbpa where mandt = #{mandt} and pernr != '00000000' group by vbeln,pernr,posnr
) bb on aa.aubel = bb.vbeln and aa.aupos = bb.posnr
where bb.pernr is not null and aa.mandt = #{mandt}
group by aa.vbeln, aa.aubel, bb.pernr
) b on a.vbeln = b.vbeln
where a.mandt = #{mandt}
and a.bukrs = #{bukrs} and a.kunnr = #{kunnr} and a.umsks = #{umsks} and a.umskz = #{umskz}
and a.augdt = #{augdts} and a.augbl = #{augbl} and a.zuonr = #{zuonr} and a.gjahr = #{gjahr}
and a.belnr = #{belnr} and a.buzei = #{buzeis}
</select>
<select id="selectBsadById" parameterType="Bsad" resultType="Bsad">
select
a.vbeln,a.mandt,a.bukrs,a.kunnr,a.umsks,a.umskz,a.augdt as augdts,a.augbl,a.zuonr,a.gjahr,a.belnr,a.buzei,a.buzei as buzeis,
a.blart,a.waers,a.wrbtr,a.shkzg,a.budat as budats,a.zfbdt as zfbdts,a.zterm, b.pernr
from ${hana_user}.Bsad a
left join (
select
aa.vbeln, aa.aubel, bb.pernr
from ${hana_user}.vbrp aa
left join (
select vbeln,pernr,posnr from ${hana_user}.vbpa where mandt = #{mandt} and pernr != '00000000' group by vbeln,pernr,posnr
) bb on aa.aubel = bb.vbeln and aa.aupos = bb.posnr
where bb.pernr is not null and aa.mandt = #{mandt}
group by aa.vbeln, aa.aubel, bb.pernr
) b on a.vbeln = b.vbeln
where a.mandt = #{mandt}
and a.bukrs = #{bukrs} and a.kunnr = #{kunnr} and a.umsks = #{umsks} and a.umskz = #{umskz}
and a.augdt = #{augdts} and a.augbl = #{augbl} and a.zuonr = #{zuonr} and a.gjahr = #{gjahr}
and a.belnr = #{belnr} and a.buzei = #{buzeis}
</select>
<select id="selectVbapById" parameterType="Vbap" resultType="Vbap">
select
p.vbeln, p.posnr, p.matnr, p.mandt, p.matkl, p.spart, p.kwmeng, p.netwr, p.mwsbp, p.waerk, p.vrkme, p.abgru,
p.uebto, p.untto, p.werks, p.vstel, p.mvgr1, p.plavo, p.mvgr4, p.mvgr5, p.ulxh, p.zma_ftb_02, p.zma_ftb_03,
p.zma_ftb_45, p.zma_ftb_06, p.zma_ftb_07, p.zma_ftb_08, p.zma_jyb_02, p.zma_jyb_03, p.zma_jyb_45,
p.zma_jyb_06, p.zma_jyb_07, p.zma_ljb_03, p.zma_ljb_04, p.zma_ljb_06, p.zma_ljb_07, p.zma_ljb_08,
p.zma_ljb_11, p.zma_ljb_12, p.zma_ljb_13, p.zma_yhbg_02, p.zma_yhbg_04, p.zma_yhbg_05, p.zma_yhbg_06,
p.tbpz, p.ws, p.cu_maktx, p.cu_pcdst, p.ztype, p.barcode, p.gdno, p.lh, p.dgxx, p.zklx, p.erdat, p.erzet, p.netpr, p.aedat,q.pernr
from ${hana_user}.vbap p
left join (
select a.vbeln,a.posnr,a.pernr from ${hana_user}.vbpa a
left join ${hana_user}.vbak b on a.vbeln = b.vbeln
where a.mandt = #{mandt} and a.pernr != '00000000'
group by a.vbeln,a.posnr,a.pernr
) q on p.vbeln = q.vbeln and p.posnr = q.posnr
where p.vbeln = #{vbeln} and p.posnr = #{posnr} and p.mandt = #{mandt} and p.erdat = #{erdat}
</select>
<select id="selectTvkbtById" parameterType="Tvkbt" resultType="Tvkbt">
select mandt,spras,vkbur,bezei
from ${hana_user}.Tvkbt
where mandt = #{mandt} and spras = #{spras} and vkbur = #{vkbur}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huazheng.project.mssql.mapper.CrmMapper">
<select id="selectSalesContractProcessNew" parameterType="SalesContractProcess" resultType="SalesContractProcess">
select top 20
a.id, a.xiaoShouDDBH, a.xuFangGSID, a.xuFangGS, a.gongFangGSt, a.xiaoShouBMt, a.shouHuoGSID, a.shouHuoGS,
a.fuKuanTJt, a.caiGouDDBH, a.dangQianXYED, a.yvQiK, a.dengJi, a.biZhongt, a.yongJin, a.zongHeMLL,
a.SYS_PROCESSNAME as sysProcessname,
a.SYS_INCIDENT as sysIncident, a.ziShiYBv
from "Biz_销售合同流程" a
LEFT JOIN "Biz_销售合同流程_MX" b on a.SYS_INCIDENT = b.SYS_INCIDENT
where a.id &gt; #{id} and b.id is not null
group BY a.id, a.xiaoShouDDBH, a.xuFangGSID, a.xuFangGS, a.gongFangGSt, a.xiaoShouBMt, a.shouHuoGSID, a.shouHuoGS,
a.fuKuanTJt, a.caiGouDDBH, a.dangQianXYED, a.yvQiK, a.dengJi, a.biZhongt, a.yongJin, a.zongHeMLL,
a.SYS_PROCESSNAME, a.SYS_INCIDENT, a.ziShiYBv
</select>
<select id="selectSalesForecastProcessNew" parameterType="SalesForecastProcess" resultType="SalesForecastProcess">
select top 20
a.id, a.shenQingR, a.sys_Incstatus as sysIncstatus, a.sys_Processname as sysProcessname, a.sys_Incident as sysIncident, a.shenQingRBM, a.yuCeLXt
, a.kaiShiSJ as kaiShiSJs, a.jieShuSJ as jieShuSJs, a.shenQingRLN
from "Biz_销售预测流程" a
left join "Biz_销售预测流程_MX" b on a.SYS_INCIDENT = b.SYS_INCIDENT
where a.id &gt; #{id} and b.id is not null
GROUP BY a.id, a.shenQingR, a.sys_Incstatus, a.sys_Processname, a.sys_Incident, a.shenQingRBM, a.yuCeLXt, a.kaiShiSJ, a.jieShuSJ, a.shenQingRLN
</select>
<select id="selectSampleApplicationProcessNew" parameterType="SampleApplicationProcess" resultType="SampleApplicationProcess">
select top 20
id,dingDanLXv,dingDanLXt,sYS_INCIDENT,yeWuYID,xuFangGS,xuFangGSID,
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv
from "Biz_样品申请流程"
where id &gt; #{id}
</select>
<select id="selectSampleApplicationProcessMingXiNew" parameterType="SampleApplicationProcessMingXi" resultType="SampleApplicationProcessMingXi">
select top 20
id,sYS_INCIDENT,uLPH,wuLiaoMS,shuLiang,hangXiangMH, hangXiangMH as hangxiangmh1
from "Biz_样品申请流程_MingXi"
where id &gt; #{id}
</select>
<select id="selectSampleClosingProcessNew" parameterType="SampleClosingProcess" resultType="SampleClosingProcess">
select top 20
id,sYS_INCIDENT,yangPinSQSLH,sYS_INCSTATUS
from "Biz_样品结案流程"
where id &gt; #{id}
</select>
<select id="selectSampleClosingProcessMingXiNew" parameterType="SampleClosingProcessMingXi" resultType="SampleClosingProcessMingXi">
select top 20
id,sYS_INCIDENT,shiFouTGv,shiFouTGt
from "Biz_样品结案流程_MingXi"
where id &gt; #{id}
</select>
<select id="selectSalesContractProcessMX" parameterType="SalesContractProcess" resultType="SalesContractProcessMX">
select id, chengben, SYS_INCIDENT as sysIncident, zongjia, maolibz
from "Biz_销售合同流程_MX"
where SYS_INCIDENT = #{sysIncident}
</select>
<select id="selectSalesForecastProcessMX" parameterType="SalesForecastProcess" resultType="SalesForecastProcessMX">
select id, wuLiaoH, wuLiaoMS, keHuMC, jiHuaJDL, mingXiMingC, sys_Incident as sysIncident
from "Biz_销售预测流程_MX"
where SYS_INCIDENT = #{sysIncident}
</select>
<select id="selectSalesContractProcessById" parameterType="SalesContractProcess" resultType="SalesContractProcess">
select
id, xiaoShouDDBH, xuFangGSID, xuFangGS, gongFangGSt, xiaoShouBMt, shouHuoGSID, shouHuoGS,
fuKuanTJt, caiGouDDBH, dangQianXYED, yvQiK, dengJi, biZhongt, yongJin, zongHeMLL,
SYS_PROCESSNAME as sysProcessname,
SYS_INCIDENT as sysIncident, ziShiYBv
from "Biz_销售合同流程"
where id = #{id}
</select>
<select id="selectSalesContractProcessMXById" parameterType="SalesContractProcessMX" resultType="SalesContractProcessMX">
select id, chengben, SYS_INCIDENT as sysIncident, zongjia, maolibz
from "Biz_销售合同流程_MX"
where id = #{id}
</select>
<select id="selectSalesForecastProcessById" parameterType="SalesForecastProcess" resultType="SalesForecastProcess">
select id, shenQingR, sys_Incstatus as sysIncstatus, sys_Processname as sysProcessname, sys_Incident as sysIncident, shenQingRBM, yuCeLXt
,kaiShiSJ as kaiShiSJs,jieShuSJ as jieShuSJs, shenQingRLN
from "Biz_销售预测流程"
where id = #{id}
</select>
<select id="selectSalesForecastProcessMXById" parameterType="SalesForecastProcessMX" resultType="SalesForecastProcessMX">
select
id, wuLiaoH, wuLiaoMS, keHuMC, jiHuaJDL, mingXiMingC, sys_Incident as sysIncident
from "Biz_销售预测流程_MX"
where id = #{id}
</select>
<select id="selectSampleApplicationProcessById" parameterType="SampleApplicationProcess" resultType="SampleApplicationProcess">
select id,dingDanLXv,dingDanLXt,sYS_INCIDENT,yeWuYID,xuFangGS,xuFangGSID,
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv
from "Biz_样品申请流程"
where id = #{id}
</select>
<select id="selectSampleApplicationProcessMingXiById" parameterType="SampleApplicationProcessMingXi" resultType="SampleApplicationProcessMingXi">
select id,sYS_INCIDENT,uLPH,wuLiaoMS,shuLiang,hangXiangMH, hangXiangMH as hangxiangmh1
from "Biz_样品申请流程_MingXi"
where id = #{id}
</select>
<select id="selectSampleClosingProcessById" parameterType="SampleClosingProcess" resultType="SampleClosingProcess">
select id,sYS_INCIDENT,yangPinSQSLH,sYS_INCSTATUS
from "Biz_样品结案流程"
where id = #{id}
</select>
<select id="selectSampleClosingProcessMingXiById" parameterType="SampleClosingProcessMingXi" resultType="SampleClosingProcessMingXi">
select id,sYS_INCIDENT,shiFouTGv,shiFouTGt
from "Biz_样品结案流程_MingXi"
where id = #{id}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huazheng.project.mssql2.mapper.HzcrmMapper">
<select id="selectTKeHuXiaoShouZZYeWuYNew" parameterType="TKeHuXiaoShouZZYeWuY" resultType="TKeHuXiaoShouZZYeWuY">
select top 20 a.* from (
select ROW_NUMBER() OVER(ORDER BY id) as rowids,
id,keHuID,yeWuYMC,yeWuYLoginName
from T_KeHu_XiaoShouZZ_YeWuY
) a where a.rowids &gt; #{rowids}
</select>
<select id="selectTKeHuNew" parameterType="TKeHu" resultType="TKeHu">
select top 20 a.* from (
select ROW_NUMBER() OVER(ORDER BY keHuID) as rowids,
keHuID,keHuCode,keHuMC,xinBaoED,diQu
from T_KeHu
) a where a.rowids &gt; #{rowids}
</select>
<select id="selectSysSAPreturnNoNew" parameterType="SysSAPreturnNo" resultType="SysSAPreturnNo">
select top 20 a.* from (
select ROW_NUMBER() OVER(ORDER BY id) as rowids,
id,processName,shiLiH,sapNo,chuangJianSJ
from Sys_SAPreturnNo
) a where a.rowids &gt; #{rowids}
</select>
<select id="selectTKeHuXiaoShouZZ" parameterType="TKeHu" resultType="TKeHuXiaoShouZZ">
select id,keHuID,fuKuanTJ from T_KeHu_XiaoShouZZ where KeHuID = #{keHuID}
</select>
<select id="selectTKeHuXiaoShouZZYeWuY" parameterType="TKeHu" resultType="TKeHuXiaoShouZZYeWuY">
select id,keHuID,yeWuYMC from T_KeHu_XiaoShouZZ_YeWuY where KeHuID = #{keHuID}
</select>
<select id="selectTWuLiaoDB" parameterType="TKeHu" resultType="TWuLiaoDB">
select
a.id, a.chuangJianRLN, a.chuangJianR, a.chuangJianSJ, a.gengXinRLN, a.gengXinR, a.gengXinSJ, a.shanChuRLN,
a.shanChuR, a.shanChuSJ, a.shiFouYSC, a.keHuID, b.keHuMC, a.keHuWLMC, a.xiTongWLMC, a.xiTongWLBM, a.keHuWLBM
from T_WuLiaoDB a
left join t_kehu b on a.kehuid = b.kehuid
where a.KeHuID = #{keHuID}
</select>
<select id="selectSysSAPreturnNoById" parameterType="SysSAPreturnNo" resultType="SysSAPreturnNo">
select id,processName,shiLiH,sapNo,chuangJianSJ from Sys_SAPreturnNo where id = #{id}
</select>
<select id="selectTKeHuById" parameterType="TKeHu" resultType="TKeHu">
SELECT keHuID,keHuCode,keHuMC,xinBaoED,diQu from T_KeHu where keHuID = #{keHuID}
</select>
<select id="selectTKeHuXiaoShouZZById" parameterType="TKeHuXiaoShouZZ" resultType="TKeHuXiaoShouZZ">
SELECT id,keHuID,fuKuanTJ from T_KeHu_XiaoShouZZ where id = #{id}
</select>
<select id="selectTKeHuXiaoShouZZYeWuYById" parameterType="TKeHuXiaoShouZZYeWuY" resultType="TKeHuXiaoShouZZYeWuY">
SELECT id,keHuID,yeWuYMC,yeWuYLoginName from T_KeHu_XiaoShouZZ_YeWuY where id = #{id}
</select>
<select id="selectTWuLiaoDBById" parameterType="TWuLiaoDB" resultType="TWuLiaoDB">
select
a.id, a.chuangJianRLN, a.chuangJianR, a.chuangJianSJ, a.gengXinRLN, a.gengXinR, a.gengXinSJ, a.shanChuRLN,
a.shanChuR, a.shanChuSJ, a.shiFouYSC, a.keHuID, b.keHuMC, a.keHuWLMC, a.xiTongWLMC, a.xiTongWLBM, a.keHuWLBM
from T_WuLiaoDB a
left join t_kehu b on a.kehuid = b.kehuid
where a.id = #{id}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huazheng.project.mssql3.mapper.Cinderellaw2Mapper">
<select id="selectPersonCompNew" parameterType="PersonComp" resultType="PersonComp">
select top 20 a.* from (
select
ROW_NUMBER() OVER(ORDER BY r1.aname) as rowids,
r1.aname as uname, r1.posnr as uposnr, r.aname as dname, r.posnr as dposnr
from (
select
a.id as aid, a.name as aname, a.LoginName as posnr,
b.id as bid, b.name as bname, b.ParentID
from HROCPeople a
left join HROCJob b on a.JobID = b.id
where a.orgstatus = '0'
) r
left join (
select
a.id as aid, a.name as aname, a.LoginName as posnr,
b.id as bid, b.name as bname, b.ParentID
from HROCPeople a
left join HROCJob b on a.JobID = b.id
where a.orgstatus = '0'
) r1 on r.ParentID = r1.bid
) a where a.rowids &gt; #{rowids}
</select>
<select id="selectPersonCompById" parameterType="PersonComp" resultType="PersonComp">
select
r1.aname as uname, r1.posnr as uposnr, r.aname as dname, r.posnr as dposnr
from (
select
a.id as aid, a.name as aname, a.LoginName as posnr,
b.id as bid, b.name as bname, b.ParentID
from HROCPeople a
left join HROCJob b on a.JobID = b.id
where a.orgstatus = '0'
) r
left join (
select
a.id as aid, a.name as aname, a.LoginName as posnr,
b.id as bid, b.name as bname, b.ParentID
from HROCPeople a
left join HROCJob b on a.JobID = b.id
where a.orgstatus = '0'
) r1 on r.ParentID = r1.bid
<where>
<if test="uposnr != null and uposnr != ''">r1.posnr = #{uposnr}</if>
<if test="dposnr != null and dposnr != ''">and r.posnr = #{dposnr}</if>
</where>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huazheng.project.mssql4.mapper.UltimusDBMapper">
<select id="selectTasksNew" parameterType="Tasks" resultType="Tasks">
select top 20 a.* from (
select ROW_NUMBER() OVER(ORDER BY taskid) as rowids,
RTRIM(taskId) as taskId, RTRIM(processName) as processName, incident, startTime,
SUBSTRING (taskUser,9,8) as taskUser
from tasks
where RTRIM(processName) = '样品结案流程' and LEN(taskUser) = 16
) a where a.rowids &gt; #{rowids}
</select>
<select id="selectTasksById" parameterType="Tasks" resultType="Tasks">
SELECT RTRIM(taskId) as taskId, RTRIM(processName) as processName, incident, startTime, SUBSTRING(taskUser,9,8) as taskUser
from tasks where RTRIM(taskId) = #{taskId}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huazheng.project.mysql.mapper.TmsMapper">
<select id="selectTransformHistoryNodeNew" parameterType="TransformHistoryNode" resultType="TransformHistoryNode">
select
id, task_no, last_commit_time, second_node
from transform_history_node
where id &gt; #{id}
limit 20
</select>
<select id="selectHandoverTaskNew" parameterType="HandoverTask" resultType="HandoverTask">
select
a.task_id, a.task_no, a.task_type, a.task_state, a.f_plant, a.plant, a.customer_id,
customer_name, a.kunnr, a.actual_handover_num, a.receipt_state, a.receipt_time,
cost_state, a.cost_handle_time, a.handover_print_state, a.last_print_time,
appearance_state, a.appearance_time, a.company_id, a.company_no, a.company_name,
netweight_count, a.weight_count, a.handover_direct_count, a.transport_type, a.vehicle_type,
delivery_cost, a.delivery_date, a.sign_time, a.area_name, a.area_id, a.port, a.delivery_type,
dispatch_type, a.piece_count, a.remark, a.is_valid, a.created_user_id, a.created_time,
modified_user_id, a.modified_time, a.receipt_remark,b.s12,b.s21,b.s24
from handover_task a
LEFT JOIN (
SELECT
task_no,
MAX(IF(second_node='12',last_commit_time,NULL)) AS s12,
MAX(IF(second_node='21',last_commit_time,NULL)) AS s21,
MAX(IF(second_node='24',last_commit_time,NULL)) AS s24
FROM transform_history_node
GROUP BY task_no
) b ON a.task_no = b.task_no
where a.task_id &gt; #{task_id}
limit 20
</select>
<select id="selectTransformNewNodeNew" parameterType="TransformNewNode" resultType="TransformNewNode">
select id, task_id, task_no, vehicle_no, last_commit_time, first_node, second_node,
vehicle_type, driver, driver_phone, location, exception_comment, comit_type,
exception_type, exception_picture, is_valid, lon, lat, created_user_id,
created_time, modified_user_id, modified_time
from transform_new_node
where id &gt; #{id}
limit 20
</select>
<select id="selectHandoverNew" parameterType="Handover" resultType="Handover">
select
vbeln, task_id, handover_id, handover_type, order_type, task_no, sale_no,
delivery_type, handover_state, f_plant, plant, customer_id, customer_name,
fmenge, delivery_num, port, piect_total, total_net_weight, weight_total,
settlement_weight, weight_state, vrkme, average_freight, order_remark,
delivery_time, erdat, plan_product_time, open_ready_time, already_ready_time,
appearance_time, sign_time, edatu, area_no, area_name, fmenge_time, klabc,
sales_man, sales_department, is_valid, created_user_id, created_time,
modified_user_id, modified_time, remark, is_auto_created, delivery_state,
operate_tag, transport_time, is_date_success, is_num_success, is_sign_success,
weighing_weight, delivery_issued_time
from handover
where handover_id &gt; #{handover_id}
limit 20
</select>
<select id="selectHandoverById" parameterType="Handover" resultType="Handover">
select
vbeln, task_id, handover_id, handover_type, order_type, task_no, sale_no,
delivery_type, handover_state, f_plant, plant, customer_id, customer_name,
fmenge, delivery_num, port, piect_total, total_net_weight, weight_total,
settlement_weight, weight_state, vrkme, average_freight, order_remark,
delivery_time, erdat, plan_product_time, open_ready_time, already_ready_time,
appearance_time, sign_time, edatu, area_no, area_name, fmenge_time, klabc,
sales_man, sales_department, is_valid, created_user_id, created_time,
modified_user_id, modified_time, remark, is_auto_created, delivery_state,
operate_tag, transport_time, is_date_success, is_num_success, is_sign_success,
weighing_weight, delivery_issued_time
from handover where handover_id = #{handover_id}
</select>
<select id="selectHandoverTaskById" parameterType="HandoverTask" resultType="HandoverTask">
select
a.task_id, a.task_no, a.task_type, a.task_state, a.f_plant, a.plant, a.customer_id,
customer_name, a.kunnr, a.actual_handover_num, a.receipt_state, a.receipt_time,
cost_state, a.cost_handle_time, a.handover_print_state, a.last_print_time,
appearance_state, a.appearance_time, a.company_id, a.company_no, a.company_name,
netweight_count, a.weight_count, a.handover_direct_count, a.transport_type, a.vehicle_type,
delivery_cost, a.delivery_date, a.sign_time, a.area_name, a.area_id, a.port, a.delivery_type,
dispatch_type, a.piece_count, a.remark, a.is_valid, a.created_user_id, a.created_time,
modified_user_id, a.modified_time, a.receipt_remark,b.s12,b.s21,b.s24
from handover_task a
LEFT JOIN (
SELECT
task_no,
MAX(IF(second_node='12',last_commit_time,NULL)) AS s12,
MAX(IF(second_node='21',last_commit_time,NULL)) AS s21,
MAX(IF(second_node='24',last_commit_time,NULL)) AS s24
FROM transform_history_node
GROUP BY task_no
) b ON a.task_no = b.task_no
where a.task_id = #{task_id}
</select>
<select id="selectTransformNewNodeById" parameterType="TransformNewNode" resultType="TransformNewNode">
select
id, task_id, task_no, vehicle_no, last_commit_time, first_node, second_node,
vehicle_type, driver, driver_phone, location, exception_comment, comit_type,
exception_type, exception_picture, is_valid, lon, lat, created_user_id,
created_time, modified_user_id, modified_time
from transform_new_node where id = #{id}
</select>
<select id="selectTransformHistoryNodeById" parameterType="TransformHistoryNode" resultType="TransformHistoryNode">
select id, task_no, last_commit_time, second_node
from transform_history_node where id = #{id}
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<properties resource="application.properties">
<property name="hana_user" value="${hana_user}"/>
<property name="hana_mandt" value="${hana_mandt}"/>
</properties>
<settings>
<setting name="cacheEnabled" value="false" />
<setting name="lazyLoadingEnabled" value="false" />
<setting name="aggressiveLazyLoading" value="true" />
<setting name="callSettersOnNulls" value="true"/>
<!-- <setting name="logImpl" value="STDOUT_LOGGING" /> -->
<!-- <setting name="logImpl" value="LOG4J"/> -->
</settings>
</configuration>
\ No newline at end of file
#============================================================================
# quartz
#============================================================================
org.quartz.scheduler.instanceId=instance_one
org.quartz.scheduler.instanceName=DefaultQuartzScheduler
org.quartz.scheduler.rmi.export=false
org.quartz.scheduler.rmi.proxy=false
org.quartz.scheduler.wrapJobExecutionInUserTransaction=false
#============================================================================
# ThreadPool
#============================================================================
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=20
org.quartz.threadPool.threadPriority=5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
#============================================================================
# JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold=60000
org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
#org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
#org.quartz.jobStore.selectWithLockSQL=SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?
#org.quartz.jobStore.useProperties=true
#org.quartz.jobStore.tablePrefix=QRTZ_
#org.quartz.jobStore.isClustered=false
#org.quartz.jobStore.maxMisfiresToHandleAtATime=1
#============================================================================
# Other Example Delegates
#============================================================================
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.CloudscapeDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DB2v6Delegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DB2v7Delegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DriverDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PointbaseDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.WebLogicDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.WebLogicOracleDelegate
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd">
<context:component-scan base-package="com.huazheng.project" ></context:component-scan>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:application.properties</value>
</list>
</property>
</bean>
<bean id="proper" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<array>
<value>classpath:application.properties</value>
</array>
</property>
</bean>
<!-- ======================================== database hana =================================================== -->
<!-- 数据源 -->
<bean id="hanaDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="${druid.hana.url}" />
<property name="username" value="${druid.hana.username}" />
<property name="password" value="${druid.hana.password}" />
<property name="driverClassName" value="${druid.hana.driverClassName}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${druid.hana.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.hana.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.hana.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${druid.hana.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.hana.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.hana.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.hana.validationQuery}" />
<property name="testWhileIdle" value="${druid.hana.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.hana.testOnBorrow}" />
<property name="testOnReturn" value="${druid.hana.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->
<property name="poolPreparedStatements" value="${druid.hana.poolPreparedStatements}" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.hana.maxPoolPreparedStatementPerConnectionSize}" />
<property name="keepAlive" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeoutMillis" value="80000" />
<property name="logAbandoned" value="true" />
<property name="filters" value="stat,slf4j,config" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="timeBetweenLogStatsMillis" value="120000" />
</bean>
<bean id="hanaSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="hanaDataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="${druid.hana.mapper}" />
<property name="typeAliasesPackage" value="com.huazheng.project.hana.model" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huazheng.project.hana.mapper" />
<property name="sqlSessionFactoryBeanName" value="hanaSqlSessionFactory" />
</bean>
<!-- ======================================== database mysql =================================================== -->
<!-- 数据源 -->
<bean id="mysqlDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="${druid.mysql.url}" />
<property name="username" value="${druid.mysql.username}" />
<property name="password" value="${druid.mysql.password}" />
<property name="driverClassName" value="${druid.mysql.driverClassName}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${druid.mysql.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.mysql.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.mysql.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${druid.mysql.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.mysql.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.mysql.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.mysql.validationQuery}" />
<property name="testWhileIdle" value="${druid.mysql.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.mysql.testOnBorrow}" />
<property name="testOnReturn" value="${druid.mysql.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->
<property name="poolPreparedStatements" value="${druid.mysql.poolPreparedStatements}" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.mysql.maxPoolPreparedStatementPerConnectionSize}" />
<property name="keepAlive" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeoutMillis" value="80000" />
<property name="logAbandoned" value="true" />
<property name="filters" value="stat,slf4j,config" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="timeBetweenLogStatsMillis" value="120000" />
</bean>
<bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="mysqlDataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="${druid.mysql.mapper}" />
<property name="typeAliasesPackage" value="com.huazheng.project.mysql.model" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huazheng.project.mysql.mapper" />
<property name="sqlSessionFactoryBeanName" value="mysqlSqlSessionFactory" />
</bean>
<!-- ======================================== database mssql =================================================== -->
<!-- 数据源 -->
<bean id="mssqlDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="${druid.mssql.url}" />
<property name="username" value="${druid.mssql.username}" />
<property name="password" value="${druid.mssql.password}" />
<property name="driverClassName" value="${druid.mssql.driverClassName}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${druid.mssql.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.mssql.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.mssql.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${druid.mssql.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.mssql.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.mssql.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.mssql.validationQuery}" />
<property name="testWhileIdle" value="${druid.mssql.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.mssql.testOnBorrow}" />
<property name="testOnReturn" value="${druid.mssql.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->
<property name="poolPreparedStatements" value="${druid.mssql.poolPreparedStatements}" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.mssql.maxPoolPreparedStatementPerConnectionSize}" />
<property name="keepAlive" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeoutMillis" value="80000" />
<property name="logAbandoned" value="true" />
<property name="filters" value="stat,slf4j,config" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="timeBetweenLogStatsMillis" value="120000" />
</bean>
<bean id="mssqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="mssqlDataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="${druid.mssql.mapper}" />
<property name="typeAliasesPackage" value="com.huazheng.project.mssql.model" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huazheng.project.mssql.mapper" />
<property name="sqlSessionFactoryBeanName" value="mssqlSqlSessionFactory" />
</bean>
<!-- ======================================== database mssql2 =================================================== -->
<!-- 数据源 -->
<bean id="mssql2DataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="${druid.mssql2.url}" />
<property name="username" value="${druid.mssql2.username}" />
<property name="password" value="${druid.mssql2.password}" />
<property name="driverClassName" value="${druid.mssql2.driverClassName}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${druid.mssql2.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.mssql2.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.mssql2.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${druid.mssql2.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.mssql2.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.mssql2.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.mssql2.validationQuery}" />
<property name="testWhileIdle" value="${druid.mssql2.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.mssql2.testOnBorrow}" />
<property name="testOnReturn" value="${druid.mssql2.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->
<property name="poolPreparedStatements" value="${druid.mssql2.poolPreparedStatements}" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.mssql2.maxPoolPreparedStatementPerConnectionSize}" />
<property name="keepAlive" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeoutMillis" value="80000" />
<property name="logAbandoned" value="true" />
<property name="filters" value="stat,slf4j,config" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="timeBetweenLogStatsMillis" value="120000" />
</bean>
<bean id="mssql2SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="mssql2DataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="${druid.mssql2.mapper}" />
<property name="typeAliasesPackage" value="com.huazheng.project.mssql2.model" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huazheng.project.mssql2.mapper" />
<property name="sqlSessionFactoryBeanName" value="mssql2SqlSessionFactory" />
</bean>
<!-- ======================================== database mssql3 =================================================== -->
<!-- 数据源 -->
<bean id="mssql3DataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="${druid.mssql3.url}" />
<property name="username" value="${druid.mssql3.username}" />
<property name="password" value="${druid.mssql3.password}" />
<property name="driverClassName" value="${druid.mssql3.driverClassName}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${druid.mssql3.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.mssql3.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.mssql3.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${druid.mssql3.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.mssql3.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.mssql3.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.mssql3.validationQuery}" />
<property name="testWhileIdle" value="${druid.mssql3.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.mssql3.testOnBorrow}" />
<property name="testOnReturn" value="${druid.mssql3.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->
<property name="poolPreparedStatements" value="${druid.mssql3.poolPreparedStatements}" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.mssql3.maxPoolPreparedStatementPerConnectionSize}" />
<property name="keepAlive" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeoutMillis" value="80000" />
<property name="logAbandoned" value="true" />
<property name="filters" value="stat,slf4j,config" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="timeBetweenLogStatsMillis" value="120000" />
</bean>
<bean id="mssql3SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="mssql3DataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="${druid.mssql3.mapper}" />
<property name="typeAliasesPackage" value="com.huazheng.project.mssql3.model" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huazheng.project.mssql3.mapper" />
<property name="sqlSessionFactoryBeanName" value="mssql3SqlSessionFactory" />
</bean>
<!-- ======================================== database mssql4 =================================================== -->
<!-- 数据源 -->
<bean id="mssql4DataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="${druid.mssql4.url}" />
<property name="username" value="${druid.mssql4.username}" />
<property name="password" value="${druid.mssql4.password}" />
<property name="driverClassName" value="${druid.mssql4.driverClassName}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${druid.mssql4.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.mssql4.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.mssql4.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${druid.mssql4.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.mssql4.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.mssql4.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.mssql4.validationQuery}" />
<property name="testWhileIdle" value="${druid.mssql4.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.mssql4.testOnBorrow}" />
<property name="testOnReturn" value="${druid.mssql4.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->
<property name="poolPreparedStatements" value="${druid.mssql4.poolPreparedStatements}" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.mssql4.maxPoolPreparedStatementPerConnectionSize}" />
<property name="keepAlive" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeoutMillis" value="80000" />
<property name="logAbandoned" value="true" />
<property name="filters" value="stat,slf4j,config" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="timeBetweenLogStatsMillis" value="120000" />
</bean>
<bean id="mssql4SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="mssql4DataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="${druid.mssql4.mapper}" />
<property name="typeAliasesPackage" value="com.huazheng.project.mssql4.model" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huazheng.project.mssql4.mapper" />
<property name="sqlSessionFactoryBeanName" value="mssql4SqlSessionFactory" />
</bean>
<!-- ======================================== database greenplum =================================================== -->
<!-- 数据源 -->
<bean id="greenplumDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="url" value="${druid.greenplum.url}" />
<property name="username" value="${druid.greenplum.username}" />
<property name="password" value="${druid.greenplum.password}" />
<property name="driverClassName" value="${druid.greenplum.driverClassName}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${druid.greenplum.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.greenplum.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.greenplum.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${druid.greenplum.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.greenplum.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.greenplum.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.greenplum.validationQuery}" />
<property name="testWhileIdle" value="${druid.greenplum.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.greenplum.testOnBorrow}" />
<property name="testOnReturn" value="${druid.greenplum.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。 -->
<property name="poolPreparedStatements" value="${druid.greenplum.poolPreparedStatements}" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.greenplum.maxPoolPreparedStatementPerConnectionSize}" />
<property name="keepAlive" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeoutMillis" value="80000" />
<property name="logAbandoned" value="true" />
<property name="filters" value="stat,slf4j,config" />
<property name="proxyFilters">
<list>
<ref bean="stat-filter" />
</list>
</property>
<property name="timeBetweenLogStatsMillis" value="120000" />
</bean>
<bean id="greenplumSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="greenplumDataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="${druid.greenplum.mapper}" />
<!-- <property name="typeAliasesPackage" value="com.huazheng.project.greenplum.model" /> -->
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.huazheng.project.greenplum.mapper" />
<property name="sqlSessionFactoryBeanName" value="greenplumSqlSessionFactory" />
</bean>
<!-- ======================================== common ================================================== -->
<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">
<property name="slowSqlMillis" value="10000" />
<property name="logSlowSql" value="true" />
</bean>
<!-- ======================================== redis =================================================== -->
<!-- 定义连接池 -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="MaxWaitMillis" value="${redis.maxWaitMillis}" />
<property name="testOnBorrow" value="true" />
</bean>
<!-- 定义连接工厂 -->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.hostName}" />
<property name="port" value="${redis.port}" />
<property name="database" value="${redis.database}" />
<property name="usePool" value="true" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
<!-- 定义模板 -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashKeySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashValueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
</bean>
<bean id="jedis1ConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.hostName}" />
<property name="port" value="${redis.port}" />
<property name="database" value="${redis1.database}" />
<property name="usePool" value="true" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
<!-- 定义模板 -->
<bean id="redis1Template" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedis1ConnectionFactory" />
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashKeySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashValueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
</bean>
<bean id="redisCacheWriter" class="org.springframework.data.redis.cache.DefaultRedisCacheWriter">
<constructor-arg name="connectionFactory" ref="jedisConnectionFactory"/>
</bean>
<bean id="defaultRedisCacheConfiguration" class="org.springframework.data.redis.cache.RedisCacheConfiguration" factory-method="defaultCacheConfig" />
<bean id="defaultRedisCache" class="org.springframework.data.redis.cache.RedisCache">
<constructor-arg name="name" value="huazheng"/>
<constructor-arg name="cacheWriter" ref="redisCacheWriter"/>
<constructor-arg name="cacheConfig" ref="defaultRedisCacheConfiguration"/>
</bean>
<bean id="hanaRedisCache" class="org.springframework.data.redis.cache.RedisCache">
<constructor-arg name="name" value="hana"/>
<constructor-arg name="cacheWriter" ref="redisCacheWriter"/>
<constructor-arg name="cacheConfig" ref="defaultRedisCacheConfiguration"/>
</bean>
<bean id="redisCacheManager" class="org.springframework.cache.support.SimpleCacheManager" >
<property name="caches" >
<set>
<ref bean="defaultRedisCache" />
<ref bean="hanaRedisCache" />
</set>
</property>
</bean>
<cache:annotation-driven cache-manager="redisCacheManager" />
<bean id="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="applicationContextSchedulerContextKey" value="applicationContextKey" />
<property name="configLocation" value="classpath:quartz.properties" />
<property name="startupDelay" value="30" />
<property name="overwriteExistingJobs" value="true" />
<property name="schedulerName" value="Mscheduler" />
<property name="autoStartup" value="true" />
<property name="triggers" ref="jobList" />
</bean>
<bean id="methodJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" abstract="true">
<property name="concurrent" value="false" />
</bean>
<bean id="jobList" class="java.util.ArrayList">
<constructor-arg>
<list>
<!-- ========================== jobServiceImpl ========================== -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob1" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob2" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob3" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob4" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob5" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<!-- ========================== otherJobServiceImpl ========================== -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="otherJobServiceImpl" />
<property name="targetMethod" value="caPersonComp" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="otherJobServiceImpl" />
<property name="targetMethod" value="caPayment" />
</bean>
</property>
<property name="cronExpression" value="0 5/10 * * * ?" />
</bean>
<!-- ========================== deleteUpdateJobServiceImpl ========================== -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob1" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob2" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob3" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob4" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob5" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob6" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob7" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkJob8" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<!-- ========================== deleteUpdateJobServiceImpl busy ========================== -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="checkBusy" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
</list>
</constructor-arg>
</bean>
</beans>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论