207 lines
5.0 KiB
Java
207 lines
5.0 KiB
Java
package org.sadigit.entity;
|
|
|
|
import java.security.Timestamp;
|
|
import java.time.LocalDateTime;
|
|
|
|
import org.locationtech.jts.geom.Geometry;
|
|
import org.sadigit.adapter.GeometryAdapter;
|
|
|
|
import jakarta.json.bind.annotation.JsonbTypeAdapter;
|
|
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.Getter;
|
|
import lombok.Setter;
|
|
|
|
@Entity
|
|
@Getter
|
|
@Setter
|
|
@Table(name = "keluhan", schema = "apkt_transactional")
|
|
public class Keluhan {
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
@Column(name = "id_pelanggan_no_meter")
|
|
private Long idPelangganNoMeter;
|
|
|
|
@Column(name = "id_ulp")
|
|
private Long idUlp;
|
|
|
|
@Column(name = "id_tipe_permasalahan")
|
|
private Long idTipePermasalahan;
|
|
|
|
@Column(name = "alamat_pelanggan", length = 255)
|
|
private String alamatPelanggan;
|
|
|
|
@Column(name = "nama_pelapor", length = 255)
|
|
private String namaPelapor;
|
|
|
|
@Column(name = "telepon_pelapor", length = 255)
|
|
private String teleponPelapor;
|
|
|
|
@Column(name = "hp_pelapor", length = 255)
|
|
private String hpPelapor;
|
|
|
|
@Column(name = "fax_pelapor", length = 255)
|
|
private String faxPelapor;
|
|
|
|
@Column(name = "email_pelapor", length = 255)
|
|
private String emailPelapor;
|
|
|
|
@Column(name = "alamat_pelapor", length = 4000)
|
|
private String alamatPelapor;
|
|
|
|
@Column(length = 255)
|
|
private String media;
|
|
|
|
@Column(name = "waktu_padam", length = 255)
|
|
private LocalDateTime waktuPadam;
|
|
|
|
@Column(length = 255)
|
|
private String konfirmasi;
|
|
|
|
@JsonbTypeAdapter(GeometryAdapter.class)
|
|
@Column(name = "lokasi", columnDefinition = "geometry(Point,4326)")
|
|
private Geometry lokasi;
|
|
|
|
@Column(name = "no_laporan")
|
|
private String noLaporan;
|
|
|
|
@Column(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;
|
|
|
|
@Column(name = "status_akhir", length = 50)
|
|
private String statusAkhir;
|
|
|
|
@Column(name = "tipe_wo")
|
|
private Long tipeWo;
|
|
|
|
private Long unit;
|
|
|
|
private Long eskalasi;
|
|
|
|
private String permasalahan;
|
|
|
|
@Column(name = "waktu_lapor")
|
|
private LocalDateTime waktuLapor;
|
|
|
|
@Column(name = "id_regu")
|
|
private Long idRegu;
|
|
|
|
@Column(name = "waktu_penugasan")
|
|
private LocalDateTime waktuPenugasan;
|
|
|
|
@Column(name = "waktu_perjalanan")
|
|
private LocalDateTime waktuPerjalanan;
|
|
|
|
@Column(name = "waktu_pengerjaan")
|
|
private LocalDateTime waktuPengerjaan;
|
|
|
|
@Column(name = "waktu_nyala_sementara")
|
|
private LocalDateTime waktuNyalaSementara;
|
|
|
|
@Column(name = "waktu_nyala")
|
|
private LocalDateTime waktuNyala;
|
|
|
|
@Column(name = "waktu_batal")
|
|
private LocalDateTime waktuBatal;
|
|
|
|
@Column(name = "waktu_selesai")
|
|
private LocalDateTime waktuSelesai;
|
|
|
|
@Column(name = "tipe_keluhan")
|
|
private Long tipeKeluhan;
|
|
|
|
@Column(name = "tipe_sub_keluhan")
|
|
private Long tipeSubKeluhan;
|
|
|
|
private String alasan;
|
|
|
|
private String patokan;
|
|
|
|
private Long jarak;
|
|
|
|
@Column(name = "id_kelurahan")
|
|
private Long idKelurahan;
|
|
|
|
private String fax;
|
|
|
|
@Column(name = "keterangan_lokasi")
|
|
private String keteranganLokasi;
|
|
|
|
@Column(name = "waktu_fax")
|
|
private LocalDateTime waktuFax;
|
|
|
|
@Column(name = "nama_media")
|
|
private String namaMedia;
|
|
|
|
@Column(name = "waktu_media")
|
|
private LocalDateTime waktuMedia;
|
|
|
|
@Column(name = "id_posko")
|
|
private Long idPosko;
|
|
|
|
@Column(name = "respon_pelanggan")
|
|
private String responPelanggan;
|
|
|
|
private String uraian;
|
|
|
|
private String pelaksana;
|
|
|
|
@Column(name = "id_tarif_daya")
|
|
private Long idTarifDaya;
|
|
|
|
private String summary;
|
|
|
|
@Column(name = "jumlah_lapor")
|
|
private Long jumlahLapor;
|
|
|
|
private String deskripsi;
|
|
|
|
@Column(name = "waktu_konfirmasi")
|
|
private LocalDateTime waktuKonfirmasi;
|
|
|
|
@Column(name = "waktu_menunggu_tanggapan_supervisor")
|
|
private LocalDateTime waktuMenungguTanggapanSupervisor;
|
|
|
|
@Column(name = "tindak_lanjut_penyelesaian")
|
|
private String tindakLanjutPenyelesaian;
|
|
|
|
@Column(name = "no_lapor_pln")
|
|
private String noLaporPln;
|
|
|
|
@Column(name = "no_tiket_crm")
|
|
private String noTiketCrm;
|
|
|
|
@ManyToOne()
|
|
@JoinColumn(name = "id_kelurahan", referencedColumnName = "id_kelurahan", insertable = false, updatable = false)
|
|
private MasterKelurahan kelurahan;
|
|
|
|
@ManyToOne()
|
|
@JoinColumn(name = "tipe_keluhan", referencedColumnName = "issuetypeid", insertable = false, updatable = false)
|
|
private Issuetype issueType;
|
|
|
|
@ManyToOne()
|
|
@JoinColumn(name = "tipe_sub_keluhan", referencedColumnName = "subissuetypeid", insertable = false, updatable = false)
|
|
private SubIssueType subIssueType;
|
|
|
|
}
|