perbaikan get mapping akomadasi karena lazy relation

This commit is contained in:
salmanoe 2021-01-15 08:56:18 +07:00
parent cd65e12b22
commit f276817f26
4 changed files with 94 additions and 32 deletions

View File

@ -1,6 +1,7 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
@ -11,7 +12,15 @@ import com.jasamedika.medifirst2000.entities.MapRuanganToAkomodasi;
@Repository("mapRuanganToAkomodasiDao")
public interface MapRuanganToAkomodasiDao extends CrudRepository<MapRuanganToAkomodasi, Integer> {
@Query("select model from MapRuanganToAkomodasi model where model.statusEnabled is true")
List<MapRuanganToAkomodasi> findAllActiveAkomodasi();
@Query("select new Map(model.id as id,model.isRawatGabung as isRawatGabung,"
+ "kamar.id as idKamar,kamar.namaKamar as namaKamar,"
+ "model.kdProfile as kdProfile,model.kodeExternal as kodeExternal,model.namaExternal as namaExternal,model.noRec as noRec,"
+ "produk.id as idProduk,produk.namaProduk as namaProduk," + "model.reportDisplay as reportDisplay,"
+ "ruangan.id as idRuangan,ruangan.namaRuangan as namaRuangan," + "model.statusEnabled as statusEnabled) "
+ "from MapRuanganToAkomodasi model " + "left join model.kamar kamar with kamar.statusEnabled is true "
+ "left join model.produk produk with produk.statusEnabled is true "
+ "left join model.ruangan ruangan with ruangan.statusEnabled is true "
+ "where model.statusEnabled is true")
List<Map<String, Object>> findAllActiveAkomodasi();
}

View File

@ -6,7 +6,8 @@ import java.util.Map;
import com.jasamedika.medifirst2000.entities.MapRuanganToAkomodasi;
import com.jasamedika.medifirst2000.vo.MapRuanganToAkomodasiVO;
public interface MapRuanganToAkomodasiService extends BaseVoService<MapRuanganToAkomodasi, MapRuanganToAkomodasiVO, Integer> {
public interface MapRuanganToAkomodasiService
extends BaseVoService<MapRuanganToAkomodasi, MapRuanganToAkomodasiVO, Integer> {
List<MapRuanganToAkomodasiVO> getAllActiveAkomodasi();

View File

@ -15,7 +15,10 @@ import com.jasamedika.medifirst2000.entities.MapRuanganToAkomodasi;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.MapRuanganToAkomodasiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.KamarVO;
import com.jasamedika.medifirst2000.vo.MapRuanganToAkomodasiVO;
import com.jasamedika.medifirst2000.vo.ProdukVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
@Service("mapRuanganToAkomodasiService")
public class MapRuanganToAkomodasiServiceImpl implements MapRuanganToAkomodasiService {
@ -31,7 +34,8 @@ public class MapRuanganToAkomodasiServiceImpl implements MapRuanganToAkomodasiSe
@Override
public MapRuanganToAkomodasiVO add(MapRuanganToAkomodasiVO vo) throws JpaSystemException, ServiceVOException {
MapRuanganToAkomodasi mappingAkomodasi = mapRuanganToAkomodasiConverter.transferVOToModel(vo, new MapRuanganToAkomodasi());
MapRuanganToAkomodasi mappingAkomodasi = mapRuanganToAkomodasiConverter.transferVOToModel(vo,
new MapRuanganToAkomodasi());
MapRuanganToAkomodasi resultModel = mapRuanganToAkomodasiDao.save(mappingAkomodasi);
MapRuanganToAkomodasiVO resultVo = new MapRuanganToAkomodasiVO();
@ -42,7 +46,8 @@ public class MapRuanganToAkomodasiServiceImpl implements MapRuanganToAkomodasiSe
@Override
public MapRuanganToAkomodasiVO update(MapRuanganToAkomodasiVO vo) throws JpaSystemException, ServiceVOException {
MapRuanganToAkomodasi mappingAkomodasiLama = mapRuanganToAkomodasiDao.findOne(vo.getId());
MapRuanganToAkomodasi mappingAkomodasiBaru = mapRuanganToAkomodasiConverter.transferVOToModel(vo, mappingAkomodasiLama);
MapRuanganToAkomodasi mappingAkomodasiBaru = mapRuanganToAkomodasiConverter.transferVOToModel(vo,
mappingAkomodasiLama);
MapRuanganToAkomodasi resultModel = mapRuanganToAkomodasiDao.save(mappingAkomodasiBaru);
MapRuanganToAkomodasiVO resultVo = new MapRuanganToAkomodasiVO();
@ -86,15 +91,62 @@ public class MapRuanganToAkomodasiServiceImpl implements MapRuanganToAkomodasiSe
@Override
public List<MapRuanganToAkomodasiVO> getAllActiveAkomodasi() {
List<MapRuanganToAkomodasiVO> result = new ArrayList<MapRuanganToAkomodasiVO>();
List<MapRuanganToAkomodasiVO> result = new ArrayList<>();
Iterable<MapRuanganToAkomodasi> models = mapRuanganToAkomodasiDao.findAllActiveAkomodasi();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (MapRuanganToAkomodasi model : models) {
MapRuanganToAkomodasiVO vo = new MapRuanganToAkomodasiVO();
vo = mapRuanganToAkomodasiConverter.transferModelToVO(model, vo);
result.add(vo);
List<Map<String, Object>> data = mapRuanganToAkomodasiDao.findAllActiveAkomodasi();
for (Map<String, Object> map : data) {
KamarVO kamar = new KamarVO();
RuanganVO ruangan = new RuanganVO();
ProdukVO produk = new ProdukVO();
if (CommonUtil.isNotNullOrEmpty(map.get("idKamar"))) {
kamar.setId(Integer.valueOf(map.get("idKamar").toString()));
kamar.setNamaKamar(map.get("namaKamar").toString());
}
if (CommonUtil.isNotNullOrEmpty(map.get("idRuangan"))) {
ruangan.setId(Integer.valueOf(map.get("idRuangan").toString()));
ruangan.setNamaRuangan(map.get("namaRuangan").toString());
}
if (CommonUtil.isNotNullOrEmpty(map.get("idProduk"))) {
produk.setId(Integer.valueOf(map.get("idProduk").toString()));
produk.setNamaProduk(map.get("namaProduk").toString());
}
map.put("kamar", kamar);
map.put("ruangan", ruangan);
map.put("produk", produk);
MapRuanganToAkomodasiVO rsMap = new MapRuanganToAkomodasiVO();
rsMap.setId(Integer.valueOf(map.get("id").toString()));
if (CommonUtil.isNotNullOrEmpty(map.get("isRawatGabung"))) {
rsMap.setIsRawatGabung(Integer.valueOf(map.get("isRawatGabung").toString()));
}
if (CommonUtil.isNotNullOrEmpty(kamar)) {
rsMap.setKamar(kamar);
}
if (CommonUtil.isNotNullOrEmpty(map.get("kdProfile"))) {
rsMap.setKdProfile(Short.valueOf(map.get("kdProfile").toString()));
}
if (CommonUtil.isNotNullOrEmpty(map.get("kodeExternal"))) {
rsMap.setKodeExternal(map.get("kodeExternal").toString());
}
if (CommonUtil.isNotNullOrEmpty(map.get("namaExternal"))) {
rsMap.setNamaExternal(map.get("namaExternal").toString());
}
if (CommonUtil.isNotNullOrEmpty(map.get("noRec"))) {
rsMap.setNoRec(map.get("noRec").toString());
}
if (CommonUtil.isNotNullOrEmpty(produk)) {
rsMap.setProduk(produk);
}
if (CommonUtil.isNotNullOrEmpty(map.get("reportDisplay"))) {
rsMap.setReportDisplay(map.get("reportDisplay").toString());
}
if (CommonUtil.isNotNullOrEmpty(ruangan)) {
rsMap.setRuangan(ruangan);
}
if (CommonUtil.isNotNullOrEmpty(map.get("statusEnabled"))) {
rsMap.setStatusEnabled(Boolean.valueOf(map.get("statusEnabled").toString()));
}
result.add(rsMap);
}
return result;