From 23dd2b59537d41e283e0f8b34b5a8a7a00b547f6 Mon Sep 17 00:00:00 2001 From: Pubudu-Piyankara Date: Mon, 30 Dec 2024 11:50:57 +0530 Subject: [PATCH 1/6] Signed-off-by: Pubudu-Piyankara --- .../bean/pharmacy/IssueReturnController.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java index d2d00b718a..8bac2be66d 100644 --- a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java +++ b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java @@ -228,7 +228,14 @@ private void saveReturnBill() { } private void saveComponent() { + + double purchaseValue = 0.0; + double retailValue = 0.0; + for (BillItem i : getBillItems()) { + double itemPurchaseValue = 0.0; + double itemRetialValue = 0.0; + i.getPharmaceuticalBillItem().setQtyInUnit((double) (double) i.getQty()); if (i.getPharmaceuticalBillItem().getQty() == 0.0) { @@ -238,12 +245,15 @@ private void saveComponent() { i.setBill(getReturnBill()); i.setCreatedAt(Calendar.getInstance().getTime()); i.setCreater(getSessionController().getLoggedUser()); - i.setQty((double) i.getPharmaceuticalBillItem().getQty()); + i.setQty(0 - (double) i.getPharmaceuticalBillItem().getQty()); double value = i.getRate() * i.getQty(); i.setGrossValue(0 - value); i.setNetValue(0 - value); + itemPurchaseValue = i.getPharmaceuticalBillItem().getPurchaseRate() * i.getQty(); + itemRetialValue = i.getPharmaceuticalBillItem().getRetailRate() * i.getQty(); + PharmaceuticalBillItem tmpPh = i.getPharmaceuticalBillItem(); i.setPharmaceuticalBillItem(null); if (i.getId() == null) { @@ -265,7 +275,15 @@ private void saveComponent() { // getPharmaceuticalBillItemFacade().edit(i.getBillItem().getTmpReferenceBillItem().getPharmaceuticalBillItem()); // updateRemainingQty(i); getReturnBill().getBillItems().add(i); + + purchaseValue += itemPurchaseValue; + retailValue += itemRetialValue; } + getReturnBill().setStockBill(getBill().getStockBill()); + getReturnBill().getStockBill().setStockValueAtPurchaseRates(purchaseValue); + getReturnBill().getStockBill().setStockValueAsSaleRate(retailValue ); + + getBillFacade().edit(getReturnBill()); } @@ -371,7 +389,7 @@ private void calTotal() { } public void generateBillComponent() { - billItems=new ArrayList<>(); + billItems = new ArrayList<>(); for (PharmaceuticalBillItem i : getPharmaceuticalBillItemFacade().getPharmaceuticalBillItems(getBill())) { BillItem bi = new BillItem(); bi.setBill(getReturnBill()); From 915720d72fb43206d54a37a4bb1d32cf1f5b06af Mon Sep 17 00:00:00 2001 From: Pubudu-Piyankara Date: Mon, 30 Dec 2024 12:46:35 +0530 Subject: [PATCH 2/6] Signed-off-by: Pubudu-Piyankara --- .../java/com/divudi/bean/pharmacy/IssueReturnController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java index 8bac2be66d..c3ed5c78e0 100644 --- a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java +++ b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java @@ -282,7 +282,7 @@ private void saveComponent() { getReturnBill().setStockBill(getBill().getStockBill()); getReturnBill().getStockBill().setStockValueAtPurchaseRates(purchaseValue); getReturnBill().getStockBill().setStockValueAsSaleRate(retailValue ); - + getReturnBill().getStockBill().invertStockBillValues(getReturnBill()); getBillFacade().edit(getReturnBill()); } From 2ef072a172c4fea48a17d50ab505066f5123a0c8 Mon Sep 17 00:00:00 2001 From: Pubudu-Piyankara Date: Mon, 30 Dec 2024 13:28:36 +0530 Subject: [PATCH 3/6] Signed-off-by: Pubudu-Piyankara --- .../bean/pharmacy/IssueReturnController.java | 16 +++++++++------- src/main/java/com/divudi/entity/StockBill.java | 7 +++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java index c3ed5c78e0..32f14afc05 100644 --- a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java +++ b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java @@ -21,6 +21,7 @@ import com.divudi.entity.Department; import com.divudi.entity.PriceMatrix; import com.divudi.entity.RefundBill; +import com.divudi.entity.StockBill; import com.divudi.entity.pharmacy.PharmaceuticalBillItem; import com.divudi.facade.BillFacade; import com.divudi.facade.BillFeeFacade; @@ -230,7 +231,7 @@ private void saveReturnBill() { private void saveComponent() { double purchaseValue = 0.0; - double retailValue = 0.0; + double retailValue = 0.0; for (BillItem i : getBillItems()) { double itemPurchaseValue = 0.0; @@ -253,7 +254,7 @@ private void saveComponent() { itemPurchaseValue = i.getPharmaceuticalBillItem().getPurchaseRate() * i.getQty(); itemRetialValue = i.getPharmaceuticalBillItem().getRetailRate() * i.getQty(); - + PharmaceuticalBillItem tmpPh = i.getPharmaceuticalBillItem(); i.setPharmaceuticalBillItem(null); if (i.getId() == null) { @@ -277,12 +278,13 @@ private void saveComponent() { getReturnBill().getBillItems().add(i); purchaseValue += itemPurchaseValue; - retailValue += itemRetialValue; + retailValue += itemRetialValue; } - getReturnBill().setStockBill(getBill().getStockBill()); - getReturnBill().getStockBill().setStockValueAtPurchaseRates(purchaseValue); - getReturnBill().getStockBill().setStockValueAsSaleRate(retailValue ); - getReturnBill().getStockBill().invertStockBillValues(getReturnBill()); + StockBill clonedStockBill = getBill().getStockBill().createNewBill(); + clonedStockBill.setStockValueAtPurchaseRates(purchaseValue); + clonedStockBill.setStockValueAsSaleRate(retailValue); + getReturnBill().setStockBill(clonedStockBill); + getBillFacade().edit(getReturnBill()); } diff --git a/src/main/java/com/divudi/entity/StockBill.java b/src/main/java/com/divudi/entity/StockBill.java index 67f9edf5ec..7793693482 100644 --- a/src/main/java/com/divudi/entity/StockBill.java +++ b/src/main/java/com/divudi/entity/StockBill.java @@ -42,6 +42,13 @@ public void copyStockBill(StockBill bill) { } } + public StockBill createNewBill() { + StockBill newBill = new StockBill(); + newBill.setStockValueAtPurchaseRates(this.getStockValueAtPurchaseRates()); + newBill.setStockValueAsSaleRate(this.getStockValueAsSaleRate()); + // Copy other relevant properties here + return newBill; +} public void invertStockBillValues(Bill bill) { stockValueAsSaleRate = 0 - bill.getStockBill().getStockValueAsSaleRate(); From d5e1b199c1df34cacbf7cd233e9c52169af2b3f9 Mon Sep 17 00:00:00 2001 From: Pubudu-Piyankara Date: Mon, 30 Dec 2024 13:29:00 +0530 Subject: [PATCH 4/6] Signed-off-by: Pubudu-Piyankara --- src/main/java/com/divudi/entity/StockBill.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/divudi/entity/StockBill.java b/src/main/java/com/divudi/entity/StockBill.java index 7793693482..1544631bfd 100644 --- a/src/main/java/com/divudi/entity/StockBill.java +++ b/src/main/java/com/divudi/entity/StockBill.java @@ -46,7 +46,6 @@ public StockBill createNewBill() { StockBill newBill = new StockBill(); newBill.setStockValueAtPurchaseRates(this.getStockValueAtPurchaseRates()); newBill.setStockValueAsSaleRate(this.getStockValueAsSaleRate()); - // Copy other relevant properties here return newBill; } From c2f8c964af68c741c72a2b57268b2f300125bc03 Mon Sep 17 00:00:00 2001 From: Pubudu-Piyankara Date: Mon, 30 Dec 2024 13:34:55 +0530 Subject: [PATCH 5/6] Signed-off-by: Pubudu-Piyankara --- .../java/com/divudi/bean/pharmacy/IssueReturnController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java index 32f14afc05..81edebe941 100644 --- a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java +++ b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java @@ -284,6 +284,7 @@ private void saveComponent() { clonedStockBill.setStockValueAtPurchaseRates(purchaseValue); clonedStockBill.setStockValueAsSaleRate(retailValue); getReturnBill().setStockBill(clonedStockBill); + getReturnBill().getStockBill().invertStockBillValues(getReturnBill()); getBillFacade().edit(getReturnBill()); From d075123b5d3b99d8af33bb337a1607016b3eb79b Mon Sep 17 00:00:00 2001 From: Pubudu-Piyankara Date: Mon, 30 Dec 2024 13:36:11 +0530 Subject: [PATCH 6/6] Closed #9924 Signed-off-by: Pubudu-Piyankara --- .../bean/pharmacy/IssueReturnController.java | 210 +++++++++--------- .../java/com/divudi/entity/StockBill.java | 10 +- 2 files changed, 110 insertions(+), 110 deletions(-) diff --git a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java index 81edebe941..4ff0e3fd8a 100644 --- a/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java +++ b/src/main/java/com/divudi/bean/pharmacy/IssueReturnController.java @@ -44,7 +44,7 @@ @Named @SessionScoped public class IssueReturnController implements Serializable { - + private Bill bill; private Bill returnBill; private boolean printPreview; @@ -68,13 +68,13 @@ public class IssueReturnController implements Serializable { private PharmacyBean pharmacyBean; @EJB private BillItemFacade billItemFacade; - + public void saveIssueBillReturn() { saveBill(); saveComponentForSaveReturnBill(); JsfUtil.addSuccessMessage("Saved"); } - + public void finalizeIssueBillReturn() { if (getBill().getId() == null) { JsfUtil.addErrorMessage("No Bill"); @@ -87,38 +87,38 @@ public void finalizeIssueBillReturn() { getBillFacade().edit(getBill()); JsfUtil.addSuccessMessage("Finalized"); } - + public void settle() { - + if (getBill().getCheckedBy() == null) { JsfUtil.addErrorMessage("Pleace Finalise Bill First. Can not Return"); return; } saveReturnBill(); saveComponent(); - + if (getBill().getPatientEncounter() != null) { updateMargin(getReturnBill().getBillItems(), getReturnBill(), getReturnBill().getFromDepartment(), getBill().getPatientEncounter().getPaymentMethod()); } - + getBillFacade().edit(getReturnBill()); - + getBill().getReturnBhtIssueBills().add(getReturnBill()); getBillFacade().edit(getBill()); /// setOnlyReturnValue(); printPreview = true; JsfUtil.addSuccessMessage("Successfully Returned"); - + } - + public Bill getBill() { return bill; } - + public void setBill(Bill bill) { makeNull(); - + if (bill.getDepartment() == null) { return; } @@ -131,36 +131,36 @@ public void setBill(Bill bill) { JsfUtil.addErrorMessage("U can't return another department's Issue.please log to specific department"); return; } - + this.bill = bill; generateBillComponent(); } - + public Bill getReturnBill() { if (returnBill == null) { returnBill = new RefundBill(); // returnBill.setBillType(BillType.PharmacyBhtPre); } - + return returnBill; } - + public void setReturnBill(Bill returnBill) { this.returnBill = returnBill; } - + public boolean isPrintPreview() { return printPreview; } - + public void setPrintPreview(boolean printPreview) { this.printPreview = printPreview; } - + @Inject private PharmacyCalculation pharmacyRecieveBean; - + public void onEdit(BillItem tmp) { // PharmaceuticalBillItem tmp = (PharmaceuticalBillItem) event.getObject(); @@ -168,24 +168,24 @@ public void onEdit(BillItem tmp) { JsfUtil.addErrorMessage("Qty Null"); return; } - + if (tmp.getQty() > tmp.getPharmaceuticalBillItem().getQty()) { tmp.setQty(0.0); JsfUtil.addErrorMessage("You cant return over than ballanced Qty "); } - + calTotal(); // getPharmacyController().setPharmacyItem(tmp.getPharmaceuticalBillItem().getBillItem().getItem()); } - + public void makeNull() { bill = null; returnBill = null; printPreview = false; billItems = null; - + } - + private void saveBill() { getBill().setEditor(getSessionController().getLoggedUser()); getBill().setEditedAt(Calendar.getInstance().getTime()); @@ -196,28 +196,28 @@ private void saveBill() { if (getBill().getId() == null) { getBillFacade().create(getBill()); } - + } - + private void saveReturnBill() { - + getReturnBill().copy(getBill()); - + getReturnBill().setBillType(BillType.PharmacyIssue); getReturnBill().setBillTypeAtomic(BillTypeAtomic.PHARMACY_ISSUE_RETURN); getReturnBill().setBilledBill(getBill()); - + getReturnBill().setForwardReferenceBill(getBill().getForwardReferenceBill()); - + getReturnBill().setTotal(0 - getReturnBill().getTotal()); getReturnBill().setNetTotal(getReturnBill().getTotal()); - + getReturnBill().setCreater(getSessionController().getLoggedUser()); getReturnBill().setCreatedAt(Calendar.getInstance().getTime()); - + getReturnBill().setDepartment(getSessionController().getDepartment()); getReturnBill().setInstitution(getSessionController().getInstitution()); - + getReturnBill().setInsId(getBillNumberBean().institutionBillNumberGenerator(getSessionController().getInstitution(), BillType.PharmacyIssue, BillClassType.RefundBill, BillNumberSuffix.PHISSRET)); getReturnBill().setDeptId(getBillNumberBean().institutionBillNumberGenerator(getSessionController().getDepartment(), BillType.PharmacyIssue, BillClassType.RefundBill, BillNumberSuffix.PHISSRET)); @@ -225,46 +225,46 @@ private void saveReturnBill() { if (getReturnBill().getId() == null) { getBillFacade().create(getReturnBill()); } - + } - + private void saveComponent() { - + double purchaseValue = 0.0; double retailValue = 0.0; - + for (BillItem i : getBillItems()) { double itemPurchaseValue = 0.0; double itemRetialValue = 0.0; - + i.getPharmaceuticalBillItem().setQtyInUnit((double) (double) i.getQty()); - + if (i.getPharmaceuticalBillItem().getQty() == 0.0) { continue; } - + i.setBill(getReturnBill()); i.setCreatedAt(Calendar.getInstance().getTime()); i.setCreater(getSessionController().getLoggedUser()); i.setQty(0 - (double) i.getPharmaceuticalBillItem().getQty()); - + double value = i.getRate() * i.getQty(); i.setGrossValue(0 - value); i.setNetValue(0 - value); - + itemPurchaseValue = i.getPharmaceuticalBillItem().getPurchaseRate() * i.getQty(); itemRetialValue = i.getPharmaceuticalBillItem().getRetailRate() * i.getQty(); - + PharmaceuticalBillItem tmpPh = i.getPharmaceuticalBillItem(); i.setPharmaceuticalBillItem(null); if (i.getId() == null) { getBillItemFacade().create(i); } - + if (tmpPh.getId() == null) { getPharmaceuticalBillItemFacade().create(tmpPh); } - + i.setPharmaceuticalBillItem(tmpPh); getBillItemFacade().edit(i); @@ -276,7 +276,7 @@ private void saveComponent() { // getPharmaceuticalBillItemFacade().edit(i.getBillItem().getTmpReferenceBillItem().getPharmaceuticalBillItem()); // updateRemainingQty(i); getReturnBill().getBillItems().add(i); - + purchaseValue += itemPurchaseValue; retailValue += itemRetialValue; } @@ -285,26 +285,26 @@ private void saveComponent() { clonedStockBill.setStockValueAsSaleRate(retailValue); getReturnBill().setStockBill(clonedStockBill); getReturnBill().getStockBill().invertStockBillValues(getReturnBill()); - + getBillFacade().edit(getReturnBill()); - + } - + private void saveComponentForSaveReturnBill() { for (BillItem i : getBillItems()) { i.getPharmaceuticalBillItem().setQtyInUnit((double) (double) i.getQty()); if (i.getPharmaceuticalBillItem().getQty() == 0.0) { continue; } - + i.setBill(getBill()); i.setCreatedAt(Calendar.getInstance().getTime()); i.setCreater(getSessionController().getLoggedUser()); - + double value = i.getRate() * i.getQty(); i.setGrossValue(0 - value); i.setNetValue(0 - value); - + PharmaceuticalBillItem tmpPh = i.getPharmaceuticalBillItem(); i.setPharmaceuticalBillItem(tmpPh); if (i.getId() == null) { @@ -316,81 +316,81 @@ private void saveComponentForSaveReturnBill() { } getPharmaceuticalBillItemFacade().edit(tmpPh); } - + } - + public void updateMargin(BillItem bi, Department matrixDepartment, PaymentMethod paymentMethod) { double rate = Math.abs(bi.getRate()); double margin = 0; - + PriceMatrix priceMatrix = getPriceMatrixController().fetchInwardMargin(bi, rate, matrixDepartment, paymentMethod); - + if (priceMatrix != null) { margin = ((bi.getGrossValue() * priceMatrix.getMargin()) / 100); } - + bi.setMarginValue(margin); - + bi.setNetValue((bi.getGrossValue() + bi.getMarginValue()) - bi.getDiscount()); // bi.setNetValue((bi.getGrossValue() + bi.getMarginValue())); bi.setAdjustedValue((bi.getGrossValue() + bi.getMarginValue())); getBillItemFacade().edit(bi); } - + public void updateMargin(List billItems, Bill bill, Department matrixDepartment, PaymentMethod paymentMethod) { double total = 0; double netTotal = 0; for (BillItem bi : billItems) { - + updateMargin(bi, matrixDepartment, paymentMethod); total += bi.getGrossValue(); netTotal += bi.getNetValue(); } - + bill.setTotal(total); bill.setNetTotal(netTotal); getBillFacade().edit(bill); - + } - + @EJB private BillFeeFacade billFeeFacade; @Inject InwardBeanController inwardBean; - + public InwardBeanController getInwardBean() { return inwardBean; } - + public void setInwardBean(InwardBeanController inwardBean) { this.inwardBean = inwardBean; } - + @Inject PriceMatrixController priceMatrixController; - + public PriceMatrixController getPriceMatrixController() { return priceMatrixController; } - + public void setPriceMatrixController(PriceMatrixController priceMatrixController) { this.priceMatrixController = priceMatrixController; } - + private void calTotal() { double grossTotal = 0.0; - + for (BillItem p : getBillItems()) { grossTotal += p.getNetRate() * p.getQty(); - + } - + getReturnBill().setTotal(grossTotal); getReturnBill().setNetTotal(grossTotal); // return grossTotal; } - + public void generateBillComponent() { billItems = new ArrayList<>(); for (PharmaceuticalBillItem i : getPharmaceuticalBillItemFacade().getPharmaceuticalBillItems(getBill())) { @@ -400,26 +400,26 @@ public void generateBillComponent() { bi.setReferanceBillItem(i.getBillItem()); bi.copy(i.getBillItem()); bi.setQty(0.0); - + PharmaceuticalBillItem tmp = new PharmaceuticalBillItem(); tmp.setBillItem(bi); tmp.copy(i); - + double rFund = getPharmacyRecieveBean().getTotalQty(i.getBillItem(), BillType.PharmacyIssue); - + double tmpQty = (Math.abs(i.getQtyInUnit())) - Math.abs(rFund); - + if (tmpQty <= 0) { continue; } - + tmp.setQtyInUnit((double) tmpQty); - + bi.setPharmaceuticalBillItem(tmp); - + getBillItems().add(bi); } - + } // private double calRemainingQty(PharmaceuticalBillItem i) { @@ -438,93 +438,93 @@ public void generateBillComponent() { public PharmaceuticalBillItemFacade getPharmaceuticalBillItemFacade() { return pharmaceuticalBillItemFacade; } - + public void setPharmaceuticalBillItemFacade(PharmaceuticalBillItemFacade pharmaceuticalBillItemFacade) { this.pharmaceuticalBillItemFacade = pharmaceuticalBillItemFacade; } - + public PharmaceuticalItemController getPharmaceuticalItemController() { return pharmaceuticalItemController; } - + public void setPharmaceuticalItemController(PharmaceuticalItemController pharmaceuticalItemController) { this.pharmaceuticalItemController = pharmaceuticalItemController; } - + public PharmacyController getPharmacyController() { return pharmacyController; } - + public void setPharmacyController(PharmacyController pharmacyController) { this.pharmacyController = pharmacyController; } - + public SessionController getSessionController() { return sessionController; } - + public void setSessionController(SessionController sessionController) { this.sessionController = sessionController; } - + public BillNumberGenerator getBillNumberBean() { return billNumberBean; } - + public void setBillNumberBean(BillNumberGenerator billNumberBean) { this.billNumberBean = billNumberBean; } - + public BillFacade getBillFacade() { return billFacade; } - + public void setBillFacade(BillFacade billFacade) { this.billFacade = billFacade; } - + public PharmacyBean getPharmacyBean() { return pharmacyBean; } - + public void setPharmacyBean(PharmacyBean pharmacyBean) { this.pharmacyBean = pharmacyBean; } - + public BillItemFacade getBillItemFacade() { return billItemFacade; } - + public void setBillItemFacade(BillItemFacade billItemFacade) { this.billItemFacade = billItemFacade; } - + public PharmacyCalculation getPharmacyRecieveBean() { return pharmacyRecieveBean; } - + public void setPharmacyRecieveBean(PharmacyCalculation pharmacyRecieveBean) { this.pharmacyRecieveBean = pharmacyRecieveBean; } - + public List getBillItems() { if (billItems == null) { - + billItems = new ArrayList<>(); } return billItems; } - + public void setBillItems(List billItems) { this.billItems = billItems; } - + public BillFeeFacade getBillFeeFacade() { return billFeeFacade; } - + public void setBillFeeFacade(BillFeeFacade billFeeFacade) { this.billFeeFacade = billFeeFacade; } - + } diff --git a/src/main/java/com/divudi/entity/StockBill.java b/src/main/java/com/divudi/entity/StockBill.java index 1544631bfd..c9af733097 100644 --- a/src/main/java/com/divudi/entity/StockBill.java +++ b/src/main/java/com/divudi/entity/StockBill.java @@ -43,11 +43,11 @@ public void copyStockBill(StockBill bill) { } public StockBill createNewBill() { - StockBill newBill = new StockBill(); - newBill.setStockValueAtPurchaseRates(this.getStockValueAtPurchaseRates()); - newBill.setStockValueAsSaleRate(this.getStockValueAsSaleRate()); - return newBill; -} + StockBill newBill = new StockBill(); + newBill.setStockValueAtPurchaseRates(this.getStockValueAtPurchaseRates()); + newBill.setStockValueAsSaleRate(this.getStockValueAsSaleRate()); + return newBill; + } public void invertStockBillValues(Bill bill) { stockValueAsSaleRate = 0 - bill.getStockBill().getStockValueAsSaleRate();