From b238166e863e12a391c5dc924f57639547cffa73 Mon Sep 17 00:00:00 2001 From: buddhika75 Date: Sat, 20 Jul 2024 17:25:03 +0530 Subject: [PATCH 1/2] Signed-off-by: buddhika75 --- .../FinancialTransactionController.java | 46 +- .../BookingControllerViewScopeMonth.java | 412 +--- .../ConfigOptionApplicationController.java | 30 +- .../java/com/divudi/data/Denomination.java | 33 + src/main/java/com/divudi/entity/Payment.java | 129 +- .../webapp/cashier/initial_fund_bill.xhtml | 70 +- .../channel/channel_booking_by_month.xhtml | 384 +++- .../channel/manage_booking_by_month.xhtml | 1743 +++++++++++++++++ .../webapp/channel/session_instance.xhtml | 154 +- .../common/patient_details_view_scope.xhtml | 24 +- ..._channel_booking_by_month_controller.xhtml | 363 ++++ src/main/webapp/resources/ezcomp/menu.xhtml | 6 - 12 files changed, 2923 insertions(+), 471 deletions(-) create mode 100644 src/main/java/com/divudi/data/Denomination.java create mode 100644 src/main/webapp/channel/manage_booking_by_month.xhtml create mode 100644 src/main/webapp/resources/ezcomp/common/patient_details_view_scope_for_channel_booking_by_month_controller.xhtml diff --git a/src/main/java/com/divudi/bean/cashTransaction/FinancialTransactionController.java b/src/main/java/com/divudi/bean/cashTransaction/FinancialTransactionController.java index a861586bd2..846cca694c 100644 --- a/src/main/java/com/divudi/bean/cashTransaction/FinancialTransactionController.java +++ b/src/main/java/com/divudi/bean/cashTransaction/FinancialTransactionController.java @@ -3,6 +3,7 @@ import java.util.HashMap; import com.divudi.bean.common.BillController; import com.divudi.bean.common.BillSearch; +import com.divudi.bean.common.ConfigOptionApplicationController; import com.divudi.bean.common.SearchController; import com.divudi.bean.common.SessionController; import com.divudi.data.BillClassType; @@ -15,6 +16,7 @@ import com.divudi.data.AtomicBillTypeTotals; import com.divudi.data.BillFinanceType; import com.divudi.data.BillTypeAtomic; +import com.divudi.data.Denomination; import com.divudi.data.FinancialReport; import com.divudi.data.PaymentMethod; import com.divudi.data.PaymentMethodValues; @@ -32,8 +34,12 @@ import java.util.Map; import java.util.stream.Collectors; import javax.ejb.EJB; +import javax.faces.event.AjaxBehaviorEvent; +import javax.faces.event.ValueChangeEvent; import javax.inject.Inject; import javax.persistence.TemporalType; +import org.json.JSONArray; +import org.json.JSONObject; /** * @@ -61,6 +67,8 @@ public class FinancialTransactionController implements Serializable { SearchController searchController; @Inject BillSearch billSearch; + @Inject + ConfigOptionApplicationController configOptionApplicationController; // // @@ -326,8 +334,6 @@ public void selectNetVoucherTotalDetails() { paymentsSelected = selectedPayments; } - - public void selectCollectedOtherNonCreditDetails() { List paymentMethods = financialReportByPayments.getPaymentMethodsForCollectedDebitCard(); List billTypes = financialReportByPayments.getBillTypesForCollectedDebitCard(); @@ -342,7 +348,6 @@ public void selectCollectedOtherNonCreditDetails() { paymentsSelected = selectedPayments; } - public void selectRefundedOtherNonCreditDetails() { List paymentMethods = financialReportByPayments.getPaymentMethodsForRefundedDebitCard(); List billTypes = financialReportByPayments.getBillTypesForRefundedDebitCard(); @@ -357,7 +362,6 @@ public void selectRefundedOtherNonCreditDetails() { paymentsSelected = selectedPayments; } - public void selectNetOtherNonCreditTotalDetails() { List paymentMethods = financialReportByPayments.getPaymentMethodsForBankDeposits(); List billTypes = financialReportByPayments.getBillTypesForBankDeposits(); @@ -411,7 +415,7 @@ public void selectFloatHandoverDetails() { } public void selectNetFloatDetails() { - + List billTypes = financialReportByPayments.getBillTypesForFloatCollected(); billTypes.addAll(financialReportByPayments.getBillTypesForFloatHandover()); List allPayments = paymentsFromShiftSratToNow; @@ -776,6 +780,8 @@ public String settleInitialFundBill() { p.setBill(currentBill); p.setDepartment(sessionController.getDepartment()); p.setInstitution(sessionController.getInstitution()); + // Serialize denominations before saving + p.serializeDenominations(); paymentController.save(p); } return "/cashier/initial_fund_bill_print?faces-redirect=true"; @@ -1519,6 +1525,36 @@ public Payment getCurrentPayment() { return currentPayment; } + public void updateCashDenominations(AjaxBehaviorEvent event) { + System.out.println("updateCashDenominations called"); + + if (currentPayment == null) { + System.out.println("currentPayment is null"); + return; + } + + double total = 0; + List denominations = configOptionApplicationController.getDenominations(); + for (Denomination denomination : denominations) { + int value = denomination.getCount(); + System.out.println("Processing denomination: " + denomination.getValue() + " with count: " + value); + total += denomination.getValue() * value; + } + currentPayment.setPaidValue(total); + System.out.println("Total value calculated: " + total); + + // Serialize updated denominations to JSON + JSONArray jsonArray = new JSONArray(); + for (Denomination denomination : denominations) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("value", denomination.getValue()); + jsonObject.put("count", denomination.getCount()); + jsonArray.put(jsonObject); + } + currentPayment.setCurrencyDenominationsJson(jsonArray.toString()); + System.out.println("Updated currencyDenominationsJson: " + currentPayment.getCurrencyDenominationsJson()); + } + public void setCurrentPayment(Payment currentPayment) { this.currentPayment = currentPayment; } diff --git a/src/main/java/com/divudi/bean/channel/BookingControllerViewScopeMonth.java b/src/main/java/com/divudi/bean/channel/BookingControllerViewScopeMonth.java index 0bdffe9e4a..e15727de6d 100644 --- a/src/main/java/com/divudi/bean/channel/BookingControllerViewScopeMonth.java +++ b/src/main/java/com/divudi/bean/channel/BookingControllerViewScopeMonth.java @@ -120,7 +120,7 @@ */ @Named @ViewScoped -public class BookingControllerViewScopeMonth implements Serializable, ControllerWithPatientViewScope, ControllerWithMultiplePayments { +public class BookingControllerViewScopeMonth implements Serializable { /** * EJBs @@ -145,8 +145,8 @@ public class BookingControllerViewScopeMonth implements Serializable, Controller private BillFeeFacade billFeeFacade; @EJB ItemFeeFacade ItemFeeFacade; - @EJB - private ChannelBean channelBean; +// @EJB +// private ChannelBean channelBean; @EJB FingerPrintRecordFacade fpFacade; @EJB @@ -580,7 +580,7 @@ private Bill createBillForChannelReshedule(BillSession bs) { } return bill; } - + private BillItem createSessionItemForReshedule(Bill bill) { BillItem bi = new BillItem(); bi.setAdjustedValue(0.0); @@ -1000,48 +1000,6 @@ public String navigateToEditOriginatingSession() { return channelScheduleController.navigateToChannelSchedule(); } - public void addSingleDateToToDate() { - Calendar cal = Calendar.getInstance(); - cal.setTime(getFromDate()); - cal.add(Calendar.DATE, 1); - toDate = cal.getTime(); - listAllSesionInstances(); - filterSessionInstances(); - } - - public void addToDayToToDate() { - toDate = new Date(); - listAllSesionInstances(); - filterSessionInstances(); - } - - public void addTwoDays() { - Calendar cal = Calendar.getInstance(); - cal.setTime(getFromDate()); - cal.add(Calendar.DATE, 2); - toDate = cal.getTime(); - listAllSesionInstances(); - filterSessionInstances(); - } - - public void addSevenDays() { - Calendar cal = Calendar.getInstance(); - cal.setTime(getFromDate()); - cal.add(Calendar.DATE, 7); - toDate = cal.getTime(); - listAllSesionInstances(); - filterSessionInstances(); - } - - public void addMonth() { - Calendar cal = Calendar.getInstance(); - cal.setTime(getFromDate()); - cal.add(Calendar.MONTH, 1); - toDate = cal.getTime(); - listAllSesionInstances(); - filterSessionInstances(); - } - public void addMonthNew() { Calendar cal = Calendar.getInstance(); cal.setTime(getFromDate()); @@ -1149,6 +1107,9 @@ public void listAndFilterSessionInstances() { public void loadSessionInstances() { sessionInstancesFiltered = new ArrayList<>(); + if (sessionInstanceFilter == null || sessionInstanceFilter.trim().equals("")) { + return; + } StringBuilder jpql = new StringBuilder("select i from SessionInstance i where i.retired=:ret and i.originatingSession.retired=:ret"); // Initializing the parameters map @@ -1218,50 +1179,6 @@ public void loadSessionInstances() { } } - public void filterSessionInstances() { - if (sessionInstanceFilter == null || sessionInstanceFilter.trim().isEmpty()) { - if (sessionInstances != null) { - sessionInstancesFiltered = new ArrayList<>(sessionInstances); - } else { - sessionInstancesFiltered = new ArrayList<>(); - return; - } - return; - } - - sessionInstancesFiltered = new ArrayList<>(); - String[] filterKeywords = sessionInstanceFilter.trim().toLowerCase().split("\\s+"); - - for (SessionInstance si : sessionInstances) { - String match1 = (si.getOriginatingSession() != null && si.getOriginatingSession().getName() != null) - ? si.getOriginatingSession().getName().toLowerCase() : ""; - String match2 = (si.getOriginatingSession() != null && si.getOriginatingSession().getStaff() != null - && si.getOriginatingSession().getStaff().getPerson() != null - && si.getOriginatingSession().getStaff().getPerson().getName() != null) - ? si.getOriginatingSession().getStaff().getPerson().getName().toLowerCase() : ""; - String match3 = (si.getOriginatingSession() != null && si.getOriginatingSession().getStaff() != null - && si.getOriginatingSession().getStaff().getSpeciality() != null - && si.getOriginatingSession().getStaff().getSpeciality().getName() != null) - ? si.getOriginatingSession().getStaff().getSpeciality().getName().toLowerCase() : ""; - - boolean matchesAll = true; - for (String keyword : filterKeywords) { - if (!(match1.contains(keyword) || match2.contains(keyword) || match3.contains(keyword))) { - matchesAll = false; - break; - } - } - - if (matchesAll) { - sessionInstancesFiltered.add(si); - } - } - if (!sessionInstancesFiltered.isEmpty()) { - selectedSessionInstance = selectedSessionInstance = sessionInstancesFiltered.get(0); - sessionInstanceSelected(); - } - } - public void handleDropAndNavigate() { // Retrieve the session ID from the request parameter String sessionId = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("sessionId"); @@ -1527,7 +1444,7 @@ public void fillFees() { public void init() { fromDate = new Date(); toDate = new Date(); - + patientDetailsEditable = true; Date tmpfromDate = viewScopeDataTransferController.getFromDate(); Date tmptoDate = viewScopeDataTransferController.getToDate(); if (tmpfromDate != null) { @@ -1540,7 +1457,7 @@ public void init() { needToFillSessionInstances = viewScopeDataTransferController.getNeedToFillSessionInstances(); if (needToFillSessionInstances == null || needToFillSessionInstances != false) { - listAllSesionInstances(); + listAndFilterSessionInstances(); } selectedSessionInstance = viewScopeDataTransferController.getSelectedSessionInstance(); @@ -1572,41 +1489,6 @@ public void init() { } - public String navigateToChannelBookingFromMenuByDate() { - Boolean opdBillingAfterShiftStart = sessionController.getApplicationPreference().isOpdBillingAftershiftStart(); - - viewScopeDataTransferController.setFromDate(fromDate); - viewScopeDataTransferController.setToDate(toDate); - - viewScopeDataTransferController.setNeedToFillBillSessions(false); - viewScopeDataTransferController.setNeedToFillBillSessionDetails(false); - viewScopeDataTransferController.setNeedToFillSessionInstances(true); - viewScopeDataTransferController.setNeedToFillSessionInstanceDetails(true); - viewScopeDataTransferController.setNeedToFillMembershipDetails(false); - viewScopeDataTransferController.setNeedToPrepareForNewBooking(true); - - if (opdBillingAfterShiftStart) { - financialTransactionController.findNonClosedShiftStartFundBillIsAvailable(); - if (financialTransactionController.getNonClosedShiftStartFundBill() != null) { - fromDate = new Date(); - toDate = new Date(); - listAllSesionInstances(); - prepareForNewChannellingBill(); - return "/channel/channel_booking_by_date?faces-redirect=true"; - } else { - JsfUtil.addErrorMessage("Start Your Shift First !"); - return "/cashier/index?faces-redirect=true"; - } - } else { - fromDate = new Date(); - toDate = new Date(); - listAllSesionInstances(); - prepareForNewChannellingBill(); - return "/channel/channel_booking_by_date?faces-redirect=true"; - } - - } - public String navigateToChannelBookingFromMenuByMonth() { Boolean opdBillingAfterShiftStart = sessionController.getApplicationPreference().isOpdBillingAftershiftStart(); @@ -1627,7 +1509,7 @@ public String navigateToChannelBookingFromMenuByMonth() { toDate = new Date(); listAndFilterSessionInstances(); prepareForNewChannellingBill(); - return "/channel/channel_booking_by_date?faces-redirect=true"; + return "/channel/channel_booking_by_month?faces-redirect=true"; } else { JsfUtil.addErrorMessage("Start Your Shift First !"); return "/cashier/index?faces-redirect=true"; @@ -1670,13 +1552,13 @@ public String navigateToChannelBookingFromMembershipByDate(Patient pt, PaymentSc if (opdBillingAfterShiftStart) { financialTransactionController.findNonClosedShiftStartFundBillIsAvailable(); if (financialTransactionController.getNonClosedShiftStartFundBill() != null) { - return "/channel/channel_booking_by_date?faces-redirect=true"; + return "/channel/channel_booking_by_month?faces-redirect=true"; } else { JsfUtil.addErrorMessage("Start Your Shift First !"); return "/cashier/index?faces-redirect=true"; } } else { - return "/channel/channel_booking_by_date?faces-redirect=true"; + return "/channel/channel_booking_by_month?faces-redirect=true"; } } @@ -1691,51 +1573,6 @@ public String navigateToChannelBookingByDate() { return null; } - public String navigateToChannelQueueFromMenu() { - sessionInstances = channelBean.listTodaysSesionInstances(); - return "/channel/channel_queue?faces-redirect=true"; - } - - public String navigateToChannelDisplayFromMenu() { - sessionInstances = channelBean.listTodaysSessionInstances(true, false, false); - return "/channel/channel_display?faces-redirect=true"; - } - - public String navigateToChannelQueueFromConsultantRoom() { - sessionInstances = channelBean.listTodaysSesionInstances(); - return "/channel/channel_queue?faces-redirect=true"; - } - - public void listAllSesionInstances() { - sessionInstances = channelBean.listSessionInstances(fromDate, toDate, null, null, null); - if (configOptionApplicationController.getBooleanValueByKey("Calculate All Patient Count When Loading Channel Booking By Dates")) { - for (SessionInstance s : sessionInstances) { - fillBillSessions(s); - } - } - filterSessionInstances(); - } - - public void listOngoingSesionInstances() { - sessionInstances = channelBean.listSessionInstances(fromDate, toDate, true, null, null); - filterSessionInstances(); - } - - public void listCompletedSesionInstances() { - sessionInstances = channelBean.listSessionInstances(fromDate, toDate, null, true, null); - filterSessionInstances(); - } - - public void listPendingSesionInstances() { - sessionInstances = channelBean.listSessionInstances(fromDate, toDate, null, null, true); - filterSessionInstances(); - } - - public void listCancelledSesionInstances() { - sessionInstances = channelBean.listSessionInstances(fromDate, toDate, null, null, null, true); - filterSessionInstances(); - } - public void prepareForNewChannellingBill() { selectedBillSession = null; getSelectedBillSession(); @@ -1751,7 +1588,7 @@ public String navigateToConsultantRoom() { } public void loadSessionInstance() { - sessionInstances = channelBean.listTodaysSessionInstances(true, false, false); + listAll(); } public String navigateToManageBooking(BillSession bs) { @@ -1796,7 +1633,7 @@ public String navigateToManageBooking(BillSession bs) { fillFees(); fillSessionInstanceByDoctor(); calculateSelectedBillSessionTotal(); - return "/channel/manage_booking_by_date?faces-redirect=true"; + return "/channel/manage_booking_by_month?faces-redirect=true"; } public String navigateToOpdBilling(BillSession bs) { @@ -1867,7 +1704,7 @@ public String navigateBackToBookingsFromSessionInstance() { viewScopeDataTransferController.setNeedToFillMembershipDetails(false); viewScopeDataTransferController.setNeedToPrepareForNewBooking(true); - return "/channel/channel_booking_by_date?faces-redirect=true"; + return "/channel/channel_booking_by_month?faces-redirect=true"; } public String navigateBackToBookingsFromProfPay() { @@ -1885,7 +1722,7 @@ public String navigateBackToBookingsFromProfPay() { viewScopeDataTransferController.setNeedToFillMembershipDetails(false); viewScopeDataTransferController.setNeedToPrepareForNewBooking(true); - return "/channel/channel_booking_by_date?faces-redirect=true"; + return "/channel/channel_booking_by_month?faces-redirect=true"; } public String navigateBackToBookingsFromBillSession() { @@ -1903,7 +1740,7 @@ public String navigateBackToBookingsFromBillSession() { viewScopeDataTransferController.setNeedToFillMembershipDetails(false); viewScopeDataTransferController.setNeedToPrepareForNewBooking(true); - return "/channel/channel_booking_by_date?faces-redirect=true"; + return "/channel/channel_booking_by_month?faces-redirect=true"; } public String navigateBackToBookingsLoagingBillSessions() { @@ -2766,12 +2603,12 @@ public String startNewChannelBookingForSelectingSpeciality() { return navigateBackToBookingsFromSessionInstance(); } - public String startNewChannelBookingFormSelectingConsultant() { - resetToStartFromSelectingConsultant(); - generateSessions(); - printPreview = false; - return navigateBackToBookingsFromSessionInstance(); - } +// public String startNewChannelBookingFormSelectingConsultant() { +// resetToStartFromSelectingConsultant(); +// generateSessions(); +// printPreview = false; +// return navigateBackToBookingsFromSessionInstance(); +// } public String startNewChannelBookingForSelectingSession() { resetToStartFromSameSessionInstance(); @@ -3855,43 +3692,43 @@ public void calculateFeeForSessionInstances(List lstSs, Payment } } - public void generateSessions() { - sessionInstances = new ArrayList<>(); - String jpql; - Map params = new HashMap(); - params.put("staff", getStaff()); - params - .put("class", ServiceSession.class - ); - if (staff != null) { - jpql = "Select s From ServiceSession s " - + " where s.retired=false " - + " and s.staff=:staff " - + " and s.originatingSession is null" - + " and type(s)=:class "; - boolean listChannelSessionsForLoggedDepartmentOnly = configOptionApplicationController.getBooleanValueByKey("List Channel Sessions For Logged Department Only", false); - boolean listChannelSessionsForLoggedInstitutionOnly = configOptionApplicationController.getBooleanValueByKey("List Channel Sessions For Logged Institution Only", false); - if (listChannelSessionsForLoggedDepartmentOnly) { - jpql += " and s.department=:dept "; - params.put("dept", sessionController.getDepartment()); - } - if (listChannelSessionsForLoggedInstitutionOnly) { - jpql += " and s.institution=:ins "; - params.put("ins", sessionController.getInstitution()); - } - jpql += " order by s.sessionWeekday,s.startingTime "; - List selectedDoctorsServiceSessions = getServiceSessionFacade().findByJpql(jpql, params); - calculateFee(selectedDoctorsServiceSessions, channelBillController.getPaymentMethod()); - try { - sessionInstances = getChannelBean().generateSesionInstancesFromServiceSessions(selectedDoctorsServiceSessions, sessionStartingDate); - } catch (Exception e) { - } - generateSessionEvents(sessionInstances); - } else { - sessionInstances = new ArrayList<>(); - } - - } +// public void generateSessions() { +// sessionInstances = new ArrayList<>(); +// String jpql; +// Map params = new HashMap(); +// params.put("staff", getStaff()); +// params +// .put("class", ServiceSession.class +// ); +// if (staff != null) { +// jpql = "Select s From ServiceSession s " +// + " where s.retired=false " +// + " and s.staff=:staff " +// + " and s.originatingSession is null" +// + " and type(s)=:class "; +// boolean listChannelSessionsForLoggedDepartmentOnly = configOptionApplicationController.getBooleanValueByKey("List Channel Sessions For Logged Department Only", false); +// boolean listChannelSessionsForLoggedInstitutionOnly = configOptionApplicationController.getBooleanValueByKey("List Channel Sessions For Logged Institution Only", false); +// if (listChannelSessionsForLoggedDepartmentOnly) { +// jpql += " and s.department=:dept "; +// params.put("dept", sessionController.getDepartment()); +// } +// if (listChannelSessionsForLoggedInstitutionOnly) { +// jpql += " and s.institution=:ins "; +// params.put("ins", sessionController.getInstitution()); +// } +// jpql += " order by s.sessionWeekday,s.startingTime "; +// List selectedDoctorsServiceSessions = getServiceSessionFacade().findByJpql(jpql, params); +// calculateFee(selectedDoctorsServiceSessions, channelBillController.getPaymentMethod()); +// try { +// sessionInstances = getChannelBean().generateSesionInstancesFromServiceSessions(selectedDoctorsServiceSessions, sessionStartingDate); +// } catch (Exception e) { +// } +// generateSessionEvents(sessionInstances); +// } else { +// sessionInstances = new ArrayList<>(); +// } +// +// } public void generateSessionEvents(List sss) { eventModel = new DefaultScheduleModel(); @@ -3911,39 +3748,39 @@ public void onEventSelect(SelectEvent selectEvent) { fillBillSessions(); } - public void generateSessionsFutureBooking(SelectEvent event) { - fromDate = null; - fromDate = ((Date) event.getObject()); - sessionInstances = new ArrayList<>(); - Map m = new HashMap(); - - Date currenDate = new Date(); - if (getFromDate().before(currenDate)) { - JsfUtil.addErrorMessage("Please Select Future Date"); - return; - } - - String sql = ""; - - if (staff != null) { - Calendar c = Calendar.getInstance(); - c.setTime(getFromDate()); - int wd = c.get(Calendar.DAY_OF_WEEK); - - sql = "Select s From ServiceSession s " - + " where s.retired=false " - + " and s.staff=:staff " - + " and s.sessionWeekday=:wd "; - - m.put("staff", getStaff()); - m.put("wd", wd); - List tmp = getServiceSessionFacade().findByJpql(sql, m); - calculateFee(tmp, channelBillController.getPaymentMethod());//check work future bokking - sessionInstances = getChannelBean().generateSesionInstancesFromServiceSessions(tmp, fromDate); - } - - billSessions = new ArrayList<>(); - } +// public void generateSessionsFutureBooking(SelectEvent event) { +// fromDate = null; +// fromDate = ((Date) event.getObject()); +// sessionInstances = new ArrayList<>(); +// Map m = new HashMap(); +// +// Date currenDate = new Date(); +// if (getFromDate().before(currenDate)) { +// JsfUtil.addErrorMessage("Please Select Future Date"); +// return; +// } +// +// String sql = ""; +// +// if (staff != null) { +// Calendar c = Calendar.getInstance(); +// c.setTime(getFromDate()); +// int wd = c.get(Calendar.DAY_OF_WEEK); +// +// sql = "Select s From ServiceSession s " +// + " where s.retired=false " +// + " and s.staff=:staff " +// + " and s.sessionWeekday=:wd "; +// +// m.put("staff", getStaff()); +// m.put("wd", wd); +// List tmp = getServiceSessionFacade().findByJpql(sql, m); +// calculateFee(tmp, channelBillController.getPaymentMethod());//check work future bokking +// sessionInstances = getChannelBean().generateSesionInstancesFromServiceSessions(tmp, fromDate); +// } +// +// billSessions = new ArrayList<>(); +// } public boolean isPrintPreview() { return printPreview; @@ -6087,22 +5924,22 @@ public void setSelectedBillSession(BillSession selectedBillSession) { getChannelCancelController().setBillSession(selectedBillSession); } - @Override +// @Override public void toggalePatientEditable() { patientDetailsEditable = !patientDetailsEditable; } - @Override +// @Override public boolean isPatientDetailsEditable() { return patientDetailsEditable; } - @Override +// @Override public void setPatientDetailsEditable(boolean patientDetailsEditable) { this.patientDetailsEditable = patientDetailsEditable; } - @Override +// @Override public Patient getPatient() { if (patient == null) { patient = new Patient(); @@ -6113,7 +5950,7 @@ public Patient getPatient() { return patient; } - @Override +// @Override public void setPatient(Patient patient) { this.patient = patient; } @@ -6159,13 +5996,6 @@ public void setChannelSearchController(ChannelSearchController channelSearchCont this.channelSearchController = channelSearchController; } - public ChannelBean getChannelBean() { - return channelBean; - } - - public void setChannelBean(ChannelBean channelBean) { - this.channelBean = channelBean; - } public ItemFeeFacade getItemFeeFacade() { return ItemFeeFacade; @@ -7499,34 +7329,6 @@ public List getSessionInstancesFiltered() { return sessionInstancesFiltered; } - public List getSortedSessionInstances() { - - if (oldSessionInstancesFiltered == null) { - oldSessionInstancesFiltered = sessionInstancesFiltered; - } - - if (sortedSessionInstances == null) { - if (sessionInstancesFiltered != null) { - sessionInstances = channelBean.listSessionInstances(fromDate, toDate, null, null, null); - System.out.println("sortedSessionInstances == null"); - filterSessionInstances(); - sortSessions(); - } - } - - if (oldSessionInstancesFiltered != sessionInstancesFiltered) { - if (sessionInstancesFiltered != null) { - sessionInstances = channelBean.listSessionInstances(fromDate, toDate, null, null, null); - System.out.println("sortedSessionInstances == null"); - filterSessionInstances(); - sortSessions(); - } - oldSessionInstancesFiltered = sortedSessionInstances; - } - - return sortedSessionInstances; - } - private void sortSessions() { sortedSessionInstances = new ArrayList<>(sessionInstancesFiltered); Collections.sort(sortedSessionInstances, new Comparator() { @@ -7660,14 +7462,14 @@ public void setDisableRefund(boolean disableRefund) { this.disableRefund = disableRefund; } - @Override +// @Override public void selectQuickOneFromQuickSearchPatient() { setPatient(patient); setPatientDetailsEditable(false); quickSearchPatientList = null; } - @Override +// @Override public void saveSelected(Patient p) { if (patient == null) { return; @@ -7692,22 +7494,22 @@ public void saveSelected(Patient p) { } } - @Override +// @Override public void saveSelectedPatient() { saveSelected(patient); } - @Override +// @Override public String getQuickSearchPhoneNumber() { return quickSearchPhoneNumber; } - @Override +// @Override public void setQuickSearchPhoneNumber(String quickSearchPhoneNumber) { this.quickSearchPhoneNumber = quickSearchPhoneNumber; } - @Override +// @Override public void quickSearchPatientLongPhoneNumber() { Patient patientSearched = null; String j; @@ -7744,7 +7546,7 @@ public void quickSearchPatientLongPhoneNumber() { } } - @Override +// @Override public void quickSearchNewPatient() { quickSearchPatientList = null; setPatient(new Patient()); @@ -7755,12 +7557,12 @@ public void quickSearchNewPatient() { } } - @Override +// @Override public List getQuickSearchPatientList() { return quickSearchPatientList; } - @Override +// @Override public void setQuickSearchPatientList(List quickSearchPatientList) { this.quickSearchPatientList = quickSearchPatientList; } diff --git a/src/main/java/com/divudi/bean/common/ConfigOptionApplicationController.java b/src/main/java/com/divudi/bean/common/ConfigOptionApplicationController.java index d8442d7e06..d7b6ef1774 100644 --- a/src/main/java/com/divudi/bean/common/ConfigOptionApplicationController.java +++ b/src/main/java/com/divudi/bean/common/ConfigOptionApplicationController.java @@ -1,6 +1,7 @@ package com.divudi.bean.common; import com.divudi.bean.common.util.JsfUtil; +import com.divudi.data.Denomination; import com.divudi.data.OptionScope; import com.divudi.data.OptionValueType; import com.divudi.entity.Department; @@ -22,6 +23,7 @@ import javax.enterprise.context.ApplicationScoped; import javax.faces.context.ExternalContext; import javax.faces.context.FacesContext; +import org.json.JSONArray; /** * @@ -35,6 +37,7 @@ public class ConfigOptionApplicationController implements Serializable { private ConfigOptionFacade optionFacade; private List options; + private List denominations; /** * Creates a new instance of OptionController @@ -47,7 +50,27 @@ public ConfigOptionApplicationController() { @PostConstruct public void init() { loadApplicationOptions(); - + + } + + private void initializeDenominations() { + String denominationsStr = getLongTextValueByKey("Currency Denominations"); + denominations = Arrays.stream(denominationsStr.split(",")) + .map(Integer::parseInt) + .map(value -> new Denomination(value, 0)) + .collect(Collectors.toList()); + } + + public List getCurrencyDenominations() { + String denominationsStr = getLongTextValueByKey("Currency Denominations"); + return Arrays.stream(denominationsStr.split(",")) + .map(Integer::parseInt) + .collect(Collectors.toList()); + } + + public String getCurrencyDenominationsAsJson() { + List denominations = getCurrencyDenominations(); + return new JSONArray(denominations).toString(); } public void loadApplicationOptions() { @@ -56,6 +79,7 @@ public void loadApplicationOptions() { for (ConfigOption option : options) { applicationOptions.put(option.getOptionKey(), option); } + initializeDenominations(); } public ConfigOption getApplicationOption(String key) { @@ -79,6 +103,10 @@ public void saveOption(ConfigOption option) { } } + public List getDenominations() { + return denominations; + } + public void saveShortTextOption(String key, String value) { ConfigOption option = getApplicationOption(key); if (option == null) { diff --git a/src/main/java/com/divudi/data/Denomination.java b/src/main/java/com/divudi/data/Denomination.java new file mode 100644 index 0000000000..1dcf19c60a --- /dev/null +++ b/src/main/java/com/divudi/data/Denomination.java @@ -0,0 +1,33 @@ +package com.divudi.data; + +/** + * + * @author buddhika + */ +public class Denomination { + private int value; + private int count; + + public Denomination() {} + + public Denomination(int value, int count) { + this.value = value; + this.count = count; + } + + public int getValue() { + return value; + } + + public void setValue(int value) { + this.value = value; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } +} diff --git a/src/main/java/com/divudi/entity/Payment.java b/src/main/java/com/divudi/entity/Payment.java index 58f871b2db..9dbb3b3cfd 100644 --- a/src/main/java/com/divudi/entity/Payment.java +++ b/src/main/java/com/divudi/entity/Payment.java @@ -1,12 +1,17 @@ /* -* Dr M H B Ariyaratne + * Dr M H B Ariyaratne * buddhika.ari@gmail.com */ package com.divudi.entity; +import com.divudi.data.Denomination; import com.divudi.data.PaymentMethod; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; @@ -16,15 +21,15 @@ import javax.persistence.Lob; import javax.persistence.ManyToOne; import javax.persistence.Temporal; +import javax.persistence.Transient; +import org.json.JSONArray; +import org.json.JSONObject; -/** - * - * @author Buddhika - */ @Entity public class Payment implements Serializable { static final long serialVersionUID = 1L; + @Id @GeneratedValue(strategy = GenerationType.AUTO) Long id; @@ -34,18 +39,21 @@ public class Payment implements Serializable { @Temporal(javax.persistence.TemporalType.DATE) Date writtenAt; + @Temporal(javax.persistence.TemporalType.DATE) Date toRealizeAt; @Enumerated(EnumType.STRING) PaymentMethod paymentMethod; - //Realization Properties boolean realized; + @Temporal(javax.persistence.TemporalType.DATE) Date realizedAt; + @ManyToOne - WebUser realiazer; + WebUser realizer; + @Lob String realizeComments; @@ -55,38 +63,49 @@ public class Payment implements Serializable { @Lob String comments; - //Created Properties @ManyToOne WebUser creater; + @Temporal(javax.persistence.TemporalType.TIMESTAMP) Date createdAt; - //Retairing properties + boolean retired; + @ManyToOne WebUser retirer; + @Temporal(javax.persistence.TemporalType.TIMESTAMP) Date retiredAt; + String retireComments; - // - //paymentMethord Details - // Can be use as a reference number for any payment method private String chequeRefNo; + @Temporal(javax.persistence.TemporalType.DATE) private Date chequeDate; + private String creditCardRefNo; double paidValue; - + private int creditDurationInDays; + @Lob + private String currencyDenominationsJson; + @ManyToOne Institution institution; + @ManyToOne Department department; + + @Transient + private List currencyDenominations; - + @Transient + private List humanReadableDenominations; + public Long getId() { return id; } @@ -94,6 +113,18 @@ public Long getId() { public void setId(Long id) { this.id = id; } + + public List getHumanReadableDenominations() { + List humanReadableList = new ArrayList<>(); + deserializeDenominations(); + if (this.currencyDenominations != null) { + for (Denomination denomination : this.currencyDenominations) { + String humanReadable = "Denomination: " + denomination.getValue() + ", Count: " + denomination.getCount() + ", Value: " + (denomination.getValue() * denomination.getCount()); + humanReadableList.add(humanReadable); + } + } + return humanReadableList; + } public Bill getBill() { return bill; @@ -143,12 +174,12 @@ public void setRealizedAt(Date realizedAt) { this.realizedAt = realizedAt; } - public WebUser getRealiazer() { - return realiazer; + public WebUser getRealizer() { + return realizer; } - public void setRealiazer(WebUser realiazer) { - this.realiazer = realiazer; + public void setRealizer(WebUser realizer) { + this.realizer = realizer; } public String getRealizeComments() { @@ -247,7 +278,7 @@ public boolean equals(Object object) { public String toString() { return "com.divudi.entity.Payment[ id=" + id + " ]"; } - + // Can be use as a reference number for any payment method public String getChequeRefNo() { return chequeRefNo; @@ -281,6 +312,14 @@ public void setPaidValue(double paidValue) { this.paidValue = paidValue; } + public int getCreditDurationInDays() { + return creditDurationInDays; + } + + public void setCreditDurationInDays(int creditDurationInDays) { + this.creditDurationInDays = creditDurationInDays; + } + public Institution getInstitution() { return institution; } @@ -307,10 +346,11 @@ public Payment copyAttributes() { newPayment.setPaymentMethod(this.paymentMethod); newPayment.setRealized(this.realized); newPayment.setRealizedAt(this.realizedAt); - newPayment.setRealiazer(this.realiazer); + newPayment.setRealizer(this.realizer); newPayment.setRealizeComments(this.realizeComments); newPayment.setBank(this.bank); newPayment.setComments(this.comments); + newPayment.setCurrencyDenominationsJson(this.currencyDenominationsJson); newPayment.setCreater(this.creater); newPayment.setCreatedAt(this.createdAt); newPayment.setRetired(this.retired); @@ -329,12 +369,53 @@ public Payment copyAttributes() { return newPayment; } - public int getCreditDurationInDays() { - return creditDurationInDays; + public void setCurrencyDenominationsJson(String currencyDenominationsJson) { + this.currencyDenominationsJson = currencyDenominationsJson; + } + + public void serializeDenominations() { + if (this.currencyDenominations != null) { + JSONArray jsonArray = new JSONArray(); + for (Denomination denomination : this.currencyDenominations) { + if (denomination != null) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("value", denomination.getValue()); + jsonObject.put("count", denomination.getCount()); + jsonArray.put(jsonObject); + } + } + this.currencyDenominationsJson = jsonArray.toString(); + } else { + this.currencyDenominationsJson = "[]"; // Empty JSON array if currencyDenominations is null + } } + + - public void setCreditDurationInDays(int creditDurationInDays) { - this.creditDurationInDays = creditDurationInDays; + public void deserializeDenominations() { + if (this.currencyDenominationsJson != null && !this.currencyDenominationsJson.isEmpty()) { + try { + JSONArray jsonArray = new JSONArray(this.currencyDenominationsJson); + this.currencyDenominations = new ArrayList<>(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + if (jsonObject.has("value") && jsonObject.has("count")) { + int value = jsonObject.getInt("value"); + int count = jsonObject.getInt("count"); + this.currencyDenominations.add(new Denomination(value, count)); + } + } + } catch (Exception e) { + System.out.println("Error deserializing currency denominations: " + e.getMessage()); + this.currencyDenominations = new ArrayList<>(); // Initialize to an empty list on error + } + } else { + this.currencyDenominations = new ArrayList<>(); // Initialize to an empty list if JSON is null or empty + } } + + public String getCurrencyDenominationsJson() { + return currencyDenominationsJson; + } } diff --git a/src/main/webapp/cashier/initial_fund_bill.xhtml b/src/main/webapp/cashier/initial_fund_bill.xhtml index 972bfbfcfd..f3b68abcae 100644 --- a/src/main/webapp/cashier/initial_fund_bill.xhtml +++ b/src/main/webapp/cashier/initial_fund_bill.xhtml @@ -75,20 +75,56 @@ - - - - - + + + + + + + + + + + + + + + + + + + + +
Total Value + +
Denominations
+ + + + + +
+
+ + + + + + + + + - + @@ -169,6 +205,14 @@ + + + +
+
+ #{bp.currencyDenominationsJson} +
+ + xmlns:ez="http://xmlns.jcp.org/jsf/composite/ezcomp" + xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"> Channel Booking By Date @@ -49,16 +50,19 @@
- +
- - - - - + + + + +
@@ -71,13 +75,13 @@ styleClass="ui-button-warning mx-1" action="#{opdBillController.navigateToNewOpdBill()}" rendered="#{configOptionApplicationController.getBooleanValueByKey('Enable Navigation Button To OPD Billing From Channel Booking By Date')}"/> - + + action="#{bookingControllerViewScopeMonth.listCompleted}" /> + action="#{bookingControllerViewScopeMonth.listOngoing}" /> + action="#{bookingControllerViewScopeMonth.listPending}" /> + action="#{bookingControllerViewScopeMonth.listCancelled}" /> @@ -110,7 +114,7 @@ title="All" icon="fa fa-list" styleClass="ui-button-primary mx-1" - action="#{bookingControllerViewScopeMonth.listAllSesionInstances()}" /> + action="#{bookingControllerViewScopeMonth.listAll}" /> @@ -123,7 +127,7 @@
- +
@@ -265,10 +269,352 @@
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{ps.person.name} + + + #{ps.person.phone} + + + #{ps.person.mobile} + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+ +
+
+ + + + +
+
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+
+
+ +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/src/main/webapp/channel/manage_booking_by_month.xhtml b/src/main/webapp/channel/manage_booking_by_month.xhtml new file mode 100644 index 0000000000..b21e72b603 --- /dev/null +++ b/src/main/webapp/channel/manage_booking_by_month.xhtml @@ -0,0 +1,1743 @@ + + + + + + + + + + + +
+
+
+ | +
+ + () -
+ +
+ +
+ + +
+
+ +
+ + +
+
+ + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + +
+
+ + +
+ + +
+
+ +
+ +
+ +
+ + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + +
+
+ +
+ +
+ +
+ + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + +
+
+ +
+ +
+ +
+ + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + +
+ +
+ + + + +
+
+ +
+ + +
+
+
+ + + + + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+
+ + + + + + + + + #{ix.institutionCode} + #{ix.name} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+
+ + + + + + + + +
+
+
+
+ + +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + +
+ + + + + + + +
+
+
+
+ +
+
+ + +
+ + + + +
+ +
+ +

You Do Not Have Permission to Access The Requested Page

+
+
+ +
+ +
+ +
+ + +
+ + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ +

Are you sure you want to cancel the channel booking?

+ + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + +
+
+ + +
+ + + +
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{bs.bill.bookingId} + + + + + + + + #{bs.serviceSession.staff.speciality.name} + + + + + + + + + #{bs.serviceSession.staff.person.nameWithTitle} + + + + + + + + + #{bs.serviceSession.name} + + + + + + + + + #{bs.serialNo} + + + + + + + + + #{bs.bill.patient.person.nameWithTitle} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ +
+
+ + + +
+
+ + + + + + Name + #{myItem.name} + + + Consultant + + + + + + + Session Date + + + + + + + Session TIme + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/src/main/webapp/channel/session_instance.xhtml b/src/main/webapp/channel/session_instance.xhtml index 697b3008ac..bcefacc0c3 100644 --- a/src/main/webapp/channel/session_instance.xhtml +++ b/src/main/webapp/channel/session_instance.xhtml @@ -16,73 +16,73 @@
- - () + + ()
- +
+ rendered="#{bookingControllerViewScopeMonth.selectedSessionInstance.completed}"> - - - - - - - + @@ -151,7 +151,7 @@ icon="pi pi-user-plus" title="OPD" ajax="false" - action="#{bookingControllerViewScope.navigateToOpdBilling(bs)}" + action="#{bookingControllerViewScopeMonth.navigateToOpdBilling(bs)}" disabled="#{(bs.bill.paidAmount eq 0 and bs.bill.paymentMethod eq 'OnCall')}" class="ui-button-secondary mx-1"> @@ -159,7 +159,7 @@ icon="pi pi-cog" title="Manage Booking" ajax="false" - action="#{bookingControllerViewScope.navigateToManageBooking(bs)}" + action="#{bookingControllerViewScopeMonth.navigateToManageBooking(bs)}" class="ui-button-secondary "> @@ -190,7 +190,7 @@ ajax="false" id="btnSave" value="Save" - action="#{bookingControllerViewScope.saveSessionInstanceDetails()}" + action="#{bookingControllerViewScopeMonth.saveSessionInstanceDetails()}" class="ui-button ui-button-warning" icon="pi pi-save"> @@ -199,7 +199,7 @@ ajax="false" id="btnEditSession" value="To Edit" - action="#{bookingControllerViewScope.navigateToEditSessionInstance()}" + action="#{bookingControllerViewScopeMonth.navigateToEditSessionInstance()}" class="ui-button ui-button-info" icon="pi pi-pencil"> @@ -208,7 +208,7 @@ ajax="false" id="btnEditOriginSession" value="To Edit Originating Session" - action="#{bookingControllerViewScope.navigateToEditOriginatingSession()}" + action="#{bookingControllerViewScopeMonth.navigateToEditOriginatingSession()}" class="ui-button ui-button-secondary" icon="pi pi-external-link"> @@ -220,31 +220,31 @@ - + - - + + + rendered="#{bookingControllerViewScopeMonth.selectedSessionInstance.sessionDate ne null}" > - - - - - - - - - + + + + + + + + + - - + + @@ -252,43 +252,43 @@ - - - + - + - + - - + - + - + @@ -305,8 +305,8 @@ + value="#{bookingControllerViewScopeMonth.selectedSessionInstance.sessionWeekday}" + disabled="#{bookingControllerViewScopeMonth.selectedSessionInstance.id ne null}"> @@ -323,7 +323,7 @@ - + @@ -335,28 +335,28 @@ - + - + - + - - + - + - + - + @@ -367,10 +367,10 @@ - + - + @@ -378,7 +378,7 @@ - + @@ -408,7 +408,7 @@ - + @@ -498,42 +498,42 @@ - - + + - + - + - + - + - + - + - + - + - + - + diff --git a/src/main/webapp/resources/ezcomp/common/patient_details_view_scope.xhtml b/src/main/webapp/resources/ezcomp/common/patient_details_view_scope.xhtml index 217d5420d4..e1ff5f6a2c 100644 --- a/src/main/webapp/resources/ezcomp/common/patient_details_view_scope.xhtml +++ b/src/main/webapp/resources/ezcomp/common/patient_details_view_scope.xhtml @@ -11,7 +11,8 @@ - + + @@ -134,8 +135,6 @@
@@ -212,8 +207,6 @@ yearNavigator="true" monthNavigator="true" inputStyleClass="form-control" - required="#{configOptionApplicationController.getBooleanValueByKey('Patients Date of Birth is Mandatory')}" - requiredMessage="Please select a date of birth" pattern="#{sessionController.applicationPreference.longDateFormat}" placeholder="Date of Birth (dd/mm/yyyy)" > @@ -232,8 +225,6 @@ placeholder="Mobile Number" value="#{cc.attrs.controller.patient.mobileNumberStringTransient}" class="form-control" - required="#{configOptionApplicationController.getBooleanValueByKey('Patients Mobile Number is Mandatory')}" - requiredMessage="Please enter a Mobile Number" validatorMessage="Please enter valid Number"> @@ -245,8 +236,6 @@ id="txtPhone" autocomplete="off" placeholder="Phone Number" - required="#{configOptionApplicationController.getBooleanValueByKey('Patients Phone Number is Mandatory')}" - requiredMessage="Please enter a Mobile Number" value="#{cc.attrs.controller.patient.phoneNumberStringTransient}" class="form-control" validatorMessage="Please enter valid Number"> @@ -256,8 +245,6 @@
@@ -293,11 +276,10 @@
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #{ps.person.name} + + + #{ps.person.phone} + + + #{ps.person.mobile} + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ + + + + + +
+
+ +
+
+ + + + +
+
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+
+
+ +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ \ No newline at end of file diff --git a/src/main/webapp/resources/ezcomp/menu.xhtml b/src/main/webapp/resources/ezcomp/menu.xhtml index a938bedbde..54dc7a7edc 100644 --- a/src/main/webapp/resources/ezcomp/menu.xhtml +++ b/src/main/webapp/resources/ezcomp/menu.xhtml @@ -888,12 +888,6 @@ action="#{bookingControllerViewScopeMonth.navigateToChannelBookingFromMenuByMonth()}" rendered="#{webUserController.hasPrivilege('ChannellingChannelBooking')}" > - - Date: Sat, 20 Jul 2024 17:27:19 +0530 Subject: [PATCH 2/2] CLoses #6474 Signed-off-by: buddhika75 --- src/main/webapp/channel/channel_booking_by_month.xhtml | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/webapp/channel/channel_booking_by_month.xhtml b/src/main/webapp/channel/channel_booking_by_month.xhtml index 8a5b7703eb..c4ee972eeb 100644 --- a/src/main/webapp/channel/channel_booking_by_month.xhtml +++ b/src/main/webapp/channel/channel_booking_by_month.xhtml @@ -107,7 +107,6 @@ styleClass="ui-button-danger mx-1" action="#{bookingControllerViewScopeMonth.listCancelled}" /> - - -