- desain ulang menu evaluasi jabatan menjadi per jabatan

- cabut mandatori ruangan dan pegawai
- fleksibelitas tgl batas penangguhan sisa cuti
This commit is contained in:
salmanoe 2021-01-25 11:41:51 +07:00
parent 726d526009
commit b62e8023fb
4 changed files with 134 additions and 109 deletions

View File

@ -64,12 +64,12 @@ public class EvaluasiJabatanServiceImpl extends BaseVoServiceImpl implements Eva
model.setBulan(vo.getBulan()); model.setBulan(vo.getBulan());
model.setTahun(vo.getTahun()); model.setTahun(vo.getTahun());
model.setTotalNilai(vo.getTotalNilai()); model.setTotalNilai(vo.getTotalNilai());
//SET DATA JABATAN
model.setJabatan(jabatanConverter.transferVOToModel(vo.getJabatan() ,new Jabatan()));
//SET DATA PEGAWAI //SET DATA PEGAWAI
if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) { if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) {
model.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai())); model.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()));
//SET DATA JABATAN
model.setJabatan(jabatanConverter.transferVOToModel(vo.getJabatan() ,new Jabatan()));
//Ambil Cek nilai dari grade yang didapat //Ambil Cek nilai dari grade yang didapat
NilaiKelompokJabatan nilaiKelompokJabatan = getGrade(model.getJabatan().getId(), vo.getTotalNilai()); NilaiKelompokJabatan nilaiKelompokJabatan = getGrade(model.getJabatan().getId(), vo.getTotalNilai());

View File

@ -4,6 +4,7 @@ import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
@ -2666,12 +2667,10 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
Integer tahunLalu = tahunIni - 1; Integer tahunLalu = tahunIni - 1;
Integer duaTahunLalu = tahunIni - 2; Integer duaTahunLalu = tahunIni - 2;
LocalDateTime thisJanuary = now.withMonth(1); String batasPenangguhan = settingDataFixedDao.getSettingDataFixed("tglBatasPenangguhanCuti");
LocalDateTime january15th = thisJanuary.withDayOfMonth(15); String tglBatasPenangguhan = String.valueOf(now.getYear()) + "-" + batasPenangguhan;
LocalDateTime january15th23h = january15th.withHour(23); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime january15th23h59m = january15th23h.withMinute(59); LocalDateTime penangguhanCutOff = LocalDateTime.parse(tglBatasPenangguhan, formatter);
LocalDateTime january15th23h59m59s = january15th23h59m.withSecond(59);
LocalDateTime january15thBeforeMidnight = january15th23h59m59s.withNano(999999999);
String komponenCutiTahunan = settingDataFixedDao.getSettingDataFixed("komponenIndeksCuti"); String komponenCutiTahunan = settingDataFixedDao.getSettingDataFixed("komponenIndeksCuti");
String komponenCutiBersama = settingDataFixedDao.getSettingDataFixed("komponenIndeksCutiBersama"); String komponenCutiBersama = settingDataFixedDao.getSettingDataFixed("komponenIndeksCutiBersama");
@ -2686,7 +2685,7 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
map.put("statusPenangguhan", "Tidak Ditangguhkan"); map.put("statusPenangguhan", "Tidak Ditangguhkan");
} else if (duaTahunLalu < Integer.parseInt(map.get("tahun").toString()) } else if (duaTahunLalu < Integer.parseInt(map.get("tahun").toString())
&& Integer.parseInt(map.get("tahun").toString()) <= tahunLalu && Integer.parseInt(map.get("tahun").toString()) <= tahunLalu
&& now.isAfter(january15thBeforeMidnight)) { && now.isAfter(penangguhanCutOff)) {
map.put("statusPenangguhan", "Tidak Ditangguhkan"); map.put("statusPenangguhan", "Tidak Ditangguhkan");
} else { } else {
map.put("statusPenangguhan", "Belum Ditangguhkan"); map.put("statusPenangguhan", "Belum Ditangguhkan");

View File

@ -10,15 +10,14 @@ import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
/** /**
* class EvaluasiJabatanVOVO * class EvaluasiJabatanVOVO
* *
* @author Generator * @author Generator
*/ */
public class EvaluasiJabatanVO extends BaseTransactionVO{ public class EvaluasiJabatanVO extends BaseTransactionVO {
@ManyToOne @ManyToOne
@JoinColumn(name = "RuanganFk") @JoinColumn(name = "RuanganFk")
@NotNull(message = "RuanganFk")
@Caption(value = "RuanganFk") @Caption(value = "RuanganFk")
private RuanganVO ruangan; private RuanganVO ruangan;
@ -29,260 +28,287 @@ public class EvaluasiJabatanVO extends BaseTransactionVO{
public void setRuangan(RuanganVO ruangan) { public void setRuangan(RuanganVO ruangan) {
this.ruangan = ruangan; this.ruangan = ruangan;
} }
@ManyToOne
@ManyToOne @JoinColumn(name = "PegawaiFk")
@JoinColumn(name = "PegawaiFk") @Caption(value = "Pegawai")
@NotNull(message = "Pegawai Harus Diisi")
@Caption(value = "Pegawai")
private PegawaiVO pegawai; private PegawaiVO pegawai;
public PegawaiVO getPegawai() { public PegawaiVO getPegawai() {
return pegawai; return pegawai;
} }
public void setPegawai(PegawaiVO pegawai) { public void setPegawai(PegawaiVO pegawai) {
this.pegawai = pegawai; this.pegawai = pegawai;
} }
@Column(name = "PegawaiFk", insertable=false,updatable=false)
@Column(name = "PegawaiFk", insertable = false, updatable = false)
private Integer pegawaiId; private Integer pegawaiId;
@Column(name = "Tahun", nullable = false , length = 100) @Column(name = "Tahun", nullable = false, length = 100)
@Caption(value = "Tahun") @Caption(value = "Tahun")
private Integer tahun ; private Integer tahun;
public Integer getTahun() { public Integer getTahun() {
return tahun ; return tahun;
}
public void setTahun(Integer tahun ) {
this.tahun = tahun ;
} }
@ManyToOne public void setTahun(Integer tahun) {
@JoinColumn(name = "Faktor1Fk") this.tahun = tahun;
@NotNull(message = "Faktor1 Harus Diisi") }
@Caption(value = "Faktor1")
@ManyToOne
@JoinColumn(name = "Faktor1Fk")
@NotNull(message = "Faktor1 Harus Diisi")
@Caption(value = "Faktor1")
private FaktorEvaluasiVO faktor1; private FaktorEvaluasiVO faktor1;
public FaktorEvaluasiVO getFaktor1() { public FaktorEvaluasiVO getFaktor1() {
return faktor1; return faktor1;
} }
public void setFaktor1(FaktorEvaluasiVO faktor1) { public void setFaktor1(FaktorEvaluasiVO faktor1) {
this.faktor1 = faktor1; this.faktor1 = faktor1;
} }
@Column(name = "Faktor1Fk", insertable=false,updatable=false)
@Column(name = "Faktor1Fk", insertable = false, updatable = false)
private Integer faktor1Id; private Integer faktor1Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor2Fk") @JoinColumn(name = "Faktor2Fk")
@NotNull(message = "Faktor2 Harus Diisi") @NotNull(message = "Faktor2 Harus Diisi")
@Caption(value = "Faktor2") @Caption(value = "Faktor2")
private FaktorEvaluasiVO faktor2; private FaktorEvaluasiVO faktor2;
public FaktorEvaluasiVO getFaktor2() { public FaktorEvaluasiVO getFaktor2() {
return faktor2; return faktor2;
} }
public void setFaktor2(FaktorEvaluasiVO faktor2) { public void setFaktor2(FaktorEvaluasiVO faktor2) {
this.faktor2 = faktor2; this.faktor2 = faktor2;
} }
@Column(name = "Faktor2Fk", insertable=false,updatable=false)
@Column(name = "Faktor2Fk", insertable = false, updatable = false)
private Integer faktor2Id; private Integer faktor2Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor3Fk") @JoinColumn(name = "Faktor3Fk")
@NotNull(message = "Faktor3 Harus Diisi") @NotNull(message = "Faktor3 Harus Diisi")
@Caption(value = "Faktor3") @Caption(value = "Faktor3")
private FaktorEvaluasiVO faktor3; private FaktorEvaluasiVO faktor3;
public FaktorEvaluasiVO getFaktor3() { public FaktorEvaluasiVO getFaktor3() {
return faktor3; return faktor3;
} }
public void setFaktor3(FaktorEvaluasiVO faktor3) { public void setFaktor3(FaktorEvaluasiVO faktor3) {
this.faktor3 = faktor3; this.faktor3 = faktor3;
} }
@Column(name = "Faktor3Fk", insertable=false,updatable=false)
@Column(name = "Faktor3Fk", insertable = false, updatable = false)
private Integer faktor3Id; private Integer faktor3Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor4Fk") @JoinColumn(name = "Faktor4Fk")
@NotNull(message = "Faktor4 Harus Diisi") @NotNull(message = "Faktor4 Harus Diisi")
@Caption(value = "Faktor4") @Caption(value = "Faktor4")
private FaktorEvaluasiVO faktor4; private FaktorEvaluasiVO faktor4;
public FaktorEvaluasiVO getFaktor4() { public FaktorEvaluasiVO getFaktor4() {
return faktor4; return faktor4;
} }
public void setFaktor4(FaktorEvaluasiVO faktor4) { public void setFaktor4(FaktorEvaluasiVO faktor4) {
this.faktor4 = faktor4; this.faktor4 = faktor4;
} }
@Column(name = "Faktor4Fk", insertable=false,updatable=false)
@Column(name = "Faktor4Fk", insertable = false, updatable = false)
private Integer faktor4Id; private Integer faktor4Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor5Fk") @JoinColumn(name = "Faktor5Fk")
@NotNull(message = "Faktor5 Harus Diisi") @NotNull(message = "Faktor5 Harus Diisi")
@Caption(value = "Faktor5") @Caption(value = "Faktor5")
private FaktorEvaluasiVO faktor5; private FaktorEvaluasiVO faktor5;
public FaktorEvaluasiVO getFaktor5() { public FaktorEvaluasiVO getFaktor5() {
return faktor5; return faktor5;
} }
public void setFaktor5(FaktorEvaluasiVO faktor5) { public void setFaktor5(FaktorEvaluasiVO faktor5) {
this.faktor5 = faktor5; this.faktor5 = faktor5;
} }
@Column(name = "Faktor5Fk", insertable=false,updatable=false)
@Column(name = "Faktor5Fk", insertable = false, updatable = false)
private Integer faktor5Id; private Integer faktor5Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor7Fk") @JoinColumn(name = "Faktor7Fk")
@NotNull(message = "Faktor7 Harus Diisi") @NotNull(message = "Faktor7 Harus Diisi")
@Caption(value = "Faktor7") @Caption(value = "Faktor7")
private FaktorEvaluasiVO faktor7; private FaktorEvaluasiVO faktor7;
public FaktorEvaluasiVO getFaktor7() { public FaktorEvaluasiVO getFaktor7() {
return faktor7; return faktor7;
} }
public void setFaktor7(FaktorEvaluasiVO faktor7) { public void setFaktor7(FaktorEvaluasiVO faktor7) {
this.faktor7 = faktor7; this.faktor7 = faktor7;
} }
@Column(name = "Faktor7Fk", insertable=false,updatable=false)
@Column(name = "Faktor7Fk", insertable = false, updatable = false)
private Integer faktor7Id; private Integer faktor7Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor8Fk") @JoinColumn(name = "Faktor8Fk")
@NotNull(message = "Faktor8 Harus Diisi") @NotNull(message = "Faktor8 Harus Diisi")
@Caption(value = "Faktor8") @Caption(value = "Faktor8")
private FaktorEvaluasiVO faktor8; private FaktorEvaluasiVO faktor8;
public FaktorEvaluasiVO getFaktor8() { public FaktorEvaluasiVO getFaktor8() {
return faktor8; return faktor8;
} }
public void setFaktor8(FaktorEvaluasiVO faktor8) { public void setFaktor8(FaktorEvaluasiVO faktor8) {
this.faktor8 = faktor8; this.faktor8 = faktor8;
} }
@Column(name = "Faktor8Fk", insertable=false,updatable=false)
@Column(name = "Faktor8Fk", insertable = false, updatable = false)
private Integer faktor8Id; private Integer faktor8Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor9Fk") @JoinColumn(name = "Faktor9Fk")
@NotNull(message = "Faktor9 Harus Diisi") @NotNull(message = "Faktor9 Harus Diisi")
@Caption(value = "Faktor9") @Caption(value = "Faktor9")
private FaktorEvaluasiVO faktor9; private FaktorEvaluasiVO faktor9;
public FaktorEvaluasiVO getFaktor9() { public FaktorEvaluasiVO getFaktor9() {
return faktor9; return faktor9;
} }
public void setFaktor9(FaktorEvaluasiVO faktor9) { public void setFaktor9(FaktorEvaluasiVO faktor9) {
this.faktor9 = faktor9; this.faktor9 = faktor9;
} }
@Column(name = "Faktor9Fk", insertable=false,updatable=false)
@Column(name = "Faktor9Fk", insertable = false, updatable = false)
private Integer faktor9Id; private Integer faktor9Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "Faktor10Fk") @JoinColumn(name = "Faktor10Fk")
@NotNull(message = "Faktor10 Harus Diisi") @NotNull(message = "Faktor10 Harus Diisi")
@Caption(value = "Faktor10") @Caption(value = "Faktor10")
private FaktorEvaluasiVO faktor10; private FaktorEvaluasiVO faktor10;
public FaktorEvaluasiVO getFaktor10() { public FaktorEvaluasiVO getFaktor10() {
return faktor10; return faktor10;
} }
public void setFaktor10(FaktorEvaluasiVO faktor10) { public void setFaktor10(FaktorEvaluasiVO faktor10) {
this.faktor10 = faktor10; this.faktor10 = faktor10;
} }
@Column(name = "Faktor10Fk", insertable=false,updatable=false)
@Column(name = "Faktor10Fk", insertable = false, updatable = false)
private Integer faktor10Id; private Integer faktor10Id;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorAFk") @JoinColumn(name = "FaktorAFk")
@Caption(value = "FaktorA") @Caption(value = "FaktorA")
private FaktorEvaluasiVO faktorA; private FaktorEvaluasiVO faktorA;
@Column(name = "FaktorAFk", insertable = false, updatable = false) @Column(name = "FaktorAFk", insertable = false, updatable = false)
private Integer faktorAId; private Integer faktorAId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorBFk") @JoinColumn(name = "FaktorBFk")
@Caption(value = "FaktorB") @Caption(value = "FaktorB")
private FaktorEvaluasiVO faktorB; private FaktorEvaluasiVO faktorB;
@Column(name = "FaktorBFk", insertable = false, updatable = false) @Column(name = "FaktorBFk", insertable = false, updatable = false)
private Integer faktorBId; private Integer faktorBId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorCFk") @JoinColumn(name = "FaktorCFk")
@Caption(value = "FaktorC") @Caption(value = "FaktorC")
private FaktorEvaluasiVO faktorC; private FaktorEvaluasiVO faktorC;
@Column(name = "FaktorCFk", insertable = false, updatable = false) @Column(name = "FaktorCFk", insertable = false, updatable = false)
private Integer faktorCId; private Integer faktorCId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorDFk") @JoinColumn(name = "FaktorDFk")
@Caption(value = "FaktorD") @Caption(value = "FaktorD")
private FaktorEvaluasiVO faktorD; private FaktorEvaluasiVO faktorD;
@Column(name = "FaktorDFk", insertable = false, updatable = false) @Column(name = "FaktorDFk", insertable = false, updatable = false)
private Integer faktorDId; private Integer faktorDId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorEFk") @JoinColumn(name = "FaktorEFk")
@Caption(value = "FaktorE") @Caption(value = "FaktorE")
private FaktorEvaluasiVO faktorE; private FaktorEvaluasiVO faktorE;
@Column(name = "FaktorEFk", insertable = false, updatable = false) @Column(name = "FaktorEFk", insertable = false, updatable = false)
private Integer faktorEId; private Integer faktorEId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorFFk") @JoinColumn(name = "FaktorFFk")
@Caption(value = "FaktorF") @Caption(value = "FaktorF")
private FaktorEvaluasiVO faktorF; private FaktorEvaluasiVO faktorF;
@Column(name = "FaktorFFk", insertable = false, updatable = false) @Column(name = "FaktorFFk", insertable = false, updatable = false)
private Integer faktorFId; private Integer faktorFId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorGFk") @JoinColumn(name = "FaktorGFk")
@Caption(value = "FaktorG") @Caption(value = "FaktorG")
private FaktorEvaluasiVO faktorG; private FaktorEvaluasiVO faktorG;
@Column(name = "FaktorGFk", insertable = false, updatable = false) @Column(name = "FaktorGFk", insertable = false, updatable = false)
private Integer faktorGId; private Integer faktorGId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorHFk") @JoinColumn(name = "FaktorHFk")
@Caption(value = "FaktorH") @Caption(value = "FaktorH")
private FaktorEvaluasiVO faktorH; private FaktorEvaluasiVO faktorH;
@Column(name = "FaktorHFk", insertable = false, updatable = false) @Column(name = "FaktorHFk", insertable = false, updatable = false)
private Integer faktorHId; private Integer faktorHId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorIFk") @JoinColumn(name = "FaktorIFk")
@Caption(value = "FaktorI") @Caption(value = "FaktorI")
private FaktorEvaluasiVO faktorI; private FaktorEvaluasiVO faktorI;
@Column(name = "FaktorIFk", insertable = false, updatable = false) @Column(name = "FaktorIFk", insertable = false, updatable = false)
private Integer faktorIId; private Integer faktorIId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorJFk") @JoinColumn(name = "FaktorJFk")
@Caption(value = "FaktorJ") @Caption(value = "FaktorJ")
private FaktorEvaluasiVO faktorJ; private FaktorEvaluasiVO faktorJ;
@Column(name = "FaktorJFk", insertable = false, updatable = false) @Column(name = "FaktorJFk", insertable = false, updatable = false)
private Integer faktorJId; private Integer faktorJId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorKFk") @JoinColumn(name = "FaktorKFk")
@Caption(value = "FaktorK") @Caption(value = "FaktorK")
private FaktorEvaluasiVO faktorK; private FaktorEvaluasiVO faktorK;
@Column(name = "FaktorKFk", insertable = false, updatable = false) @Column(name = "FaktorKFk", insertable = false, updatable = false)
private Integer faktorKId; private Integer faktorKId;
@ManyToOne @ManyToOne
@JoinColumn(name = "FaktorLFk") @JoinColumn(name = "FaktorLFk")
@Caption(value = "FaktorL") @Caption(value = "FaktorL")
private FaktorEvaluasiVO faktorL; private FaktorEvaluasiVO faktorL;
@Column(name = "FaktorLFk", insertable = false, updatable = false) @Column(name = "FaktorLFk", insertable = false, updatable = false)
private Integer faktorLId; private Integer faktorLId;
@Caption(value = "Bulan") @Caption(value = "Bulan")
@Column(name = "Bulan", nullable=true) @Column(name = "Bulan", nullable = true)
private String bulan; private String bulan;
@Caption(value = "TotalNilai") @Caption(value = "TotalNilai")
@Column(name = "TotalNilai", nullable=true) @Column(name = "TotalNilai", nullable = true)
private Double totalNilai; private Double totalNilai;
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object Nilai Kelompok Jabatan") @Caption(value = "Object Nilai Kelompok Jabatan")
private NilaiKelompokJabatanVO grade; private NilaiKelompokJabatanVO grade;
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object Jabatan") @Caption(value = "Object Jabatan")
private JabatanVO jabatan; private JabatanVO jabatan;
public FaktorEvaluasiVO getFaktorA() { public FaktorEvaluasiVO getFaktorA() {
return faktorA; return faktorA;
} }

View File

@ -2147,7 +2147,7 @@ public class SdmController extends LocaleController<AkunVO> {
} }
@RequestMapping(value = "/save-evaluasi-jabatan", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/save-evaluasi-jabatan", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> saveEvaluasiJabatan(@Valid @RequestBody List<EvaluasiJabatanVO> vo, public ResponseEntity<Map<String, Object>> saveEvaluasiJabatan(@Valid @RequestBody EvaluasiJabatanVO vo,
HttpServletRequest request) { HttpServletRequest request) {
try { try {
Map<String, Object> result = EvaluasiJabatanService.saveEvaluasiJabatan(vo); Map<String, Object> result = EvaluasiJabatanService.saveEvaluasiJabatan(vo);