inisialisasi kembali

This commit is contained in:
tias 2024-06-15 17:04:28 +07:00
parent 3e97011f66
commit 0f99b87e47
151 changed files with 9074 additions and 224 deletions

View File

@ -1,4 +1,4 @@
# api-keluhan-mobile # PLN MOBILE
This project uses Quarkus, the Supersonic Subatomic Java Framework. This project uses Quarkus, the Supersonic Subatomic Java Framework.
@ -43,14 +43,13 @@ Or, if you don't have GraalVM installed, you can run the native executable build
./mvnw package -Dnative -Dquarkus.native.container-build=true ./mvnw package -Dnative -Dquarkus.native.container-build=true
``` ```
You can then execute your native executable with: `./target/api-keluhan-mobile-1.0.0-SNAPSHOT-runner` 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. If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.
## Related Guides ## 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. - 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.
- Reactive PostgreSQL client ([guide](https://quarkus.io/guides/reactive-sql-clients)): Connect to the PostgreSQL database using the reactive pattern
## Provided Code ## Provided Code

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

376
pom.xml
View File

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

View File

@ -7,11 +7,11 @@
# #
# Then, build the image with: # Then, build the image with:
# #
# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/api-keluhan-mobile-jvm . # docker build -f src/main/docker/Dockerfile.jvm -t quarkus/ap2t-api-jvm .
# #
# Then run the container using: # Then run the container using:
# #
# docker run -i --rm -p 8080:8080 quarkus/api-keluhan-mobile-jvm # docker run -i --rm -p 8080:8080 quarkus/ap2t-api-jvm
# #
# If you want to include the debug port into your docker image # 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. # you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005.
@ -20,7 +20,7 @@
# #
# Then run the container using : # Then run the container using :
# #
# docker run -i --rm -p 8080:8080 quarkus/api-keluhan-mobile-jvm # docker run -i --rm -p 8080:8080 quarkus/ap2t-api-jvm
# #
# This image uses the `run-java.sh` script to run the application. # This image uses the `run-java.sh` script to run the application.
# This scripts computes the command line to execute your Java application, and # This scripts computes the command line to execute your Java application, and
@ -77,7 +77,7 @@
# accessed directly. (example: "foo.example.com,bar.example.com") # accessed directly. (example: "foo.example.com,bar.example.com")
# #
### ###
FROM registry.access.redhat.com/ubi8/openjdk-21:1.18 FROM registry.access.redhat.com/ubi8/openjdk-17:1.18
ENV LANGUAGE='en_US:en' ENV LANGUAGE='en_US:en'

View File

@ -7,11 +7,11 @@
# #
# Then, build the image with: # Then, build the image with:
# #
# docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/api-keluhan-mobile-legacy-jar . # docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/ap2t-api-legacy-jar .
# #
# Then run the container using: # Then run the container using:
# #
# docker run -i --rm -p 8080:8080 quarkus/api-keluhan-mobile-legacy-jar # docker run -i --rm -p 8080:8080 quarkus/ap2t-api-legacy-jar
# #
# If you want to include the debug port into your docker image # 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. # you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005.
@ -20,7 +20,7 @@
# #
# Then run the container using : # Then run the container using :
# #
# docker run -i --rm -p 8080:8080 quarkus/api-keluhan-mobile-legacy-jar # 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 image uses the `run-java.sh` script to run the application.
# This scripts computes the command line to execute your Java application, and # This scripts computes the command line to execute your Java application, and
@ -77,7 +77,7 @@
# accessed directly. (example: "foo.example.com,bar.example.com") # accessed directly. (example: "foo.example.com,bar.example.com")
# #
### ###
FROM registry.access.redhat.com/ubi8/openjdk-21:1.18 FROM registry.access.redhat.com/ubi8/openjdk-17:1.18
ENV LANGUAGE='en_US:en' ENV LANGUAGE='en_US:en'

View File

@ -7,11 +7,11 @@
# #
# Then, build the image with: # Then, build the image with:
# #
# docker build -f src/main/docker/Dockerfile.native -t quarkus/api-keluhan-mobile . # docker build -f src/main/docker/Dockerfile.native -t quarkus/ap2t-api .
# #
# Then run the container using: # Then run the container using:
# #
# docker run -i --rm -p 8080:8080 quarkus/api-keluhan-mobile # docker run -i --rm -p 8080:8080 quarkus/ap2t-api
# #
### ###
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9 FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9

View File

@ -10,11 +10,11 @@
# #
# Then, build the image with: # Then, build the image with:
# #
# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/api-keluhan-mobile . # docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/ap2t-api .
# #
# Then run the container using: # Then run the container using:
# #
# docker run -i --rm -p 8080:8080 quarkus/api-keluhan-mobile # docker run -i --rm -p 8080:8080 quarkus/ap2t-api
# #
### ###
FROM quay.io/quarkus/quarkus-micro-image:2.0 FROM quay.io/quarkus/quarkus-micro-image:2.0

View File

@ -32,4 +32,4 @@ public class GeometryAdapter implements JsonbAdapter<Geometry, String> {
throw new IllegalArgumentException("Invalid WKT string: " + json, 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

@ -3,19 +3,22 @@ package org.sadigit.entity;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.math.BigInteger;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.List;
import org.hibernate.annotations.Immutable; 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 io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.ManyToOne; import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table; import jakarta.persistence.Table;
@Entity @Entity
@ -27,7 +30,7 @@ public class AppUser extends PanacheEntityBase {
@Id @Id
@Column(name = "userid", nullable = false) @Column(name = "userid", nullable = false)
private Long userId; private BigInteger userId;
@Column(name = "username", length = 200) @Column(name = "username", length = 200)
private String username; private String username;
@ -53,8 +56,9 @@ public class AppUser extends PanacheEntityBase {
@Column(name = "email", length = 200) @Column(name = "email", length = 200)
private String email; private String email;
@Column(name = "positionid") @ManyToOne(optional = false, fetch = FetchType.EAGER)
private Long positionId; @JoinColumn(name = "positionid", referencedColumnName = "id")
private Position position;
@Column(name = "unitid") @Column(name = "unitid")
private Long unitId; private Long unitId;
@ -98,7 +102,24 @@ public class AppUser extends PanacheEntityBase {
@Column(name = "picture") @Column(name = "picture")
private String picture; private String picture;
@OneToMany(mappedBy = "idUser") @ManyToOne(optional = true, fetch = FetchType.EAGER)
private List<UserRole> userRole; @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

@ -1,22 +1,8 @@
package org.sadigit.model.dto; package org.sadigit.model.dto;
import lombok.Builder; public record AppUserDTO(
import lombok.Getter; Boolean status,
import lombok.Setter; String message,
UserDTO user) {
@Builder(toBuilder = true)
@Setter
@Getter
public class AppUserDto {
private String address;
private String nip;
private String phone;
private int positionid;
private String isactive;
private String mobile;
private int unitid;
private int userid;
private String employeename;
private String email;
private String username;
} }

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) {
}

View File

@ -0,0 +1,164 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.validation.constraints.NotNull;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CreateGangguanRequest {
@QueryParam("in_idpel")
@NotNull
String in_idpel;
@QueryParam("in_nama")
@NotNull
String in_nama;
@NotNull
@QueryParam("in_alamat")
String in_alamat;
@NotNull
@QueryParam("in_hp")
String in_hp;
@NotNull
@QueryParam("in_unitup")
String in_unitup;
@NotNull
@QueryParam("in_long")
String in_long;
@NotNull
@QueryParam("in_lat")
String in_lat;
@NotNull
@QueryParam("in_tipe_keluhan")
String in_tipe_keluhan;
@NotNull
@QueryParam("in_keterangan")
String in_keterangan;
@NotNull
@QueryParam("in_prov")
String in_prov;
@NotNull
@QueryParam("in_kab")
String in_kab;
@NotNull
@QueryParam("in_kec")
String in_kec;
@NotNull
@QueryParam("in_kel")
String in_kel;
@QueryParam("in_flag_padam_tm")
String in_flag_padam_tm;
@QueryParam("in_laporan_ref")
String in_laporan_ref;
public void checkParameter() {
if (this.getIn_kel() == null || this.getIn_kel().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "nama kelurahan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kec() == null || this.getIn_kec().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama kecamatan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kab() == null || this.getIn_kab().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama kabupaten tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_prov() == null || this.getIn_prov().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama provinsi tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_nama() == null || this.getIn_nama().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_alamat() == null || this.getIn_alamat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Alamat tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_hp() == null || this.getIn_hp().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "No telp tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_unitup() == null || this.getIn_unitup().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Unitup tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_long() == null || this.getIn_long().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Longitude tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_lat() == null || this.getIn_lat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Latitude tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_tipe_keluhan() == null || this.getIn_tipe_keluhan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Tipe keluhan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_keterangan() == null || this.getIn_keterangan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Keterangan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
}
}

View File

@ -0,0 +1,217 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.validation.constraints.NotNull;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CreateGangguanV2Request {
@QueryParam("in_idpel")
private String in_idpel;
@NotNull
@QueryParam("in_nama")
private String in_nama;
@NotNull
@QueryParam("in_alamat")
private String in_alamat;
@NotNull
@QueryParam("in_hp")
private String in_hp;
@NotNull
@QueryParam("in_unitup")
private String in_unitup;
@NotNull
@QueryParam("in_long")
private String in_long;
@NotNull
@QueryParam("in_lat")
private String in_lat;
@NotNull
@QueryParam("in_tipe_keluhan")
private String in_tipe_keluhan;
@NotNull
@QueryParam("in_keterangan")
private String in_keterangan;
@NotNull
@QueryParam("in_prov")
private String in_prov;
@NotNull
@QueryParam("in_kab")
private String in_kab;
@NotNull
@QueryParam("in_kec")
private String in_kec;
@NotNull
@QueryParam("in_kel")
private String in_kel;
@QueryParam("in_flag_padam_tm")
private String in_flag_padam_tm;
@QueryParam("in_laporan_ref")
private String in_laporan_ref;
@QueryParam("in_kode_gardu")
private String in_kode_gardu;
@QueryParam("in_tgl_konfirmasi")
private String in_tgl_konfirmasi;
@QueryParam("in_laporanulang_ref")
private String in_laporanulang_ref;
public void checkParameter() {
if (this.getIn_kel() == null || this.getIn_kel().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "nama kelurahan tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kec() == null || this.getIn_kec().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama kecamatan tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kab() == null || this.getIn_kab().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama kabupaten tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_prov() == null || this.getIn_prov().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama provinsi tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_nama() == null || this.getIn_nama().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_alamat() == null || this.getIn_alamat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Alamat tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_hp() == null || this.getIn_hp().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "No telp tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_unitup() == null || this.getIn_unitup().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Unitup tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_long() == null || this.getIn_long().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Longitude tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_lat() == null || this.getIn_lat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Latitude tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_tipe_keluhan() == null || this.getIn_tipe_keluhan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Tipe keluhan tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_keterangan() == null || this.getIn_keterangan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Keterangan tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
}
public static CreateGangguanV2Request fromCreateGangguanV1(CreateGangguanRequest request) {
return CreateGangguanV2Request.builder()
.in_idpel(request.getIn_idpel())
.in_nama(request.getIn_nama())
.in_alamat(request.getIn_alamat())
.in_hp(request.getIn_hp())
.in_unitup(request.getIn_unitup())
.in_long(request.getIn_long())
.in_lat(request.getIn_lat())
.in_tipe_keluhan(request.getIn_tipe_keluhan())
.in_keterangan(request.getIn_keterangan())
.in_prov(request.getIn_prov())
.in_kab(request.getIn_kab())
.in_kec(request.getIn_kec())
.in_kel(request.getIn_kel())
.in_flag_padam_tm(request.getIn_flag_padam_tm())
.in_laporan_ref(request.getIn_laporan_ref())
.build();
}
}

View File

@ -0,0 +1,166 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CreateKeluhanRequest {
@QueryParam("in_idpel")
String in_idpel;
@NonNull
@QueryParam("in_nama")
String in_nama;
@NonNull
@QueryParam("in_alamat")
String in_alamat;
@NonNull
@QueryParam("in_hp")
String in_hp;
@NonNull
@QueryParam("in_unitup")
String in_unitup;
@NonNull
@QueryParam("in_long")
String in_long;
@NonNull
@QueryParam("in_lat")
String in_lat;
@NonNull
@QueryParam("in_tipe_keluhan")
String in_tipe_keluhan;
@NonNull
@QueryParam("in_subtipe_keluhan")
String in_subtipe_keluhan;
@NonNull
@QueryParam("in_keterangan")
String in_keterangan;
@QueryParam("in_prov")
String in_prov;
@QueryParam("in_kab")
String in_kab;
@QueryParam("in_kec")
String in_kec;
@QueryParam("in_kel")
String in_kel;
public void checkParameter() {
if (this.getIn_nama() == null || this.getIn_nama().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_alamat() == null || this.getIn_alamat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Alamat tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_hp() == null || this.getIn_hp().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "No telp tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_unitup() == null || this.getIn_unitup().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Unitup tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_long() == null || this.getIn_long().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Longitude tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_lat() == null || this.getIn_lat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Latitude tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_tipe_keluhan() == null || this.getIn_tipe_keluhan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Tipe keluhan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_keterangan() == null || this.getIn_keterangan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Keterangan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_subtipe_keluhan() == null || this.getIn_subtipe_keluhan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Subtipe keluhan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_idpel() == null || this.getIn_idpel().isEmpty()) {
if (this.getIn_kel() == null || this.getIn_kel().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "nama kelurahan tidak boleh kosong apabila idpel tidak diisi"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kec() == null || this.getIn_kec().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama kecamatan tidak boleh kosong apabila idpel tidak diisi"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kab() == null || this.getIn_kab().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama kabupaten tidak boleh kosong apabila idpel tidak diisi"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_prov() == null || this.getIn_prov().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of("msg", "Nama provinsi tidak boleh kosong apabila idpel tidak diisi"))
.build();
throw new CustomException(null, error);
}
}
}
}

View File

@ -0,0 +1,200 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CreateKeluhanV2Request {
@QueryParam("in_idpel")
private String in_idpel;
@NonNull
@QueryParam("in_nama")
private String in_nama;
@NonNull
@QueryParam("in_alamat")
private String in_alamat;
@NonNull
@QueryParam("in_hp")
private String in_hp;
@NonNull
@QueryParam("in_unitup")
private String in_unitup;
@NonNull
@QueryParam("in_long")
private String in_long;
@NonNull
@QueryParam("in_lat")
private String in_lat;
@NonNull
@QueryParam("in_tipe_keluhan")
private String in_tipe_keluhan;
@NonNull
@QueryParam("in_subtipe_keluhan")
private String in_subtipe_keluhan;
@NonNull
@QueryParam("in_keterangan")
private String in_keterangan;
@QueryParam("in_prov")
private String in_prov;
@QueryParam("in_kab")
private String in_kab;
@QueryParam("in_kec")
private String in_kec;
@QueryParam("in_kel")
private String in_kel;
@QueryParam("in_kode_gardu")
private String in_kode_gardu;
@QueryParam("in_laporanulang_ref")
private String in_laporanulang_ref;
public void checkParameter() {
if (this.getIn_nama() == null || this.getIn_nama().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_alamat() == null || this.getIn_alamat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Alamat tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_hp() == null || this.getIn_hp().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "No telp tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_unitup() == null || this.getIn_unitup().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Unitup tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_long() == null || this.getIn_long().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Longitude tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_lat() == null || this.getIn_lat().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Latitude tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_tipe_keluhan() == null || this.getIn_tipe_keluhan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Tipe keluhan tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_keterangan() == null || this.getIn_keterangan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Keterangan tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_subtipe_keluhan() == null || this.getIn_subtipe_keluhan().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Subtipe keluhan tidak boleh kosong",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_idpel() == null || this.getIn_idpel().isEmpty()) {
if (this.getIn_kel() == null || this.getIn_kel().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama kelurahan tidak boleh kosong apabila idpel tidak diisi",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kec() == null || this.getIn_kec().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama kecamatan tidak boleh kosong apabila idpel tidak diisi",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_kab() == null || this.getIn_kab().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama kabupaten tidak boleh kosong apabila idpel tidak diisi",
"result", "0"))
.build();
throw new CustomException(null, error);
}
if (this.getIn_prov() == null || this.getIn_prov().isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nama provinsi tidak boleh kosong apabila idpel tidak diisi",
"result", "0"))
.build();
throw new CustomException(null, error);
}
}
}
}

View File

@ -0,0 +1,46 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GetCancelRequest {
@NonNull
@QueryParam("p_reportnumber")
String p_reportnumber;
@NonNull
@QueryParam("p_userid")
String p_userid;
public void checkParameter() {
if (this.p_reportnumber == null || this.p_reportnumber.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "No Laporan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_userid == null || this.p_userid.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "User ID tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
}
}

View File

@ -0,0 +1,109 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class GetCttRequest {
@NonNull
@QueryParam("p_reportnumber")
private String p_reportnumber;
@NonNull
@QueryParam("p_idpel")
private String p_idpel;
@QueryParam("p_kode08")
private String p_kode08;
@QueryParam("p_kode70")
private String p_kode70;
@QueryParam("p_kode71")
private String p_kode71;
@NonNull
@QueryParam("p_kode41")
private String p_kode41;
@NonNull
@QueryParam("p_kode44")
private String p_kode44;
@QueryParam("p_kode45")
private String p_kode45;
@QueryParam("p_kode46")
private String p_kode46;
@NonNull
@QueryParam("p_kode37")
private String p_kode37;
@NonNull
@QueryParam("p_kode47")
private String p_kode47;
public void checkParameter() {
if (this.p_reportnumber == null || this.p_reportnumber.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "No Laporan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_idpel == null || this.p_idpel.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "ID Pelanggan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_kode41 == null || this.p_kode41.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Kode 41 tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_kode44 == null || this.p_kode44.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Kode 44 tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_kode37 == null || this.p_kode37.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Kode 37 tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_kode47 == null || this.p_kode47.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Kode 47 tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
}
}

View File

@ -0,0 +1,55 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GetDataGarduV2Request {
@NonNull
@QueryParam("p_kode")
Integer p_kode;
@NonNull
@QueryParam("p_jenis")
Integer p_jenis;
@QueryParam("p_jumlah")
Integer p_jumlah;
@QueryParam("p_nolaporan")
String p_nolaporan;
@QueryParam("p_kodegardu")
String p_kodegardu;
public void checkParameter() {
if (this.p_kode == null) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Kode tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_jenis == null) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Jenis tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
}
}

View File

@ -0,0 +1,20 @@
package org.sadigit.model.request;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GetDataRequest {
@QueryParam("p_kode")
String p_kode;
@QueryParam("p_input")
String p_input;
}

View File

@ -0,0 +1,58 @@
package org.sadigit.model.request;
import java.util.Map;
import org.sadigit.control.exception.CustomException;
import org.sadigit.model.response.base.ResponseModel;
import jakarta.ws.rs.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GetRatingPlgnRequest {
@NonNull
@QueryParam("p_reportnumber")
String p_reportnumber;
@NonNull
@QueryParam("p_nilai")
String p_nilai;
@NonNull
@QueryParam("p_keterangan")
String p_keterangan;
public void checkParameter() {
if (this.p_reportnumber == null || this.p_reportnumber.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "No laporan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_nilai == null || this.p_nilai.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Nilai tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
if (this.p_keterangan == null || this.p_keterangan.isEmpty()) {
var error = ResponseModel.builder()
.data(Map.of(
"msg", "Keterangan tidak boleh kosong"))
.build();
throw new CustomException(null, error);
}
}
}

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