@SuppressWarnings("unchecked") public void prepareDataForPostCheck() { FlexTable procsInfoTable = proceduresInfoTable.getFlexTable(); // ArrayList<String> pays = new ArrayList<String>(); // ArrayList<String> copays = new ArrayList<String>(); // ArrayList<String> adjs = new ArrayList<String>(); HashMap<String, String>[] procsMaps = new HashMap[pids.size()]; float amount = 0; for (int i = 1; i < (pids.size() + 1); i++) { procsMaps[i - 1] = new HashMap<String, String>(); // Window.alert(((TextBox)procsInfoTable.getWidget(i, // 6)).getText().toString()); TextBox adjTb = (TextBox) procsInfoTable.getWidget(i, 6); TextBox payTb = (TextBox) procsInfoTable.getWidget(i, 8); TextBox copayTb = (TextBox) procsInfoTable.getWidget(i, 9); procsMaps[i - 1].put("proc", "" + pids.get(i - 1)); if (adjTb.getText().equals("0") || adjTb.getText().equals("")) { procsMaps[i - 1].put("adj", "0"); } else { procsMaps[i - 1].put("adj", adjTb.getText()); } if (payTb.getText().equals("0") || payTb.getText().equals("")) { procsMaps[i - 1].put("pay", "0"); } else { procsMaps[i - 1].put("pay", payTb.getText()); try { float val = Float.parseFloat(payTb.getText()); amount += val; } catch (Exception e) { } } if (copayTb.getText().equals("0") || copayTb.getText().equals("")) { procsMaps[i - 1].put("copay", "0"); } else { procsMaps[i - 1].put("copay", copayTb.getText()); try { float val = Float.parseFloat(copayTb.getText()); amount += val; } catch (Exception e) { } } } float totalAmount = 0; try { totalAmount = Float.parseFloat(tbTotalAmount.getText()); } catch (Exception e) { } if (amount != totalAmount) { Window .alert(_("The total amount entered is not equal to the amounts entered in individual claims")); } else { postCheck(procsMaps); } }
public PostCheckWidget(HashSet<String> p, CustomRequestCallback cb) { callback = cb; procs = p; vPanel = new VerticalPanel(); vPanel.setSpacing(10); initWidget(vPanel); postCheckInfoFlexTable = new FlexTable(); // postCheckInfoFlexTable.setWidth("100%"); // Label payerLb = new Label("Payer"); // payerWidget = new CustomModuleWidget( // "api.ClaimLog.RebillDistinctPayers"); Label checkNumberLb = new Label(_("Check Number")); tbCheckNo = new TextBox(); Label totalAmountLb = new Label(_("Total Amount")); tbTotalAmount = new TextBox(); // postCheckInfoFlexTable.setWidget(0, 0, payerLb); // postCheckInfoFlexTable.setWidget(0, 1, payerWidget); postCheckInfoFlexTable.setWidget(1, 0, checkNumberLb); postCheckInfoFlexTable.setWidget(1, 1, tbCheckNo); postCheckInfoFlexTable.setWidget(2, 0, totalAmountLb); postCheckInfoFlexTable.setWidget(2, 1, tbTotalAmount); proceduresInfoTable = new CustomTable(); proceduresInfoTable.setAllowSelection(false); proceduresInfoTable.setSize("100%", "100%"); proceduresInfoTable.setIndexName("id"); proceduresInfoTable.addColumn(_("Patient"), "pt_name"); proceduresInfoTable.addColumn(_("Claim"), "clm"); proceduresInfoTable.addColumn(_("CPT"), "cpt"); proceduresInfoTable.addColumn(_("Service Date"), "ser_date"); proceduresInfoTable.addColumn(_("Paid"), "paid"); proceduresInfoTable.addColumn(_("Amount Billed"), "amnt_bill"); proceduresInfoTable.addColumn(_("Amount Allowed"), "balance"); proceduresInfoTable.addColumn(_("Adustment Balance"), "adj_bal"); proceduresInfoTable.addColumn(_("Payment"), "pay"); proceduresInfoTable.addColumn(_("Copay"), "copay"); proceduresInfoTable.addColumn(_("Left Over"), "left"); proceduresInfoTable .setTableWidgetColumnSetInterface(new TableWidgetColumnSetInterface() { @SuppressWarnings("unchecked") @Override public Widget setColumn(String columnName, final HashMap<String, String> data) { final int actionRow = proceduresInfoTable .getActionRow(); if (columnName.compareTo("balance") == 0) { int row = proceduresInfoTable.getActionRow(); proceduresInfoTable.getFlexTable() .getFlexCellFormatter().setWidth(row, 6, "10%"); pids.add(data.get("id")); final TextBox tbAllowedAmount = new TextBox(); tbAllowedAmount.setWidth("100%"); tbAllowedAmount.setText(data.get("balance")); tbAllowedAmount .addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent arg0) { float all_amnt = 0; float pay = 0; float copay = 0; if (!(tbAllowedAmount.getText() .equals("0") || tbAllowedAmount .getText().equals(""))) { all_amnt = Float .parseFloat(tbAllowedAmount .getText() .trim()); } TextBox tb1 = (TextBox) proceduresInfoTable .getWidget(8); TextBox tb2 = (TextBox) proceduresInfoTable .getWidget(9); if (!(tb1.getText().equals("0") || tb1 .getText().equals(""))) { pay = Float.parseFloat(tb1 .getText().trim()); } if (!(tb2.getText().equals("0") || tb2 .getText().equals(""))) { copay = Float.parseFloat(tb2 .getText().trim()); } Label left = (Label) proceduresInfoTable .getWidget(10); left.setText("" + (all_amnt - pay - copay)); } }); return tbAllowedAmount; } else if (columnName.compareTo("pay") == 0) { int row = proceduresInfoTable.getActionRow(); proceduresInfoTable.getFlexTable() .getFlexCellFormatter().setWidth(row, 8, "10%"); final TextBox tbPayment = new TextBox(); tbPayment.setWidth("100%"); tbPayment.setText("0"); tbPayment.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent arg0) { float all_amnt = 0; float pay = 0; float copay = 0; if (!(tbPayment.getText().equals("0") || tbPayment .getText().equals(""))) { pay = Float.parseFloat(tbPayment .getText().trim()); } TextBox tb1 = (TextBox) proceduresInfoTable .getWidget(6); TextBox tb2 = (TextBox) proceduresInfoTable .getWidget(9); if (!(tb1.getText().equals("0") || tb1 .getText().equals(""))) { all_amnt = Float.parseFloat(tb1 .getText().trim()); } if (!(tb2.getText().equals("0") || tb2 .getText().equals(""))) { copay = Float.parseFloat(tb2.getText() .trim()); } Label left = (Label) proceduresInfoTable .getWidget(10); left.setText("" + (all_amnt - pay - copay)); } }); return tbPayment; } else if (columnName.compareTo("copay") == 0) { int row = proceduresInfoTable.getActionRow(); proceduresInfoTable.getFlexTable() .getFlexCellFormatter().setWidth(row, 9, "10%"); final TextBox tbCopay = new TextBox(); tbCopay.setWidth("100%"); tbCopay.setText("0"); @SuppressWarnings("rawtypes") ArrayList params = new ArrayList(); tbCopay.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent arg0) { float all_amnt = 0; float pay = 0; float copay = 0; if (!(tbCopay.getText().equals("0") || tbCopay .getText().equals(""))) { copay = Float.parseFloat(tbCopay .getText().trim()); } TextBox tb1 = (TextBox) proceduresInfoTable .getWidget(6); TextBox tb2 = (TextBox) proceduresInfoTable .getWidget(8); if (!(tb1.getText().equals("0") || tb1 .getText().equals(""))) { all_amnt = Float.parseFloat(tb1 .getText().trim()); } if (!(tb2.getText().equals("0") || tb2 .getText().equals(""))) { pay = Float.parseFloat(tb2.getText() .trim()); } Label left = (Label) proceduresInfoTable .getWidget(10); left.setText("" + (all_amnt - pay - copay)); } }); params.add(data.get("pt_id")); params.add(data.get("id")); Util.callApiMethod("Ledger", "getCoveragesCopayInfo", params, new CustomRequestCallback() { @Override public void onError() { } @Override public void jsonifiedData(Object d) { if (data != null) { HashMap<String, String> result = (HashMap<String, String>) d; // tbAmount.setEnabled(false); if (result != null) { tbCopay.setText(result .get("copay")); try { Label lbLeft = new Label(); float left = 0; float copay = Float .parseFloat(result .get("copay")); left = Float .parseFloat(data .get("left")); lbLeft .setText("" + (left - copay)); proceduresInfoTable .getFlexTable() .setWidget( actionRow, 10, lbLeft); } catch (Exception e) { Window.alert("aaaa"); } // tbAmount.setEnabled(false); } } } }, "HashMap<String,String>"); return tbCopay; } else if (columnName.compareTo("left") == 0) { int row = proceduresInfoTable.getActionRow(); proceduresInfoTable.getFlexTable() .getFlexCellFormatter().setWidth(row, 10, "10%"); try { Label lb = (Label) proceduresInfoTable .getWidget(10); return lb; } catch (Exception e) { return new Label(); } } else if (columnName.compareTo("adj_bal") == 0) { int row = proceduresInfoTable.getActionRow(); proceduresInfoTable.getFlexTable() .getFlexCellFormatter().setWidth(row, 7, "10%"); Label adjbal = new Label(); adjbal.setText(data.get("adj_bal")); return adjbal; } else if (columnName.compareTo("amnt_bill") == 0) { int row = proceduresInfoTable.getActionRow(); proceduresInfoTable.getFlexTable() .getFlexCellFormatter().setWidth(row, 5, "10%"); Label amntbill = new Label(); amntbill.setText(data.get("amnt_bill")); return amntbill; } else { return (Widget) null; } } }); HorizontalPanel actionPanel = new HorizontalPanel(); actionPanel.setSpacing(5); // actionPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT); CustomButton postBtn = new CustomButton(_("Post"), AppConstants.ICON_ADD); postBtn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { prepareDataForPostCheck(); } }); CustomButton cancelBtn = new CustomButton(_("Cancel"), AppConstants.ICON_CANCEL); final PostCheckWidget pcw = this; cancelBtn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { pcw.removeFromParent(); callback.jsonifiedData("cancel"); } }); actionPanel.add(postBtn); actionPanel.add(cancelBtn); vPanel.add(postCheckInfoFlexTable); vPanel.add(proceduresInfoTable); vPanel.add(actionPanel); vPanel.setCellHorizontalAlignment(actionPanel, HasHorizontalAlignment.ALIGN_RIGHT); pids = new ArrayList<String>(); loadSelectedProcedureInfo(); }