From c8dac51bec3d18f391bc8ae4e6b0a8b3c249aaf6 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 13 Nov 2024 10:05:54 +0700 Subject: [PATCH] Update entity mapping paket Penerapan jenis paket untuk validasi paket persalinan --- .../entities/MapProdukPaket.java | 8 ++++ .../entities/constant/JenisPaket.java | 42 +++++++++++++++++++ .../medifirst2000/vo/MapProdukPaketVO.java | 4 ++ 3 files changed, 54 insertions(+) create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/JenisPaket.java diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapProdukPaket.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapProdukPaket.java index d6b3f48e..6390a497 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapProdukPaket.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MapProdukPaket.java @@ -1,6 +1,7 @@ package com.jasamedika.medifirst2000.entities; import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.entities.constant.JenisPaket; import com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; @@ -8,6 +9,7 @@ import lombok.Setter; import javax.persistence.*; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import static javax.persistence.EnumType.STRING; import static javax.persistence.FetchType.LAZY; @@ -51,4 +53,10 @@ public class MapProdukPaket extends BaseTransaction { @NotNull(message = "Status aktif tidak boleh kosong") @Caption(value = "Status Aktif") private Boolean isAktif; + + @Column(length = 30) + @Enumerated(STRING) + @Size(max = 30, message = "Jenis paket maksimal {max} karakter") + @Caption(value = "Jenis paket") + private JenisPaket jenisPaket; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/JenisPaket.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/JenisPaket.java new file mode 100644 index 00000000..0da2a330 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/JenisPaket.java @@ -0,0 +1,42 @@ +package com.jasamedika.medifirst2000.entities.constant; + +import lombok.Getter; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 13/11/2024 + */ +public enum JenisPaket { + + PERSALINAN(1, "Persalinan"); + + private final long id; + + @Getter + private final String name; + + JenisPaket(long id, String name) { + this.id = id; + this.name = name; + } + + public long id() { + return this.id; + } + + @Override + public String toString() { + return Long.toString(id); + } + + public static JenisPaket valueOf(long id) { + for (JenisPaket jenisPaket : values()) { + if (jenisPaket.id == id) { + return jenisPaket; + } + } + throw new IllegalArgumentException("No matching constant for [" + id + "]"); + } + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MapProdukPaketVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MapProdukPaketVO.java index 733840cd..200bea4f 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MapProdukPaketVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MapProdukPaketVO.java @@ -3,6 +3,7 @@ package com.jasamedika.medifirst2000.vo; import com.fasterxml.jackson.annotation.JsonInclude; import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.entities.ProdukDto; +import com.jasamedika.medifirst2000.entities.constant.JenisPaket; import com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; @@ -40,4 +41,7 @@ public class MapProdukPaketVO extends BaseTransactionVO { @Caption(value = "Status Aktif") private Boolean isAktif; + + @Caption(value = "Jenis paket") + private JenisPaket jenisPaket; }