diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/CssdBmhpServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/CssdBmhpServiceImpl.java index 5cf86ef9..b3804110 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/CssdBmhpServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/CssdBmhpServiceImpl.java @@ -13,7 +13,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.jasamedika.medifirst2000.converter.base.BaseVoConverter; -import com.jasamedika.medifirst2000.dao.KelompokTransaksiDao; import com.jasamedika.medifirst2000.dao.ProdukDao; import com.jasamedika.medifirst2000.dao.ProdukFormulaProduksiDao; import com.jasamedika.medifirst2000.dao.ProdukProduksiDao; @@ -31,7 +30,6 @@ import com.jasamedika.medifirst2000.entities.KelompokTransaksi; import com.jasamedika.medifirst2000.entities.Produk; import com.jasamedika.medifirst2000.entities.ProdukFormulaProduksi; import com.jasamedika.medifirst2000.entities.ProdukProduksi; -import com.jasamedika.medifirst2000.entities.Rekanan; import com.jasamedika.medifirst2000.entities.Ruangan; import com.jasamedika.medifirst2000.entities.SatuanStandar; import com.jasamedika.medifirst2000.entities.StokProdukDetail; @@ -49,45 +47,43 @@ import com.jasamedika.medifirst2000.vo.CssdBmhpDetailVO; import com.jasamedika.medifirst2000.vo.CssdBmhpHeaderVO; import com.jasamedika.medifirst2000.vo.CssdProduksiBmhpDetailVO; import com.jasamedika.medifirst2000.vo.CssdProduksiBmhpHeaderVO; -import com.jasamedika.medifirst2000.vo.DetilPenerimaanVO; import com.jasamedika.medifirst2000.vo.ProdukVO; -import com.jasamedika.medifirst2000.vo.SatuanStandarVO; @Service("cssdBmhpService") public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdBmhpService { @Autowired private ProdukDao produkDao; - + @Autowired private StokProdukGlobalDaoCustom stokProdukGlobalDaoCustom; @Autowired private ProdukProduksiDao produkProduksiDao; - + @Autowired private StokProdukDetailDao stokProdukDetailDao; - + @Autowired private StokProdukGlobalService stokProdukGlobalService; @Autowired private RuanganDao ruanganDao; - + @Autowired private StokProdukGlobalDao stokProdukGlobalDao; @Autowired private StrukOrderService strukOrderService; - + @Autowired private KartuStokService kartuStokService; - @Autowired - private BaseVoConverter produkKonverter; + // @Autowired + // private BaseVoConverter produkKonverter; - @Autowired - private KelompokTransaksiDao kelompokTransaksiDao; + // @Autowired + // private KelompokTransaksiDao kelompokTransaksiDao; @Autowired private SatuanStandarDao satuanStandarDao; @@ -97,12 +93,13 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB @Autowired private StrukHistoriDao strukHistoriDao; - + @Autowired private StrukPelayananDao strukPelayananDao; - @Autowired - private BaseVoConverter satuanStandarConverter; + // @Autowired + // private BaseVoConverter + // satuanStandarConverter; @Autowired private BaseVoConverter produkConverter; @@ -144,10 +141,10 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB if (CommonUtil.isNotNullOrEmpty(vo.getSatuanStandar())) { SatuanStandar satuanStandar = satuanStandarDao.findById(vo.getSatuanStandar().getId()); if (CommonUtil.isNotNullOrEmpty(satuanStandar.getSatuanStandar())) { - produkFormulaProduksi.setSatuanProdukAsal((Integer)satuanStandar.getId()); + produkFormulaProduksi.setSatuanProdukAsal((Integer) satuanStandar.getId()); } } - + produkFormulaProduksi.setProdukHasil(produkResult); produkFormulaProduksi.setStatusEnabled(true); produkFormulaProduksi.setFormulaProduksi("Barang bmhp"); @@ -179,7 +176,7 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB strukHistori = strukHistoriDao.save(strukHistori); for (CssdProduksiBmhpDetailVO detail : vo.getCssdProduksiBmhpDetail()) { - + ProdukProduksi produkProduksi = new ProdukProduksi(); produkProduksi.setNoHistori(strukHistori); produkProduksi.setKeteranganLainnya("Produksi Bmhp"); @@ -190,17 +187,16 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB produkProduksi.setProdukHasil(produkConverter.transferVOToModel(vo.getProduk(), new Produk())); } produkProduksi.setQtyProdukAsal(detail.getQty()); - stokProdukGlobalService.updateStokProdukDetailPemusnahanBarang(detail.getProduk().getId(), r, detail.getQty()*vo.getQtyProduk(), null); - stokProdukGlobalService.updateStokPemusnahanBarang(produkProduksi.getProdukAsal(), detail.getQty()*vo.getQtyProduk(), r); + stokProdukGlobalService.updateStokProdukDetailPemusnahanBarang(detail.getProduk().getId(), r, + detail.getQty() * vo.getQtyProduk(), null); + stokProdukGlobalService.updateStokPemusnahanBarang(produkProduksi.getProdukAsal(), + detail.getQty() * vo.getQtyProduk(), r); produkProduksiDao.save(produkProduksi); - - - - String keterangan = "Produksi Bmhp"; - Produk p=produkDao.findById(detail.getProduk().getId()); - - kartuStokService.saveKartuStok(detail.getQty()*vo.getQtyProduk(), p, r, keterangan, false, new Date()); + String keterangan = "Produksi Bmhp"; + Produk p = produkDao.findById(detail.getProduk().getId()); + + kartuStokService.saveKartuStok(detail.getQty() * vo.getQtyProduk(), p, r, keterangan, false, new Date()); } StrukPelayanan strukPelayanan = new StrukPelayanan(); @@ -227,26 +223,23 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB strukPelayanan.setMenerima(getPegawaiByUserLogin()); strukPelayanan.setVerifikasi("1"); - - Double persenPpn = 0.0; - Double persenDiskon = 0.0; - Double ppn = 0.0; - Double diskon = 0.0; - Double hargaSatuan = 0.0; - - + // Double persenPpn = 0.0; + // Double persenDiskon = 0.0; + // Double ppn = 0.0; + // Double diskon = 0.0; + Double hargaSatuan = 0.0; if (CommonUtil.isNotNullOrEmpty(vo.getHarga())) { hargaSatuan = vo.getHarga(); } - ppn = ((persenDiskon / hargaSatuan) * 100); - diskon = ((persenPpn / hargaSatuan) * 100); - Double hargaNetto1 = hargaSatuan + ppn; - Double hargaNetto2 = hargaNetto1 - diskon; - - List listStrukPeayananDetail=new ArrayList(); + // ppn = ((persenDiskon / hargaSatuan) * 100); + // diskon = ((persenPpn / hargaSatuan) * 100); + // Double hargaNetto1 = hargaSatuan + ppn; + // Double hargaNetto2 = hargaNetto1 - diskon; + + List listStrukPeayananDetail = new ArrayList(); StrukPelayananDetail strukPelayananDetail = new StrukPelayananDetail(); AsalProduk ap = new AsalProduk(); ap.setId(1); @@ -298,7 +291,7 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB strukPelayanan.getStrukPelayananDetail().clear(); strukPelayanan.getStrukPelayananDetail().addAll(listStrukPeayananDetail); - strukPelayanan=strukPelayananDao.save(strukPelayanan); + strukPelayanan = strukPelayananDao.save(strukPelayanan); Map data = new HashMap<>(); data.put("noRec", strukHistori.getNoRec()); return data; @@ -353,117 +346,116 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB public Set initializeStokProdukDetail(StrukPelayananDetail detail) { Set setStokprodukDetail = new HashSet(); - // updateuntuk Stok Produk Global - Double persenPpn = 0.0; - Double persenDiskon = 0.0; - Double ppn = 0.0; - Double diskon = 0.0; - Double hargaSatuan = 0.0; + // updateuntuk Stok Produk Global + Double persenPpn = 0.0; + Double persenDiskon = 0.0; + Double ppn = 0.0; + Double diskon = 0.0; + Double hargaSatuan = 0.0; - if (CommonUtil.isNotNullOrEmpty(detail.getPersenppn())) { - persenPpn = detail.getPersenppn(); - } - if (CommonUtil.isNotNullOrEmpty(detail.getPersendiscount())) { - persenDiskon = detail.getPersendiscount(); - } + if (CommonUtil.isNotNullOrEmpty(detail.getPersenppn())) { + persenPpn = detail.getPersenppn(); + } + if (CommonUtil.isNotNullOrEmpty(detail.getPersendiscount())) { + persenDiskon = detail.getPersendiscount(); + } - if (CommonUtil.isNotNullOrEmpty(detail.getHargasatuan())) { - hargaSatuan = detail.getHargasatuan(); - } + if (CommonUtil.isNotNullOrEmpty(detail.getHargasatuan())) { + hargaSatuan = detail.getHargasatuan(); + } - ppn = ((persenDiskon / hargaSatuan) * 100); - diskon = ((persenPpn / hargaSatuan) * 100); - Double hargaNetto1 = hargaSatuan + ppn; - Double hargaNetto2 = hargaNetto1 - diskon; - StrukPelayanan strukPelayanan = detail.getNostruk(); - StokProdukDetail stokProdukDetail = new StokProdukDetail(); - stokProdukDetail.setQtyProdukOnHand(new Double(0)); - stokProdukDetail.setQtyProdukOutInt(0.0); - stokProdukDetail.setQtyProdukOutExt(0.0); - stokProdukDetail.setQtyProduk(detail.getQtyproduk()); - stokProdukDetail.setTglpelayanan(new Date()); - stokProdukDetail.setStrukPelayanan(strukPelayanan); - stokProdukDetail.setAsalProduk(detail.getKdasalproduk()); - stokProdukDetail.setHargaDiscount(diskon); - stokProdukDetail.setHargaNetto1(hargaNetto1); - stokProdukDetail.setHargaNetto2(hargaNetto2); - stokProdukDetail.setPersenDiscount(detail.getPersendiscount()); - stokProdukDetail.setProduk(detail.getKdproduk()); - stokProdukDetail.setRuangan(ruanganDao.findById(new Integer(GetSettingDataFixed("kdRuanganCssd")))); - stokProdukDetailDao.save(stokProdukDetail); + ppn = ((persenDiskon / hargaSatuan) * 100); + diskon = ((persenPpn / hargaSatuan) * 100); + Double hargaNetto1 = hargaSatuan + ppn; + Double hargaNetto2 = hargaNetto1 - diskon; + StrukPelayanan strukPelayanan = detail.getNostruk(); + StokProdukDetail stokProdukDetail = new StokProdukDetail(); + stokProdukDetail.setQtyProdukOnHand(new Double(0)); + stokProdukDetail.setQtyProdukOutInt(0.0); + stokProdukDetail.setQtyProdukOutExt(0.0); + stokProdukDetail.setQtyProduk(detail.getQtyproduk()); + stokProdukDetail.setTglpelayanan(new Date()); + stokProdukDetail.setStrukPelayanan(strukPelayanan); + stokProdukDetail.setAsalProduk(detail.getKdasalproduk()); + stokProdukDetail.setHargaDiscount(diskon); + stokProdukDetail.setHargaNetto1(hargaNetto1); + stokProdukDetail.setHargaNetto2(hargaNetto2); + stokProdukDetail.setPersenDiscount(detail.getPersendiscount()); + stokProdukDetail.setProduk(detail.getKdproduk()); + stokProdukDetail.setRuangan(ruanganDao.findById(new Integer(GetSettingDataFixed("kdRuanganCssd")))); + stokProdukDetailDao.save(stokProdukDetail); return setStokprodukDetail; } - // update stok Produk Global - public void updateStokGlobal(StrukPelayananDetail detail) { - // updateuntuk Stok Produk Global - Double persenPpn = 0.0; - Double persenDiskon = 0.0; - Double ppn = 0.0; - Double diskon = 0.0; - Double hargaSatuan = 0.0; + public void updateStokGlobal(StrukPelayananDetail detail) { + // updateuntuk Stok Produk Global + Double persenPpn = 0.0; + Double persenDiskon = 0.0; + Double ppn = 0.0; + Double diskon = 0.0; + Double hargaSatuan = 0.0; - if (CommonUtil.isNotNullOrEmpty(detail.getPersenppn())) { - persenPpn = detail.getPersenppn(); - } - if (CommonUtil.isNotNullOrEmpty(detail.getPersendiscount())) { - persenDiskon = detail.getPersendiscount(); - } - - if (CommonUtil.isNotNullOrEmpty(detail.getHargasatuan())) { - hargaSatuan = detail.getHargasatuan(); - } - - ppn = ((persenDiskon / hargaSatuan) * 100); - diskon = ((persenPpn / hargaSatuan) * 100); - Double hargaNetto1 = hargaSatuan + ppn; - Double hargaNetto2 = hargaNetto1 - diskon; - if (CommonUtil.isNotNullOrEmpty(detail.getKdproduk()) - && CommonUtil.isNotNullOrEmpty(detail.getKdasalproduk())) { - Integer id=new Integer(GetSettingDataFixed("kdRuanganCssd")); - Integer kdProduk=detail.getKdproduk().getId(); - List listStokProdukGlobal = stokProdukGlobalDao.findStokWitAsalProduk(kdProduk, id); - if (CommonUtil.isNotNullOrEmpty(listStokProdukGlobal)) { - StokProdukGlobal stokProdukGlobal = listStokProdukGlobal.get(0); - stokProdukGlobal.setQtyProduk(stokProdukGlobal.getQtyProduk() + detail.getHasilKonversi()); - stokProdukGlobal.setAsalProduk(detail.getKdasalproduk()); - stokProdukGlobal.setHargaDiscount(diskon); - stokProdukGlobal.setHargaNetto1(hargaNetto1); - stokProdukGlobal.setHargaNetto2(hargaNetto2); - stokProdukGlobal.setPersenDiscount(detail.getPersendiscount()); - stokProdukGlobal.setNamaExternal(detail.getKdproduk().getNamaProduk()); - stokProdukGlobal.setKodeExternal("0"); - stokProdukGlobal.setReportDisplay(detail.getKdproduk().getNamaProduk()); - stokProdukGlobalDao.save(stokProdukGlobal); - } else { - StokProdukGlobal stokProdukGlobal = new StokProdukGlobal(); - stokProdukGlobal.setQtyProdukOnHand(new Double(0)); - stokProdukGlobal.setQtyProdukMin(new Double(0)); - stokProdukGlobal.setQtyProdukMax(new Double(0)); - stokProdukGlobal.setQtyProduk(detail.getHasilKonversi()); - stokProdukGlobal.setAsalProduk(detail.getKdasalproduk()); - stokProdukGlobal.setHargaDiscount(diskon); - stokProdukGlobal.setHargaNetto1(hargaNetto1); - stokProdukGlobal.setHargaNetto2(hargaNetto2); - stokProdukGlobal.setPersenDiscount(detail.getPersendiscount()); - stokProdukGlobal.setProduk(detail.getKdproduk()); - stokProdukGlobal.setRuangan(ruanganDao.findById(new Integer(GetSettingDataFixed("kdRuanganCssd")))); - stokProdukGlobal.setNamaExternal(detail.getKdproduk().getNamaProduk()); - stokProdukGlobal.setKodeExternal("0"); - stokProdukGlobal.setReportDisplay(detail.getKdproduk().getNamaProduk()); - stokProdukGlobalDao.save(stokProdukGlobal); - } - - } - initializeStokProdukDetail(detail); + if (CommonUtil.isNotNullOrEmpty(detail.getPersenppn())) { + persenPpn = detail.getPersenppn(); } + if (CommonUtil.isNotNullOrEmpty(detail.getPersendiscount())) { + persenDiskon = detail.getPersendiscount(); + } + + if (CommonUtil.isNotNullOrEmpty(detail.getHargasatuan())) { + hargaSatuan = detail.getHargasatuan(); + } + + ppn = ((persenDiskon / hargaSatuan) * 100); + diskon = ((persenPpn / hargaSatuan) * 100); + Double hargaNetto1 = hargaSatuan + ppn; + Double hargaNetto2 = hargaNetto1 - diskon; + if (CommonUtil.isNotNullOrEmpty(detail.getKdproduk()) + && CommonUtil.isNotNullOrEmpty(detail.getKdasalproduk())) { + Integer id = new Integer(GetSettingDataFixed("kdRuanganCssd")); + Integer kdProduk = detail.getKdproduk().getId(); + List listStokProdukGlobal = stokProdukGlobalDao.findStokWitAsalProduk(kdProduk, id); + if (CommonUtil.isNotNullOrEmpty(listStokProdukGlobal)) { + StokProdukGlobal stokProdukGlobal = listStokProdukGlobal.get(0); + stokProdukGlobal.setQtyProduk(stokProdukGlobal.getQtyProduk() + detail.getHasilKonversi()); + stokProdukGlobal.setAsalProduk(detail.getKdasalproduk()); + stokProdukGlobal.setHargaDiscount(diskon); + stokProdukGlobal.setHargaNetto1(hargaNetto1); + stokProdukGlobal.setHargaNetto2(hargaNetto2); + stokProdukGlobal.setPersenDiscount(detail.getPersendiscount()); + stokProdukGlobal.setNamaExternal(detail.getKdproduk().getNamaProduk()); + stokProdukGlobal.setKodeExternal("0"); + stokProdukGlobal.setReportDisplay(detail.getKdproduk().getNamaProduk()); + stokProdukGlobalDao.save(stokProdukGlobal); + } else { + StokProdukGlobal stokProdukGlobal = new StokProdukGlobal(); + stokProdukGlobal.setQtyProdukOnHand(new Double(0)); + stokProdukGlobal.setQtyProdukMin(new Double(0)); + stokProdukGlobal.setQtyProdukMax(new Double(0)); + stokProdukGlobal.setQtyProduk(detail.getHasilKonversi()); + stokProdukGlobal.setAsalProduk(detail.getKdasalproduk()); + stokProdukGlobal.setHargaDiscount(diskon); + stokProdukGlobal.setHargaNetto1(hargaNetto1); + stokProdukGlobal.setHargaNetto2(hargaNetto2); + stokProdukGlobal.setPersenDiscount(detail.getPersendiscount()); + stokProdukGlobal.setProduk(detail.getKdproduk()); + stokProdukGlobal.setRuangan(ruanganDao.findById(new Integer(GetSettingDataFixed("kdRuanganCssd")))); + stokProdukGlobal.setNamaExternal(detail.getKdproduk().getNamaProduk()); + stokProdukGlobal.setKodeExternal("0"); + stokProdukGlobal.setReportDisplay(detail.getKdproduk().getNamaProduk()); + stokProdukGlobalDao.save(stokProdukGlobal); + } + + } + initializeStokProdukDetail(detail); + } @Override public Map listBarangBmhp(Integer page, Integer limit, String sort, String dir, Integer produkId) { - Ruangan r=getRuanganByUserLogin(); - int totalRow = stokProdukGlobalDaoCustom.daftarBarangBmHpCount(produkId,r.getId()); + Ruangan r = getRuanganByUserLogin(); + int totalRow = stokProdukGlobalDaoCustom.daftarBarangBmHpCount(produkId, r.getId()); int totalPages = 0; int pageRequested = page; @@ -481,12 +473,13 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB } int rowEnd = limit; Map result = new HashMap(); - result.put("data", stokProdukGlobalDaoCustom.daftarBarangBmHpList(rowStart, rowEnd, sort, dir, produkId,r.getId())); + result.put("data", + stokProdukGlobalDaoCustom.daftarBarangBmHpList(rowStart, rowEnd, sort, dir, produkId, r.getId())); result.put("totalPages", totalPages); result.put("totalRow", totalRow); return result; } - + @Override public Map masterBmhp(Integer page, Integer limit, String sort, String dir) { int totalRow = stokProdukGlobalDaoCustom.masterBmhpCount(); @@ -512,7 +505,7 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB result.put("totalRow", totalRow); return result; } - + @Override public Map barangPersediaan(Integer page, Integer limit, String sort, String dir) { int totalRow = stokProdukGlobalDaoCustom.barangPersediaanCount(); @@ -542,7 +535,7 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB @Override public Map detailProdukBmhp(Integer produkId) { Map result = new HashMap(); - result.put("produkBmhp",produkDao.findProdukBmhpById(produkId)); + result.put("produkBmhp", produkDao.findProdukById(produkId)); result.put("bahanMentah", produkDao.findBahanMentah(produkId)); return result; }