diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapProdukPaketService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapProdukPaketService.java new file mode 100644 index 00000000..b92b04d7 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapProdukPaketService.java @@ -0,0 +1,7 @@ +package com.jasamedika.medifirst2000.service; + +import com.jasamedika.medifirst2000.vo.MapProdukPaketVO; + +public interface MapProdukPaketService { + void save(MapProdukPaketVO vo); +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapProdukPaketServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapProdukPaketServiceImpl.java new file mode 100644 index 00000000..36f8c10a --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapProdukPaketServiceImpl.java @@ -0,0 +1,40 @@ +package com.jasamedika.medifirst2000.service.impl; + +import com.jasamedika.medifirst2000.converter.base.BaseVoConverter; +import com.jasamedika.medifirst2000.dao.MapProdukPaketDao; +import com.jasamedika.medifirst2000.entities.MapProdukPaket; +import com.jasamedika.medifirst2000.entities.Produk; +import com.jasamedika.medifirst2000.service.MapProdukPaketService; +import com.jasamedika.medifirst2000.vo.MapProdukPaketVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Transactional +public class MapProdukPaketServiceImpl implements MapProdukPaketService { + + @Autowired + private BaseVoConverter mapProdukPaketConverter; + + @Autowired + private MapProdukPaketDao mapProdukPaketDao; + + @Override + public void save(MapProdukPaketVO vo) { + MapProdukPaket model = new MapProdukPaket(); + model = mapProdukPaketConverter.transferVOToModel(vo, model); + { + Produk paket = new Produk(); + paket.setId(vo.getPaket().getId()); + model.setPaket(paket); + } + { + Produk produkPaket = new Produk(); + produkPaket.setId(vo.getProdukPaket().getId()); + model.setProdukPaket(produkPaket); + } + model.setKdProfile((short) 0); + mapProdukPaketDao.save(model); + } +} diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java index 19da8f54..1fc5cf54 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java @@ -10,6 +10,7 @@ import com.jasamedika.medifirst2000.exception.ServiceVOException; import com.jasamedika.medifirst2000.service.*; import com.jasamedika.medifirst2000.util.rest.RestUtil; import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO; +import com.jasamedika.medifirst2000.vo.MapProdukPaketVO; import com.jasamedika.medifirst2000.vo.PelayananPasienVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,6 +44,9 @@ public class PelayananController extends LocaleController { @Autowired private SatuanStandarService satuanStandarService; + @Autowired + private MapProdukPaketService mapProdukPaketService; + @Autowired private MapProdukPaketToProdukService mapProdukPaketToProdukService; @@ -278,6 +282,26 @@ public class PelayananController extends LocaleController { } } + @RequestMapping(value = "/produk-paket/paket", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity simpanMappingListProdukPaket(HttpServletRequest request, + @RequestBody MapProdukPaketVO vo) { + try { + mapProdukPaketService.save(vo); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + return RestUtil.getJsonResponse(vo, HttpStatus.OK, mapHeaderMessage); + } catch (ServiceVOException e) { + LOGGER.error("Got exception {} when simpan mapping list produk paket", e.getMessage()); + Map error = new HashMap<>(); + error.put("bad_request", e.getMessage()); + return RestUtil.getJsonResponse(null, HttpStatus.BAD_REQUEST, error); + } catch (JpaSystemException jse) { + LOGGER.error("Got exception {} when simpan mapping list produk paket", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/produk-paket/produk", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity simpanMappingEntriProdukPaket(HttpServletRequest request, @RequestBody MapProdukPaketToProdukVO vo) {