public void processStorno( Date from, Date to, File dir, LoggingHandler lh, CSVController cSVController) { try { List<Invoice> invoices = configurationController .getInvoiceJpaController() .findInvoiceEntitiesOrdertypeDate(4, 10, from, to, 0); JDCsvWriter writer = cSVController.getWriterStorno(); for (Invoice invoice : invoices) { writer.write(format.format(invoice.getInvoiceDate())); writer.write(invoice.getInvoiceNumber()); writer.write(Integer.toString(invoice.getPartnerID() + Globals.DEBITORSTARTVALUE)); writer.endRecord(); } } catch (IOException ex) { Logger.getLogger(BookingController.class.getName()).log(Level.SEVERE, null, ex); } }
private PaymentStatistic processKZPaymentRecord( ArrayList<PaymentRecord> recordList, LoggingHandler lh) throws IOException { if (!recordList.isEmpty()) { lh.getLogger(Globals.LOGGINGKZ).log(Level.INFO, " Kunde: " + recordList.get(0).getKontoNr()); } PaymentStatistic statistic = new PaymentStatistic(); for (PaymentRecord record : recordList) { Invoice invoice = null; // if (record.getBelegNr() < Globals.MINKUNDENRECHNUNG || // configurationController.getProperty(Globals.PREFIXINVAR + record.getBelegNr()) != null) { // wird nicht mehr als Fehler gemeldet, daher keine MIN-Prüfung mehr if (configurationController.getProperty(Globals.PREFIXINVAR + record.getBelegNr()) != null) { continue; } // Rechnung noch nicht verarbeitet List<Invoice> invoices = configurationController .getInvoiceJpaController() .findInvoiceByNumber(record.getBelegNr()); if (invoices.size() > 0) { invoice = invoices.iterator().next(); } if (invoice != null) { lh.getLogger(Globals.LOGGINGKZ) .log(Level.INFO, " Rechnung " + invoice.getInvoiceNumber()); for (InvoiceItem invoiceItem : invoice.getInvoiceItemCollection()) { // nur Gutscheine die gekauft wurden // ab Okt. 2012 nicht nur Gutscheine, sondern auch 95er Items if (invoiceItem.getUniqueNumber() != null && !invoiceItem.getUniqueNumber().equals(Globals.EMPTYSTRING) && invoiceItem.getMrcommerceItemID().intValue() < Globals.GUTSCHEINMAXITEMNR && invoiceItem.getAmount().doubleValue() > 0.0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " Gutschein: " + invoiceItem.getUniqueNumber() != null ? invoiceItem.getUniqueNumber() : Globals.EMPTYSTRING); if (invoiceItem.getBHstatus() != null && (invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSNICHTBEZ || // nicht bezahlt invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNUNG || // Mahnung (nicht bez.) invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMANFREI || // manuell frei für Buchung invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNFREI) // Mahnung (frei f. Buch.) ) { int result = 0; // if ( invoiceItem.getUniqueNumber() != null && // // !invoiceItem.getUniqueNumber().equals(Globals.EMPTYSTRING) && // invoiceItem.getMrcommerceItemID().intValue() < // Globals.GUTSCHEINMAXITEMNR && // invoiceItem.getAmount().doubleValue() > 0.0) { result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatus( invoiceItem.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); // } else { // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUSBEZAHLT); // } if (result < 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.SEVERE, "Fehler bei Item: " + invoiceItem.getId() + " Gutschein: " + invoiceItem.getUniqueNumber() + " in Rechnung " + invoice.getInvoiceNumber() + " : " + result); statistic.incErrorCounter(1); } else if (result > 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, "Item: " + invoiceItem.getId() + " Gutschein: " + invoiceItem.getUniqueNumber() + " freigeschaltet"); statistic.incVoucherOkCounter(1); // // When das bezahlte Item ein Raktivierungsgebühr // war -> den zugehörigen Gutschein wieder auf frei für Einlösung setzen // if (invoiceItem.getMrcommerceItemID().intValue() // == Globals.GUTSCHEINREAKTIVIERUNG) { // InvoiceItem invoiceItemOld = // invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); // if (invoiceItemOld != null) { // NukeMrcommerceHistory histEntryBH = // new NukeMrcommerceHistory(); // histEntryBH.setNukeHistoryDate(new // Date()); // // histEntryBH.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); // // histEntryBH.setNukeHistoryMsg("Gutschein: " + invoiceItemOld.getUniqueNumber() + // " nach Reaktivierung wieder freigeschaltet - Anpassung BH"); // // histEntryBH.setNukeHistoryStatustype((short) 2); // // histEntryBH.setNukeHistoryStatus(invoiceItemOld.getBHstatus()); // NukeMrcommerceHistoryJpaController // HistoryJPAController = new NukeMrcommerceHistoryJpaController(); // // HistoryJPAController.create(histEntryBH); // NukeMrcommerceHistory histEntryFF = // new NukeMrcommerceHistory(); // histEntryFF.setNukeHistoryDate(new // Date()); // // histEntryFF.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); // // histEntryFF.setNukeHistoryMsg("Gutschein: " + invoiceItemOld.getUniqueNumber() + // " nach Reaktivierung wieder freigeschaltet - Anpassung FF"); // // histEntryFF.setNukeHistoryStatustype((short) 1); // // histEntryFF.setNukeHistoryStatus(invoiceItemOld.getFFstatus()); // // HistoryJPAController.create(histEntryFF); // // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItemOld.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); // int resultFF = 0; // resultFF = // configurationController.getInvoiceItemJpaController().updateInvoiceItemFFStatus(invoiceItemOld.getUniqueNumber(), Globals.FFSTATUSFREIEINLOESUNG); // if (result < 0 || resultFF < 0) { // // lh.getLogger(Globals.LOGGINGKZ).log(Level.SEVERE, "Fehler bei Item: " + // invoiceItemOld.getId() + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " in // Rechnung " + invoiceItemOld.getInvoice().getInvoiceNumber() + " : " + result); // statistic.incErrorCounter(1); // } else if (result > 0 && resultFF > 0) { // // lh.getLogger(Globals.LOGGINGKZ).log(Level.INFO, "Item: " + invoiceItemOld.getId() // + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder // freigeschaltet"); // statistic.incVoucherOkCounter(1); // } // } // // } } } else { lh.getLogger(Globals.LOGGINGKZ) .log( Level.WARNING, "Item: " + invoiceItem.getId() + " Gutschein " + invoiceItem.getUniqueNumber() + " in Rechnung " + invoice.getInvoiceNumber() + " nicht freigeschalten: hat BH-Status " + invoiceItem.getBHstatus()); statistic.incStatusNokCounter(1); } // } } else if ((invoiceItem.getMrcommerceItemID().intValue() < Globals.GUTSCHEINMAXITEMNR || Globals.NONGUTSCHEINITEMSKZ.contains( invoiceItem.getMrcommerceItemID().intValue())) && invoiceItem.getAmount().doubleValue() > 0.0) { // InvoiceItem invoiceItemOld = invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); lh.getLogger(Globals.LOGGINGKZ).log(Level.INFO, " Item: " + invoiceItem.getId()); if (invoiceItem.getBHstatus() != null && (invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSNICHTBEZ || // nicht bezahlt invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNUNG || // Mahnung (nicht bez.) invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMANFREI || // manuell frei für Buchung invoiceItem.getBHstatus().intValue() == Globals.BHSTATUSMAHNFREI) // Mahnung (frei f. Buch.) ) { int result = 0; int result2 = 0; // if ( invoiceItem.getUniqueNumber() != null && // // !invoiceItem.getUniqueNumber().equals(Globals.EMPTYSTRING) && // invoiceItem.getMrcommerceItemID().intValue() < // Globals.GUTSCHEINMAXITEMNR && // invoiceItem.getAmount().doubleValue() > 0.0) { // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItem.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); // } else { if (Globals.NONGUTSCHEINITEMSKZ.contains( invoiceItem.getMrcommerceItemID().intValue())) { result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUS95ABGESCHLOSSEN); result2 = configurationController .getInvoiceItemJpaController() .updateInvoiceItemFFStatus(invoiceItem, Globals.FFSTATUS95ABGESCHLOSSEN); lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " auf abgeschlossen gesetzt (95er Item)"); } else { result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUSBEZAHLT); result2 = configurationController .getInvoiceItemJpaController() .updateInvoiceItemFFStatus(invoiceItem, Globals.FFSTATUSFREIEINLOESUNG); lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " auf bezahlt/frei für Einlösung gesetzt"); } // result = // configurationController.getInvoiceItemJpaController().updateInvoiceItemStatus(invoiceItem, Globals.BHSTATUSBEZAHLT); // } if (result < 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.SEVERE, "Fehler bei Item: " + invoiceItem.getId() + " in Rechnung " + invoice.getInvoiceNumber() + " : " + result); statistic.incErrorCounter(1); } else if (result == 0) { lh.getLogger(Globals.LOGGINGKZ) .log(Level.INFO, "Item: " + invoiceItem.getId() + " freigeschaltet"); statistic.incVoucherOkCounter(1); // When das bezahlte Item ein Raktivierungsgebühr war -> den zugehörigen Gutschein // wieder auf frei für Einlösung setzen if (invoiceItem.getMrcommerceItemID().intValue() == Globals.GUTSCHEINREAKTIVIERUNG) { // InvoiceItem invoiceItemOld = // invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); InvoiceItem invoiceItemOld = invoiceItem.getInvoiceItemHistory().getInvoiceItemOld(); lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, " Item: " + invoiceItem.getId() + " bezieht sich auf Gutschein: " + invoiceItemOld.getUniqueNumber() != null ? invoiceItemOld.getUniqueNumber() : Globals.EMPTYSTRING); if (invoiceItemOld != null) { NukeMrcommerceHistory histEntryBH = new NukeMrcommerceHistory(); histEntryBH.setNukeHistoryDate(new Date()); histEntryBH.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); histEntryBH.setNukeHistoryMsg( "Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder freigeschaltet - Anpassung BH"); histEntryBH.setNukeHistoryStatustype((short) 2); histEntryBH.setNukeHistoryStatus(invoiceItemOld.getBHstatus()); NukeMrcommerceHistoryJpaController HistoryJPAController = new NukeMrcommerceHistoryJpaController(); HistoryJPAController.create(histEntryBH); NukeMrcommerceHistory histEntryFF = new NukeMrcommerceHistory(); histEntryFF.setNukeHistoryDate(new Date()); histEntryFF.setNukeHistoryPass(invoiceItemOld.getUniqueNumber()); histEntryFF.setNukeHistoryMsg( "Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder freigeschaltet - Anpassung FF"); histEntryFF.setNukeHistoryStatustype((short) 1); histEntryFF.setNukeHistoryStatus(invoiceItemOld.getFFstatus()); HistoryJPAController.create(histEntryFF); result = configurationController .getInvoiceItemJpaController() .updateInvoiceItemStatusReact( invoiceItemOld.getUniqueNumber(), Globals.BHSTATUSBEZAHLT); int resultFF = 0; resultFF = configurationController .getInvoiceItemJpaController() .updateInvoiceItemFFStatusReact( invoiceItemOld.getUniqueNumber(), Globals.FFSTATUSFREIEINLOESUNG); if (result < 0 || resultFF < 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.SEVERE, "Fehler bei Item: " + invoiceItemOld.getId() + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " in Rechnung " + invoiceItemOld.getInvoice().getInvoiceNumber() + " : " + result); statistic.incErrorCounter(1); } else if (result > 0 && resultFF > 0) { lh.getLogger(Globals.LOGGINGKZ) .log( Level.INFO, "Item: " + invoiceItemOld.getId() + " Gutschein: " + invoiceItemOld.getUniqueNumber() + " nach Reaktivierung wieder freigeschaltet"); statistic.incVoucherOkCounter(1); } } } } } } } configurationController.setProperty( Globals.PREFIXINVAR + record.getBelegNr(), format.format(new Date())); // configurationController.getProperty("PREINVAR26890811"); } else { lh.getLogger(Globals.LOGGINGKZ) .log( Level.WARNING, "Fehler bei Rechnung " + record.getBelegStr() + ": Rechnung nicht gefunden! "); statistic.incInvoiceNotFoundCounter(1); } } return statistic; }