Add ProdukFarmakologiService
Pembuatan crud master produk farmakologi
This commit is contained in:
parent
f3e3477739
commit
284b8849de
@ -0,0 +1,59 @@
|
||||
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.ProdukFarmakologi;
|
||||
|
||||
@Repository("produkFarmakologiDao")
|
||||
public interface ProdukFarmakologiDao extends PagingAndSortingRepository<ProdukFarmakologi, Integer> {
|
||||
|
||||
String allProduk = "select new Map(prf.id as produkId,prf.namaProduk as namaProduk,"
|
||||
+ "prf.kdProduk as kdProduk,(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' "
|
||||
+ "when prf.kdProduk = 2 then 'pelayanan Pasien (Nontarif)' "
|
||||
+ "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as kodeProduk) " + "from ProdukFarmakologi prf "
|
||||
+ "where prf.statusEnabled is true";
|
||||
|
||||
String namaProduk = " and lower(prf.namaProduk) like %:namaProduk%";
|
||||
|
||||
String kdProduk = " and prf.kdProduk = :kdProduk";
|
||||
|
||||
String sortAllProduk = " order by prf.namaProduk, prf.kdProduk asc";
|
||||
|
||||
String listIdProduk = " and prf.id in (:listProdukId)";
|
||||
|
||||
@Query(allProduk + sortAllProduk)
|
||||
public List<Map<String, Object>> findProdukFarmakologi();
|
||||
|
||||
@Query(allProduk + namaProduk + sortAllProduk)
|
||||
public List<Map<String, Object>> findProdukFarmakologiByProduk(@Param("namaProduk") String namaProduk);
|
||||
|
||||
@Query(allProduk + kdProduk + sortAllProduk)
|
||||
public List<Map<String, Object>> findProdukFarmakologiByKdProduk(@Param("kdProduk") Short kdProduk);
|
||||
|
||||
@Query(allProduk + namaProduk + kdProduk + sortAllProduk)
|
||||
public List<Map<String, Object>> findProdukFarmakologiByProduk(@Param("namaProduk") String namaProduk,
|
||||
@Param("kdProduk") Short kdProduk);
|
||||
|
||||
@Query(allProduk + listIdProduk + sortAllProduk)
|
||||
public List<Map<String, Object>> findProdukFarmakologi(@Param("listProdukId") List<Integer> listIdProduk);
|
||||
|
||||
String dupCheck = "select prf.id from ProdukFarmakologi prf " + "where prf.statusEnabled is true "
|
||||
+ "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk";
|
||||
|
||||
String notIdProduk = " and prf.id <> :produkId";
|
||||
|
||||
@Query(dupCheck)
|
||||
public List<Integer> findDupProduk(@Param("patternText") String patternText,
|
||||
@Param("namaProduk") String namaProduk);
|
||||
|
||||
@Query(dupCheck + notIdProduk)
|
||||
public List<Integer> findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk,
|
||||
@Param("produkId") Integer idProduk);
|
||||
|
||||
}
|
||||
@ -1,6 +1,3 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.ProdukFarmakologi;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukFarmakologiVO;
|
||||
|
||||
public interface ProdukFarmakologiService extends BaseVoService<ProdukFarmakologi, ProdukFarmakologiVO, Integer> {
|
||||
|
||||
public List<Map<String, Object>> findProdukFarmakologi(String namaProduk, Short kdProduk) throws JpaSystemException;
|
||||
|
||||
public List<Map<String, Object>> findDupProdukFarmakologi(String namaProduk, Integer idProduk)
|
||||
throws JpaSystemException;
|
||||
|
||||
}
|
||||
@ -0,0 +1,139 @@
|
||||
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.ProdukFarmakologiDao;
|
||||
import com.jasamedika.medifirst2000.dao.SettingDataFixedDao;
|
||||
import com.jasamedika.medifirst2000.entities.ProdukFarmakologi;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.ProdukFarmakologiService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukFarmakologiVO;
|
||||
|
||||
@Service("produkFarmakologiService")
|
||||
public class ProdukFarmakologiServiceImpl extends BaseVoServiceImpl implements ProdukFarmakologiService {
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<ProdukFarmakologiVO, ProdukFarmakologi> produkFarmakologiConverter;
|
||||
|
||||
@Autowired
|
||||
private ProdukFarmakologiDao produkFarmakologiDao;
|
||||
|
||||
@Autowired
|
||||
private SettingDataFixedDao settingDataFixedDao;
|
||||
|
||||
@Override
|
||||
public ProdukFarmakologiVO add(ProdukFarmakologiVO vo) throws JpaSystemException, ServiceVOException {
|
||||
ProdukFarmakologi produkFarmakologi = produkFarmakologiConverter.transferVOToModel(vo, new ProdukFarmakologi());
|
||||
|
||||
ProdukFarmakologi resultModel = produkFarmakologiDao.save(produkFarmakologi);
|
||||
|
||||
ProdukFarmakologiVO resultVO = new ProdukFarmakologiVO();
|
||||
resultVO = produkFarmakologiConverter.transferModelToVO(resultModel, resultVO);
|
||||
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProdukFarmakologiVO update(ProdukFarmakologiVO vo) throws JpaSystemException, ServiceVOException {
|
||||
ProdukFarmakologi produkLama = produkFarmakologiDao.findOne(vo.getId());
|
||||
|
||||
ProdukFarmakologi produkBaru = produkFarmakologiConverter.transferVOToModel(vo, produkLama);
|
||||
|
||||
ProdukFarmakologi resultModel = produkFarmakologiDao.save(produkBaru);
|
||||
|
||||
ProdukFarmakologiVO resultVO = new ProdukFarmakologiVO();
|
||||
resultVO = produkFarmakologiConverter.transferModelToVO(resultModel, resultVO);
|
||||
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean delete(Integer key) throws JpaSystemException {
|
||||
produkFarmakologiDao.delete(key);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProdukFarmakologiVO findById(Integer key) throws JpaSystemException {
|
||||
ProdukFarmakologiVO result = new ProdukFarmakologiVO();
|
||||
|
||||
ProdukFarmakologi produkFarmakologi = produkFarmakologiDao.findOne(key);
|
||||
if (CommonUtil.isNotNullOrEmpty(produkFarmakologi)) {
|
||||
result = produkFarmakologiConverter.transferModelToVO(produkFarmakologi, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProdukFarmakologiVO> findAll() throws JpaSystemException {
|
||||
List<ProdukFarmakologiVO> result = new ArrayList<ProdukFarmakologiVO>();
|
||||
|
||||
Iterable<ProdukFarmakologi> models = produkFarmakologiDao.findAll();
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
for (ProdukFarmakologi model : models) {
|
||||
ProdukFarmakologiVO vo = new ProdukFarmakologiVO();
|
||||
vo = produkFarmakologiConverter.transferModelToVO(model, vo);
|
||||
result.add(vo);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
|
||||
String sort, String dir) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findProdukFarmakologi(String namaProduk, Short kdProduk)
|
||||
throws JpaSystemException {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(namaProduk) && CommonUtil.isNullOrEmpty(kdProduk)) {
|
||||
result = produkFarmakologiDao.findProdukFarmakologiByProduk(namaProduk);
|
||||
} else if (CommonUtil.isNullOrEmpty(namaProduk) && CommonUtil.isNotNullOrEmpty(kdProduk)) {
|
||||
result = produkFarmakologiDao.findProdukFarmakologiByKdProduk(kdProduk);
|
||||
} else if (CommonUtil.isNotNullOrEmpty(namaProduk) && CommonUtil.isNotNullOrEmpty(kdProduk)) {
|
||||
result = produkFarmakologiDao.findProdukFarmakologiByProduk(namaProduk, kdProduk);
|
||||
} else {
|
||||
result = produkFarmakologiDao.findProdukFarmakologi();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findDupProdukFarmakologi(String namaProduk, Integer idProduk)
|
||||
throws JpaSystemException {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Integer> listId = new ArrayList<>();
|
||||
|
||||
String patternText = settingDataFixedDao.getSettingDataFixed("patternTextDuplicate");
|
||||
String replacedNamaProduk = namaProduk.replaceAll(patternText, "").toLowerCase();
|
||||
if (CommonUtil.isNotNullOrEmpty(idProduk)) {
|
||||
listId = produkFarmakologiDao.findDupProduk(patternText, replacedNamaProduk, idProduk);
|
||||
} else {
|
||||
listId = produkFarmakologiDao.findDupProduk(patternText, replacedNamaProduk);
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(listId)) {
|
||||
result = produkFarmakologiDao.findProdukFarmakologi(listId);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.SequenceGenerator;
|
||||
import javax.persistence.Table;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.BaseActive;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
@Entity
|
||||
@Table(name = "produknakes_m")
|
||||
public class ProdukFarmakologi extends BaseActive {
|
||||
|
||||
@NotNull(message = "Nama Produk tidak boleh kosong")
|
||||
@Column(name = "namaproduk", nullable = false)
|
||||
@Caption(value = "Nama Produk")
|
||||
private String namaProduk;
|
||||
|
||||
/*
|
||||
* 1-Pelayanan Pasien (Tarif), 2-pelayanan Pasien (Nontarif), 3-Pelayanan
|
||||
* Nonpasien
|
||||
*/
|
||||
@NotNull(message = "Kode Produk tidak boleh kosong")
|
||||
@Column(name = "kdproduk", nullable = false)
|
||||
@Caption(value = "Kode Produk")
|
||||
private Short kdProduk;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.produkfarmakologi_m_id_seq")
|
||||
@SequenceGenerator(name = "public.produkfarmakologi_m_id_seq", sequenceName = "public.produkfarmakologi_m_id_seq", allocationSize = 1)
|
||||
@Column(name = "id")
|
||||
protected Integer id;
|
||||
|
||||
public String getNamaProduk() {
|
||||
return namaProduk;
|
||||
}
|
||||
|
||||
public void setNamaProduk(String namaProduk) {
|
||||
this.namaProduk = namaProduk;
|
||||
}
|
||||
|
||||
public Short getKdProduk() {
|
||||
return kdProduk;
|
||||
}
|
||||
|
||||
public void setKdProduk(Short kdProduk) {
|
||||
this.kdProduk = kdProduk;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
}
|
||||
@ -23,6 +23,9 @@ public class ProdukNakes extends BaseActive {
|
||||
@Caption(value = "Nama Produk")
|
||||
private String namaProduk;
|
||||
|
||||
/*
|
||||
* 1-Pelayanan Pasien, 2-Nonpelayanan Pasien
|
||||
*/
|
||||
@NotNull(message = "Kode Produk tidak boleh kosong")
|
||||
@Column(name = "kdproduk", nullable = false)
|
||||
@Caption(value = "Kode Produk")
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseActiveVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
public class ProdukFarmakologiVO extends BaseActiveVO {
|
||||
|
||||
@Caption(value = "Nama Produk")
|
||||
private String namaProduk;
|
||||
|
||||
@Caption(value = "Kode Produk")
|
||||
private Short kdProduk;
|
||||
|
||||
protected Integer id;
|
||||
|
||||
public String getNamaProduk() {
|
||||
return namaProduk;
|
||||
}
|
||||
|
||||
public void setNamaProduk(String namaProduk) {
|
||||
this.namaProduk = namaProduk;
|
||||
}
|
||||
|
||||
public Short getKdProduk() {
|
||||
return kdProduk;
|
||||
}
|
||||
|
||||
public void setKdProduk(Short kdProduk) {
|
||||
this.kdProduk = kdProduk;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
}
|
||||
@ -703,5 +703,6 @@
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.MapJabatanProfesi"/>
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.MapFotoProfilPegawai"/>
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.MapProdukKelompokKerja"/>
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.ProdukFarmakologi"/>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
|
||||
@ -41,6 +41,7 @@ import com.jasamedika.medifirst2000.service.MapProdukKelompokKerjaService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananNakesService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienNakesService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienPerawatService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukFarmakologiService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukNakesService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukPerawatService;
|
||||
import com.jasamedika.medifirst2000.service.ProfesiService;
|
||||
@ -65,6 +66,7 @@ import com.jasamedika.medifirst2000.vo.MapProdukKelompokKerjaVO;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananNakesVO;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienNakesVO;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienPerawatVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukFarmakologiVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukPerawatVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProfesiVO;
|
||||
@ -154,6 +156,9 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
@Autowired
|
||||
private MapProdukKelompokKerjaService mapProdukKelompokKerjaService;
|
||||
|
||||
@Autowired
|
||||
private ProdukFarmakologiService produkFarmakologiService;
|
||||
|
||||
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
|
||||
try {
|
||||
@ -2404,4 +2409,72 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/save-produk-farmakologi", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<ProdukFarmakologiVO> saveProdukFarmakologi(HttpServletRequest request,
|
||||
@Valid @RequestBody ProdukFarmakologiVO vo) {
|
||||
try {
|
||||
ProdukFarmakologiVO result = new ProdukFarmakologiVO();
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
|
||||
result = produkFarmakologiService.update(vo);
|
||||
} else {
|
||||
result = produkFarmakologiService.add(vo);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
|
||||
} else {
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE);
|
||||
}
|
||||
} catch (ServiceVOException sve) {
|
||||
LOGGER.error("Got exception {} when add/update master produk kelompok kerja farmakologi", sve.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when add/update master produk kelompok kerja farmakologi", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/get-produk-farmakologi", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getProdukFarmakologi(HttpServletRequest request,
|
||||
@RequestParam(value = "namaProduk", required = false) String namaProduk,
|
||||
@RequestParam(value = "kdProduk", required = false) Short kdProduk) {
|
||||
try {
|
||||
List<Map<String, Object>> result = produkFarmakologiService.findProdukFarmakologi(namaProduk, kdProduk);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException sve) {
|
||||
LOGGER.error("Got exception {} when get master produk kelompok kerja farmakologi", sve.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when get master produk kelompok kerja farmakologi", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/get-duplicate-produk-farmakolgi", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getDuplikatProdukFarmakologi(HttpServletRequest request,
|
||||
@RequestParam(value = "namaProduk", required = true) String namaProduk,
|
||||
@RequestParam(value = "produkId", required = false) Integer idProduk) {
|
||||
try {
|
||||
List<Map<String, Object>> result = produkFarmakologiService.findDupProdukFarmakologi(namaProduk, idProduk);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException sve) {
|
||||
LOGGER.error("Got exception {} when get duplikat produk kelompok kerja farmakologi", sve.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when get duplikat produk kelompok kerja farmakologi", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user