Update CssdBmhpService

Rapi-rapi
This commit is contained in:
Salman Manoe 2022-02-07 16:25:09 +07:00
parent 5ef1f7c942
commit d429a087fc

View File

@ -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<ProdukVO, Produk> produkKonverter;
// @Autowired
// private BaseVoConverter<ProdukVO, Produk> 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<SatuanStandarVO, SatuanStandar> satuanStandarConverter;
// @Autowired
// private BaseVoConverter<SatuanStandarVO, SatuanStandar>
// satuanStandarConverter;
@Autowired
private BaseVoConverter<ProdukVO, Produk> 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<StrukPelayananDetail> listStrukPeayananDetail=new ArrayList<StrukPelayananDetail>();
// ppn = ((persenDiskon / hargaSatuan) * 100);
// diskon = ((persenPpn / hargaSatuan) * 100);
// Double hargaNetto1 = hargaSatuan + ppn;
// Double hargaNetto2 = hargaNetto1 - diskon;
List<StrukPelayananDetail> listStrukPeayananDetail = new ArrayList<StrukPelayananDetail>();
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<String, Object> data = new HashMap<>();
data.put("noRec", strukHistori.getNoRec());
return data;
@ -353,117 +346,116 @@ public class CssdBmhpServiceImpl extends BaseAngaranServiceImpl implements CssdB
public Set<StokProdukDetail> initializeStokProdukDetail(StrukPelayananDetail detail) {
Set<StokProdukDetail> setStokprodukDetail = new HashSet<StokProdukDetail>();
// 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<StokProdukGlobal> 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<StokProdukGlobal> 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<String, Object> 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<String, Object> result = new HashMap<String, Object>();
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<String, Object> 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<String, Object> 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<String, Object> detailProdukBmhp(Integer produkId) {
Map<String, Object> result = new HashMap<String, Object>();
result.put("produkBmhp",produkDao.findProdukBmhpById(produkId));
result.put("produkBmhp", produkDao.findProdukById(produkId));
result.put("bahanMentah", produkDao.findBahanMentah(produkId));
return result;
}