inisialisasi kembali 3

This commit is contained in:
tias 2024-06-15 17:06:17 +07:00
parent 82184a8f38
commit 9ed46a29f4
166 changed files with 11280 additions and 0 deletions

5
.dockerignore Normal file
View File

@ -0,0 +1,5 @@
*
!target/*-runner
!target/*-runner.jar
!target/lib/*
!target/quarkus-app/*

43
.gitignore vendored Normal file
View File

@ -0,0 +1,43 @@
#Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
release.properties
.flattened-pom.xml
# Eclipse
.project
.classpath
.settings/
bin/
# IntelliJ
.idea
*.ipr
*.iml
*.iws
# NetBeans
nb-configuration.xml
# Visual Studio Code
.vscode
.factorypath
# OSX
.DS_Store
# Vim
*.swp
*.swo
# patch
*.orig
*.rej
# Local environment
.env
# Plugin directory
/.quarkus/cli/plugins/

1
.mvn/wrapper/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
maven-wrapper.jar

View File

@ -0,0 +1,98 @@
/*
* 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.
*/
import java.io.IOException;
import java.io.InputStream;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
public final class MavenWrapperDownloader
{
private static final String WRAPPER_VERSION = "3.2.0";
private static final boolean VERBOSE = Boolean.parseBoolean( System.getenv( "MVNW_VERBOSE" ) );
public static void main( String[] args )
{
log( "Apache Maven Wrapper Downloader " + WRAPPER_VERSION );
if ( args.length != 2 )
{
System.err.println( " - ERROR wrapperUrl or wrapperJarPath parameter missing" );
System.exit( 1 );
}
try
{
log( " - Downloader started" );
final URL wrapperUrl = new URL( args[0] );
final String jarPath = args[1].replace( "..", "" ); // Sanitize path
final Path wrapperJarPath = Paths.get( jarPath ).toAbsolutePath().normalize();
downloadFileFromURL( wrapperUrl, wrapperJarPath );
log( "Done" );
}
catch ( IOException e )
{
System.err.println( "- Error downloading: " + e.getMessage() );
if ( VERBOSE )
{
e.printStackTrace();
}
System.exit( 1 );
}
}
private static void downloadFileFromURL( URL wrapperUrl, Path wrapperJarPath )
throws IOException
{
log( " - Downloading to: " + wrapperJarPath );
if ( System.getenv( "MVNW_USERNAME" ) != null && System.getenv( "MVNW_PASSWORD" ) != null )
{
final String username = System.getenv( "MVNW_USERNAME" );
final char[] password = System.getenv( "MVNW_PASSWORD" ).toCharArray();
Authenticator.setDefault( new Authenticator()
{
@Override
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication( username, password );
}
} );
}
try ( InputStream inStream = wrapperUrl.openStream() )
{
Files.copy( inStream, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING );
}
log( " - Downloader complete" );
}
private static void log( String msg )
{
if ( VERBOSE )
{
System.out.println( msg );
}
}
}

18
.mvn/wrapper/maven-wrapper.properties vendored Normal file
View File

@ -0,0 +1,18 @@
# 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.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar

60
README.md Normal file
View File

@ -0,0 +1,60 @@
# PLN MOBILE
This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
## Running the application in dev mode
You can run your application in dev mode that enables live coding using:
```shell script
./mvnw compile quarkus:dev
```
> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
## Packaging and running the application
The application can be packaged using:
```shell script
./mvnw package
```
It produces the `quarkus-run.jar` file in the `target/quarkus-app/` directory.
Be aware that its not an _über-jar_ as the dependencies are copied into the `target/quarkus-app/lib/` directory.
The application is now runnable using `java -jar target/quarkus-app/quarkus-run.jar`.
If you want to build an _über-jar_, execute the following command:
```shell script
./mvnw package -Dquarkus.package.type=uber-jar
```
The application, packaged as an _über-jar_, is now runnable using `java -jar target/*-runner.jar`.
## Creating a native executable
You can create a native executable using:
```shell script
./mvnw package -Dnative
```
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
```shell script
./mvnw package -Dnative -Dquarkus.native.container-build=true
```
You can then execute your native executable with: `./target/ap2t-api-1.0.0-runner`
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.
## Related Guides
- RESTEasy Reactive ([guide](https://quarkus.io/guides/resteasy-reactive)): A Jakarta REST implementation utilizing build time processing and Vert.x. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it.
## Provided Code
### RESTEasy Reactive
Easily start your Reactive RESTful Web Services
[Related guide section...](https://quarkus.io/guides/getting-started-reactive#reactive-jax-rs-resources)

7
deploy.sh Normal file
View File

@ -0,0 +1,7 @@
echo "-----------------------------------"
echo "Build and deploy api pln mobile version : $1"
echo "-----------------------------------"
./mvnw package
docker build -f src/main/docker/Dockerfile.jvm -t tias333/api-mobpl:v.0.0.$1 .
# docker build -f src/main/docker/Dockerfile.native -t tias333/api-mobpl:v.0.0.$1 .
docker push tias333/api-mobpl:v.0.0.$1

6
deploynative.sh Normal file
View File

@ -0,0 +1,6 @@
echo "-----------------------------------"
echo "Build and deploy api pln mobile version : $1"
echo "-----------------------------------"
./mvnw package -Dnative
# docker build -f src/main/docker/Dockerfile.native -t tias333/api-mobpl:v.0.0.$1-native .
# docker push tias333/api-mobpl:v.0.0.$1-native

308
mvnw vendored Normal file
View File

@ -0,0 +1,308 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# 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.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Apache Maven Wrapper startup batch script, version 3.2.0
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /usr/local/etc/mavenrc ] ; then
. /usr/local/etc/mavenrc
fi
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "$(uname)" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
else
JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=$(java-config --jre-home)
fi
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
[ -n "$CLASSPATH" ] &&
CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="$(which javac)"
if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=$(which readlink)
if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then
if $darwin ; then
javaHome="$(dirname "\"$javaExecutable\"")"
javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac"
else
javaExecutable="$(readlink -f "\"$javaExecutable\"")"
fi
javaHome="$(dirname "\"$javaExecutable\"")"
javaHome=$(expr "$javaHome" : '\(.*\)/bin')
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=$(cd "$wdir/.." || exit 1; pwd)
fi
# end of workaround
done
printf '%s' "$(cd "$basedir" || exit 1; pwd)"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
# Remove \r in case we run on Windows within Git Bash
# and check out the repository with auto CRLF management
# enabled. Otherwise, we may read lines that are delimited with
# \r\n and produce $'-Xarg\r' rather than -Xarg due to word
# splitting rules.
tr -s '\r\n' ' ' < "$1"
fi
}
log() {
if [ "$MVNW_VERBOSE" = true ]; then
printf '%s\n' "$1"
fi
}
BASE_DIR=$(find_maven_basedir "$(dirname "$0")")
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
log "$MAVEN_PROJECTBASEDIR"
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
if [ -r "$wrapperJarPath" ]; then
log "Found $wrapperJarPath"
else
log "Couldn't find $wrapperJarPath, downloading it ..."
if [ -n "$MVNW_REPOURL" ]; then
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
else
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
fi
while IFS="=" read -r key value; do
# Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
safeValue=$(echo "$value" | tr -d '\r')
case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
esac
done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
log "Downloading from: $wrapperUrl"
if $cygwin; then
wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
fi
if command -v wget > /dev/null; then
log "Found wget ... using wget"
[ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
else
wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
log "Found curl ... using curl"
[ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
else
curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
fi
else
log "Falling back to using Java to download"
javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaSource=$(cygpath --path --windows "$javaSource")
javaClass=$(cygpath --path --windows "$javaClass")
fi
if [ -e "$javaSource" ]; then
if [ ! -e "$javaClass" ]; then
log " - Compiling MavenWrapperDownloader.java ..."
("$JAVA_HOME/bin/javac" "$javaSource")
fi
if [ -e "$javaClass" ]; then
log " - Running MavenWrapperDownloader.java ..."
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
# If specified, validate the SHA-256 sum of the Maven wrapper jar file
wrapperSha256Sum=""
while IFS="=" read -r key value; do
case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
esac
done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
if [ -n "$wrapperSha256Sum" ]; then
wrapperSha256Result=false
if command -v sha256sum > /dev/null; then
if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
wrapperSha256Result=true
fi
elif command -v shasum > /dev/null; then
if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then
wrapperSha256Result=true
fi
else
echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
exit 1
fi
if [ $wrapperSha256Result = false ]; then
echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2
echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2
echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
exit 1
fi
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
[ -n "$CLASSPATH" ] &&
CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
# shellcheck disable=SC2086 # safe args
exec "$JAVACMD" \
$MAVEN_OPTS \
$MAVEN_DEBUG_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

205
mvnw.cmd vendored Normal file
View File

@ -0,0 +1,205 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Apache Maven Wrapper startup batch script, version 3.2.0
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %WRAPPER_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
SET WRAPPER_SHA_256_SUM=""
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
)
IF NOT %WRAPPER_SHA_256_SUM%=="" (
powershell -Command "&{"^
"$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
"If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
" Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
" Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
" Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
" exit 1;"^
"}"^
"}"
if ERRORLEVEL 1 goto error
)
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %WRAPPER_JAR% ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%"=="on" pause
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
cmd /C exit /B %ERROR_CODE%

203
pom.xml Normal file
View File

@ -0,0 +1,203 @@
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.sadigit</groupId>
<artifactId>api-mobpl</artifactId>
<version>1.0.0</version>
<properties>
<compiler-plugin.version>3.12.1</compiler-plugin.version>
<jackson.version>2.17.0</jackson.version>
<maven.compiler.release>17</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.version>3.7.4</quarkus.platform.version>
<skipITs>true</skipITs>
<surefire-plugin.version>3.2.5</surefire-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>${quarkus.platform.artifact-id}</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>6.4.2.Final</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jaxb</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jsonb</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-micrometer-registry-prometheus</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.metrics</groupId>
<artifactId>microprofile-metrics-api</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-health</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-fault-tolerance</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-hibernate-orm-panache</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jdbc-postgresql</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-config-yaml</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-context-propagation</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-openapi</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.platform.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>build</goal>
<goal>generate-code</goal>
<goal>generate-code-tests</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${compiler-plugin.version}</version>
<configuration>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire-plugin.version}</version>
<configuration>
<systemPropertyVariables>
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
<maven.home>${maven.home}</maven.home>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${surefire-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<systemPropertyVariables>
<native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
<maven.home>${maven.home}</maven.home>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>native</id>
<activation>
<property>
<name>native</name>
</property>
</activation>
<properties>
<skipITs>false</skipITs>
<quarkus.package.type>native</quarkus.package.type>
</properties>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,97 @@
####
# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
#
# Before building the container image run:
#
# ./mvnw package
#
# Then, build the image with:
#
# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/ap2t-api-jvm .
#
# Then run the container using:
#
# docker run -i --rm -p 8080:8080 quarkus/ap2t-api-jvm
#
# If you want to include the debug port into your docker image
# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005.
# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005
# when running the container
#
# Then run the container using :
#
# docker run -i --rm -p 8080:8080 quarkus/ap2t-api-jvm
#
# This image uses the `run-java.sh` script to run the application.
# This scripts computes the command line to execute your Java application, and
# includes memory/GC tuning.
# You can configure the behavior using the following environment properties:
# - JAVA_OPTS: JVM options passed to the `java` command (example: "-verbose:class")
# - JAVA_OPTS_APPEND: User specified Java options to be appended to generated options
# in JAVA_OPTS (example: "-Dsome.property=foo")
# - JAVA_MAX_MEM_RATIO: Is used when no `-Xmx` option is given in JAVA_OPTS. This is
# used to calculate a default maximal heap memory based on a containers restriction.
# If used in a container without any memory constraints for the container then this
# option has no effect. If there is a memory constraint then `-Xmx` is set to a ratio
# of the container available memory as set here. The default is `50` which means 50%
# of the available memory is used as an upper boundary. You can skip this mechanism by
# setting this value to `0` in which case no `-Xmx` option is added.
# - JAVA_INITIAL_MEM_RATIO: Is used when no `-Xms` option is given in JAVA_OPTS. This
# is used to calculate a default initial heap memory based on the maximum heap memory.
# If used in a container without any memory constraints for the container then this
# option has no effect. If there is a memory constraint then `-Xms` is set to a ratio
# of the `-Xmx` memory as set here. The default is `25` which means 25% of the `-Xmx`
# is used as the initial heap size. You can skip this mechanism by setting this value
# to `0` in which case no `-Xms` option is added (example: "25")
# - JAVA_MAX_INITIAL_MEM: Is used when no `-Xms` option is given in JAVA_OPTS.
# This is used to calculate the maximum value of the initial heap memory. If used in
# a container without any memory constraints for the container then this option has
# no effect. If there is a memory constraint then `-Xms` is limited to the value set
# here. The default is 4096MB which means the calculated value of `-Xms` never will
# be greater than 4096MB. The value of this variable is expressed in MB (example: "4096")
# - JAVA_DIAGNOSTICS: Set this to get some diagnostics information to standard output
# when things are happening. This option, if set to true, will set
# `-XX:+UnlockDiagnosticVMOptions`. Disabled by default (example: "true").
# - JAVA_DEBUG: If set remote debugging will be switched on. Disabled by default (example:
# true").
# - JAVA_DEBUG_PORT: Port used for remote debugging. Defaults to 5005 (example: "8787").
# - CONTAINER_CORE_LIMIT: A calculated core limit as described in
# https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt. (example: "2")
# - CONTAINER_MAX_MEMORY: Memory limit given to the container (example: "1024").
# - GC_MIN_HEAP_FREE_RATIO: Minimum percentage of heap free after GC to avoid expansion.
# (example: "20")
# - GC_MAX_HEAP_FREE_RATIO: Maximum percentage of heap free after GC to avoid shrinking.
# (example: "40")
# - GC_TIME_RATIO: Specifies the ratio of the time spent outside the garbage collection.
# (example: "4")
# - GC_ADAPTIVE_SIZE_POLICY_WEIGHT: The weighting given to the current GC time versus
# previous GC times. (example: "90")
# - GC_METASPACE_SIZE: The initial metaspace size. (example: "20")
# - GC_MAX_METASPACE_SIZE: The maximum metaspace size. (example: "100")
# - GC_CONTAINER_OPTIONS: Specify Java GC to use. The value of this variable should
# contain the necessary JRE command-line options to specify the required GC, which
# will override the default of `-XX:+UseParallelGC` (example: -XX:+UseG1GC).
# - HTTPS_PROXY: The location of the https proxy. (example: "myuser@127.0.0.1:8080")
# - HTTP_PROXY: The location of the http proxy. (example: "myuser@127.0.0.1:8080")
# - NO_PROXY: A comma separated lists of hosts, IP addresses or domains that can be
# accessed directly. (example: "foo.example.com,bar.example.com")
#
###
FROM registry.access.redhat.com/ubi8/openjdk-17:1.18
ENV LANGUAGE='en_US:en'
# We make four distinct layers so if there are application changes the library layers can be re-used
COPY --chown=185 target/quarkus-app/lib/ /deployments/lib/
COPY --chown=185 target/quarkus-app/*.jar /deployments/
COPY --chown=185 target/quarkus-app/app/ /deployments/app/
COPY --chown=185 target/quarkus-app/quarkus/ /deployments/quarkus/
EXPOSE 8080
USER 185
ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
ENV JAVA_APP_JAR="/deployments/quarkus-run.jar"
ENTRYPOINT [ "/opt/jboss/container/java/run/run-java.sh" ]

View File

@ -0,0 +1,93 @@
####
# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
#
# Before building the container image run:
#
# ./mvnw package -Dquarkus.package.type=legacy-jar
#
# Then, build the image with:
#
# docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/ap2t-api-legacy-jar .
#
# Then run the container using:
#
# docker run -i --rm -p 8080:8080 quarkus/ap2t-api-legacy-jar
#
# If you want to include the debug port into your docker image
# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005.
# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005
# when running the container
#
# Then run the container using :
#
# docker run -i --rm -p 8080:8080 quarkus/ap2t-api-legacy-jar
#
# This image uses the `run-java.sh` script to run the application.
# This scripts computes the command line to execute your Java application, and
# includes memory/GC tuning.
# You can configure the behavior using the following environment properties:
# - JAVA_OPTS: JVM options passed to the `java` command (example: "-verbose:class")
# - JAVA_OPTS_APPEND: User specified Java options to be appended to generated options
# in JAVA_OPTS (example: "-Dsome.property=foo")
# - JAVA_MAX_MEM_RATIO: Is used when no `-Xmx` option is given in JAVA_OPTS. This is
# used to calculate a default maximal heap memory based on a containers restriction.
# If used in a container without any memory constraints for the container then this
# option has no effect. If there is a memory constraint then `-Xmx` is set to a ratio
# of the container available memory as set here. The default is `50` which means 50%
# of the available memory is used as an upper boundary. You can skip this mechanism by
# setting this value to `0` in which case no `-Xmx` option is added.
# - JAVA_INITIAL_MEM_RATIO: Is used when no `-Xms` option is given in JAVA_OPTS. This
# is used to calculate a default initial heap memory based on the maximum heap memory.
# If used in a container without any memory constraints for the container then this
# option has no effect. If there is a memory constraint then `-Xms` is set to a ratio
# of the `-Xmx` memory as set here. The default is `25` which means 25% of the `-Xmx`
# is used as the initial heap size. You can skip this mechanism by setting this value
# to `0` in which case no `-Xms` option is added (example: "25")
# - JAVA_MAX_INITIAL_MEM: Is used when no `-Xms` option is given in JAVA_OPTS.
# This is used to calculate the maximum value of the initial heap memory. If used in
# a container without any memory constraints for the container then this option has
# no effect. If there is a memory constraint then `-Xms` is limited to the value set
# here. The default is 4096MB which means the calculated value of `-Xms` never will
# be greater than 4096MB. The value of this variable is expressed in MB (example: "4096")
# - JAVA_DIAGNOSTICS: Set this to get some diagnostics information to standard output
# when things are happening. This option, if set to true, will set
# `-XX:+UnlockDiagnosticVMOptions`. Disabled by default (example: "true").
# - JAVA_DEBUG: If set remote debugging will be switched on. Disabled by default (example:
# true").
# - JAVA_DEBUG_PORT: Port used for remote debugging. Defaults to 5005 (example: "8787").
# - CONTAINER_CORE_LIMIT: A calculated core limit as described in
# https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt. (example: "2")
# - CONTAINER_MAX_MEMORY: Memory limit given to the container (example: "1024").
# - GC_MIN_HEAP_FREE_RATIO: Minimum percentage of heap free after GC to avoid expansion.
# (example: "20")
# - GC_MAX_HEAP_FREE_RATIO: Maximum percentage of heap free after GC to avoid shrinking.
# (example: "40")
# - GC_TIME_RATIO: Specifies the ratio of the time spent outside the garbage collection.
# (example: "4")
# - GC_ADAPTIVE_SIZE_POLICY_WEIGHT: The weighting given to the current GC time versus
# previous GC times. (example: "90")
# - GC_METASPACE_SIZE: The initial metaspace size. (example: "20")
# - GC_MAX_METASPACE_SIZE: The maximum metaspace size. (example: "100")
# - GC_CONTAINER_OPTIONS: Specify Java GC to use. The value of this variable should
# contain the necessary JRE command-line options to specify the required GC, which
# will override the default of `-XX:+UseParallelGC` (example: -XX:+UseG1GC).
# - HTTPS_PROXY: The location of the https proxy. (example: "myuser@127.0.0.1:8080")
# - HTTP_PROXY: The location of the http proxy. (example: "myuser@127.0.0.1:8080")
# - NO_PROXY: A comma separated lists of hosts, IP addresses or domains that can be
# accessed directly. (example: "foo.example.com,bar.example.com")
#
###
FROM registry.access.redhat.com/ubi8/openjdk-17:1.18
ENV LANGUAGE='en_US:en'
COPY target/lib/* /deployments/lib/
COPY target/*-runner.jar /deployments/quarkus-run.jar
EXPOSE 8080
USER 185
ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
ENV JAVA_APP_JAR="/deployments/quarkus-run.jar"
ENTRYPOINT [ "/opt/jboss/container/java/run/run-java.sh" ]

View File

@ -0,0 +1,27 @@
####
# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode.
#
# Before building the container image run:
#
# ./mvnw package -Dnative
#
# Then, build the image with:
#
# docker build -f src/main/docker/Dockerfile.native -t quarkus/ap2t-api .
#
# Then run the container using:
#
# docker run -i --rm -p 8080:8080 quarkus/ap2t-api
#
###
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9
WORKDIR /work/
RUN chown 1001 /work \
&& chmod "g+rwX" /work \
&& chown 1001:root /work
COPY --chown=1001:root target/*-runner /work/application
EXPOSE 8080
USER 1001
ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]

View File

@ -0,0 +1,30 @@
####
# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode.
# It uses a micro base image, tuned for Quarkus native executables.
# It reduces the size of the resulting container image.
# Check https://quarkus.io/guides/quarkus-runtime-base-image for further information about this image.
#
# Before building the container image run:
#
# ./mvnw package -Dnative
#
# Then, build the image with:
#
# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/ap2t-api .
#
# Then run the container using:
#
# docker run -i --rm -p 8080:8080 quarkus/ap2t-api
#
###
FROM quay.io/quarkus/quarkus-micro-image:2.0
WORKDIR /work/
RUN chown 1001 /work \
&& chmod "g+rwX" /work \
&& chown 1001:root /work
COPY --chown=1001:root target/*-runner /work/application
EXPOSE 8080
USER 1001
ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]

View File

@ -0,0 +1,53 @@
// package org.sadigit.Interceptor;
// import lombok.NonNull;
// import lombok.extern.slf4j.Slf4j;
// import org.apache.commons.codec.binary.Base64;
// import org.springframework.http.HttpHeaders;
// import org.springframework.http.HttpRequest;
// import org.springframework.http.client.ClientHttpRequestExecution;
// import org.springframework.http.client.ClientHttpRequestInterceptor;
// import org.springframework.http.client.ClientHttpResponse;
// import java.io.IOException;
// import java.nio.charset.Charset;
// @Slf4j
// public class AuthenticationInterceptor implements
// ClientHttpRequestInterceptor {
// private String auth;
// // private String content;
// public AuthenticationInterceptor(String auth) {
// super();
// this.auth = auth;
// // this.content = content;
// }
// public ClientHttpResponse intercept(@NonNull HttpRequest request,
// @NonNull byte[] body,
// @NonNull ClientHttpRequestExecution execution) throws IOException {
// HttpHeaders headers = request.getHeaders();
// String authorize = auth;
// String urlEncoded =
// Base64.encodeBase64String(authorize.getBytes(Charset.forName("utf-8")));
// String authHeader = authorize;
// if (auth != null) {
// headers.add("MAXAUTH", authHeader);
// }
// // headers.setContentType(MediaType.APPLICATION_JSON);
// headers.add("Content-Type", "application/x-www-form-urlencoded");
// headers.add("Cache-Control", "no-cache");
// log.debug("HEADER >> {}", headers.toString());
// log.debug("BODY >> {}", new String(body));
// log.info("request method: {}, request URI: {}, request headers: {}, request
// body: {}",
// request.getMethod(), request.getURI(), request.getHeaders(), new
// String(body));
// return execution.execute(request, body);
// }
// }

View File

@ -0,0 +1,35 @@
package org.sadigit.adapter;
import jakarta.json.bind.adapter.JsonbAdapter;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.io.ParseException;
import org.locationtech.jts.io.WKTReader;
import org.locationtech.jts.io.WKTWriter;
@SuppressWarnings("unused")
public class GeometryAdapter implements JsonbAdapter<Geometry, String> {
private static final int DEFAULT_SRID = 4326; // Default SRID
@Override
public String adaptToJson(Geometry geometry) throws Exception {
if (geometry == null) {
return null;
}
WKTWriter writer = new WKTWriter();
return writer.write(geometry);
}
@Override
public Geometry adaptFromJson(String json) throws Exception {
if (json == null || json.isEmpty()) {
return null;
}
WKTReader reader = new WKTReader();
try {
return reader.read(json);
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid WKT string: " + json, e);
}
}
}

View File

@ -0,0 +1,21 @@
package org.sadigit.adapter;
import org.locationtech.jts.geom.Point;
import org.locationtech.jts.io.WKTReader;
import jakarta.json.bind.adapter.JsonbAdapter;
public class PointAdapter implements JsonbAdapter<Point, String> {
@Override
public String adaptToJson(Point point) throws Exception {
// Serialize the Point object to a string representation
return point.toText();
}
@Override
public Point adaptFromJson(String pointString) throws Exception {
// Deserialize the string representation to a Point object
return (Point) new WKTReader().read(pointString);
}
}

View File

@ -0,0 +1,203 @@
package org.sadigit.boundary.v1.endpoint;
import java.util.List;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.request.CreateGangguanRequest;
import org.sadigit.model.request.CreateGangguanV2Request;
import org.sadigit.model.request.CreateKeluhanRequest;
import org.sadigit.model.request.CreateKeluhanV2Request;
import org.sadigit.model.request.GetCancelRequest;
import org.sadigit.model.request.GetCttRequest;
import org.sadigit.model.request.GetDataGarduV2Request;
import org.sadigit.model.request.GetDataRequest;
import org.sadigit.model.request.GetRatingPlgnRequest;
import org.sadigit.model.response.CreateGangguanResponse;
import org.sadigit.model.response.DetailPengaduanFlowResponse;
import org.sadigit.model.response.DetailPengaduanResponse;
import org.sadigit.model.response.GarduNyalaResponse;
import org.sadigit.model.response.GetCttResponse;
import org.sadigit.model.response.GarduPadamResponse;
import org.sadigit.model.response.GarduRencanaResponse;
import org.sadigit.model.response.GetFotoResponse;
import org.sadigit.model.response.GetHistoByIdpelResponse;
import org.sadigit.model.response.GetHistoriGangguanByIdResponse;
import org.sadigit.model.response.GetMasterJenisPengaduanResponse;
import org.sadigit.model.response.GetMasterJenisPengaduanResponseV2;
import org.sadigit.model.response.GetRatingPlnResponse;
import org.sadigit.model.response.base.ResponseModel;
import org.sadigit.model.response.base.ResponseModelGardu;
import org.sadigit.model.response.base.ResponseModelGarduV2;
import org.sadigit.model.response.base.ResponseModelOutReturn;
import org.sadigit.model.response.base.ResponseModelWithFlow;
import org.sadigit.service.api.v1.PlnMobileService;
import jakarta.inject.Inject;
import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
@Path("/api/apkt/plnmobile")
public class PlnMobileResource {
@Inject
PlnMobileService plnMobileService;
@POST
@Path(value = "/histogangguan")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<GetHistoriGangguanByIdResponse> histogangguan(@QueryParam("in_data") String in_data) {
if (in_data == null || in_data.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "in_data tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
return plnMobileService.getHistoriGangguanById(in_data);
}
@POST
@Path(value = "/detailpengaduan")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModelWithFlow<DetailPengaduanResponse, DetailPengaduanFlowResponse> detailpengaduan(@QueryParam("in_data") String in_data) {
if (in_data == null || in_data.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "in_data tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
return plnMobileService.getDetailPengaduan(in_data);
}
@POST
@Path(value = "/masterjp")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<List<GetMasterJenisPengaduanResponse>> masterjp() {
return plnMobileService.getMasterJenisPengaduan();
}
@POST
@Path(value = "/creategangguan")
@Produces(MediaType.APPLICATION_JSON)
public CreateGangguanResponse creategangguan(@BeanParam CreateGangguanRequest params) {
params.checkParameter();
return plnMobileService.createGangguan(params);
}
@POST
@Path(value = "/creategangguanv2")
@Produces(MediaType.APPLICATION_JSON)
public CreateGangguanResponse creategangguanv2(@BeanParam CreateGangguanV2Request params) {
params.checkParameter();
return plnMobileService.createGangguanV2(params);
}
@POST
@Path(value = "/createkeluhan")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<Map<String, String>> createkeluhan(@BeanParam CreateKeluhanRequest params) {
params.checkParameter();
return plnMobileService.createKeluhan(params);
}
@POST
@Path(value = "/get_cancel")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModelOutReturn<String> getcancel(@BeanParam GetCancelRequest params) {
params.checkParameter();
return plnMobileService.batalkanPengaduan(params);
}
@POST
@Path(value = "/gethistobyidpel")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<List<GetHistoByIdpelResponse>> gethistobyidpel(
@QueryParam("in_data") String in_data) {
if (in_data == null || in_data.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "in_data tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
return plnMobileService.getHistoriGangguanByIdpel(in_data);
}
@POST
@Path(value = "/rating")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<List<GetRatingPlnResponse>> rating(@BeanParam GetRatingPlgnRequest request) {
request.checkParameter();
return plnMobileService.getRating(request);
}
@POST
@Path(value = "/getdatagardu")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModelGardu<GarduPadamResponse, GarduNyalaResponse, GarduPadamResponse, GarduRencanaResponse> getdatagardu() {
return plnMobileService.getDataGardu();
}
@POST
@Path(value = "/getdatagarduv2")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModelGarduV2<Object> getdatagarduv2(@BeanParam GetDataGarduV2Request params) {
params.checkParameter();
return plnMobileService.getDataGarduV2(params);
}
@POST
@Path(value = "/masterjpv2")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<List<GetMasterJenisPengaduanResponseV2>> masterjpv2() {
return plnMobileService.getMasterJenisPengaduanV2();
}
@POST
@Path(value = "/createkeluhanV2")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<Map<String, String>> createkeluhanV2(CreateKeluhanV2Request params) {
params.checkParameter();
return plnMobileService.createKeluhanV2(params);
}
@POST
@Path(value = "/GET_FOTO")
@Produces(MediaType.APPLICATION_JSON)
public GetFotoResponse<List<Map<String, String>>> getFoto(@QueryParam("p_reportnumber") String pReportNumber) {
if (pReportNumber == null || pReportNumber.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "No laporan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
return plnMobileService.getFoto(pReportNumber);
}
@POST
@Path(value = "/GET_CTT")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<List<GetCttResponse>> GET_CTT(@BeanParam GetCttRequest params) {
params.checkParameter();
return plnMobileService.getCtt(params);
}
@POST
@Path(value = "/get_data")
@Produces(MediaType.APPLICATION_JSON)
public ResponseModel<Object> get_data(@BeanParam GetDataRequest params) {
return plnMobileService.getData(params);
}
}

View File

@ -0,0 +1,32 @@
package org.sadigit.control.errorhandlers;
// import java.util.LinkedHashMap;
import java.util.Map;
import java.util.LinkedHashMap;
import org.sadigit.control.exception.CustomException;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status;
import jakarta.ws.rs.ext.ExceptionMapper;
import jakarta.ws.rs.ext.Provider;
@Provider
public class CustomExceptionHandler implements ExceptionMapper<CustomException>{
@Override
public Response toResponse(CustomException exception) {
if (exception.getCustomErrorStructure() != null) {
return Response.status(Status.OK).entity(exception.getCustomErrorStructure()).build();
} else {
Map<String, Object> response = new LinkedHashMap<>();
exception.printStackTrace();
response.put("status", false);
response.put("title", "Terjadi Kesalahan");
response.put("message", exception.getMessage());
return Response.status(Status.OK).entity(response).build();
}
}
}

View File

@ -0,0 +1,27 @@
package org.sadigit.control.errorhandlers;
import java.util.Map;
import org.sadigit.control.exception.GetDataGarduV2Exception;
import org.sadigit.model.response.base.ResponseModelGarduV2;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.ext.ExceptionMapper;
import jakarta.ws.rs.ext.Provider;
@Provider
public class GetDataGarduV2Handler implements ExceptionMapper<GetDataGarduV2Exception>{
@Override
public Response toResponse(GetDataGarduV2Exception exception) {
ResponseModelGarduV2<Map<String,Object>> response = new ResponseModelGarduV2<>();
response.setP_return(Map.of(
"errorcode", exception.getErrorCode(),
"info", exception.getMessage()
));
return Response.status(Response.Status.OK).entity(response).build();
}
}

View File

@ -0,0 +1,23 @@
package org.sadigit.control.exception;
import lombok.Getter;
@Getter
public class CustomException extends RuntimeException{
private static final long serialVersionUID = 1L;
private Object customErrorStructure;
public CustomException() {
super();
}
public CustomException(String msg) {
super(msg);
}
public CustomException(String msg, Object customErrorStructure) {
super();
this.customErrorStructure = customErrorStructure;
}
}

View File

@ -0,0 +1,20 @@
package org.sadigit.control.exception;
import lombok.Getter;
@Getter
public class GetDataGarduV2Exception extends RuntimeException{
private static final long serialVersionUID = 1L;
private String errorCode;
public GetDataGarduV2Exception(String errorCode) {
super();
this.errorCode = errorCode;
}
public GetDataGarduV2Exception(String errorCode, String msg) {
super(msg);
this.errorCode = errorCode;
}
}

View File

@ -0,0 +1,24 @@
// package org.sadigit.control.security;
// import io.quarkus.elytron.security.common.BcryptUtil;
// import io.quarkus.security.jpa.Password;
// import io.quarkus.security.jpa.Roles;
// import io.quarkus.security.jpa.UserDefinition;
// import io.quarkus.security.jpa.Username;
// @UserDefinition
// public class User {
// @Username
// public String username;
// @Password
// public String password;
// @Roles
// public String role;
// public User(String username, String password, String role) {
// this.username = username;
// this.password = BcryptUtil.bcryptHash(password);
// this.role = role;
// }
// }

View File

@ -0,0 +1,125 @@
package org.sadigit.entity;
import lombok.Getter;
import lombok.Setter;
import java.math.BigInteger;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import org.sadigit.entity.referensi.Posko;
import org.sadigit.entity.referensi.Regional;
import org.sadigit.entity.referensi.Uid;
import org.sadigit.entity.referensi.Ulp;
import org.sadigit.entity.referensi.Up3;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
@Entity
@Getter
@Setter
@Immutable
@Table(name = "appuser", schema = "apkt_transactional")
public class AppUser extends PanacheEntityBase {
@Id
@Column(name = "userid", nullable = false)
private BigInteger userId;
@Column(name = "username", length = 200)
private String username;
@Column(name = "employeename", length = 200)
private String employeeName;
@Column(name = "nip", length = 200)
private String nip;
@Column(name = "password", length = 200)
private String password;
@Column(name = "address", length = 4000)
private String address;
@Column(name = "phone", length = 20)
private String phone;
@Column(name = "mobile", length = 20)
private String mobile;
@Column(name = "email", length = 200)
private String email;
@ManyToOne(optional = false, fetch = FetchType.EAGER)
@JoinColumn(name = "positionid", referencedColumnName = "id")
private Position position;
@Column(name = "unitid")
private Long unitId;
@Column(name = "isactive", length = 255)
private String isActive;
@Column(name = "islogin", length = 255)
private String isLogin;
@Column(name = "passwordchangedate")
private Timestamp passwordChangeDate;
@Column(name = "createdate")
private Timestamp createDate;
@Column(name = "createby")
private Long createBy;
@Column(name = "updatedate")
private Timestamp updateDate;
@Column(name = "updateby")
private Long updateBy;
@Column(name = "pukid")
private Long pukId;
@Column(name = "pukanswer", length = 200)
private String pukAnswer;
@Column(name = "defaulttab")
private Long defaultTab;
@Column(name = "no_imei", length = 50)
private String noImei;
@Column(name = "domain", length = 50)
private String domain;
@Column(name = "picture")
private String picture;
@ManyToOne(optional = true, fetch = FetchType.EAGER)
@JoinColumn(name = "unitId", referencedColumnName = "id", insertable = false, updatable = false, nullable = true)
private Ulp ulp;
@ManyToOne(optional = true, fetch = FetchType.EAGER)
@JoinColumn(name = "unitId", referencedColumnName = "id", insertable = false, updatable = false, nullable = true)
private Regional regional;
@ManyToOne(optional = true, fetch = FetchType.EAGER)
@JoinColumn(name = "unitId", referencedColumnName = "id", insertable = false, updatable = false, nullable = true)
private Uid uid;
@ManyToOne(optional = true, fetch = FetchType.EAGER)
@JoinColumn(name = "unitId", referencedColumnName = "id", insertable = false, updatable = false, nullable = true)
private Up3 up3;
@ManyToOne(optional = true, fetch = FetchType.EAGER)
@JoinColumn(name = "unitId", referencedColumnName = "id", insertable = false, updatable = false, nullable = true)
private Posko posko;
}

View File

@ -0,0 +1,43 @@
package org.sadigit.entity;
import lombok.Getter;
import lombok.Setter;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Getter
@Setter
@Immutable
@Table(name = "position", schema = "apkt_transactional")
public class Position extends PanacheEntityBase {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "kode")
private String kode;
@Column(name = "nama")
private String nama;
@Column(name = "is_active")
private Boolean is_active;
@Column(name = "created_date")
private Timestamp created_date;
@Column(name = "created_by")
private Long created_by;
}

View File

@ -0,0 +1,39 @@
package org.sadigit.entity;
import java.time.LocalDate;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "session", schema = "apkt_transactional")
@Immutable
public class SessionUser extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_regu", nullable = false)
private Long id_regu;
@Column(name = "waktu_login", nullable = false)
private LocalDate waktu_login;
@Column(name = "waktu_logout")
private LocalDate waktu_logout;
@Column(name = "aktif", nullable = false)
private Boolean aktif;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
}

View File

@ -0,0 +1,34 @@
package org.sadigit.entity.masterYantek;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Polygon;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "area_yantek", schema = "apkt_transactional")
@Immutable
public class AreaYantek extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "id_ulp")
private Long idUlp;
@Column(name = "geom_area")
private Polygon geomArea;
@Column(name = "rowid", nullable = false, updatable = false, insertable = false)
private Long rowId;
@Column(name = "color")
private String color;
}

View File

@ -0,0 +1,59 @@
package org.sadigit.entity.masterYantek;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Setter
@Getter
@Table(name = "regu_koordinat", schema = "apkt_transactional")
public class ReguKoordinat extends PanacheEntityBase {
@Id
@Column(name = "reguid", nullable = false)
private Long reguid;
@Column(name = "date_time")
private LocalDateTime date_time;
@Column(name = "user_id")
private Long user_id;
@Column(name = "unit_id")
private Long unit_id;
@Column(name = "user_name", length = 50)
private String user_name;
@Column(name = "regutype", length = 25)
private String regutype;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "geom_point", columnDefinition = "geometry(Point,4326)")
private Geometry geom_point;
@Column(name = "login_status", length = 10)
private String login_status;
@Column(name = "login_date")
private LocalDateTime login_date;
@Column(name = "jml_wo")
private Long jml_wo;
@Column(name = "lastupdate_wo")
private LocalDateTime lastupdate_wo;
@Column(name = "penugasan_khusus_laststatus", length = 50)
private String penugasan_khusus_laststatus;
}

View File

@ -0,0 +1,53 @@
package org.sadigit.entity.masterYantek;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import org.sadigit.entity.transaksi.MasterRegu;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "shift", schema = "apkt_transactional")
@Immutable
public class Shift extends PanacheEntityBase {
@Id
@Column(name = "id", nullable = false)
private Long id;
@ManyToOne
@JoinColumn(name = "id_regu", nullable = false)
private MasterRegu masterRegu;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "waktu_mulai", nullable = false)
private LocalDateTime waktu_mulai;
@Column(name = "waktu_selesai", nullable = false)
private LocalDateTime waktu_selesai;
@Column(name = "aktif", nullable = false)
private Boolean aktif;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
}

View File

@ -0,0 +1,41 @@
package org.sadigit.entity.masterYantek;
import java.time.LocalDateTime;
import org.sadigit.entity.AppUser;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
public class ShiftPetugas extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "userid", nullable = false)
private Long userId;
@Column(name = "username", nullable = false)
private String username;
@ManyToOne
@JoinColumn(name = "id_shift", nullable = false)
private Shift shift;
@ManyToOne
@JoinColumn(name = "id_petugas", referencedColumnName = "user_id", nullable = false)
private AppUser petugas;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,91 @@
package org.sadigit.entity.masterYantek;
import java.time.LocalDate;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "unit", schema = "apkt_transactional")
@Immutable
public class Unit extends PanacheEntityBase {
@Id
@Column(name = "unitid")
private Long unitid;
@Column(name = "unitcode", length = 10)
private String unitcode;
@Column(name = "unitname", length = 100)
private String unitname;
@Column(name = "unittypeid")
private Double unittypeid;
@Column(name = "unitparent")
private Double unitparent;
@Column(name = "address", length = 250)
private String address;
@Column(name = "city", length = 50)
private String city;
@Column(name = "zip", length = 5)
private String zip;
@Column(name = "phone", length = 20)
private String phone;
@Column(name = "mobile", length = 20)
private String mobile;
@Column(name = "fax", length = 20)
private String fax;
@Column(name = "email", length = 100)
private String email;
@Column(name = "ipaddress", length = 15)
private String ipaddress;
@Column(name = "createdate")
private LocalDate createdate;
@Column(name = "createby")
private Double createby;
@Column(name = "updatedate")
private LocalDate updatedate;
@Column(name = "updateby")
private Double update_by;
@Column(name = "isactive", length = 1)
private String isactive;
@Column(name = "coordinator")
private Double coordinator;
@Column(name = "supervisor")
private Double supervisor;
@Column(name = "assistantmanager")
private Double assistantmanager;
@Column(name = "assmanphone", length = 20)
private String assmanphone;
@Column(name = "vehiclecolor", length = 10)
private String vehiclecolor;
}

View File

@ -0,0 +1,38 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "cuaca", schema = "apkt_transactional")
@Immutable
public class Cuaca extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,39 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "dampak", schema = "apkt_transactional")
@Immutable
public class Dampak extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,40 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "equipment", schema = "apkt_transactional")
@Immutable
public class Equipment extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,46 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "fasilitas", schema = "apkt_transactional")
@Immutable
public class Fasilitas extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
@JoinColumn(name = "id_kelompok", referencedColumnName = "id", nullable = false)
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
private Kelompok Kelompok;
}

View File

@ -0,0 +1,41 @@
package org.sadigit.entity.referensi;
import java.time.LocalDate;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "grup_penyebab_gangguan", schema = "apkt_transactional")
@Immutable
public class GrupPenyebabGangguan extends PanacheEntityBase {
@Id
@Column(name = "id")
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,38 @@
package org.sadigit.entity.referensi;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import java.time.LocalDate;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "kota_kabupaten", schema = "apkt_transactional")
public class Kabupaten extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_provinsi")
private Long id_provinsi;
@Column(name = "nama")
private String nama;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,38 @@
package org.sadigit.entity.referensi;
import java.time.LocalDate;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "kecamatan", schema = "apkt_transactional")
public class Kecamatan extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_kota_kabupaten")
private Long id_kota_kabupaten;
@Column(name = "nama")
private String nama;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,46 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "kelompok", schema = "apkt_transactional")
@Immutable
public class Kelompok extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
@JoinColumn(name = "id_kelompok", referencedColumnName = "id", nullable = false)
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
private KelompokUtama kelompokUtama;
}

View File

@ -0,0 +1,41 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "kelompok_utama", schema = "apkt_transactional")
@Immutable
public class KelompokUtama extends PanacheEntityBase {
@Id
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,40 @@
package org.sadigit.entity.referensi;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import java.time.LocalDate;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "kelurahan", schema = "apkt_transactional")
public class Kelurahan extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_kecamatan")
private Long id_kecamatan;
@Column(name = "nama")
private String nama;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,58 @@
package org.sadigit.entity.referensi;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Setter
@Getter
@Table(name = "master_kelurahan", schema = "apkt_transactional")
@Immutable
public class MasterKelurahan extends PanacheEntityBase implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_kelurahan", nullable = false)
private Long id_kelurahan;
@Column(name = "nama_kelurahan", nullable = false)
private String nama_kelurahan;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
@Column(name = "id_kecamatan")
private Long id_kecamatan;
@Column(name = "nama_kecamatan")
private String nama_kecamatan;
@Column(name = "id_kota")
private Long id_kota;
@Column(name = "nama_kota")
private String nama_kota;
@Column(name = "id_provinsi")
private Long id_provinsi;
@Column(name = "nama_provinsi")
private String nama_provinsi;
}

View File

@ -0,0 +1,52 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "material", schema = "apkt_transactional")
public class Material extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
@Column(name = "stok")
private Long stok;
@Column(name = "stok_os")
private Long stok_os;
@Column(name = "satuan")
private String satuan;
@Column(name = "merk")
private String merk;
@Column(name = "tahun_manufaktur")
private String tahun_manufaktur;
@ManyToOne
@JoinColumn(name = "id_posko", referencedColumnName = "id")
private Posko posko;
}

View File

@ -0,0 +1,26 @@
package org.sadigit.entity.referensi;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "media", schema = "apkt_transactional")
@Immutable
public class Media extends PanacheEntityBase {
@Id
@Column(name = "kode", nullable = false)
private Long kode;
@Column(name = "keterangan", length = 100)
private String keterangan;
}

View File

@ -0,0 +1,39 @@
package org.sadigit.entity.referensi;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_merk_meter", schema = "apkt_transactional")
public class MerkMeter extends PanacheEntityBase {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "merk_meter", length = 50)
private String merk_meter;
@Column(name = "keterangan", length = 500)
private String keterangan;
@Column(name = "flag", length = 1)
private Character flag;
@Column(name = "tipe_meter", length = 50)
private String tipe_meter;
@Column(name = "no_pabrik")
private Long no_pabrik;
}

View File

@ -0,0 +1,35 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "penyebab_gangguan", schema = "apkt_transactional")
public class PenyebabGangguan extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,73 @@
package org.sadigit.entity.referensi;
import lombok.Getter;
import lombok.Setter;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.persistence.*;
@Entity
@Getter
@Setter
@Immutable
@Table(name = "master_posko", schema = "apkt_transactional")
@RegisterForReflection
public class Posko extends PanacheEntity {
@Column(name = "id")
private Long id;
@JoinColumn(name = "id_ulp", referencedColumnName = "id", nullable = false)
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
private Ulp ulp;
@Column(name = "nama")
private String nama;
@Column(name = "created_date")
private Timestamp createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@Column(name = "kode")
private String kode;
@Column(name = "alamat")
private String alamat;
@Column(name = "city")
private String city;
@Column(name = "zip")
private String zip;
@Column(name = "telepon")
private String telepon;
@Column(name = "mobile")
private String mobile;
@Column(name = "fax")
private String fax;
@Column(name = "email")
private String email;
@Column(name = "ipaddress")
private String ipAddress;
@Column(name = "aktif", nullable = true)
private Boolean aktif;
}

View File

@ -0,0 +1,35 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "prioritas", schema = "apkt_transactional")
public class Prioritas extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,37 @@
package org.sadigit.entity.referensi;
import java.time.LocalDate;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "provinsi", schema = "apkt_transactional")
public class Provinsi extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "nama_provinsi")
private String nama_provinsi;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
// Constructors, getters, setters, etc.
}

View File

@ -0,0 +1,42 @@
package org.sadigit.entity.referensi;
import lombok.Getter;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
@Entity
@Getter
@Immutable
@Table(name = "master_pulau", schema = "apkt_transactional")
public class Pulau extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date", nullable = false)
private LocalDateTime createdDate;
@Column(name = "created_by", nullable = false)
private Long createdBy;
@Column(name = "updated_date")
private LocalDateTime updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "aktif", nullable = false)
private Boolean aktif;
}

View File

@ -0,0 +1,36 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "trm_ratingpln", schema = "apkt_transactional")
public class RatingPln extends PanacheEntityBase {
@Id
@Column(name = "no_laporan", length = 20, nullable = false)
public String noLaporan;
@Column(name = "nilai", length = 5)
public String nilai;
@Column(name = "status_nilai")
public Long statusNilai;
@Column(name = "createdate")
public LocalDateTime createDate;
@Column(name = "updatedate")
public LocalDateTime updateDate;
@Column(name = "keterangan", length = 500)
public String keterangan;
}

View File

@ -0,0 +1,38 @@
package org.sadigit.entity.referensi;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
@Entity
@Getter
@Setter
@Immutable
@Table(name = "master_regional", schema = "apkt_transactional")
public class Regional extends PanacheEntity {
private Long id;
@Column(name = "nama")
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,42 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "sub_fasilitas", schema = "apkt_transactional")
public class SubFasilitas extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
@JoinColumn(name = "id_fasilitas", referencedColumnName = "id", nullable = false)
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
private Fasilitas fasilitas;
}

View File

@ -0,0 +1,39 @@
package org.sadigit.entity.referensi;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "subissuetype", schema = "apkt_transactional")
public class SubTipeKeluhan extends PanacheEntityBase {
@Id
@Column(name = "subissuetypeid", nullable = false)
private Long subissuetypeid;
@JoinColumn(name = "issuetypeid", referencedColumnName = "issuetypeid", insertable = false, updatable = false)
@ManyToOne(optional = false, fetch = FetchType.EAGER)
private TipeKeluhan tipeKeluhan;
@Column(name = "subissuetypename", length = 200)
private String subissuetypename;
@Column(name = "projectid")
private Long projectid;
@Column(name = "isactive", length = 1)
private String isactive;
@Column(name = "description", length = 4000)
private String description;
}

View File

@ -0,0 +1,39 @@
package org.sadigit.entity.referensi;
import java.time.LocalDate;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Immutable
@Table(name = "sub_tipe_permasalahan", schema = "apkt_transactional")
public class SubTipePermasalahan extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,36 @@
package org.sadigit.entity.referensi;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "system_parameter", schema = "apkt_transactional")
public class SystemParameter extends PanacheEntityBase{
@Id
@Column(name = "id")
private Long id;
@Column(name = "nama")
private String nama;
@Column(name = "value")
private String value;
@Column(name = "unit")
private String unit;
@Column(name = "tipe")
private String tipe;
}

View File

@ -0,0 +1,22 @@
package org.sadigit.entity.referensi;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "tarif_daya", schema = "apkt_transactional")
public class TarifDaya extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "tarif", nullable = false)
private String tarif;
@Column(name = "daya", nullable = false)
private Long daya;
}

View File

@ -0,0 +1,35 @@
package org.sadigit.entity.referensi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "tindakan", schema = "apkt_transactional")
public class Tindakan extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,44 @@
package org.sadigit.entity.referensi;
import java.util.List;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "issuetype", schema = "apkt_transactional")
public class TipeKeluhan extends PanacheEntityBase {
@Id
@Column(name = "issuetypeid", nullable = false)
private Long issuetypeid;
@Column(name = "issuetypecode", length = 10)
private String issuetypecode;
@Column(name = "issuetypename", length = 200)
private String issuetypename;
@Column(name = "projectid")
private Long projectid;
@Column(name = "isactive", length = 1)
private String isactive;
@Column(name = "description", length = 4000)
private String description;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "issuetypeid")
private List<SubTipeKeluhan> subTipeKeluhan;
}

View File

@ -0,0 +1,48 @@
package org.sadigit.entity.referensi;
import java.time.LocalDate;
import java.util.List;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Immutable
@Table(name = "tipe_permasalahan", schema = "apkt_transactional")
public class TipePermasalahan extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "id_tipe_permasalahan")
private List<SubTipePermasalahan> subTipePermasalahan;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,107 @@
package org.sadigit.entity.referensi;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.Instant;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
@Entity
@Getter
@Setter
@Immutable
@Table(name = "master_uid", schema = "apkt_transactional")
public class Uid extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "kode", nullable = false)
private String kode;
// @Column(name = "location")
// private String location;
@Column(name = "created_date", nullable = false)
private Instant createdDate;
@Column(name = "created_by", nullable = false)
private Long createdBy;
@Column(name = "updated_date")
private Instant updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@Column(name = "alamat")
private String alamat;
@Column(name = "telepon")
private String telepon;
@Column(name = "aktif", nullable = false)
private Boolean aktif;
@Column(name = "unittypeid")
private BigDecimal unittypeid;
@Column(name = "unitparent")
private BigDecimal unitparent;
@Column(name = "city", length = 50)
private String city;
@Column(name = "zip", length = 5)
private String zip;
@Column(name = "mobile", length = 20)
private String mobile;
@Column(name = "fax", length = 20)
private String fax;
@Column(name = "email", length = 100)
private String email;
@Column(name = "ipaddress", length = 15)
private String ipaddress;
@Column(name = "coordinator")
private BigDecimal coordinator;
@Column(name = "supervisor")
private BigDecimal supervisor;
@Column(name = "assistantmanager")
private BigDecimal assistantmanager;
@Column(name = "assmanphone", length = 20)
private String assmanphone;
@Column(name = "vehiclecolor", length = 10)
private String vehiclecolor;
@Column(name = "id_pulau")
private Long idPulau;
// @Column(name = "geom_point")
// private String geomPoint;
@ManyToOne(fetch = FetchType.EAGER, optional = true, cascade = CascadeType.ALL)
@JoinColumn(name = "id_regional", nullable = true)
private Regional regional;
}

View File

@ -0,0 +1,75 @@
package org.sadigit.entity.referensi;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import lombok.Getter;
import lombok.Setter;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
@Entity
@Getter
@Setter
@Immutable
@Table(name = "master_ulp", schema = "apkt_transactional")
public class Ulp extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_up3")
private Long idUp3;
@Column(name = "nama")
private String nama;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "alamat")
private String alamat;
@Column(name = "created_date")
private Timestamp created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private Timestamp updated_date;
@Column(name = "updated_by")
private Long updated_by;
@Column(name = "telepon")
private String telepon;
@Column(name = "aktif", nullable = true)
private Boolean aktif;
@Column(name = "city")
private String city;
@Column(name = "zip")
private String zip;
@Column(name = "mobile")
private String mobile;
@Column(name = "fax")
private String fax;
@Column(name = "email")
private String email;
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "id_up3", referencedColumnName = "id", insertable = false, updatable = false, nullable = true)
private Up3 up3;
}

View File

@ -0,0 +1,83 @@
package org.sadigit.entity.referensi;
import lombok.Getter;
import lombok.Setter;
import java.time.Instant;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
@Entity
@Getter
@Setter
@Immutable
@Table(name = "master_up3", schema = "apkt_transactional")
public class Up3 extends PanacheEntityBase {
@Id
@Column(name = "id")
public Long id;
@Column(name = "id_uid", nullable = false)
public Long idUid;
@Column(name = "nama", nullable = false)
public String nama;
@Column(name = "kode", nullable = false)
public String kode;
@Column(name = "alamat", nullable = false)
public String alamat;
@Column(name = "location")
public String location;
@Column(name = "created_date", nullable = false)
public Instant createdDate;
@Column(name = "created_by", nullable = false)
public Long createdBy;
@Column(name = "updated_date")
public Instant updatedDate;
@Column(name = "updated_by")
public Long updatedBy;
@Column(name = "telepon", nullable = false)
public String telepon;
@Column(name = "aktif", nullable = false)
public Boolean aktif;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "geom_point", columnDefinition = "geometry(Point,4326)")
private Geometry geomPoint;
@Column(name = "city")
public String city;
@Column(name = "zip")
public String zip;
@Column(name = "fax")
public String fax;
@Column(name = "email")
public String email;
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "id_uid", referencedColumnName = "id", insertable = false, updatable = false)
public Uid uid;
}

View File

@ -0,0 +1,58 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_feeder", schema = "apkt_transactional")
@Immutable
public class MasterFeeder extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_gardu_induk", nullable = false)
private Long idGarduInduk;
@Column(name = "rayon", nullable = false)
private String rayon;
@Column(name = "no_urut", nullable = false)
private String noUrut;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "no_tiang", nullable = false)
private String noTiang;
@Column(name = "file_sld", nullable = false)
private String fileSld;
@Column(name = "panjang_kms", nullable = false)
private String panjangKms;
@Column(name = "created_date", nullable = false)
private Timestamp createdDate;
@Column(name = "created_by", nullable = false)
private Long createdBy;
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
}

View File

@ -0,0 +1,95 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_gardu_distribusi", schema = "apkt_transactional")
@Immutable
public class MasterGarduDistribusi extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_feeder", nullable = false)
private Long idFeeder;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "nomor", nullable = false)
private String nomor;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "alamat", nullable = false)
private String alamat;
@Column(name = "area_layanan", nullable = false)
private String areaLayanan;
@Column(name = "phasa", nullable = false)
private String phasa;
@Column(name = "jumlah_jurusan", nullable = false)
private String jumlahJurusan;
@Column(name = "jumlah_daya", nullable = false)
private String jumlahDaya;
@Column(name = "jumlah_pelanggan", nullable = false)
private String jumlahPelanggan;
@Column(name = "created_date")
private Timestamp createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "point", columnDefinition = "geometry(Point,4326)")
private Geometry point;
@Column(name = "status")
private String status;
@Column(name = "no_tiang")
private String noTiang;
@Column(name = "jenis")
private String jenis;
@Column(name = "konstruksi")
private String konstruksi;
@Column(name = "telepon")
private String telepon;
@Column(name = "kapasitas")
private Long kapasitas;
@Column(name = "sisipan")
private Boolean sisipan;
@Column(name = "deskripsi")
private String deskripsi;
}

View File

@ -0,0 +1,73 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.sql.Timestamp;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.Immutable;
import org.hibernate.annotations.UpdateTimestamp;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import org.sadigit.entity.referensi.Up3;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_gardu_induk", schema = "apkt_transactional")
@Immutable
public class MasterGarduInduk extends PanacheEntityBase {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "id_up3", referencedColumnName = "id")
private Up3 up3;
private String kode;
private String area;
private String nama;
private String alamat;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "lokasi", columnDefinition = "geometry(Point,4326)")
private Geometry lokasi;
@CreationTimestamp
@Column(name = "created_date")
private Timestamp created_date;
@Column(name = "created_by")
private Long created_by;
@UpdateTimestamp
@Column(name = "updated_date")
private Timestamp updated_date;
@Column(name = "updated_by")
private Long updated_by;
@Column(name = "status")
private String status;
}

View File

@ -0,0 +1,54 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_gardu_induk_transaksi", schema = "apkt_transactional")
public class MasterGarduIndukTransaksi extends PanacheEntityBase {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_master_gardu_induk", referencedColumnName = "id")
private MasterGarduInduk garduInduk;
@Column(name = "status")
private String status;
@Column(name = "no_laporan")
private String no_laporan;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "waktu_catat")
private LocalDateTime waktu_catat;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "is_read")
private Boolean is_read;
}

View File

@ -0,0 +1,280 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.time.LocalDate;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.persistence.Transient;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "ss_jaringan", schema = "apkt_transactional")
@Immutable
public class MasterJaringan extends PanacheEntityBase {
@Id
@Column(name = "kode_asset", length = 100, nullable = false)
public String kodeAsset;
@Column(name = "parent_asset", length = 100)
public String parentAsset;
@Column(name = "jenis_asset", length = 50)
public String jenisAsset;
@Column(name = "levelid")
public Long levelId;
@Column(name = "nama", length = 100)
public String nama;
@Column(name = "alamat", length = 200)
public String alamat;
@Column(name = "longitude", length = 50)
public String longitude;
@Column(name = "latitude", length = 50)
public String latitude;
@Column(name = "kva")
public Long kva;
@Column(name = "jml_plgn")
public Long jmlPlgn;
@Column(name = "asumsi")
public Long asumsi;
@Column(name = "status_nyala")
public Long statusNyala;
@Column(name = "phase")
public Long phase;
@Column(name = "beban_s", precision = 22, scale = 2)
public Long bebanS;
@Column(name = "beban_r", precision = 22, scale = 2)
public Long bebanR;
@Column(name = "beban_t", precision = 22, scale = 2)
public Long bebanT;
@Column(name = "beban_srt", precision = 22, scale = 2)
public Long bebanSrt;
@Column(name = "beban_x1", precision = 22, scale = 2)
public Long bebanX1;
@Column(name = "beban_x2", precision = 22, scale = 2)
public Long bebanX2;
@Column(name = "jurusan_beban", length = 5)
public String jurusanBeban;
@Column(name = "jenis_komponen", length = 50)
public String jenisKomponen;
@Column(name = "keterangan", length = 200)
public String keterangan;
@Column(name = "distribusi", length = 6)
public String distribusi;
@Column(name = "area", length = 6)
public String area;
@Column(name = "unit", length = 6)
public String unit;
@Column(name = "createdate")
public LocalDate createDate;
@Column(name = "createby", length = 50)
public String createBy;
@Column(name = "updatedate")
public LocalDate updateDate;
@Column(name = "updateby", length = 50)
public String updateBy;
@Column(name = "kode_gi", length = 10)
public String kodeGi;
@Column(name = "no_tiang", length = 400)
public String noTiang;
@Column(name = "kode_feeder", length = 400)
public String kodeFeeder;
@Column(name = "type_asset")
public Long typeAsset;
@Column(name = "kode_zone", length = 400)
public String kodeZone;
@Column(name = "kode_section", length = 400)
public String kodeSection;
@Column(name = "kode_segment", length = 400)
public String kodeSegment;
@Column(name = "kode_lateral", length = 400)
public String kodeLateral;
@Column(name = "no_cabang_section", length = 400)
public String noCabangSection;
@Column(name = "no_cabang_segment", length = 400)
public String noCabangSegment;
@Column(name = "kode_trafo", length = 400)
public String kodeTrafo;
@Column(name = "kode_gd", length = 400)
public String kodeGd;
@Column(name = "jenis_trafo", length = 6)
public String jenisTrafo;
@Column(name = "jenis_pemakaian", length = 50)
public String jenisPemakaian;
@Column(name = "coverage", length = 400)
public String coverage;
@Column(name = "jml_jurusan")
public Long jmlJurusan;
@Column(name = "merk", length = 200)
public String merk;
@Column(name = "no_seri", length = 400)
public String noSeri;
@Column(name = "thn_buat", length = 4)
public String thnBuat;
@Column(name = "thn_pasang", length = 4)
public String thnPasang;
@Column(name = "no_urut", length = 400)
public String noUrut;
@Column(name = "start_switch", length = 400)
public String startSwitch;
@Column(name = "finish_switch1", length = 400)
public String finishSwitch1;
@Column(name = "finish_switch2", length = 400)
public String finishSwitch2;
@Column(name = "finish_switch3", length = 400)
public String finishSwitch3;
@Column(name = "finish_switch4", length = 400)
public String finishSwitch4;
@Column(name = "type_parent")
public Long typeParent;
@Column(name = "kode_jaringan", length = 400)
public String kodeJaringan;
@Column(name = "kode_cabsection", length = 200)
public String kodeCabSection;
@Column(name = "kode_cabsegment", length = 200)
public String kodeCabSegment;
@Column(name = "kode_subsegment", length = 200)
public String kodeSubSegment;
@Column(name = "kode_subsubsegment", length = 200)
public String kodeSubSubSegment;
@Column(name = "kode_sublateral", length = 200)
public String kodeSubLateral;
@Column(name = "kode_subsublateral", length = 200)
public String kodeSubSubLateral;
@Column(name = "jml_trafo")
public Long jmlTrafo;
@Column(name = "fuse")
public Long fuse;
@Column(name = "kode_jurusan", length = 200)
public String kodeJurusan;
@Column(name = "aktif")
public Long aktif;
@Column(name = "subtypeasset")
public Long subTypeAsset;
@Column(name = "finish_switch5", length = 45)
public String finishSwitch5;
@Column(name = "finish_switch6", length = 45)
public String finishSwitch6;
@Column(name = "finish_switch7", length = 45)
public String finishSwitch7;
@Column(name = "finish_switch8", length = 45)
public String finishSwitch8;
@Column(name = "finish_switch9", length = 45)
public String finishSwitch9;
@Column(name = "finish_switch10", length = 45)
public String finishSwitch10;
@Column(name = "finish_switch11", length = 45)
public String finishSwitch11;
@Column(name = "finish_switch12", length = 45)
public String finishSwitch12;
@Column(name = "finish_switch13", length = 45)
public String finishSwitch13;
@Column(name = "finish_switch14", length = 45)
public String finishSwitch14;
@Column(name = "finish_switch15", length = 45)
public String finishSwitch15;
@Column(name = "finish_switch16", length = 45)
public String finishSwitch16;
@Column(name = "unit2", length = 5)
public String unit2;
@Column(name = "jml_plgn2")
public Long jmlPlgn2;
@Column(name = "express", length = 10)
public String express;
@Transient
@Column(name = "rowid", nullable = false)
public Long rowId;
@Column(name = "geom_point", columnDefinition = "GEOMETRY(POINT,4326)")
public String geomPoint;
@Column(name = "id_up3")
public Long idUp3;
}

View File

@ -0,0 +1,60 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_lateral", schema = "apkt_transactional")
@Immutable
public class MasterLateral extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@ManyToOne
@JoinColumn(name = "id_segment", nullable = false)
private MasterSegment masterSegment;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "rayon", nullable = false)
private String rayon;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "alamat", nullable = false)
private String alamat;
@Column(name = "created_date")
private LocalDateTime createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private LocalDateTime updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "point", columnDefinition = "geometry(Point,4326)")
private Geometry point;
}

View File

@ -0,0 +1,61 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_section", schema = "apkt_transactional")
@Immutable
public class MasterSection extends PanacheEntity{
private Long id;
@Column(name = "id_zona", nullable = false)
private Long idZona;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "no_tiang", nullable = false)
private String noTiang;
@Column(name = "no_urut", nullable = false)
private String noUrut;
@Column(name = "rayon", nullable = false)
private String rayon;
@Column(name = "switch_awal", nullable = false)
private String switchAwal;
@Column(name = "switch_akhir", nullable = false)
private String switchAkhir;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "alamat", nullable = false)
private String alamat;
@Column(name = "created_date")
private Timestamp createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
}

View File

@ -0,0 +1,53 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_segment", schema = "apkt_transactional")
@Immutable
public class MasterSegment extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_section", nullable = false)
private Long idSection;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "no_urut", nullable = false)
private String noUrut;
@Column(name = "rayon", nullable = false)
private String rayon;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "alamat", nullable = false)
private String alamat;
@Column(name = "created_date")
private Timestamp createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
}

View File

@ -0,0 +1,53 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_sub_lateral", schema = "apkt_transactional")
@Immutable
public class MasterSubLateral extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "id_gardu_distribusi", nullable = false)
private Long idGarduDistribusi;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "no_tiang", nullable = false)
private String noTiang;
@Column(name = "rayon", nullable = false)
private String rayon;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "alamat", nullable = false)
private String alamat;
@Column(name = "created_date")
private Timestamp createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
}

View File

@ -0,0 +1,52 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import org.sadigit.entity.referensi.Ulp;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_switch", schema = "apkt_transactional")
@Immutable
public class MasterSwitch extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@ManyToOne
@JoinColumn(name = "id_ulp", nullable = false)
private Ulp ulp;
@Column(name = "tipe", nullable = false)
private String tipe;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updatedDate;
@Column(name = "updated_by")
private Long updated_by;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "point", columnDefinition = "geometry(Point,4326)")
private Geometry point;
}

View File

@ -0,0 +1,58 @@
package org.sadigit.entity.saidisaifi.masterJaringan;
import java.sql.Timestamp;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_zona", schema = "apkt_transactional")
@Immutable
public class MasterZona extends PanacheEntity {
@Column(name = "id")
private Long id;
@JoinColumn(name = "id_feeder", referencedColumnName = "id", nullable = false)
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
private MasterFeeder masterFeeder;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "no_tiang", nullable = false)
private String noTiang;
@Column(name = "rayon", nullable = false)
private String rayon;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "alamat", nullable = false)
private String alamat;
@Column(name = "created_date")
private Timestamp createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
}

View File

@ -0,0 +1,261 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import java.util.List;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import org.sadigit.entity.referensi.Cuaca;
import org.sadigit.entity.referensi.Dampak;
import org.sadigit.entity.referensi.Equipment;
import org.sadigit.entity.referensi.Fasilitas;
import org.sadigit.entity.referensi.GrupPenyebabGangguan;
import org.sadigit.entity.referensi.Kelompok;
import org.sadigit.entity.referensi.KelompokUtama;
import org.sadigit.entity.referensi.PenyebabGangguan;
import org.sadigit.entity.referensi.Posko;
import org.sadigit.entity.referensi.Prioritas;
import org.sadigit.entity.referensi.SubFasilitas;
import org.sadigit.entity.referensi.SubTipePermasalahan;
import org.sadigit.entity.referensi.TarifDaya;
import org.sadigit.entity.referensi.Tindakan;
import org.sadigit.entity.referensi.TipePermasalahan;
import org.sadigit.entity.referensi.MasterKelurahan;
import org.sadigit.entity.referensi.MerkMeter;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "gangguan", schema = "apkt_transactional")
@Immutable
public class Gangguan extends PanacheEntityBase {
@Id
@SequenceGenerator(name = "gangguan_seq", sequenceName = "apkt_transactional.gangguan_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "gangguan_seq")
@Column(name = "id")
private Long id;
@Column(name = "id_pelanggan_no_meter")
private Long id_pelanggan_no_meter;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_posko", foreignKey = @ForeignKey(name = "posko_fk"))
private Posko master_posko;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_tipe_permasalahan", foreignKey = @ForeignKey(name = "id_tipe_permasalahan"))
private TipePermasalahan tipePermasalahan;
@Column(name = "alamat_pelanggan")
private String alamat_pelanggan;
@Column(name = "nama_pelapor")
private String nama_pelapor;
@Column(name = "telepon_pelapor")
private String telepon_pelapor;
@Column(name = "hp_pelapor")
private String hp_pelapor;
@Column(name = "fax_pelapor")
private String fax_pelapor;
@Column(name = "email_pelapor")
private String email_pelapor;
@Column(name = "alamat_pelapor")
private String alamat_pelapor;
@Column(name = "media")
private String media;
@Column(name = "waktu_padam")
private LocalDateTime waktu_padam;
@Column(name = "is_konfirmasi")
private Boolean konfirmasi;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "lokasi", columnDefinition = "geometry(Point,4326)")
private Geometry lokasi;
@Column(name = "no_laporan", unique = true)
private String no_laporan;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
@Column(name = "status_akhir")
private String status_akhir;
@Column(name = "tipe_wo")
private Long tipe_wo;
@Column(name = "unit")
private Long unit;
@Column(name = "eskalasi")
private Long eskalasi;
@Column(name = "permasalahan")
private String permasalahan;
@Column(name = "waktu_lapor")
private LocalDateTime waktu_lapor;
// @Column(name = "id_regu")
// private Long id_regu;
@Column(name = "waktu_penugasan")
private LocalDateTime waktu_penugasan;
@Column(name = "waktu_perjalanan")
private LocalDateTime waktu_perjalanan;
@Column(name = "waktu_pengerjaan")
private LocalDateTime waktu_pengerjaan;
@Column(name = "waktu_nyala_sementara")
private LocalDateTime waktu_nyala_sementara;
@Column(name = "waktu_nyala")
private LocalDateTime waktu_nyala;
@Column(name = "waktu_batal")
private LocalDateTime waktu_batal;
@Column(name = "waktu_selesai")
private LocalDateTime waktu_selesai;
@Column(name = "alasan")
private String alasan;
@Column(name = "patokan")
private String patokan;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_sub_tipe_permasalahan", foreignKey = @ForeignKey(name = "gangguan_fk"))
private SubTipePermasalahan sub_tipe_permasalahan;
@Column(name = "tipe_gangguan")
private Long tipe_gangguan;
@Column(name = "alasan_pembatalan")
private String alasan_pembatalan;
@Column(name = "jarak")
private Long jarak;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_kelompok", foreignKey = @ForeignKey(name = "kelompok"))
private Kelompok kelompok;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_sub_fasilitas", foreignKey = @ForeignKey(name = "sub_fasilitas_fk"))
private SubFasilitas sub_fasilitas;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_equipment", foreignKey = @ForeignKey(name = "equipment_fk"))
private Equipment equipment;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_prioritas", foreignKey = @ForeignKey(name = "prioritas"))
private Prioritas prioritas;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_penyebab", foreignKey = @ForeignKey(name = "penyebab"))
private PenyebabGangguan penyebab;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_regu", referencedColumnName = "id")
private MasterRegu regu;
@Column(name = "jumlah_pelanggan_termarking")
private Long jumlah_pelanggan_termarking;
@Column(name = "jumlah_lapor")
private Long jumlah_lapor;
@Column(name = "waktu_konfirmasi")
private LocalDateTime waktu_konfirmasi;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_fasilitas", foreignKey = @ForeignKey(name = "fasilitas"))
private Fasilitas fasilitas;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_kelompok_utama", foreignKey = @ForeignKey(name = "kelompok_utama"))
private KelompokUtama kelompok_utama;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_dampak", foreignKey = @ForeignKey(name = "dampak"))
private Dampak dampak;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_grup_penyebab_gangguan", foreignKey = @ForeignKey(name = "grup_penyebab_gangguan"))
private GrupPenyebabGangguan grup_penyebab_gangguan;
@OneToMany(mappedBy = "gangguan", cascade = CascadeType.ALL, orphanRemoval = true)
private List<GangguanTransaksi> gangguan_transaksi;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_kelurahan", referencedColumnName = "id_kelurahan", foreignKey = @ForeignKey(name = "kelurahan"))
private MasterKelurahan master_kelurahan;
// |id_tindakan|id_cuaca|fax|keterangan_lokasi|waktu_fax|nama_media|waktu_media|merk_meter
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_tindakan", referencedColumnName = "id", foreignKey = @ForeignKey(name = "tindakan"))
private Tindakan tindakan;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_cuaca", referencedColumnName = "id", foreignKey = @ForeignKey(name = "cuaca"))
private Cuaca cuaca;
@Column(name = "fax")
private String fax;
@Column(name = "keterangan_lokasi")
private String keterangan_lokasi;
@Column(name = "waktu_fax")
private LocalDateTime waktu_fax;
@Column(name = "nama_media")
private String nama_media;
@Column(name = "waktu_media")
private LocalDateTime waktu_media;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_merk_meter", referencedColumnName = "id", foreignKey = @ForeignKey(name = "merk_meter"))
private MerkMeter master_merk_meter;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_tarif_daya", referencedColumnName = "id", foreignKey = @ForeignKey(name = "tarif_daya"))
private TarifDaya tarifDaya;
@Column(name = "alasan_nyala_sementara")
private String alasan_nyala_sementara;
@Column(name = "penyebab_sementara")
private String penyebab_sementara;
private String tindakan_telah_dilakukan_nyala_sementara;
private String usulan_tindakan_selanjutnya;
private String tindakan_telah_dilakukan_nyala;
private String penyebab_nyala;
private Long jumlah_pelanggan_padam;
private String ctt;
}

View File

@ -0,0 +1,52 @@
package org.sadigit.entity.transaksi;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import org.sadigit.entity.referensi.Posko;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import java.time.LocalDate;
@Entity
@Setter
@Getter
@Table(name = "gangguan_alih_posko", schema = "apkt_transactional")
public class GangguanAlihPosko extends PanacheEntityBase{
@Id
@SequenceGenerator(name = "gangguan_alih_posko_seq", sequenceName = "apkt_transactional.gangguan_alih_posko_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "gangguan_alih_posko_seq")
@Column(name = "id")
private Long id;
@ManyToOne
@JoinColumn(name = "id_gangguan", nullable = false)
private Gangguan gangguan;
@ManyToOne
@JoinColumn(name = "id_posko_lama", nullable = false)
private Posko poskoLama;
@ManyToOne
@JoinColumn(name = "id_posko_baru", nullable = false)
private Posko poskoBaru;
@Column(name = "waktu_alih_posko", nullable = false)
private LocalDate waktu_alih_posko;
@Column(name = "created_date")
private LocalDate created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDate updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,40 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "gangguan_foto", schema = "apkt_transactional")
@Immutable
public class GangguanFoto extends PanacheEntity {
@Column(name = "id")
private Long id;
@ManyToOne
@JoinColumn(name = "id_gangguan", nullable = false)
private Gangguan gangguan;
@Column(name = "created_date")
private LocalDateTime createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private LocalDateTime updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@Column(nullable = false)
private String foto;
}

View File

@ -0,0 +1,88 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.SequenceGenerator;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "gangguan_kode_ctt", schema = "apkt_transactional")
public class GangguanKodeCTT extends PanacheEntityBase {
@Id
@SequenceGenerator(name = "gangguan_kode_ctt_seq", sequenceName = "apkt_transactional.gangguan_kode_ctt_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "gangguan_kode_ctt_seq")
@Column(name = "id", nullable = false)
private Long id;
@ManyToOne
@JoinColumn(name = "id_gangguan", nullable = false)
private Gangguan gangguan;
@Column(name = "kode_08")
private String kode_08;
@Column(name = "kode_08_hasil")
private Long kode_08_hasil;
@Column(name = "kode_70")
private String kode_70;
@Column(name = "kode_70_hasil")
private Long kode_70_hasil;
@Column(name = "kode_71")
private String kode_71;
@Column(name = "kode_71_hasil")
private Long kode_71_hasil;
@Column(name = "kode_41")
private String kode_41;
@Column(name = "kode_41_hasil")
private Long kode_41_hasil;
@Column(name = "kode_44")
private String kode_44;
@Column(name = "kode_44_hasil")
private Long kode_44_hasil;
@Column(name = "kode_45")
private String kode_45;
@Column(name = "kode_45_hasil")
private Long kode_45_hasil;
@Column(name = "kode_46")
private String kode_46;
@Column(name = "kode_46_hasil")
private Long kode_46_hasil;
@Column(name = "kode_37")
private String kode_37;
@Column(name = "kode_37_hasil")
private Long kode_37_hasil;
@Column(name = "kode_47")
private String kode_47;
@Column(name = "kode_47_hasil")
private Long kode_47_hasil;
@Column(name = "created_date")
private LocalDateTime created_date;
}

View File

@ -0,0 +1,69 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "gangguan_kompor", schema = "apkt_transactional")
@Immutable
public class GangguanKompor {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true)
private Long id;
@Column(name = "id_gangguan", nullable = false)
private Long id_gangguan;
@Column(name = "st_cabut")
private Long st_cabut;
@Column(name = "st_pasang")
private Long st_pasang;
@Column(name = "kwh_pakai")
private Long kwh_pakai;
@Column(name = "id_kompor")
private String id_kompor;
@Column(name = "kondisi_lcd")
private String kondisi_lcd;
@Column(name = "foto_lama")
private String foto_lama;
@Column(name = "foto_baru")
private String foto_baru;
@Column(name = "id_tipe_keluhan")
private Long id_tipe_keluhan;
@Column(name = "id_sub_tipe_keluhan")
private Long id_sub_tipe_keluhan;
@Column(name = "created_date")
private LocalDateTime createdDate;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,52 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "gangguan_lapor_ulang", schema = "apkt_transactional")
@NoArgsConstructor
@AllArgsConstructor
public class GangguanLaporUlang extends PanacheEntityBase{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@ManyToOne
@JoinColumn(name = "id_gangguan", nullable = false)
private Gangguan gangguan;
@Column(name = "no_laporan_referensi", nullable = false)
private String no_laporan_referensi;
@Column(name = "no_laporan_baru", nullable = false)
private String no_laporan_baru;
@Column(name = "laporan_ke", nullable = false)
private Long laporan_ke;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
// Getters and Setters
}

View File

@ -0,0 +1,54 @@
package org.sadigit.entity.transaksi;
import org.hibernate.annotations.Immutable;
import org.sadigit.entity.SessionUser;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
@Entity
@Setter
@Getter
@Table(name = "gangguan_tm_transaksi", schema = "apkt_transactional")
@Immutable
public class GangguanTMTransaksi extends PanacheEntityBase implements Serializable {
@Id
@SequenceGenerator(name = "gangguan_tm_transaksi_seq", sequenceName = "apkt_transactional.gangguan_tm_transaksi_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "gangguan_tm_transaksi_seq")
@Column(name = "id")
private Long id;
@ManyToOne
@JoinColumn(name = "id_gangguan_tm", nullable = false)
private GangguanTm gangguanTm;
@Column(name = "jenis", nullable = false)
private String jenis;
@Column(name = "waktu")
private LocalDateTime waktu;
@Column(name = "created_date", nullable = false)
private LocalDateTime created_date;
@Column(name = "created_by", nullable = false)
private Long created_by;
@Column(name = "notif_flag", nullable = true)
private Boolean notif_flag;
@Column(name = "waktu_read")
private LocalDateTime waktu_read;
@ManyToOne
@JoinColumn(name = "id_session")
private SessionUser session;
// Constructors, getters, setters, etc.
}

View File

@ -0,0 +1,91 @@
package org.sadigit.entity.transaksi;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.Immutable;
import org.hibernate.annotations.UpdateTimestamp;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "gangguan_tm", schema = "apkt_transactional")
@Immutable
public class GangguanTeganganMenengah extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "prioritas")
private String prioritas;
@Column(name = "id_ulp")
private Long idUlp;
@Column(name = "perkiraan_area_padam")
private String perkiraanAreaPadam;
@Column(name = "estimasi_padam")
private String estimasiPadam;
@Column(name = "titik_gangguan")
private String titikGangguan;
@Column(name = "no_tiang")
private String noTiang;
@Column(name = "nama_asset")
private String namaAsset;
@Column(name = "waktu_catat")
private LocalDateTime waktuCatat;
@Column(name = "waktu_gangguan")
private LocalDateTime waktuGangguan;
@Column(name = "waktu_nyala")
private LocalDateTime waktuNyala;
@Column(name = "status_akhir")
private String statusAkhir;
@Column(name = "jumlah_pelanggan")
private Long jumlahPelanggan;
@Column(name = "ampere")
private Long ampere;
@Column(name = "cuaca")
private String cuaca;
@Column(name = "no_gangguan_tm")
private String noGangguanTm;
@Column(name = "keterangan", length = 4000)
private String keterangan;
@CreationTimestamp
@Column(name = "created_date")
private Timestamp createdDate;
@Column(name = "created_by")
private Long createdBy;
@UpdateTimestamp
@Column(name = "updated_date")
private Timestamp updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@Column(name = "id_regu")
private Long idRegu;
@Column(name = "alasan")
private String alasan;
}

View File

@ -0,0 +1,168 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import org.sadigit.entity.referensi.Cuaca;
import org.sadigit.entity.referensi.Dampak;
import org.sadigit.entity.referensi.Equipment;
import org.sadigit.entity.referensi.Fasilitas;
import org.sadigit.entity.referensi.GrupPenyebabGangguan;
import org.sadigit.entity.referensi.Kelompok;
import org.sadigit.entity.referensi.KelompokUtama;
import org.sadigit.entity.referensi.PenyebabGangguan;
import org.sadigit.entity.referensi.SubFasilitas;
import org.sadigit.entity.referensi.SubTipePermasalahan;
import org.sadigit.entity.referensi.TipePermasalahan;
import org.sadigit.entity.referensi.Ulp;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "gangguan_tm", schema = "apkt_transactional")
@Immutable
public class GangguanTm extends PanacheEntity {
private Long id;
@Column(name = "prioritas")
private String prioritas;
@ManyToOne
@JoinColumn(name = "id_ulp")
private Ulp idUlp;
@Column(name = "perkiraan_area_padam")
private String perkiraanAreaPadam;
@Column(name = "estimasi_padam")
private String estimasiPadam;
@Column(name = "titik_gangguan")
private String titikGangguan;
@Column(name = "no_tiang")
private String noTiang;
@Column(name = "nama_asset")
private String namaAsset;
@Column(name = "status_akhir")
private String statusAkhir;
@Column(name = "jumlah_pelanggan")
private Long jumlahPelanggan;
@Column(name = "ampere")
private Long ampere;
@Column(name = "cuaca")
private String cuaca;
@Column(name = "no_gangguan_tm")
private String noGangguanTm;
@Column(name = "keterangan", length = 4000)
private String keterangan;
@Column(name = "created_date")
private LocalDateTime createdDate;
@Column(name = "created_by")
private Long createdBy;
@Column(name = "updated_date")
private LocalDateTime updatedDate;
@Column(name = "updated_by")
private Long updatedBy;
@ManyToOne
@JoinColumn(name = "id_regu")
private MasterRegu idRegu;
@Column(name = "alasan")
private String alasan;
@Column(name = "id_jaringan")
private Long idJaringan;
@Column(name = "waktu_lapor")
private LocalDateTime waktuLapor;
@Column(name = "waktu_rencana")
private LocalDateTime waktuRencana;
@Column(name = "waktu_pengerjaan")
private LocalDateTime waktuPengerjaan;
@Column(name = "waktu_nyala_bertahap")
private LocalDateTime waktuNyalaBertahap;
@Column(name = "waktu_nyala")
private LocalDateTime waktuNyala;
@Column(name = "waktu_revisi")
private LocalDateTime waktuRevisi;
@Column(name = "waktu_disetujui")
private LocalDateTime waktuDisetujui;
@Column(name = "waktu_selesai")
private LocalDateTime waktuSelesai;
@Column(name = "tipe_jaringan")
private String tipeJaringan;
@ManyToOne
@JoinColumn(name = "id_kelompok_utama")
private KelompokUtama idKelompokUtama;
@ManyToOne
@JoinColumn(name = "id_kelompok")
private Kelompok idKelompok;
@ManyToOne
@JoinColumn(name = "id_fasilitas")
private Fasilitas idFasilitas;
@ManyToOne
@JoinColumn(name = "id_sub_fasilitas")
private SubFasilitas idSubFasilitas;
@ManyToOne
@JoinColumn(name = "id_equipment")
private Equipment idEquipment;
@Column(name = "waktu_perjalanan")
private LocalDateTime waktuPerjalanan;
@ManyToOne
@JoinColumn(name = "id_tipe_permasalahan")
private TipePermasalahan idTipePermasalahan;
@ManyToOne
@JoinColumn(name = "id_sub_tipe_permasalahan")
private SubTipePermasalahan idSubTipePermasalahan;
@ManyToOne
@JoinColumn(name = "id_penyebab")
private PenyebabGangguan idPenyebab;
@ManyToOne
@JoinColumn(name = "id_grup_penyebab")
private GrupPenyebabGangguan idGrupPenyebab;
@ManyToOne
@JoinColumn(name = "id_dampak")
private Dampak idDampak;
@ManyToOne
@JoinColumn(name = "id_cuaca")
private Cuaca idCuaca;
}

View File

@ -0,0 +1,50 @@
package org.sadigit.entity.transaksi;
import org.hibernate.annotations.Immutable;
import org.sadigit.entity.SessionUser;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
@Entity
@Setter
@Getter
@Table(name = "gangguan_transaksi", schema = "apkt_transactional")
@Immutable
public class GangguanTransaksi extends PanacheEntityBase implements Serializable {
@Id
@SequenceGenerator(name = "gangguan_transaksi_seq", sequenceName = "apkt_transactional.gangguan_transaksi_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "gangguan_transaksi_seq")
@Column(name = "id")
private Long id;
@ManyToOne
@JoinColumn(name = "id_gangguan", nullable = false)
private Gangguan gangguan;
@Column(name = "jenis", nullable = false)
private String jenis;
@Column(name = "waktu")
private LocalDateTime waktu;
@Column(name = "created_date", nullable = false)
private LocalDateTime created_date;
@Column(name = "created_by", nullable = false)
private Long created_by;
@Column(name = "notif_flag", nullable = true)
private Boolean notif_flag;
@ManyToOne
@JoinColumn(name = "id_session")
private SessionUser session;
// Constructors, getters, setters, etc.
}

View File

@ -0,0 +1,62 @@
package org.sadigit.entity.transaksi;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.sql.Timestamp;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Setter
@Getter
@Table(name = "histruntask", schema = "apkt_transactional")
public class HistRunTask extends PanacheEntityBase implements Serializable {
@Id
@Column(name = "runtaskid", nullable = false)
private Long runTaskId;
@Column(name = "runworkflowid")
private Long runWorkflowId;
@Column(name = "workflowdetail")
private Long workflowDetail;
@Column(name = "runtaskfrom")
private Long runTaskFrom;
@Column(name = "isdone", length = 1)
private String isDone;
@Column(name = "createdate")
private Timestamp createDate;
@Column(name = "createby")
private Long createBy;
@Column(name = "updatedate")
private Timestamp updateDate;
@Column(name = "updateby")
private Long updateBy;
@Column(name = "STATUS", length = 50)
private String status;
@Column(name = "statustype", length = 50)
private String statusType;
@Column(name = "COMMENTS")
private String comments;
@Column(name = "filtergroup", length = 200)
private String filterGroup;
@Column(name = "ordernumber")
private Long orderNumber;
// Constructors, getters, and setters...
}

View File

@ -0,0 +1,36 @@
package org.sadigit.entity.transaksi;
import jakarta.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Table(name = "histrunworkflow", schema = "apkt_transactional")
public class HistRunWorkflow extends PanacheEntityBase implements Serializable {
@Id
@Column(name = "runworkflowid", nullable = false)
private Long runWorkflowId;
@Column(name = "workflowid")
private Long workflowId;
@Column(name = "requestby")
private Long requestBy;
@Column(name = "lastworkflowdetailid")
private Long lastWorkflowDetailId;
@Column(name = "laststatus", length = 50)
private String lastStatus;
@Column(name = "laststatustype", length = 50)
private String lastStatusType;
@Column(name = "createdate")
private Timestamp createDate;
// Constructors, getters, and setters...
}

View File

@ -0,0 +1,35 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "jenis_pekerjaan", schema = "apkt_transactional")
public class JenisPekerjaan extends PanacheEntity {
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,166 @@
package org.sadigit.entity.transaksi;
import java.io.Serializable;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import org.sadigit.entity.referensi.MasterKelurahan;
import org.sadigit.entity.referensi.Ulp;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "keluhan", schema = "apkt_transactional")
@Immutable
public class Keluhan extends PanacheEntityBase implements Serializable {
@Id
@SequenceGenerator(name = "keluhan_seq", sequenceName = "apkt_transactional.keluhan_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "keluhan_seq")
@Column(name = "id")
private Long id;
@Column(name = "id_pelanggan_no_meter")
private Long id_pelanggan_no_meter;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_ulp", foreignKey = @ForeignKey(name = "id_ulp"))
private Ulp ulp;
@Column(name = "id_tipe_permasalahan")
private Long id_tipe_permasalahan;
@Column(name = "alamat_pelanggan")
private String alamat_pelanggan;
@Column(name = "daya_tarif")
private String daya_tarif;
@Column(name = "nama_pelapor")
private String nama_pelapor;
@Column(name = "telepon_pelapor")
private String telepon_pelapor;
@Column(name = "hp_pelapor")
private String hp_pelapor;
@Column(name = "fax_pelapor")
private String fax_pelapor;
@Column(name = "email_pelapor")
private String email_pelapor;
@Column(name = "alamat_pelapor")
private String alamat_pelapor;
@Column(name = "media")
private String media;
@Column(name = "waktu_padam")
private String waktu_padam;
@Column(name = "konfirmasi")
private String konfirmasi;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "lokasi", columnDefinition = "geometry(Point,4326)")
private Geometry lokasi;
@Column(name = "no_laporan", unique = true)
private String no_laporan;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
@Column(name = "status_akhir")
private String status_akhir;
@Column(name = "tipe_wo")
private Long tipe_wo;
@Column(name = "unit")
private Long unit;
@Column(name = "eskalasi")
private Long eskalasi;
@Column(name = "permasalahan")
private String permasalahan;
@Column(name = "waktu_lapor")
private LocalDateTime waktu_lapor;
@Column(name = "waktu_penugasan")
private LocalDateTime waktu_penugasan;
@Column(name = "waktu_perjalanan")
private LocalDateTime waktu_perjalanan;
@Column(name = "waktu_pengerjaan")
private LocalDateTime waktu_pengerjaan;
@Column(name = "waktu_nyala_sementara")
private LocalDateTime waktu_nyala_sementara;
@Column(name = "waktu_nyala")
private LocalDateTime waktu_nyala;
@Column(name = "waktu_batal")
private LocalDateTime waktu_batal;
@Column(name = "waktu_selesai")
private LocalDateTime waktu_selesai;
@Column(name = "tipe_keluhan")
private Long tipe_keluhan;
@Column(name = "tipe_sub_keluhan")
private Long tipe_sub_keluhan;
@Column(name = "alasan")
private String alasan;
@Column(name = "patokan")
private String patokan;
@Column(name = "jarak")
private Long jarak;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_kelurahan", referencedColumnName = "id_kelurahan", foreignKey = @ForeignKey(name = "kelurahan"))
private MasterKelurahan kelurahan;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_regu", referencedColumnName = "id" )
private MasterRegu regu;
@Column(name = "fax")
private String fax;
@Column(name = "keterangan_lokasi")
private String keterangan_lokasi;
@Column(name = "waktu_fax")
private LocalDateTime waktu_fax;
@Column(name = "nama_media")
private String nama_media;
@Column(name = "waktu_media")
private LocalDateTime waktu_media;
}

View File

@ -0,0 +1,59 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "keluhan_lapor_ulang", schema = "apkt_transactional")
@NoArgsConstructor
@AllArgsConstructor
public class KeluhanLaporUlang extends PanacheEntityBase{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@ManyToOne
@JoinColumn(name = "id_keluhan", nullable = false)
private Keluhan keluhan;
@Column(name = "no_laporan_referensi", nullable = false)
private String no_laporan_referensi;
@Column(name = "no_laporan_baru", nullable = false)
private String no_laporan_baru;
@Column(name = "laporan_ke", nullable = false)
private Long laporan_ke;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
// Getters and Setters
}

View File

@ -0,0 +1,50 @@
package org.sadigit.entity.transaksi;
import org.hibernate.annotations.Immutable;
import org.sadigit.entity.SessionUser;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
@Entity
@Setter
@Getter
@Table(name = "keluhan_transaksi", schema = "apkt_transactional")
@Immutable
public class KeluhanTransaksi extends PanacheEntityBase {
@Id
@SequenceGenerator(name = "keluhan_transaksi_seq", sequenceName = "apkt_transactional.keluhan_transaksi_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "keluhan_transaksi_seq")
@Column(name = "id")
private Long id;
@ManyToOne
@JoinColumn(name = "id_keluhan", nullable = false)
private Keluhan keluhan;
@Column(name = "jenis", nullable = false)
private String jenis;
@Column(name = "waktu")
private LocalDateTime waktu;
@Column(name = "created_date", nullable = false)
private LocalDateTime created_date;
@Column(name = "created_by", nullable = false)
private Long created_by;
@ManyToOne
@JoinColumn(name = "id_session")
private SessionUser session;
@Column(name = "notif_flag", nullable = true)
private Boolean notif_flag;
// Constructors, getters, setters, etc.
}

View File

@ -0,0 +1,60 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import org.sadigit.entity.referensi.Posko;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "master_regu", schema = "apkt_transactional")
@Immutable
public class MasterRegu extends PanacheEntity {
@Column(name = "id")
private Long id;
@ManyToOne(fetch = FetchType.EAGER, optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "id_posko", referencedColumnName = "id")
private Posko posko;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "kode", nullable = false)
private String kode;
@Column(name = "alamat", nullable = false)
private String alamat;
@Column(name = "telepon", nullable = false)
private String telepon;
@Column(name = "aktif", nullable = false)
private boolean aktif;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "lokasi", columnDefinition = "geometry(Point,4326)")
private Geometry lokasi;
@Column(name = "created_date")
private LocalDateTime created_date;
@Column(name = "created_by")
private Long created_by;
@Column(name = "updated_date")
private LocalDateTime updated_date;
@Column(name = "updated_by")
private Long updated_by;
}

View File

@ -0,0 +1,63 @@
package org.sadigit.entity.transaksi;
import java.time.LocalDateTime;
import org.hibernate.annotations.Immutable;
import org.sadigit.entity.referensi.Material;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "material_transaksi", schema = "apkt_transactional")
@Immutable
public class MaterialTransaksi extends PanacheEntity {
private Long id;
@ManyToOne
@JoinColumn(name = "id_material", nullable = false)
private Material material;
private Long stok;
private Long stokOs;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private Tipe tipe;
private String noDokumen;
private LocalDateTime createdDate;
private Long createdBy;
private LocalDateTime updatedDate;
private Long updatedBy;
@ManyToOne
@JoinColumn(name = "id_gangguan")
private Gangguan gangguan;
private Long id_gangguan_tm;
public enum Tipe {
IN("in"),
OUT("out");
private String value;
Tipe(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return value;
}
}
}

View File

@ -0,0 +1,62 @@
package org.sadigit.entity.transaksi;
import java.sql.Timestamp;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.Immutable;
import org.hibernate.annotations.UpdateTimestamp;
import org.locationtech.jts.geom.Geometry;
import org.sadigit.adapter.GeometryAdapter;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.json.bind.annotation.JsonbTypeAdapter;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
@Table(name = "pelanggan_no_meter", schema = "apkt_transactional")
@Immutable
public class PelangganNoMeter extends PanacheEntity {
@Column(name = "id")
private Long id;
@Column(name = "nama", nullable = false)
private String nama;
@Column(name = "no_meter", nullable = false)
private String no_meter;
@Column(name = "alamat")
private String alamat;
@Column(name = "daya")
private String daya;
@JsonbTypeAdapter(GeometryAdapter.class)
@Column(name = "lokasi", columnDefinition = "geometry(Point,4326)")
private Geometry lokasi;
@CreationTimestamp
@Column(name = "created_date")
private Timestamp created_date;
@Column(name = "created_by")
private Long created_by;
@UpdateTimestamp
@Column(name = "updated_date")
private Timestamp updated_date;
@Column(name = "updated_by")
private Long updated_by;
@Column(name = "id_pelanggan")
private Long id_pelanggan;
@Column(name = "telepon")
private String telepon;
}

View File

@ -0,0 +1,103 @@
package org.sadigit.entity.transaksi;
import jakarta.persistence.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Table(name = "penugasan_khusus_belum_selesai", schema = "apkt_transactional")
public class PenugasanKhusus extends PanacheEntityBase {
@Id
@Column(name = "rowid", nullable = false)
private Long id;
@Column(name = "no_tugas", length = 20)
private String no_tugas;
@Column(name = "tglcatat")
private LocalDateTime tglcatat;
@Column(name = "nama_tugas", length = 50)
private String nama_tugas;
@Column(name = "keterangan", length = 100)
private String keterangan;
@Column(name = "reguid")
private BigDecimal reguid;
@Column(name = "nama_regu", length = 200)
private String nama_regu;
@Column(name = "flag_selesai")
private BigDecimal flag_selesai;
@Column(name = "tglflag_selesai")
private LocalDateTime tglflag_selesai;
@Column(name = "upi")
private BigDecimal upi;
@Column(name = "ap")
private BigDecimal ap;
@Column(name = "up")
private BigDecimal up;
@Column(name = "posko")
private BigDecimal posko;
@Column(name = "no_laporan", length = 20)
private String no_laporan;
@Column(name = "catatby")
private BigDecimal catatby;
@Column(name = "laststatus", length = 50)
private String laststatus;
@Column(name = "tglpenugasan")
private LocalDateTime tglpenugasan;
@Column(name = "penugasanby")
private BigDecimal penugasanby;
@Column(name = "tglperjalanan")
private LocalDateTime tglperjalanan;
@Column(name = "perjalananby")
private BigDecimal perjalananby;
@Column(name = "tglpengerjaan")
private LocalDateTime tglpengerjaan;
@Column(name = "pengerjaanby")
private BigDecimal pengerjaanby;
@Column(name = "tglnyala")
private LocalDateTime tglnyala;
@Column(name = "nyalaby")
private BigDecimal nyalaby;
@Column(name = "selesaiby")
private BigDecimal selesaiby;
@Column(name = "tglnyalasementara")
private LocalDateTime tglnyalasementara;
@Column(name = "nyalasementaraby")
private BigDecimal nyalasementaraby;
@Column(name = "keterangan_selesai")
private String keteranganSelesai;
@Column(name = "catatbyvcc")
private BigDecimal catatbyvcc;
@Column(name = "selesaibyvcc")
private BigDecimal selesaibyvcc;
}

View File

@ -0,0 +1,61 @@
package org.sadigit.entity.transaksi;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Setter
@Getter
@Table(name = "runtask", schema = "apkt_transactional")
public class RunTask extends PanacheEntityBase implements Serializable {
@Id
@Column(name = "runtaskid", nullable = false)
private Long runtaskid;
@Column(name = "runworkflowid")
private Long runworkflowid;
@Column(name = "workflowdetail")
private Long workflowdetail;
@Column(name = "runtaskfrom")
private Long runtaskfrom;
@Column(name = "isdone", length = 1)
private String isdone;
@Column(name = "createdate")
private LocalDateTime createdate;
@Column(name = "createby")
private Long createby;
@Column(name = "updatedate")
private LocalDateTime updatedate;
@Column(name = "updateby")
private Long updateby;
@Column(name = "STATUS", length = 50)
private String STATUS;
@Column(name = "statustype", length = 50)
private String statustype;
@Column(name = "COMMENTS")
private String COMMENTS;
@Column(name = "filtergroup", length = 200)
private String filtergroup;
@Column(name = "ordernumber")
private Long ordernumber;
// Constructors, getters, and setters...
}

View File

@ -0,0 +1,44 @@
package org.sadigit.entity.transaksi;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Setter
@Getter
@Table(name = "runworkflow", schema = "apkt_transactional")
public class RunWorkflow extends PanacheEntityBase implements Serializable {
@Id
@Column(name = "runworkflowid", nullable = false)
private Long runworkflowid;
@Column(name = "workflowid")
private Long workflowid;
@Column(name = "requestby")
private Long requestby;
@Column(name = "lastworkflowdetailid")
private Long lastworkflowdetailid;
@Column(name = "laststatus", length = 50)
private String laststatus;
@Column(name = "laststatustype", length = 50)
private String laststatustype;
@Column(name = "createdate")
private LocalDateTime createdate;
@Column(name = "rowid", nullable = false, columnDefinition = "INT8 NOT VISIBLE DEFAULT unique_rowid()")
private Long rowid;
// Constructors, getters, and setters...
}

View File

@ -0,0 +1,8 @@
package org.sadigit.model.dto;
public record AppUserDTO(
Boolean status,
String message,
UserDTO user) {
}

View File

@ -0,0 +1,31 @@
package org.sadigit.model.dto;
import java.math.BigInteger;
public record UserDTO(
BigInteger userId,
String username,
String employeeName,
String nip,
String address,
String phone,
String mobile,
String email,
String position,
Long unitId,
String isActive,
String picture,
Long idRegu,
Long idPosko,
String namaPosko,
Long idUp3,
String namaUp3,
Long idUid,
String namaUid,
Long idUlp,
String namaUlp,
Long IdRegional,
String namaRegional) {
}

View File

@ -0,0 +1,4 @@
package org.sadigit.model.request;
public record AuthCmd(String username, String password) {
}

Some files were not shown because too many files have changed in this diff Show More