public int compare(final IVerrechenbar v1, final IVerrechenbar v2) { int i = v1.getCodeSystemName().compareTo(v2.getCodeSystemName()); if (i == 0) { i = v1.getCode().compareTo(v2.getCode()); } return i; }
public Result<IVerrechenbar> add(final IVerrechenbar code, final Konsultation kons) { List<Verrechnet> old = kons.getLeistungen(); Verrechnet foundVerrechnet = null; for (Verrechnet verrechnet : old) { IVerrechenbar vrElement = verrechnet.getVerrechenbar(); if (vrElement == null) { // #2454 This should not happen, may however if we have to consider // elements where the responsible plugin is not available if (log == null) log = LoggerFactory.getLogger(DefaultOptifier.class); log.error( "IVerrechenbar is not resolvable in " + verrechnet.getId() + " is " + verrechnet.get(Verrechnet.CLASS) + " available?"); continue; } if (vrElement.getId().equals(code.getId())) { if (verrechnet.getText().equals(code.getText())) { foundVerrechnet = verrechnet; break; } } } if (foundVerrechnet != null) { foundVerrechnet.changeAnzahl(foundVerrechnet.getZahl() + 1); } else { newVerrechnet = new Verrechnet(code, kons, 1); old.add(newVerrechnet); } return new Result<IVerrechenbar>(code); }
public void setLeistungen(Konsultation b) { List<Verrechnet> lgl = Collections.emptyList(); if (b != null) { lgl = b.getLeistungen(); } tVerr.setRedraw(false); tVerr.removeAll(); StringBuilder sdg = new StringBuilder(); Money sum = new Money(0); for (Verrechnet lst : lgl) { sdg.setLength(0); int z = lst.getZahl(); Money preis = lst.getNettoPreis().multiply(z); sum.addMoney(preis); sdg.append(z) .append(" ") .append(lst.getCode()) .append(" ") .append(lst.getText()) // $NON-NLS-1$ //$NON-NLS-2$ .append(" (") .append(preis.getAmountAsString()) .append(")"); // $NON-NLS-1$ //$NON-NLS-2$ TableItem ti = new TableItem(tVerr, SWT.WRAP); ti.setText(sdg.toString()); ti.setData(lst); IVerrechenbar vr = lst.getVerrechenbar(); if (vr instanceof Artikel) { Artikel a = (Artikel) vr; int abgabeEinheit = a.getAbgabeEinheit(); if (abgabeEinheit > 0 && abgabeEinheit < a.getPackungsGroesse()) { ti.setImage(Images.IMG_BLOCKS_SMALL.getImage()); } } // set table item color IVerrechenbar verrBar = lst.getVerrechenbar(); if (verrBar != null) { Color color = UiDesk.getColorFromRGB(defaultRGB); String codeName = verrBar.getCodeSystemName(); if (codeName != null) { String rgbColor = CoreHub.globalCfg.get(Preferences.LEISTUNGSCODES_COLOR + codeName, defaultRGB); color = UiDesk.getColorFromRGB(rgbColor); } ti.setBackground(color); } } tVerr.setRedraw(true); sdg.setLength(0); sdg.append(Messages.VerrechnungsDisplay_billed) .append(sum.getAmountAsString()) .append(")"); // $NON-NLS-1$ //$NON-NLS-2$ hVer.setText(sdg.toString()); }