diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/AgingPeriod.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/AgingPeriod.java new file mode 100644 index 00000000..a7958513 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/AgingPeriod.java @@ -0,0 +1,36 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "aging_period_m", schema = "mkko") +public class AgingPeriod extends BaseActive implements Serializable { + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "sg_aging_period_m") + @SequenceGenerator(name = "sg_aging_period_m", schema = "mkko", sequenceName = "mkko.aging_period_m_seq", allocationSize = 1) + @Column(name = "id", columnDefinition = "bigint default nextval('mkko.aging_period_m_seq'::regclass)") + protected Long id; + + @Column(name = "period", length = 50, unique = true, nullable = false) + @Size(max = 50, message = "Period maksimal {max} karakter") + @NotBlank(message = "Period tidak boleh kosong") + @Caption("Period") + private String period; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/CapitalComponent.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/CapitalComponent.java new file mode 100644 index 00000000..e39a6e97 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/CapitalComponent.java @@ -0,0 +1,30 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.validation.constraints.Size; +import java.io.Serializable; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "capital_component_m", schema = "mkko") +public class CapitalComponent extends BaseTransaction implements Serializable { + @Column(name = "component_name", length = 150, nullable = false) + @NotBlank(message = "Component name tidak boleh kosong") + @Size(max = 150, message = "Component name maksimal {max} karakter") + @Caption("Component Name") + private String componentName; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ComponentObject.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ComponentObject.java new file mode 100644 index 00000000..f3a16aa1 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ComponentObject.java @@ -0,0 +1,55 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "component_object_m", schema = "mkko") +public class ComponentObject extends BaseTransaction implements Serializable { + @Column(name = "param_key", length = 20, nullable = false) + @NotBlank(message = "Parameter key tidak boleh kosong") + @Size(max = 20, message = "Param key maksimal {max} karakter") + @Caption("Parameter Key") + private String paramKey; + + @Column(name = "param_logic", length = 50, nullable = false) + @NotBlank(message = "Parameter logic tidak boleh kosong") + @Size(max = 50, message = "Parameter logic maksimal {max} karakter") + @Caption("Parameter Logic") + private String paramLogic; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "capital_component_fk", nullable = false) + @NotNull(message = "Capital component tidak boleh kosong") + @Caption(value = "Capital Component") + private CapitalComponent capitalComponent; + + @Column(name = "object_name", length = 150, nullable = false) + @NotBlank(message = "Object name tidak boleh kosong") + @Size(max = 150, message = "Object name maksimal {max} karakter") + @Caption("Object Name") + private String objectName; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "capital_component_head_fk", nullable = false) + @NotNull(message = "Capital component head tidak boleh kosong") + @Caption(value = "Capital Component Head") + private ComponentObject componentObjectHead; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KinerjaOperasional.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KinerjaOperasional.java new file mode 100644 index 00000000..6923c41d --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KinerjaOperasional.java @@ -0,0 +1,54 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "kinerja_operasional_m", schema = "mkko") +public class KinerjaOperasional extends BaseTransaction implements Serializable { + @Column(name = "urutan", length = 20, nullable = false) + @NotBlank(message = "Urutan tidak boleh kosong") + @Size(max = 20, message = "Urutan maksimal {max} karakter") + @Caption("Urutan") + private String urutan; + + @Column(name = "fungsi_urutan", length = 50, nullable = false) + @NotBlank(message = "Fungsi urutan tidak boleh kosong") + @Size(max = 50, message = "Fungsi urutan maksimal {max} karakter") + @Caption("Fungsi Urutan") + private String fungsiUrutan; + + @Column(name = "nama_kinerja", length = 150, nullable = false) + @NotBlank(message = "Nama kinerja tidak boleh kosong") + @Size(max = 150, message = "Nama kinerja maksimal {max} karakter") + @Caption("Nama Kinerja") + private String namaKinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "satuan_kinerja_fk", nullable = false, columnDefinition = "bigint") + @NotNull(message = "Satuan kinerja tidak boleh kosong") + @Caption(value = "Satuan Kinerja") + private SatuanKinerja satuanKinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "kinerja_head_fk") + @Caption(value = "Kinerja Head") + private KinerjaOperasional kinerjaHead; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerja.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerja.java new file mode 100644 index 00000000..7cdda394 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerja.java @@ -0,0 +1,52 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.math.BigDecimal; + +import static javax.persistence.EnumType.STRING; +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "monitoring_kinerja_t", schema = "mkko") +public class MonitoringKinerja extends BaseTransaction implements Serializable { + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "kinerja_fk", nullable = false) + @NotNull(message = "Kinerja tidak boleh kosong") + @Caption(value = "Kinerja") + private KinerjaOperasional kinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "periode_fk", nullable = false, columnDefinition = "bigint") + @NotNull(message = "Periode monitoring tidak boleh kosong") + @Caption(value = "Periode Monitoring") + private PeriodeMonitoring periode; + + @Column(name = "nilai_anggaran", length = 20, columnDefinition = "varchar(20)") + @Enumerated(STRING) + @Size(max = 20, message = "Status migrasi maksimal {max} karakter") + @Caption(value = "Nilai Anggaran") + private NilaiAnggaran nilaiAnggaran; + + @Column(name = "tahun") + @Caption(value = "Tahun") + private Integer tahun; + + @Column(name = "nilai_kinerja", nullable = false, columnDefinition = "numeric(15,2) default 0.00") + @NotNull(message = "Nilai kinerja tidak boleh kosong") + private BigDecimal nilaiKinerja; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerjaHarian.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerjaHarian.java new file mode 100644 index 00000000..93111148 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/MonitoringKinerjaHarian.java @@ -0,0 +1,56 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import static javax.persistence.EnumType.STRING; +import static javax.persistence.FetchType.LAZY; +import static javax.persistence.TemporalType.TIMESTAMP; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 05/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "monitoring_kinerja_harian_t", schema = "mkko") +public class MonitoringKinerjaHarian extends BaseTransaction implements Serializable { + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "kinerja_fk", nullable = false) + @NotNull(message = "Kinerja tidak boleh kosong") + @Caption(value = "Kinerja") + private KinerjaOperasional kinerja; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "periode_fk", nullable = false, columnDefinition = "bigint") + @NotNull(message = "Periode monitoring tidak boleh kosong") + @Caption(value = "Periode Monitoring") + private PeriodeMonitoring periode; + + @Column(name = "nilai_anggaran", length = 20, columnDefinition = "varchar(20)") + @Enumerated(STRING) + @Size(max = 20, message = "Status migrasi maksimal {max} karakter") + @Caption(value = "Nilai Anggaran") + private NilaiAnggaran nilaiAnggaran; + + @Column(name = "tanggal_entri", nullable = false) + @Temporal(TIMESTAMP) + @NotNull(message = "Tanggal entri tidak boleh kosong") + @Caption(value = "Tanggal Entri") + private Date tanggalEntri; + + @Column(name = "nilai_kinerja", nullable = false, columnDefinition = "numeric(15,2) default 0.00") + @NotNull(message = "Nilai kinerja tidak boleh kosong") + private BigDecimal nilaiKinerja; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiAnggaran.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiAnggaran.java new file mode 100644 index 00000000..7690e47b --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiAnggaran.java @@ -0,0 +1,10 @@ +package com.jasamedika.medifirst2000.entities; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +public enum NilaiAnggaran { + REAL, BUDGET, BUDGET_AWAL, BUDGET_AKHIR, BUDGET_REVISI, AUDIT +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PeriodeMonitoring.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PeriodeMonitoring.java new file mode 100644 index 00000000..b150fbf1 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PeriodeMonitoring.java @@ -0,0 +1,36 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "periode_monitoring_m", schema = "mkko") +public class PeriodeMonitoring extends BaseActive implements Serializable { + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "sg_periode_monitoring_m") + @SequenceGenerator(name = "sg_periode_monitoring_m", schema = "mkko", sequenceName = "mkko.periode_monitoring_m_seq", allocationSize = 1) + @Column(name = "id", columnDefinition = "bigint default nextval('mkko.periode_monitoring_m_seq'::regclass)") + protected Long id; + + @Column(name = "periode", length = 50, unique = true, nullable = false) + @Size(max = 50, message = "Periode maksimal {max} karakter") + @NotBlank(message = "Periode tidak boleh kosong") + @Caption("Periode") + private String periode; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanKinerja.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanKinerja.java new file mode 100644 index 00000000..8e892164 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SatuanKinerja.java @@ -0,0 +1,41 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.io.Serializable; + +import static javax.persistence.GenerationType.SEQUENCE; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 04/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "satuan_kinerja_m", schema = "mkko") +public class SatuanKinerja extends BaseActive implements Serializable { + @Id + @GeneratedValue(strategy = SEQUENCE, generator = "sg_satuan_kinerja_m") + @SequenceGenerator(name = "sg_satuan_kinerja_m", schema = "mkko", sequenceName = "mkko.satuan_kinerja_m_seq", allocationSize = 1) + @Column(name = "id", columnDefinition = "bigint default nextval('mkko.satuan_kinerja_m_seq'::regclass)") + protected Long id; + + @Column(name = "satuan_kinerja", length = 50, unique = true, nullable = false) + @Size(max = 50, message = "Satuan kinerja maksimal {max} karakter") + @NotBlank(message = "Satuan kinerja tidak boleh kosong") + @Caption("Satuan Kinerja") + private String satuanKinerja; + + @Column(name = "kode_satuan", length = 10) + @Size(max = 10, message = "Kode Satuan maksimal {max} karakter") + @Caption("Kode Satuan") + private String kodeSatuan; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/WorkingCapital.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/WorkingCapital.java new file mode 100644 index 00000000..b0ce7f78 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/WorkingCapital.java @@ -0,0 +1,40 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 07/03/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "working_capital_t", schema = "mkko") +public class WorkingCapital extends BaseTransaction implements Serializable { + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "component_object_fk", nullable = false) + @NotNull(message = "Component object tidak boleh kosong") + @Caption(value = "Component Object") + private ComponentObject componentObject; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "aging_period_fk", nullable = false) + @NotNull(message = "Aging period tidak boleh kosong") + @Caption(value = "Aging Period") + private AgingPeriod agingPeriod; + + @Column(name = "liquidity_value", nullable = false, columnDefinition = "numeric(15,2) default 0.00") + @NotNull(message = "Liquidity value tidak boleh kosong") + private BigDecimal liquidityValue; +} diff --git a/jasamedika-web/src/main/webapp/WEB-INF/web.xml b/jasamedika-web/src/main/webapp/WEB-INF/web.xml index 1d90352f..f739001b 100644 --- a/jasamedika-web/src/main/webapp/WEB-INF/web.xml +++ b/jasamedika-web/src/main/webapp/WEB-INF/web.xml @@ -15,7 +15,7 @@ spring.profiles.default - web + localhost