Update model entities

Pembuatan struktur data monitoring kinerja keuangan dan operasional
This commit is contained in:
Salman Manoe 2024-03-08 10:40:52 +07:00
parent b889f78219
commit 57c6193558
11 changed files with 411 additions and 1 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -15,7 +15,7 @@
</context-param>
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>web</param-value>
<param-value>localhost</param-value>
</context-param>
<listener>