Create ResepDokterService

This commit is contained in:
salmanoersabhk 2022-08-10 19:03:52 +07:00
parent a41dd2c894
commit 8503091f26
6 changed files with 150 additions and 43 deletions

View File

@ -1,6 +1,11 @@
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.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.ResepDokter;
@ -12,4 +17,12 @@ import com.jasamedika.medifirst2000.entities.ResepDokter;
*/
@Repository("resepDokterDao")
public interface ResepDokterDao extends PagingAndSortingRepository<ResepDokter, String> {
@Query("select new Map(so.noRec as noRec," + "so.tglOrder as tglOrder," + "so.masalah as alergi,"
+ "so.diagnosis as beratBadan," + "ru.namaRuangan as ruangan," + "pg.namaLengkap as dokter,"
+ "pd.noRegistrasi as noRegistrasi," + "ps.namaPasien as namaPasien," + "ps.tglLahir as tglLahir,"
+ "ps.noCm as noCm," + "rd.racikanKe as rKe," + "rd.namaObat as obat," + "rd.qtyProduk as jumlah,"
+ "rd.keteranganLainnya as instruksi," + "rd.keteranganPakai as aturanPakai) " + "from ResepDokter rd "
+ "left join rd.strukOrder so " + "left join rd.ruangan ru " + "left join so.noRegistrasi pd "
+ "left join so.noCm ps " + "inner join so.pegawaiOrder pg " + "where rd.strukOrderId = :strukOrderId")
List<Map<String, Object>> findByStrukOrderId(@Param("strukOrderId") String strukOrderId);
}

View File

@ -1,5 +1,8 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.ResepDokter;
import com.jasamedika.medifirst2000.vo.ResepDokterVO;
@ -9,4 +12,5 @@ import com.jasamedika.medifirst2000.vo.ResepDokterVO;
*
*/
public interface ResepDokterService extends BaseVoService<ResepDokter, ResepDokterVO, String> {
public List<Map<String, Object>> findByStrukOrderId(String strukOrderId);
}

View File

@ -1,14 +1,32 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.ResepDokterDao;
import com.jasamedika.medifirst2000.entities.JenisKemasan;
import com.jasamedika.medifirst2000.entities.JenisObat;
import com.jasamedika.medifirst2000.entities.Produk;
import com.jasamedika.medifirst2000.entities.ResepDokter;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.entities.SatuanStandar;
import com.jasamedika.medifirst2000.entities.StrukOrder;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.ResepDokterService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.JenisKemasanVO;
import com.jasamedika.medifirst2000.vo.JenisObatVO;
import com.jasamedika.medifirst2000.vo.ProdukVO;
import com.jasamedika.medifirst2000.vo.ResepDokterVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
import com.jasamedika.medifirst2000.vo.SatuanStandarVO;
import com.jasamedika.medifirst2000.vo.StrukOrderVO;
/**
* @author salmanoe
@ -17,30 +35,102 @@ import com.jasamedika.medifirst2000.vo.ResepDokterVO;
*/
@Service("resepDokterService")
public class ResepDokterServiceImpl extends BaseVoServiceImpl implements ResepDokterService {
@Autowired
private BaseConverterImpl<ResepDokterVO, ResepDokter> resepDokterConverter;
@Autowired
private BaseConverterImpl<ProdukVO, Produk> produkConverter;
@Autowired
private BaseConverterImpl<RuanganVO, Ruangan> ruanganConverter;
@Autowired
private BaseConverterImpl<SatuanStandarVO, SatuanStandar> satuanConverter;
@Autowired
private BaseConverterImpl<StrukOrderVO, StrukOrder> strukOrderConverter;
@Autowired
private BaseConverterImpl<JenisObatVO, JenisObat> jenisObatConverter;
@Autowired
private BaseConverterImpl<JenisKemasanVO, JenisKemasan> jenisKemasanConverter;
@Autowired
private ResepDokterDao resepDokterDao;
@Override
public ResepDokterVO add(ResepDokterVO vo) throws JpaSystemException, ServiceVOException {
return null;
Produk produk = produkConverter.transferVOToModel(vo.getProduk(), new Produk());
Ruangan ruangan = ruanganConverter.transferVOToModel(vo.getRuangan(), new Ruangan());
SatuanStandar satuan = satuanConverter.transferVOToModel(vo.getSatuanStandard(), new SatuanStandar());
StrukOrder strukOrder = strukOrderConverter.transferVOToModel(vo.getStrukOrder(), new StrukOrder());
JenisObat jenisObat = jenisObatConverter.transferVOToModel(vo.getJenisObat(), new JenisObat());
JenisKemasan jenisKemasan = jenisKemasanConverter.transferVOToModel(vo.getJenisKemasan(), new JenisKemasan());
ResepDokter resepDokter = resepDokterConverter.transferVOToModel(vo, new ResepDokter());
resepDokter.setProduk(produk);
resepDokter.setRuangan(ruangan);
resepDokter.setSatuanStandard(satuan);
resepDokter.setStrukOrder(strukOrder);
resepDokter.setJenisObat(jenisObat);
resepDokter.setJenisKemasan(jenisKemasan);
ResepDokter resultModel = resepDokterDao.save(resepDokter);
ResepDokterVO resultVO = new ResepDokterVO();
resultVO = resepDokterConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public ResepDokterVO update(ResepDokterVO vo) throws JpaSystemException, ServiceVOException {
return null;
ResepDokter resepDokterLama = resepDokterDao.findOne(vo.getNoRec());
Produk produk = produkConverter.transferVOToModel(vo.getProduk(), new Produk());
Ruangan ruangan = ruanganConverter.transferVOToModel(vo.getRuangan(), new Ruangan());
SatuanStandar satuan = satuanConverter.transferVOToModel(vo.getSatuanStandard(), new SatuanStandar());
StrukOrder strukOrder = strukOrderConverter.transferVOToModel(vo.getStrukOrder(), new StrukOrder());
JenisObat jenisObat = jenisObatConverter.transferVOToModel(vo.getJenisObat(), new JenisObat());
JenisKemasan jenisKemasan = jenisKemasanConverter.transferVOToModel(vo.getJenisKemasan(), new JenisKemasan());
ResepDokter resepDokterBaru = resepDokterConverter.transferVOToModel(vo, resepDokterLama);
resepDokterBaru.setProduk(produk);
resepDokterBaru.setRuangan(ruangan);
resepDokterBaru.setSatuanStandard(satuan);
resepDokterBaru.setStrukOrder(strukOrder);
resepDokterBaru.setJenisObat(jenisObat);
resepDokterBaru.setJenisKemasan(jenisKemasan);
ResepDokter resultModel = resepDokterDao.save(resepDokterBaru);
ResepDokterVO resultVO = new ResepDokterVO();
resultVO = resepDokterConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(String key) throws JpaSystemException {
return null;
resepDokterDao.delete(key);
return true;
}
@Override
public ResepDokterVO findById(String key) throws JpaSystemException {
return null;
ResepDokterVO result = new ResepDokterVO();
ResepDokter resepDokter = resepDokterDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(resepDokter)) {
result = resepDokterConverter.transferModelToVO(resepDokter, result);
}
return result;
}
@Override
public List<ResepDokterVO> findAll() throws JpaSystemException {
return null;
List<ResepDokterVO> result = new ArrayList<ResepDokterVO>();
Iterable<ResepDokter> models = resepDokterDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (ResepDokter model : models) {
ResepDokterVO vo = new ResepDokterVO();
vo = resepDokterConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
@ -49,4 +139,13 @@ public class ResepDokterServiceImpl extends BaseVoServiceImpl implements ResepDo
return null;
}
@Override
public List<Map<String, Object>> findByStrukOrderId(String strukOrderId) {
List<Map<String, Object>> result = resepDokterDao.findByStrukOrderId(strukOrderId);
if (CommonUtil.isNotNullOrEmpty(result)) {
return result;
}
return null;
}
}

View File

@ -3,15 +3,11 @@ package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.base.BaseModel;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
/**
@ -21,19 +17,10 @@ import com.jasamedika.medifirst2000.helper.Caption;
*/
@Entity
@Table(name = "t_resep_dokter")
public class ResepDokter extends BaseModel {
public class ResepDokter extends BaseTransaction {
private static final long serialVersionUID = 929596194001582840L;
private static final long serialVersionUID = 5479407357558365912L;
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid")
@Column(columnDefinition = "CHAR(32)", unique = true)
@Id
public String noRec;
@Column(name = "statusEnabled")
public Boolean statusEnabled;
@Column(name = "keteranganlainnya", length = 150)
@Caption(value = "Keterangan Lainnya")
private String keteranganLainnya;
@ -122,14 +109,6 @@ public class ResepDokter extends BaseModel {
this.noRec = noRec;
}
public Boolean getStatusEnabled() {
return statusEnabled;
}
public void setStatusEnabled(Boolean statusEnabled) {
this.statusEnabled = statusEnabled;
}
public String getKeteranganLainnya() {
return keteranganLainnya;
}

View File

@ -1,6 +1,6 @@
package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.base.vo.BaseModelVO;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
/**
@ -8,11 +8,7 @@ import com.jasamedika.medifirst2000.helper.Caption;
* @since Aug 9, 2022
*
*/
public class ResepDokterVO extends BaseModelVO {
public String noRec;
public Boolean statusEnabled;
public class ResepDokterVO extends BaseTransactionVO {
@Caption(value = "Keterangan Lainnya")
private String keteranganLainnya;
@ -76,14 +72,6 @@ public class ResepDokterVO extends BaseModelVO {
this.noRec = noRec;
}
public Boolean getStatusEnabled() {
return statusEnabled;
}
public void setStatusEnabled(Boolean statusEnabled) {
this.statusEnabled = statusEnabled;
}
public String getKeteranganLainnya() {
return keteranganLainnya;
}

View File

@ -27,6 +27,7 @@ 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.ResepDokterService;
import com.jasamedika.medifirst2000.service.SatuanStandarService;
import com.jasamedika.medifirst2000.util.rest.RestUtil;
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
@ -49,6 +50,9 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
@Autowired
private SatuanStandarService satuanStandarService;
@Autowired
private ResepDokterService resepDokterService;
@RequestMapping(value = "/calculate-indikator-pelayanan", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> calculateIndikatorPelayanan(HttpServletRequest request,
@RequestParam("tahun") String tahun) throws ParseException {
@ -204,4 +208,24 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
}
}
@RequestMapping(value = "/get-resep-dokter", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getResepDokter(HttpServletRequest request,
@RequestParam(value = "struk_order_id") String strukOrderId) {
try {
List<Map<String, Object>> result = resepDokterService.findByStrukOrderId(strukOrderId);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException e) {
LOGGER.error("Got exception {} when get resep dokter", e.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get resep dokter", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}