Update domain pengaturan hari libur

Penambahan atribut pengecekan cuti bersama dapat ditangguhkan
This commit is contained in:
Salman Manoe 2025-01-09 13:23:31 +07:00
parent 55e6b2c054
commit f4d24491b1
4 changed files with 55 additions and 110 deletions

View File

@ -1,43 +1,39 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur;
import java.util.List;
import java.util.Map;
@Repository
public interface MapKalenderToHariLiburDao extends PagingAndSortingRepository<MapKalenderToHariLibur, Integer> {
@Query("select new map (model.id as id, model.namaExternal as name, model.tanggal.tanggal as tanggal) from MapKalenderToHariLibur model where model.statusEnabled is true")
public List<Map<String, Object>> getAllByStatusEnabled();
@Query("select model from Kalender model where model.statusEnabled is true and to_char(tanggal,'yyyy-MM-dd') = :tanggal")
public Kalender getKalender(@Param("tanggal") String tgl);
@Query("select to_char(kalender.tanggal,'yyyy-MM-dd') "+
"from MapKalenderToHariLibur mapLibur "+
"inner join mapLibur.tanggal kalender "+
"inner join mapLibur.hariLibur hariLibur "+
"where hariLibur.id in (8,17) "+
"and to_char(kalender.tanggal,'yyyy')=:tahun "+
"and mapLibur.statusEnabled is true")
public List<String> getTglCutiBersama(@Param("tahun") String tahun);
@Query("select new map (model.id as id, model.namaExternal as name, model.tanggal.tanggal as tanggal) "
+ "from MapKalenderToHariLibur model where model.statusEnabled is true")
List<Map<String, Object>> getAllByStatusEnabled();
@Query("select model from Kalender model "
+ "where model.statusEnabled is true and to_char(tanggal,'yyyy-MM-dd') = :tanggal")
Kalender getKalender(@Param("tanggal") String tgl);
@Query("select to_char(kalender.tanggal,'yyyy-MM-dd') " + "from MapKalenderToHariLibur mapLibur "
+ "inner join mapLibur.tanggal kalender " + "inner join mapLibur.hariLibur hariLibur "
+ "where hariLibur.id in (8,17) " + "and to_char(kalender.tanggal,'yyyy')=:tahun "
+ "and mapLibur.statusEnabled is true")
List<String> getTglCutiBersama(@Param("tahun") String tahun);
@Query("select new Map(model.statusEnabled as statusEnabled,model.namaExternal as namaExternal,"
+ "to_char(kalender.tanggal,'dd-MM-yyyy') as tanggal,to_char(kalender.tanggal,'yyyy-MM-dd') as tanggalId,"
+ "model.reportDisplay as reportDisplay,model.id as id,model.kodeExternal as kodeExternal,"
+ "hariLibur.id as hariLiburId,hariLibur.namaHariLibur as hariLiburName,"
+ "model.noRec as noRec) "
+ "from MapKalenderToHariLibur model "
+ "inner join model.tanggal kalender "
+ "inner join model.hariLibur hariLibur "
+ "where model.statusEnabled is true "
+ "hariLibur.id as hariLiburId,hariLibur.namaHariLibur as hariLiburName," + "model.noRec as noRec) "
+ "from MapKalenderToHariLibur model " + "inner join model.tanggal kalender "
+ "inner join model.hariLibur hariLibur " + "where model.statusEnabled is true "
+ "and to_char(kalender.tanggal,'yyyy')>=:tahun")
public List<Map<String, Object>> getMappingHariLibur(@Param("tahun") String tahun);
List<Map<String, Object>> getMappingHariLibur(@Param("tahun") String tahun);
}

View File

@ -1564,7 +1564,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (CommonUtil.isNotNullOrEmpty(vo.getTanggal())) {
Kalender kalender = mapKalenderToHariLiburDao
.getKalender(new SimpleDateFormat("yyyy-MM-dd").format(vo.getTanggal().getTanggal()));
mapKalenderToHariLibur.setTgl(kalender);
mapKalenderToHariLibur.setTanggal(kalender);
}
if (CommonUtil.isNotNullOrEmpty(mapKalenderToHariLibur)) {
MapKalenderToHariLibur model = mapKalenderToHariLiburDao.save(mapKalenderToHariLibur);

View File

@ -1,73 +1,52 @@
package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import static javax.persistence.GenerationType.SEQUENCE;
/**
* class MapKalenderToHariLibur
*
* @author Generator
*/
@Entity // @Audited
@Getter
@Setter
@Entity
@Table(name = "MapKalenderToHariLibur_M")
public class MapKalenderToHariLibur extends BaseMaster {
private static final long serialVersionUID = -1571116407894714011L;
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "public.mapkalendertoharilibur_m_id_seq")
@SequenceGenerator(name = "public.mapkalendertoharilibur_m_id_seq", sequenceName = "public.mapkalendertoharilibur_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
@ManyToOne
@JoinColumn(name = "ObjectHariLiburFk")
@NotNull(message = "Kd Hari Libur tidak boleh kosong")
@Caption(value = "Object Hari Libur")
private HariLibur hariLibur;
public void setHariLibur(HariLibur hariLibur) {
this.hariLibur = hariLibur;
}
public HariLibur getHariLibur() {
return this.hariLibur;
}
@Column(name = "ObjectHariLiburFk", insertable = false, updatable = false)
private Integer hariLiburId;
@ManyToOne
@JoinColumn(name = "ObjectTanggalFk")
@JoinColumn(name = "ObjectTanggalFk")
@Caption(value = "Object Tanggal")
private Kalender tanggal;
public void setTgl(Kalender tanggal) {
this.tanggal = tanggal;
}
public Kalender getTgl() {
return this.tanggal;
}
@Column(name = "ObjectTanggalFk", insertable = false, updatable = false, nullable = false)
private Integer tanggalId;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.mapkalendertoharilibur_m_id_seq")
@javax.persistence.SequenceGenerator(name = "public.mapkalendertoharilibur_m_id_seq", sequenceName = "public.mapkalendertoharilibur_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
@Column(name = "is_cuti_bersama_ditangguhkan")
private Boolean isCutiBersamaDitangguhkan;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}

View File

@ -1,56 +1,26 @@
package com.jasamedika.medifirst2000.vo;
import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
/**
* class MapKalenderToHariLibur
* class MapKalenderToHariLibur
*
* @author Generator
*/
//@Entity
//@Table(name = "MapKalenderToHariLibur_M")
@Getter
@Setter
public class MapKalenderToHariLiburVO extends BaseMasterVO {
private HariVO hariLibur;
public void setHariLibur(HariVO hariLibur) {
this.hariLibur = hariLibur;
}
private HariLiburVO hariLibur;
@Column(name = "KdHariLibur", nullable = false )
public HariVO getHariLibur(){
return this.hariLibur;
}
@Column(name = "ObjectHariLiburFk", insertable=false,updatable=false)
private Integer hariLiburId;
private KalenderVO tanggal;
private KalenderVO tanggal;
public KalenderVO getTanggal() {
return tanggal;
}
public void setTanggal(KalenderVO tanggal) {
this.tanggal = tanggal;
}
@Column(name = "ObjectTanggalFk", insertable=false,updatable=false)
private Integer tanggalId;
private Boolean isCutiBersamaDitangguhkan;
}