Commit bf9d0a74 authored by akbar fauzi's avatar akbar fauzi

service /orafin/workorder/dgi-api/v1/inv2/read

parent e4e43109
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<webroots />
</configuration>
</facet>
<facet type="jpa" name="JPA">
<configuration>
<setting name="validation-enabled" value="true" />
<setting name="provider-name" value="Hibernate" />
<datasource-mapping>
<factory-entry name="ddms-h2-masterdata-slave" />
</datasource-mapping>
<naming-strategy-map />
</configuration>
</facet>
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="jdk" jdkName="17" jdkType="JavaSDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="ddms-common-util-1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="ddms-common" level="project" />
<orderEntry type="library" name="ddms-masterdata-h2-domain" level="project" />
<orderEntry type="library" name="1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.22.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:5.1.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.orm:hibernate-core:6.5.2.Final" level="project" />
<orderEntry type="library" name="Maven: jakarta.persistence:jakarta.persistence-api:3.1.0" level="project" />
<orderEntry type="library" name="Maven: jakarta.transaction:jakarta.transaction-api:2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.5.3.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:6.0.6.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.smallrye:jandex:3.1.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.7.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.14.18" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:4.0.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: jakarta.activation:jakarta.activation-api:2.1.3" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.glassfish.jaxb:jaxb-runtime:4.0.5" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.glassfish.jaxb:jaxb-core:4.0.5" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.eclipse.angus:angus-activation:2.0.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.glassfish.jaxb:txw2:4.0.5" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.istack:istack-commons-runtime:4.1.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: jakarta.inject:jakarta.inject-api:2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.antlr:antlr4-runtime:4.13.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-orm:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:6.1.11" level="project" />
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:2.1.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aspects:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:3.3.2" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.5.6" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.5.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.23.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.23.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:2.0.13" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:2.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:6.3.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:6.3.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:6.3.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:6.3.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:10.1.26" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:10.1.26" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:10.1.26" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:6.1.11" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.postgresql:postgresql:42.7.3" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.checkerframework:checker-qual:3.42.0" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.12.6" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.jsonwebtoken:jjwt-impl:0.12.6" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.jsonwebtoken:jjwt-jackson:0.12.6" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.kafka:spring-kafka:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:2.0.7" level="project" />
<orderEntry type="library" name="Maven: org.apache.kafka:kafka-clients:3.7.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.github.luben:zstd-jni:1.5.6-3" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.lz4:lz4-java:1.8.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.xerial.snappy:snappy-java:1.1.10.5" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-observation:1.13.2" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-commons:1.13.2" level="project" />
<orderEntry type="library" name="Maven: io.vertx:vertx-core:4.1.2" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport-native-unix-common:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler-proxy:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-socks:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-http:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-http2:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:3.3.2" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-jakarta9:1.13.2" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.13.2" level="project" />
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.2.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven.plugins:maven-compiler-plugin:3.8.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-plugin-api:3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-model:3.0" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-inject-plexus:1.4.2" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-inject-bean:1.4.2" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.sisu:sisu-guice:noaop:2.1.7" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-artifact:3.0" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-utils:2.0.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-core:3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-settings:3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-settings-builder:3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-repository-metadata:3.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven:maven-model-builder:3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.maven:maven-aether-provider:3.0" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-impl:1.7" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-spi:1.7" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-api:1.7" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.aether:aether-util:1.7" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-interpolation:1.14" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-classworlds:2.2.3" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-component-annotations:1.5.5" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.plexus:plexus-sec-dispatcher:1.3" level="project" />
<orderEntry type="library" name="Maven: org.sonatype.plexus:plexus-cipher:1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven.shared:maven-shared-utils:3.2.1" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.maven.shared:maven-shared-incremental:1.1" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-java:0.9.10" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:6.2" level="project" />
<orderEntry type="library" name="Maven: com.thoughtworks.qdox:qdox:2.0-M8" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-compiler-api:2.8.4" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.plexus:plexus-compiler-manager:2.8.4" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.plexus:plexus-compiler-javac:2.8.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.30" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents.client5:httpclient5:5.3.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents.core5:httpcore5:5.2.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents.core5:httpcore5-h2:5.2.5" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:2.0.13" level="project" />
<orderEntry type="library" name="Maven: com.eksad.ddms:ddms-common:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.eksad.ddms:ddms-rest-util:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-core:4.3.6.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging-annotations:1.2.0.Beta1" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.0.0.Final" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.18.1-GA" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.jboss:jandex:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.1.3.Final" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.16.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jms:6.1.11" level="project" />
<orderEntry type="library" name="Maven: com.eksad.ddms:ddms-bpms-sdk:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.google.oauth-client:google-oauth-client-jetty:1.34.1" level="project" />
<orderEntry type="library" name="Maven: com.google.oauth-client:google-oauth-client-java6:1.34.1" level="project" />
<orderEntry type="library" name="Maven: com.google.oauth-client:google-oauth-client:1.34.1" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client:1.42.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.16" level="project" />
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" />
<orderEntry type="library" name="Maven: io.opencensus:opencensus-api:0.31.1" level="project" />
<orderEntry type="library" name="Maven: io.grpc:grpc-context:1.27.2" level="project" />
<orderEntry type="library" name="Maven: io.opencensus:opencensus-contrib-http-util:0.31.1" level="project" />
<orderEntry type="library" name="Maven: com.google.apis:google-api-services-drive:v3-rev20220815-2.0.0" level="project" />
<orderEntry type="library" name="Maven: com.google.api-client:google-api-client:2.0.0" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client-apache-v2:1.42.1" level="project" />
<orderEntry type="library" name="Maven: com.google.auth:google-auth-library-oauth2-http:1.23.0" level="project" />
<orderEntry type="library" name="Maven: com.google.auto.value:auto-value-annotations:1.10.4" level="project" />
<orderEntry type="library" name="Maven: com.google.auth:google-auth-library-credentials:1.23.0" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client-gson:1.43.3" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.10.1" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.18.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.17.2" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.1" level="project" />
<orderEntry type="library" name="Maven: com.eksad.ddms:ddms-common-util:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.eksad.ddms:ddms-masterdata-h2-domain:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-websocket:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-websocket:6.1.11" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-net:2.0.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-bus:2.0.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.goldmansachs:gs-collections:5.1.0" level="project" />
<orderEntry type="library" name="Maven: com.goldmansachs:gs-collections-api:5.1.0" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.6.8" level="project" />
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.4" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-stream:2.0.8.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-all:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-haproxy:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-memcache:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-mqtt:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-redis:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-smtp:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-stomp:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-xml:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler-ssl-ocsp:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport-rxtx:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport-sctp:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport-udt:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport-classes-epoll:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport-classes-kqueue:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns-classes-macos:4.1.111.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:linux-x86_64:4.1.111.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:linux-aarch_64:4.1.111.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:linux-riscv64:4.1.111.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-kqueue:osx-x86_64:4.1.111.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-kqueue:osx-aarch_64:4.1.111.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-resolver-dns-native-macos:osx-x86_64:4.1.111.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-resolver-dns-native-macos:osx-aarch_64:4.1.111.Final" level="project" />
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.9" level="project" />
<orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
<orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.13" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.13" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:3.3.2" level="project" />
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.3.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:6.1.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:6.1.11" level="project" />
<orderEntry type="library" name="Maven: com.h2database:h2:2.2.224" level="project" />
<orderEntry type="library" name="Maven: com.eksad.ddms:ddms-masterdata-h2-common:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.12" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.aspectj:aspectjrt:1.9.22.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-lang3:3.14.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.12" level="project" />
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.4.1" level="project" />
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.2.0" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:15.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:2.0.0" level="project" />
</component>
</module>
\ No newline at end of file
......@@ -80,6 +80,38 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
</dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-common</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-common-util</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-masterdata-h2-domain</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
......
package com.eksad.masterdata.common;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLContext;
import org.apache.hc.client5.http.classic.HttpClient;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.ssl.TrustStrategy;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
@Component
public class CustomRestTemplate {
public RestTemplate restTemplate() {
TrustStrategy acceptingTrustStrategy = (X509Certificate[] x509Certificates, String s) -> true;
SSLContext sslContext = null;
try {
sslContext = org.apache.http.ssl.SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();
} catch (NoSuchAlgorithmException | KeyManagementException | KeyStoreException e) {
}
SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext, new NoopHostnameVerifier());
CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient((HttpClient) httpClient);
return new RestTemplate(requestFactory);
}
}
\ No newline at end of file
package com.eksad.masterdata.common;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import java.util.Arrays;
@Component
public class RequestUtil {
/*key properties*/
private static final String USERPWD = "admin:admin";
private static final String HEADER_KEY = "Authorization";
private static final String HEADER_VALUE = "Basic ";
private static final String SPACE = " ";/*CAREFULL*/
private static final String TOKEN = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiJ9.5BG9SEVOGo_xRhtT8IkyoSy60kPg8HM9Vpvb0TdNew4";
private static final String PORTAL_TOKEN = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImI4Zjk4MzJhNGE0Y2Q1NzMzYzEzYWVkODFiNzM5MGE2M2Y0MTA0NmNiOWQyYzlmNzZiM2E3MWI3Zjg4NmRjOTEyZDA1MGVkZTAzNTNlYmQyIn0.eyJhdWQiOiIzIiwianRpIjoiYjhmOTgzMmE0YTRjZDU3MzNjMTNhZWQ4MWI3MzkwYTYzZjQxMDQ2Y2I5ZDJjOWY3NmIzYTcxYjdmODg2ZGM5MTJkMDUwZWRlMDM1M2ViZDIiLCJpYXQiOjE1NTcxOTYwNDMsIm5iZiI6MTU1NzE5NjA0MywiZXhwIjoxNTg4ODE4NDQzLCJzdWIiOiI3Iiwic2NvcGVzIjpbXX0.SPrfmDoZCJRi-EaizAqBxX8cJgiYgrGPeNJO3oXDj0W75TpgAzxGUdozipCXUryq-Tzviqf9XSk2Q7zg-OwxQ3bXAbe1gX_VuhRfRNj5lsIONEWy6F74LW6wZgdGrNveFMrSJp5WlJUKfZMFe9Xe1Y0d16F4BAz11PL2gbamUXBIjRofIHrTPQw0h31b3HxlyFfpPWDqgotRjOJ9JhRlyc1lR5aTeAWkbXHCD6l3v_MDIBk2TCsgQZWZUabb5xvr7_HEHa_G-QHPVP9AmXtkXxqln0bs69ODBr-3jK4PR231MBvxfd6JP0wd7b7EWayqJj-BFjG-Tmy1Gv2wp60FzJfCJY8-e3M3Y43E8G2635fmNaUmYytMvFzck5dmZsJY50661QKekzcKe6vs8WXivGHS3vGLdpnNPUcqUDuAt6mJe4AtITokHXL_kBGGNwIPxIxfLK3SrzfuY_0b3XJPjzf0_QDGTTH_4GKgBPfaesLsRfIpYfMl4jGjzM0qKHDtr2pJFZ8A_zMy1hl9lqCP2wnrTHPEWE1m0b6hLy3ShONklgXecdDyB5ZrzJzYuGfs1xxXXnJG1T5_iu_HYQfTQ0bWZi3KC_1zfSROgy3NkPMsd2hrhU2h9W8bhXy2PtQkrQMPTCtu6t4C07EjR65RAs3FWAaUnslOqK6Wh2P01Wc";
private static final String PORTAL_H1_TOKEN = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImVhNWNhYTdjNzU1ZDUxMTVhODI5ODlkNDFjYTVmMDIyMDlmNzk1ZmM1NWRlNmVhZDRkZmQyOWEwNmQ5NmIyN2U1MjM3Yzc5NTQ5MDUxYTQzIn0.eyJhdWQiOiIzIiwianRpIjoiZWE1Y2FhN2M3NTVkNTExNWE4Mjk4OWQ0MWNhNWYwMjIwOWY3OTVmYzU1ZGU2ZWFkNGRmZDI5YTA2ZDk2YjI3ZTUyMzdjNzk1NDkwNTFhNDMiLCJpYXQiOjE1NTY2MTMyNDIsIm5iZiI6MTU1NjYxMzI0MiwiZXhwIjoxNTg4MjM1NjQyLCJzdWIiOiI3Iiwic2NvcGVzIjpbXX0.LIr_ZJmQpFhjWtsViSZDsWi_Vt4BSngKAtk0YT4lWr1iJBoH92Ele5UZNwmZxepN7ld7g9Fw2Og6nckvQgKXhrdHTHl7mfn4r4RgDs1gfW4wb3MgbTdKdiJMTL1U8Xgf8nOSks422XOwAHDF-dxOzX5XuWmKn5t_bEtgaFkbWu2wiztQi-P2AyKl8rpjeUl_7weDqcWYvSDCYp_zU6A7BMJECTK1S58tL5DyTekmV3Yp2zrjtVFoCFXzWF5nv8wSm3tBceC4Q2K4AZCYd1MIBZjzfV0Y0q_CqxrmYDxrP-5qHL4J2mRTUu7OgpgPQFeYEl_tIaY3XgzEMWFNspbT8OtDWlxGqfW4mPTIW5fq7fIM4YmY5O-Vl54IFdAgEjq5slSdb7tkPDcjx21rwqCcN75uMu-q2kqB79Rf5DLU82wRldPXoPIXBEpNv-56QqVQ-TW3jKuc0CyMoIxE-I42KS5YwKqP-IY1fB3qKLyeQauRP0l7JBKvCUfuKnJc7YdlZaFL3XB8PFyXFCcPg9NqCE_sclHqYqs4nJCdHvLKP02oHHrI043T94rTrcqvuSNGzidCzUneVLG-pWYWZdl8nQG2HbIz8l-6kBrIXGdJNhtRdaWTz2dImxI6adfgddv66s-D7L4jHTahx3tyu4hfSpymYa7NoUJ9I80x4AN4f90";
public static HttpEntity<String> getPreFormattedRequestWithUserPassword() {
return getPreFormattedRequestWithToken();
}
public static HttpEntity<String> getPreFormattedRequestWithUserPasswordForByteHandler() {
return getPreFormattedRequestWithTokenForByteHandler();
}
public static HttpEntity<String> getFormDataRequestForMDIntegrationHandler() {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);
httpHeaders.set("Accept","application/json");
return new HttpEntity<>(httpHeaders);
}
public static HttpEntity<String> getPortalPreFormattedRequestWithToken(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
httpHeaders.add(HEADER_KEY, PORTAL_TOKEN);
return new HttpEntity<>(httpHeaders);
}
public static HttpEntity<String> getPortalPreFormattedRequestWithOrafinToken(String token){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
httpHeaders.add(HEADER_KEY, token);
return new HttpEntity<>(httpHeaders);
}
public static HttpEntity<String> getPreFormattedRequestForMDIntegrationHandler() {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
return new HttpEntity<>(httpHeaders);
}
public static HttpEntity<String> getPreFormattedRequestWithToken(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
httpHeaders.add(HEADER_KEY,TOKEN);
return new HttpEntity<>(httpHeaders);
}
private static HttpEntity<String> getPreFormattedRequestWithTokenForByteHandler(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add(HEADER_KEY,TOKEN);
return new HttpEntity<>(httpHeaders);
}
public static HttpEntity<String> getPortalH1PreFormattedRequestWithToken(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
httpHeaders.add(HEADER_KEY, PORTAL_H1_TOKEN);
return new HttpEntity<>(httpHeaders);
}
public static HttpEntity<String> getPortalPreFormattedRequestWithRequestedToken(String token){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
httpHeaders.add(HEADER_KEY, token);
return new HttpEntity<>(httpHeaders);
}
public static HttpEntity<String> getPreFormattedRequestWithToken(String header, String token){
HttpHeaders httpHeaders = new HttpHeaders();
// httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
httpHeaders.add(HEADER_KEY,header+" "+token);
return new HttpEntity<>(httpHeaders);
}
}
package com.eksad.masterdata.common;
public class StringUtil {
public static Boolean isNullOrEmpty(String value){
return value.isEmpty() || value.isBlank() ? true : false;
}
}
package com.eksad.masterdata.controller;
import com.eksad.ddms.common.h2.dto.apigateway.request.PullNotaJBSCRequestDTO;
import com.eksad.masterdata.service.PullNJBNSCHystrixService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.util.logging.Level;
import java.util.logging.Logger;
@RestController
@Slf4j
public class APIGatewayH23RESTController {
@Autowired
PullNJBNSCHystrixService pullService;
@RequestMapping(value = "/orafin/workorder/dgi-api/v1/inv2/read",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> pullNota(@RequestBody PullNotaJBSCRequestDTO dto) throws ParseException {
try {
System.out.println(new ObjectMapper().writeValueAsString(dto));
} catch (JsonProcessingException ex) {
Logger.getLogger(APIGatewayH23RESTController.class.getName()).log(Level.SEVERE, null, ex);
}
return pullService.postRequestPullNJBNSCv2(dto);
}
}
package com.eksad.masterdata.service;
import com.eksad.ddms.common.dto.DealerDTO;
import com.eksad.ddms.common.dto.RequestGetPPNDTO;
import com.eksad.ddms.common.dto.ResponsePPNDTO;
import com.eksad.ddms.common.h2.dto.apigateway.request.PullNotaJBSCRequestDTO;
import com.eksad.ddms.common.h2.dto.apigateway.response.PullNotaJBSCResponseDTO;
import com.eksad.ddms.common.h2.dto.apigateway.response.ResponsePullNJBNSCGetListDTO;
import com.eksad.ddms.common.h2.dto.orafin.workorder.WorkOrderPartOrafinDTO;
import com.eksad.ddms.common.h2.dto.orafin.workorder.WorkOrderServiceOrafinDTO;
import com.eksad.ddms.common.h3.dto.salesorder.ResponseSalesOrderGetDTO;
import com.eksad.ddms.common.h3.dto.salesorder.SalesOrderDTO;
import com.eksad.ddms.common.h3.type.salesorder.SalesOrderStatus;
import com.eksad.ddms.common.type.WoState;
import com.eksad.ddms.common.uri.DealerURI;
import com.eksad.ddms.common.util.DateUtil;
import com.eksad.ddms.common.util.StringUtil;
import com.eksad.ddms.common.util.uri.SalesOrderURI;
import com.eksad.ddms.masterdata.h2.domain.orafin.workorder.APIPullNjbNscDetail;
import com.eksad.ddms.masterdata.h2.domain.orafin.workorder.APIPullNjbNscHeader;
import com.eksad.ddms.masterdata.h2.domain.repository.orafin.workorder.APIPullNjbNscRepository;
import com.eksad.ddms.masterdata.h2.domain.repository.workorder.WorkOrderRepository;
import com.eksad.ddms.masterdata.h2.domain.workorder.WorkOrder;
import com.eksad.masterdata.common.CustomRestTemplate;
import com.eksad.masterdata.common.RequestUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Logger;
@Service
public class PullNJBNSCHystrixService {
// @Autowired
APIPullNjbNscRepository pullNjbNscRepository;
// @Autowired
WorkOrderRepository woRepository;
@Value("${dam.cust.purch.h3}")
private String cust_purch_url;
@Value("${dam.masterdata.h1}")
private String DAM_MASTERDATA_H1;
@Value("${dam.ppn.query.url}")
private String PPN_QUERY_URL;
RestTemplate restTemplate = new RestTemplate();
Double totalJasa = 0d;
Double totalPart = 0d;
public ResponseEntity<Object> postRequestPullNJBNSCv2(PullNotaJBSCRequestDTO dto) {
try {
List<PullNotaJBSCResponseDTO> listResponse = new ArrayList<>();
if (!StringUtil.hasValue(dto.getDealerId())) {
// return ResponseEntity.ok(new ResponsePullNJBNSCGetListDTO(0, "Mohon isi dealerId.", null));
}
if (StringUtil.hasValue(dto.getFromTime())) {
if (!StringUtil.hasValue(dto.getToTime())) {
dto.setToTime(getCurrentDate());
}
if (!checkToTimeIs7Days(dto.getFromTime(), dto.getToTime())) {
return ResponseEntity.status(HttpStatus.FOUND).body(new ResponsePullNJBNSCGetListDTO(0, "Range waktu melebihi 7 hari.", null));
}
} else {
return ResponseEntity.status(HttpStatus.FOUND).body(new ResponsePullNJBNSCGetListDTO(0, "Mohon isi Range Waktu mulai.", null));
}
PullNotaJBSCResponseDTO res;
if (StringUtil.hasValue(dto.getNoWorkOrder())) {
if (checkIfTransactionsComplete(dto.getNoWorkOrder())) {
return ResponseEntity.status(HttpStatus.FOUND).body(new ResponsePullNJBNSCGetListDTO(0, "Pembayaran Invoice telah dilakukan sebelumnya.", null));
}
List<APIPullNjbNscHeader> ora = pullNjbNscRepository.findAllNjbNscHeaderByWoID(dto.getNoWorkOrder());
List<APIPullNjbNscDetail> oraDetail = pullNjbNscRepository.findAllPullNjbNscDetailByWoID(dto.getNoWorkOrder());
if (!ora.isEmpty()) {
res = populateResponseWoOrafin(ora.get(0), oraDetail);
listResponse.add(res);
}
} else {
List<APIPullNjbNscHeader> listOra = new ArrayList<>();
List<APIPullNjbNscDetail> listOraDetail = new ArrayList<>();
if (StringUtil.hasValue(dto.getDealerId())) {
listOra = pullNjbNscRepository.findAllNjbNscHeaderByRangeDate(dto.getFromTime(), dto.getToTime(), dto.getDealerId());
listOraDetail = pullNjbNscRepository.findAllPullNjbNscDetailByRangeDate(dto.getFromTime(), dto.getToTime(), dto.getDealerId());
} else {
listOra = pullNjbNscRepository.findAllNjbNscHeaderByRangeDate(dto.getFromTime(), dto.getToTime(), null);
listOraDetail = pullNjbNscRepository.findAllPullNjbNscDetailByRangeDate(dto.getFromTime(), dto.getToTime(), null);
}
if (listOra != null && !listOra.isEmpty()) {
for (APIPullNjbNscHeader ora : listOra) {
res = populateResponseWoOrafin(ora, listOraDetail);
listResponse.add(res);
}
}
}
if (listResponse.isEmpty()) {
return ResponseEntity.status(HttpStatus.FOUND).body(new ResponsePullNJBNSCGetListDTO(0, "Terdapat kesalahan, Data Tidak Dapat Ditemukan", null));
}
return ResponseEntity.status(HttpStatus.FOUND).body(new ResponsePullNJBNSCGetListDTO(1, null, listResponse));
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.ACCEPTED).body(new ResponsePullNJBNSCGetListDTO(0, "Terjadi kesalahan. " + e.getLocalizedMessage(), null));
}
}
public static String getCurrentDate() throws ParseException {
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(new Date());
}
private Boolean checkToTimeIs7Days(String fromTime, String toTime) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date from = dateFormat.parse(fromTime);
Date to = dateFormat.parse(toTime);
LocalDateTime fromLocal = from.toInstant().atZone(ZoneId.of("Asia/Jakarta")).toLocalDateTime();
LocalDateTime toLocal = to.toInstant().atZone(ZoneId.of("Asia/Jakarta")).toLocalDateTime();
Duration durasi = Duration.between(fromLocal, toLocal);
long dayDifference = Math.abs(durasi.toHours());
if (dayDifference > (7 * 24) + 1) { // if duration greater than 24*7 + 1 hours
return false;
}
return true;
}
public Boolean checkIfTransactionsComplete(String woID) {
String prefix = woID.substring(0, 2);
String prefix2 = woID.substring(0, 3);
if (prefix.equalsIgnoreCase("WO") || prefix2.equalsIgnoreCase("VST") || prefix.equalsIgnoreCase("JR")) {
WorkOrder wo = woRepository.findOneByWoID(woID);
if (wo != null) {
if (wo.getWoLastKnownState().equals(WoState.COMPLETE)) {
return true;
}
}
} else if (prefix.equalsIgnoreCase("SO")) {
SalesOrderDTO so = getSalesOrderByID(woID);
if (so != null && so.getSalesOrderID() != null) {
if (so.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.COMPLETE)) {
return true;
}
}
}
return false;
}
private PullNotaJBSCResponseDTO populateResponseWoOrafin(APIPullNjbNscHeader data, List<APIPullNjbNscDetail> listDetail) {
PullNotaJBSCResponseDTO res = new PullNotaJBSCResponseDTO();
res.setWoid(data.getNoWorkOrder());
res.setNoNJB(data.getNoNJB() == null ? "" : data.getNoNJB());
res.setNoNSC(data.getNoNSC() == null ? "" : data.getNoNSC());
res.setTanggalnjb(data.getTanggalNJB() == null ? "" : DateUtil.dateToString(data.getTanggalNJB(), "dd/MM/yyyy HH:mm:ss"));
res.setTanggalnsc(data.getTanggalNSC() == null ? "" : DateUtil.dateToString(data.getTanggalNSC(), "dd/MM/yyyy HH:mm:ss"));
res.setTotalharganjb(data.getTotalHargaJasa() == null ? 0 : data.getTotalHargaJasa().intValue());
res.setTotalhargansc(data.getTotalHargaSparepart() == null ? 0 : data.getTotalHargaSparepart().intValue());
res.setHondaidsa(data.getHondaIdSA() == null || data.getHondaIdSA().equalsIgnoreCase("none") ? "" : data.getHondaIdSA().toUpperCase());
res.setHondaidmekanik(data.getHondaIdMekanik() == null ? "" : data.getHondaIdMekanik().toUpperCase());
res.setDealerid(data.getDealerId());
res.setCreatedtime(data.getCreatedTime());
res.setModifiedtime(data.getModifiedTime());
populateResponseDetail(res, data, listDetail);
return res;
}
private SalesOrderDTO getSalesOrderByID(String soID) {
if (StringUtil.hasValue(soID)) {
ResponseEntity<ResponseSalesOrderGetDTO> resp = restTemplate.exchange(
cust_purch_url + SalesOrderURI.SALES_ORDER_GET_BY_ID.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
ResponseSalesOrderGetDTO.class, soID);
if (resp.getBody() != null) {
return resp.getBody().getData();
}
}
return null;
}
public DealerDTO findDealerByID(String dealerID) {
if (com.eksad.ddms.common.util.StringUtil.hasValue(dealerID)) {
ResponseEntity<DealerDTO> response = restTemplate.exchange(
DAM_MASTERDATA_H1 +
DealerURI.DEALER_GET_BY_AHASS_ID.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
DealerDTO.class,
dealerID);
return response.getBody() == null ? new DealerDTO() : response.getBody();
}
return new DealerDTO();
}
public ResponsePPNDTO getResponsePPN(RequestGetPPNDTO req) {
ResponsePPNDTO ppnDTO = new ResponsePPNDTO();
HttpHeaders header = new HttpHeaders();
header.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
header.add(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE);
CustomRestTemplate restTemplate = new CustomRestTemplate();
ResponseEntity<ResponsePPNDTO> response = restTemplate.restTemplate().exchange(
PPN_QUERY_URL,
HttpMethod.POST,
new HttpEntity<>(req, header),
ResponsePPNDTO.class);
return response.getBody();
}
private void populateResponseDetail(PullNotaJBSCResponseDTO resp, APIPullNjbNscHeader header, List<APIPullNjbNscDetail> listDetail) {
try {
List<WorkOrderServiceOrafinDTO> listNjb = new ArrayList<>();
List<WorkOrderPartOrafinDTO> listNsc = new ArrayList<>();
Double totalDP = 0d; // Set 0 impact fixing Hotline
totalJasa = 0d;
totalPart = 0d;
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm");
RequestGetPPNDTO req = new RequestGetPPNDTO();
DealerDTO dealer = findDealerByID(resp.getDealerid());
req.setDealerId(dealer.getDealerCode());
req.setQueryDate(dateFormat.format(new Date()));
ResponsePPNDTO ppnData = getResponsePPN(req);
ObjectMapper ob = new ObjectMapper();
System.out.println("Req : " + ob.writeValueAsString(req));
System.out.println("Response : " + ob.writeValueAsString(ppnData));
Double divValue = (ppnData.getData().getPpnRate() + 100.0) / 100.0;
// partJasaMap = new HashMap<>();
listDetail.stream().filter(p -> Objects.equals(header.getNoWorkOrder(), p.getWoID())).forEachOrdered((APIPullNjbNscDetail par) -> {
Double harga = par.getHarga() == null ? 0d : getRoundingHalfDown(par.getHarga());
Double dpp = harga <= 0d ? 0d : getRoundingHalfDown(harga / 1.1);
Double discount = par.getDiscount() == null ? 0d : getRoundingHalfDown(par.getDiscount());
Double qty = par.getQty() == null ? 1 : par.getQty();
Double totalDiscount = discount <= 0d ? 0d : discount * qty;
Double total = par.getTotal() == null ? 0d : getRoundingHalfDown(par.getTotal());
Double ppn = 0d;
Double uangMuka = par.getUangMuka() == null ? 0d : par.getUangMuka();
String discountCode = header.getDiscountCode() == null ? "" : header.getDiscountCode();
String promoIDJasa = "", satuanPromoJasa = "", promoIDPart = "", satuanPromoPart = "";
if (StringUtil.hasValue(header.getPromoIdJasa())) {
String[] promoAttrJasa = header.getPromoIdJasa().split("_");
promoIDJasa = promoAttrJasa[0];
satuanPromoJasa = promoAttrJasa[1];
}
if (StringUtil.hasValue(header.getPromoIdPart())) {
String[] promoAttrPart = header.getPromoIdPart().split("_");
promoIDPart = promoAttrPart[0];
satuanPromoPart = promoAttrPart[1];
}
if (par.getTipe().equals("SERVICE")) {
WorkOrderServiceOrafinDTO njb = new WorkOrderServiceOrafinDTO();
String[] cwsAttr = par.getCwsCode().split("_");
String cwsCode = cwsAttr[0];
String serviceCategory = cwsAttr[1];
if (discount <= 0 && !("ASS".equalsIgnoreCase(serviceCategory.substring(0, 3)) || "CLAIM C2".equalsIgnoreCase(serviceCategory))) {
njb.setPromoIdJasa("");
njb.setDiscServiceAmount(0);
njb.setDiscServicePercentage(0d);
} else {
njb.setPromoIdJasa(("ASS".equalsIgnoreCase(serviceCategory.substring(0, 3)) || "CLAIM C2".equalsIgnoreCase(serviceCategory)) ? "" : promoIDJasa.isEmpty() ? discountCode : promoIDJasa);
njb.setDiscServiceAmount(discount.intValue());
njb.setDiscServicePercentage(0d);
if ("PERCENTAGE".equals(satuanPromoJasa)) {
njb.setDiscServiceAmount(0);
njb.setDiscServicePercentage(discount > 0 ? discount / harga > 1 ? 100d : getRoundingHalfDownOnePlace((discount / harga) * 100) : 0d);
}
}
njb.setIdJob(cwsCode == null ? "" : cwsCode.substring(cwsCode.length() - 5, cwsCode.length()));
njb.setHargaServis(harga.intValue());
njb.setTotalHargaServis(total.intValue());
njb.setCreatedTime(par.getCreatedAt());
njb.setModifiedTime(par.getModifiedAt());
// njb.setNoWorkOrder(header.getNoWorkOrderOrafin());
listNjb.add(njb);
totalJasa = totalJasa + njb.getTotalHargaServis();
// if(StringUtil.hasValue(par.getPartID())) partJasaMap.put(par.getPartID(), njb.getIdJob());
} else if (par.getTipe().equals("PART") || par.getTipe().equals("PART_H3")) {
WorkOrderPartOrafinDTO nsc = new WorkOrderPartOrafinDTO();
// ppn = (harga-discount) <= 0d ? 0d : getRoundingHalfDown((harga-discount)*0.1/1.1);
String tipe = par.getCwsCode() == null ? "" : par.getCwsCode();
String[] tipeChar = tipe.split("_");
String cwsCode = null;
if (tipeChar.length >= 2) {
cwsCode = tipeChar[1].substring(tipeChar[1].length() - 5, tipeChar[1].length());
tipe = tipeChar[0];
}
if ("CLAIM".equalsIgnoreCase(tipe)) ppn = 0d;
if (discount <= 0 && !"CLAIM".equalsIgnoreCase(tipe)) {
nsc.setPromoIdParts("");
nsc.setDiscPartsPercentage(0d);
nsc.setDiscPartsAmount(0);
} else {
nsc.setPromoIdParts("CLAIM".equalsIgnoreCase(tipe) ? "" : promoIDPart.isEmpty() ? discountCode : promoIDPart);
nsc.setDiscPartsPercentage(0d);
nsc.setDiscPartsAmount(discount.intValue());
if (!promoIDPart.isEmpty() || par.getTipe().equals("PART_H3")) {
nsc.setDiscPartsPercentage(discount > 0 ? discount / harga > 1 ? 100d : getRoundingHalfDownOnePlace(discount / harga * 100) : 0d);
nsc.setDiscPartsAmount(0);
// nsc.setPromoIdParts(header.getDiscountCode());
}
}
nsc.setIdJob(cwsCode == null ? "" : cwsCode.toUpperCase());
Double hargaParts = Math.ceil(harga / divValue);
System.out.println("harga parts " + hargaParts);
nsc.setHargaParts(hargaParts.intValue());
nsc.setTotalHargaParts(total.intValue());
nsc.setUangMuka(uangMuka.intValue());
if (header.getNoWorkOrder().startsWith("SO")) {
nsc.setTotalHargaParts(total.intValue() - discount.intValue());
ppn = getRoundingDown((((total / qty) / ((ppnData.getData().getPpnRate() + 100) / 100)) * ppnData.getData().getPpnRate() / 100)) -
(discount > 0 ? getRoundingDown(((discount / ((ppnData.getData().getPpnRate() + 100) / 100)) * ppnData.getData().getPpnRate() / 100)) : 0);
nsc.setPpn(ppn.intValue());
} else {
nsc.setTotalHargaParts(total.intValue());
ppn = getRoundingDown((((total / qty) / ((ppnData.getData().getPpnRate() + 100) / 100)) * ppnData.getData().getPpnRate() / 100));
nsc.setPpn(ppn.intValue());
}
nsc.setPartsNumber(par.getPartID());
nsc.setKuantitas(qty.intValue());
nsc.setCreatedTime(par.getCreatedAt());
nsc.setModifiedTime(par.getModifiedAt());
// nsc.setNoWorkOrder(header.getNoWorkOrderOrafin());
listNsc.add(nsc);
totalPart = totalPart + nsc.getTotalHargaParts();
}
});
resp.setTotalharganjb(totalJasa.intValue());
resp.setTotalhargansc(totalPart.intValue() - totalDP.intValue());
resp.setNjb(listNjb);
resp.setNsc(listNsc);
} catch (JsonProcessingException ex) {
Logger.getLogger(PullNJBNSCHystrixService.class.getName()).log(Level.SEVERE, null, ex);
}
}
private static Double getRoundingHalfDown(Double num) {
BigDecimal bd = new BigDecimal(num).setScale(0, RoundingMode.HALF_DOWN);
return bd.doubleValue();
}
private static Double getRoundingHalfDownOnePlace(Double num) {
BigDecimal bd = new BigDecimal(num).setScale(1, RoundingMode.HALF_DOWN);
return bd.doubleValue();
}
private static Double getRoundingDown(Double num) {
BigDecimal bd = new BigDecimal(num).setScale(0, RoundingMode.DOWN);
return bd.doubleValue();
}
}
artifactId=ddms-h2-masterdata-slave
groupId=com.eksad
version=0.0.1-SNAPSHOT
com/eksad/masterdata/common/StringUtil.class
com/eksad/masterdata/common/LogOpsUtil.class
com/eksad/masterdata/domain/TrxBizpar.class
com/eksad/masterdata/WebApplication.class
com/eksad/masterdata/service/ProcessHelperService.class
com/eksad/masterdata/common/Constants$Login.class
com/eksad/masterdata/common/ResponseStatus.class
com/eksad/masterdata/config/JwtAuthenticationFilter.class
com/eksad/masterdata/common/ProjectType.class
com/eksad/masterdata/controller/SampleMasterdataWoController.class
com/eksad/masterdata/common/GenericResponseDTO.class
com/eksad/masterdata/repository/WoRepository.class
com/eksad/masterdata/common/LogOpsDTO.class
com/eksad/masterdata/model/User.class
com/eksad/masterdata/service/KafkaProducerService.class
com/eksad/masterdata/common/LogResponseDTO.class
com/eksad/masterdata/event/KafkaEvent.class
com/eksad/masterdata/domain/MstWo.class
com/eksad/masterdata/model/Role.class
com/eksad/masterdata/repository/BizparRepository.class
com/eksad/masterdata/common/DateUtils.class
com/eksad/masterdata/service/WOService.class
com/eksad/masterdata/common/Constants.class
com/eksad/masterdata/config/SecurityConfig.class
com/eksad/masterdata/service/UserDetailsServiceImp.class
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment