Merge branch 'dev'

This commit is contained in:
Salman Manoe 2023-09-21 23:12:27 +07:00
commit 0c52c64f79
6 changed files with 131 additions and 6 deletions

View File

@ -0,0 +1,9 @@
package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.vo.MapProdukPaketVO;
import java.util.List;
public interface MapProdukPaketService {
void saveAll(List<MapProdukPaketVO> vos);
}

View File

@ -10,9 +10,11 @@ import java.util.List;
* @since 7 Aug 2023
*/
public interface MapProdukPaketToProdukService {
void saveAll(List<MapProdukPaketToProdukVO> vos);
/**
* Menyimpan mapping paket dan produk yang baru
*
*
* @param vo
* virtual object sebagai data transfer object
*/

View File

@ -0,0 +1,47 @@
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;
import java.util.ArrayList;
import java.util.List;
@Service
@Transactional
public class MapProdukPaketServiceImpl implements MapProdukPaketService {
@Autowired
private BaseVoConverter<MapProdukPaketVO, MapProdukPaket> mapProdukPaketConverter;
@Autowired
private MapProdukPaketDao mapProdukPaketDao;
@Override
public void saveAll(List<MapProdukPaketVO> vos) {
List<MapProdukPaket> models = new ArrayList<>();
vos.forEach(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);
models.add(model);
});
mapProdukPaketDao.save(models);
}
}

View File

@ -39,6 +39,28 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
@Autowired
private ProdukDao produkDao;
@Override
public void saveAll(List<MapProdukPaketToProdukVO> vos) {
List<MapProdukPaketToProduk> models = new ArrayList<>();
vos.forEach(vo -> {
MapProdukPaketToProduk model = new MapProdukPaketToProduk();
model = mapPaketProdukConverter.transferVOToModel(vo, model);
{
MapProdukPaket mapProdukPaket = new MapProdukPaket();
mapProdukPaket.setNoRec(vo.getProdukPaket().getNoRec());
model.setProdukPaket(mapProdukPaket);
}
{
Produk produk = new Produk();
produk.setId(vo.getProduk().getId());
model.setProduk(produk);
}
model.setKdProfile((short) 0);
models.add(model);
});
mapProdukPaketToProdukDao.save(models);
}
@Override
public void save(MapProdukPaketToProdukVO vo) {
MapProdukPaketToProduk model = new MapProdukPaketToProduk();

View File

@ -28,7 +28,7 @@ public class MapProdukPaketToProduk extends BaseTransaction {
@Caption(value = "Mapping produk paket")
private MapProdukPaket produkPaket;
@Column(name = "mappaketfk", insertable = false, updatable = false, nullable = false)
@Column(name = "mappaketfk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
private String produkPaketId;
@ManyToOne(fetch = LAZY)

View File

@ -7,11 +7,10 @@ import com.jasamedika.medifirst2000.core.web.WebConstants;
import com.jasamedika.medifirst2000.dto.BatalPaketProdukDto;
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.PasienDaftarService;
import com.jasamedika.medifirst2000.service.PelayananPasienService;
import com.jasamedika.medifirst2000.service.ProdukService;
import com.jasamedika.medifirst2000.service.SatuanStandarService;
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;
@ -45,6 +44,12 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
@Autowired
private SatuanStandarService satuanStandarService;
@Autowired
private MapProdukPaketService mapProdukPaketService;
@Autowired
private MapProdukPaketToProdukService mapProdukPaketToProdukService;
@RequestMapping(value = "/calculate-indikator-pelayanan", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> calculateIndikatorPelayanan(HttpServletRequest request,
@RequestParam("tahun") String tahun) {
@ -276,4 +281,44 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/produk-paket/paket", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> simpanMappingListProdukPaket(HttpServletRequest request,
@RequestBody List<MapProdukPaketVO> vos) {
try {
mapProdukPaketService.saveAll(vos);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(vos, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException e) {
LOGGER.error("Got exception {} when simpan mapping list produk paket", e.getMessage());
Map<String, String> 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<Object> simpanMappingEntriProdukPaket(HttpServletRequest request,
@RequestBody List<MapProdukPaketToProdukVO> vos) {
try {
mapProdukPaketToProdukService.saveAll(vos);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(vos, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException e) {
LOGGER.error("Got exception {} when simpan mapping entri produk paket", e.getMessage());
Map<String, String> 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 entri produk paket", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}