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;
@ -10,8 +11,16 @@ 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,10 +6,11 @@ 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();
List<Map<String, Object>> getAkomodasiRuanganByMapProduk(Integer idRuangan);
}

View File

@ -15,25 +15,29 @@ 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 {
@Autowired
private MapRuanganToAkomodasiConverter mapRuanganToAkomodasiConverter;
@Autowired
private MapRuanganToAkomodasiDao mapRuanganToAkomodasiDao;
@Autowired
private MapRuanganToProdukDao mapRuanganToProdukDao;
@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();
resultVo = mapRuanganToAkomodasiConverter.transferModelToVO(resultModel, resultVo);
return resultVo;
@ -42,9 +46,10 @@ 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();
resultVo = mapRuanganToAkomodasiConverter.transferModelToVO(resultModel, resultVo);
return resultVo;
@ -59,47 +64,94 @@ public class MapRuanganToAkomodasiServiceImpl implements MapRuanganToAkomodasiSe
@Override
public MapRuanganToAkomodasiVO findById(Integer key) throws JpaSystemException {
MapRuanganToAkomodasiVO result = new MapRuanganToAkomodasiVO();
MapRuanganToAkomodasi mappingAkomodasi = mapRuanganToAkomodasiDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(mappingAkomodasi)) {
result = mapRuanganToAkomodasiConverter.transferModelToVO(mappingAkomodasi, result);
}
return result;
}
@Override
public List<MapRuanganToAkomodasiVO> findAll() throws JpaSystemException {
List<MapRuanganToAkomodasiVO> result = new ArrayList<MapRuanganToAkomodasiVO>();
Iterable<MapRuanganToAkomodasi> models = mapRuanganToAkomodasiDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (MapRuanganToAkomodasi model : models) {
MapRuanganToAkomodasiVO vo = new MapRuanganToAkomodasiVO();
MapRuanganToAkomodasiVO vo = new MapRuanganToAkomodasiVO();
vo = mapRuanganToAkomodasiConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
public List<MapRuanganToAkomodasiVO> getAllActiveAkomodasi() {
List<MapRuanganToAkomodasiVO> result = new ArrayList<MapRuanganToAkomodasiVO>();
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<MapRuanganToAkomodasiVO> result = new ArrayList<>();
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;
}
@Override
public List<Map<String, Object>> getAkomodasiRuanganByMapProduk(Integer idRuangan) {
List<Map<String, Object>> result = mapRuanganToProdukDao.findProdukRuanganByMapProduk(idRuangan, "Akomodasi");
@ -111,5 +163,5 @@ public class MapRuanganToAkomodasiServiceImpl implements MapRuanganToAkomodasiSe
String sort, String dir) {
return null;
}
}

View File

@ -143,7 +143,7 @@ public class AkomodasiController extends LocaleController<MapRuanganToAkomodasiV
}
return RestUtil.getJsonResponse(result, HttpStatus.OK);
}
@RequestMapping(value = "/get-akomodasi-ruangan-by-mapping-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Map<String, Object>>> getAkomodasiRuanganByMappingProduk(HttpServletRequest request,
@RequestParam(value = "idRuangan", required = true) Integer idRuangan) {