public void drukuj() throws FileNotFoundException, DocumentException, IOException { Document document = new Document(); PdfWriter.getInstance( document, new FileOutputStream( "C:/Users/Osito/Documents/NetBeansProjects/npkpir_23/build/web/wydruki/vatsuma" + wpisView.getPodatnikWpisu() + ".pdf")) .setInitialLeading(16); document.addTitle("Zestawienie sum z ewidencji VAT"); document.addAuthor("Biuro Rachunkowe Taxman Grzegorz Grzelczyk"); document.addSubject("Wydruk danych z ewidencji VAT"); document.addKeywords("VAT, PDF"); document.addCreator("Grzegorz Grzelczyk"); document.open(); // Rectangle rect = new Rectangle(0, 832, 136, 800); // rect.setBackgroundColor(BaseColor.RED); // document.add(rect); document.add(new Chunk("Biuro Rachunkowe Taxman")); document.add(Chunk.NEWLINE); BaseFont helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED); Font font = new Font(helvetica, 12); Font fontM = new Font(helvetica, 10); Font fontS = new Font(helvetica, 6); document.add(Chunk.NEWLINE); Date date = Calendar.getInstance().getTime(); DateFormat formatt = new SimpleDateFormat("dd/MM/yyyy"); String today = formatt.format(date); System.out.println("PdfVATsuma Today : " + today); Paragraph miziu = new Paragraph( new Phrase( "Szczecin, dnia " + Data.datapk(wpisView.getRokWpisuSt(), wpisView.getMiesiacWpisu()), font)); miziu.setAlignment(Element.ALIGN_RIGHT); miziu.setLeading(50); document.add(miziu); document.add(new Chunk().NEWLINE); Paragraph miziu1 = new Paragraph(new Phrase("Zestawienie ewidencji VAT ", font)); miziu1.setAlignment(Element.ALIGN_CENTER); document.add(miziu1); document.add(new Chunk().NEWLINE); miziu1 = new Paragraph( new Phrase( "okres rozliczeniony " + wpisView.getMiesiacWpisu() + "/" + wpisView.getRokWpisu(), fontM)); document.add(miziu1); document.add(new Chunk().NEWLINE); miziu1 = new Paragraph(new Phrase("Firma: " + wpisView.getPodatnikWpisu(), fontM)); document.add(miziu1); Podatnik pod = podatnikDAO.find(wpisView.getPodatnikWpisu()); miziu1 = new Paragraph( new Phrase( "adres: " + pod.getMiejscowosc() + " " + pod.getUlica() + " " + pod.getNrdomu(), fontM)); document.add(miziu1); miziu1 = new Paragraph(new Phrase("NIP: " + pod.getNip(), fontM)); document.add(miziu1); PdfPTable tableSprzedaz = new PdfPTable(5); tableSprzedaz.setWidths(new int[] {1, 5, 2, 2, 2}); PdfPTable tableZakup = new PdfPTable(5); tableZakup.setWidths(new int[] {1, 5, 2, 2, 2}); NumberFormat formatter = NumberFormat.getCurrencyInstance(); formatter.setMaximumFractionDigits(2); formatter.setMinimumFractionDigits(2); formatter.setGroupingUsed(true); List<EVatwpisSuma> sumaVatSprzedaz = new ArrayList<>(); List<EVatwpisSuma> sumaVatZakup = new ArrayList<>(); Ewidencjevat lista; try { lista = ewidencjeVatDAO.find( wpisView.getRokWpisu().toString(), wpisView.getMiesiacWpisu(), wpisView.getPodatnikWpisu()); } catch (Exception e) { Integer kwartal = Integer.parseInt( Kwartaly.getMapanrkw().get(Integer.parseInt(wpisView.getMiesiacWpisu()))); List<String> miesiacewkwartale = Kwartaly.getMapakwnr().get(kwartal); lista = ewidencjeVatDAO.find( wpisView.getRokWpisu().toString(), miesiacewkwartale.get(2), wpisView.getPodatnikWpisu()); } for (EVatwpisSuma ew : lista.getSumaewidencji().values()) { String typeewidencji = ew.getEwidencja().getTypewidencji(); switch (typeewidencji) { case "s": sumaVatSprzedaz.add(ew); break; case "z": sumaVatZakup.add(ew); break; case "sz": sumaVatSprzedaz.add(ew); sumaVatZakup.add(ew); break; } } // tu robimy wykaz ewidencji sprzedazy document.add(Chunk.NEWLINE); miziu1 = new Paragraph(new Phrase("zestawienie ewidencji sprzedaży", fontM)); document.add(miziu1); try { tableSprzedaz.addCell(ustawfrazebez("lp", "center", 10)); tableSprzedaz.addCell(ustawfrazebez("ewidencja", "center", 10)); tableSprzedaz.addCell(ustawfrazebez("netto", "center", 10)); tableSprzedaz.addCell(ustawfrazebez("vat", "center", 10)); tableSprzedaz.addCell(ustawfrazebez("brutto", "center", 10)); tableSprzedaz.setHeaderRows(1); int i = 1; for (EVatwpisSuma p : sumaVatSprzedaz) { tableSprzedaz.addCell(ustawfrazebez(String.valueOf(i), "center", 10)); tableSprzedaz.addCell(ustawfrazebez(p.getEwidencja().getNazwa(), "left", 10)); tableSprzedaz.addCell( ustawfrazebez(String.valueOf(formatter.format(p.getNetto())), "right", 10)); tableSprzedaz.addCell( ustawfrazebez(String.valueOf(formatter.format(p.getVat())), "right", 10)); try { tableSprzedaz.addCell( ustawfrazebez( String.valueOf(formatter.format(p.getVat().add(p.getNetto()))), "right", 10)); } catch (Exception e) { tableSprzedaz.addCell(ustawfrazebez("", "right", 10)); } i++; } } catch (DocumentException | IOException e) { } document.add(Chunk.NEWLINE); document.add(tableSprzedaz); document.add(Chunk.NEWLINE); // tu robimy wykaz ewidencji zakupu miziu1 = new Paragraph(new Phrase("zestawienie ewidencji zakupu", fontM)); document.add(miziu1); try { tableZakup.addCell(ustawfrazebez("lp", "center", 10)); tableZakup.addCell(ustawfrazebez("ewidencja", "center", 10)); tableZakup.addCell(ustawfrazebez("netto", "center", 10)); tableZakup.addCell(ustawfrazebez("vat", "center", 10)); tableZakup.addCell(ustawfrazebez("brutto", "center", 10)); tableZakup.setHeaderRows(1); int i = 1; for (EVatwpisSuma p : sumaVatZakup) { tableZakup.addCell(ustawfrazebez(String.valueOf(i), "center", 10)); tableZakup.addCell(ustawfrazebez(p.getEwidencja().getNazwa(), "left", 10)); tableZakup.addCell( ustawfrazebez(String.valueOf(formatter.format(p.getNetto())), "right", 10)); tableZakup.addCell( ustawfrazebez(String.valueOf(formatter.format(p.getVat())), "right", 10)); try { tableZakup.addCell( ustawfrazebez( String.valueOf(formatter.format(p.getVat().add(p.getNetto()))), "right", 10)); } catch (Exception e) { tableZakup.addCell(ustawfrazebez("", "right", 10)); } i++; } } catch (DocumentException | IOException e) { } document.add(Chunk.NEWLINE); document.add(tableZakup); document.add(Chunk.NEWLINE); Uz uz = wpisView.getWprowadzil(); document.add(new Paragraph(String.valueOf(uz.getImie() + " " + uz.getNazw()), fontM)); document.add(new Paragraph("___________________________", fontM)); document.add(new Paragraph("sporządził", fontM)); document.close(); // Msg.msg("i", "Wydrukowano sume ewidencji VAT", "form:messages"); }
public void oblicz() throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Podatnik pod = podatnikDAO.find(podatnik); String vatokres = sprawdzjakiokresvat(); if (!vatokres.equals("miesięczne")) { Integer kwartal = Integer.parseInt( Kwartaly.getMapanrkw().get(Integer.parseInt(wpisView.getMiesiacWpisu()))); List<String> miesiacewkwartale = Kwartaly.getMapakwnr().get(kwartal); mc = miesiacewkwartale.get(2); } HashMap<String, EVatwpisSuma> sumaewidencji = ewidencjeVatDAO.find(rok, mc, podatnik).getSumaewidencji(); ArrayList<EVatwpisSuma> wyciagnieteewidencje = new ArrayList<>(sumaewidencji.values()); // tu zduplikowac ewidencje ArrayList<EVatwpisSuma> ewidencjetmp = new ArrayList<>(sumaewidencji.values()); for (EVatwpisSuma ew : ewidencjetmp) { if (ew.getEwidencja().getNazwa().equals("import usług") || ew.getEwidencja().getNazwa().equals("rejestr WNT")) { EVatwpisSuma suma = new EVatwpisSuma(ew.getEwidencja(), ew.getNetto(), ew.getVat(), ew.getEstawka()); // pobieram i kopiuje stara ewidencje Evewidencja tmp = new Evewidencja( ew.getEwidencja().getNazwa(), ew.getEwidencja().getPole(), ew.getEwidencja().getNrpolanetto(), ew.getEwidencja().getNrpolavat(), ew.getEwidencja().getRodzajzakupu(), ew.getEwidencja().getTransakcja(), ew.getEwidencja().isTylkoNetto()); // wpisuje pola zakupu tmp.setNrpolanetto("51"); tmp.setNrpolavat("52"); // zachowuje ewidecje do tymczasowej sumy suma.setEwidencja(tmp); // dodaje tymczasowa sume do calosci wyciagnieteewidencje.add(suma); } if (ew.getEwidencja().getNazwa().equals("import usług")) { EVatwpisSuma suma = new EVatwpisSuma(ew.getEwidencja(), ew.getNetto(), ew.getVat(), ew.getEstawka()); // pobieram i kopiuje stara ewidencje Evewidencja tmp = new Evewidencja( ew.getEwidencja().getNazwa(), ew.getEwidencja().getPole(), ew.getEwidencja().getNrpolanetto(), ew.getEwidencja().getNrpolavat(), ew.getEwidencja().getRodzajzakupu(), ew.getEwidencja().getTransakcja(), ew.getEwidencja().isTylkoNetto()); // wpisuje pola zakupu tmp.setNrpolanetto("39"); tmp.setNrpolavat("40"); // zachowuje ewidecje do tymczasowej sumy suma.setEwidencja(tmp); // dodaje tymczasowa sume do calosci wyciagnieteewidencje.add(suma); } } // sumuj ewidencje 51 i52 pola Evewidencja pojewid = new Evewidencja( "sumaryczna", "Nabycie towarów i usług pozostałych", "51", "52", "opodatkowane", "zakup suma", false); EVatwpisSuma sumawew = new EVatwpisSuma(pojewid, BigDecimal.ZERO, BigDecimal.ZERO, ""); for (Iterator<EVatwpisSuma> it = wyciagnieteewidencje.iterator(); it.hasNext(); ) { EVatwpisSuma ew = it.next(); if (ew.getEwidencja().getNrpolanetto().equals("51")) { sumawew.setNetto(sumawew.getNetto().add(ew.getNetto())); sumawew.setVat(sumawew.getVat().add(ew.getVat())); it.remove(); } } wyciagnieteewidencje.add(sumawew); // for (EVatwpisSuma ew : wyciagnieteewidencje) { System.out.println("Ewidencja :" + ew.toString()); String nrpolanetto = ew.getEwidencja().getNrpolanetto(); String nrpolavat = ew.getEwidencja().getNrpolavat(); String netto = String.valueOf(ew.getNetto()); int nettoI = Integer.parseInt(ew.getNetto().toString()); String vat = String.valueOf(ew.getVat().toString()); int vatI = Integer.parseInt(ew.getVat().toString()); Class[] paramString = new Class[1]; paramString[0] = String.class; Method met = PozycjeSzczegoloweVAT.class.getDeclaredMethod("setPole" + nrpolanetto, paramString); met.invoke(pozycjeSzczegoloweVAT, new String(netto)); paramString = new Class[1]; paramString[0] = Integer.class; try { met = PozycjeSzczegoloweVAT.class.getDeclaredMethod("setPoleI" + nrpolanetto, paramString); met.invoke(pozycjeSzczegoloweVAT, new Integer(nettoI)); } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { } if ((nrpolavat != null) && (!nrpolavat.equals(""))) { paramString = new Class[1]; paramString[0] = String.class; met = PozycjeSzczegoloweVAT.class.getDeclaredMethod("setPole" + nrpolavat, paramString); met.invoke(pozycjeSzczegoloweVAT, new String(vat)); paramString = new Class[1]; paramString[0] = Integer.class; try { met = PozycjeSzczegoloweVAT.class.getDeclaredMethod("setPoleI" + nrpolavat, paramString); met.invoke(pozycjeSzczegoloweVAT, new Integer(vatI)); } catch (Exception e) { } } } String kwotaautoryzujaca = null; String kodus = tKodUS.getLista().get(pod.getUrzadskarbowy()); try { boolean equals = kodus.equals(""); } catch (Exception e) { Msg.msg("e", "Brak wpisanego urzędu skarbowego!", "form:msg"); setFlaga(1); } try { List<Parametr> listakwotaautoryzujaca = pod.getKwotaautoryzujaca(); if (listakwotaautoryzujaca.size() == 0) { throw new Exception(); } for (Parametr par : listakwotaautoryzujaca) { if (par.getRokOd().equals(rok)) { kwotaautoryzujaca = par.getParametr(); break; } } } catch (Exception e) { Msg.msg("e", "Wystapil blad, brak kwoty autoryzujacej w ustawieniach!", "form:msg"); setFlaga(1); } if (flaga != 1) { try { bylajuzdeklaracjawtymmiesiacu(); zbadajpobranadeklarajce(); pobierz47zpoprzedniej(); } catch (Exception e) { pobierz47zustawien(); najpierwszadeklaracja(); } } if (flaga != 1) { podsumujszczegolowe(); selected.setPozycjeszczegolowe(pozycjeSzczegoloweVAT); selected.setPodatnik(podatnik); selected.setRok(rok); if (vatokres.equals("miesięczne")) { selected.setRodzajdeklaracji("VAT-7"); } else { selected.setRodzajdeklaracji("VAT-7K"); } String mcx = String.valueOf(Integer.parseInt(mc)); selected.setMiesiac(mcx); selected.setKodurzedu(tKodUS.getLista().get(pod.getUrzadskarbowy())); selected.setNazwaurzedu(pod.getUrzadskarbowy()); adres.setNIP(pod.getNip()); adres.setImiePierwsze(pod.getImie().toUpperCase()); adres.setNazwisko(pod.getNazwisko().toUpperCase()); adres.setDataUrodzenia(pod.getDataurodzenia()); adres.setWojewodztwo(pod.getWojewodztwo().toUpperCase()); adres.setPowiat(pod.getPowiat().toUpperCase()); adres.setGmina(pod.getGmina().toUpperCase()); adres.setUlica(pod.getUlica().toUpperCase()); adres.setNrDomu(pod.getNrdomu()); adres.setNrLokalu(pod.getNrlokalu()); adres.setMiejscowosc(pod.getMiejscowosc().toUpperCase()); adres.setKodPocztowy(pod.getKodpocztowy()); adres.setPoczta(pod.getPoczta().toUpperCase()); selected.setAdres(adres); selected.setKwotaautoryzacja(kwotaautoryzujaca); stworzdeklaracje(); nowadeklaracja.setEwidencje(ewidencjeVatDAO.find(rok, mc, podatnik).getEwidencje()); nowadeklaracja.setPodsumowanieewidencji( ewidencjeVatDAO.find(rok, mc, podatnik).getSumaewidencji()); nowadeklaracja.setRok(rok); if (!vatokres.equals("miesięczne")) { Integer kwartal = Integer.parseInt( Kwartaly.getMapanrkw().get(Integer.parseInt(wpisView.getMiesiacWpisu()))); List<String> miesiacewkwartale = Kwartaly.getMapakwnr().get(kwartal); nowadeklaracja.setMiesiac(miesiacewkwartale.get(2)); } else { nowadeklaracja.setMiesiac(mc); } nowadeklaracja.setMiesiac(mc); nowadeklaracja.setKodurzedu(selected.getKodurzedu()); nowadeklaracja.setPodatnik(podatnik); nowadeklaracja.setSelected(selected); nowadeklaracja.setPozycjeszczegolowe(pozycjeSzczegoloweVAT); nowadeklaracja.setIdentyfikator(""); nowadeklaracja.setUpo(""); nowadeklaracja.setStatus(""); nowadeklaracja.setOpis(""); } if (flaga == 2) { deklaracjevatDAO.destroy(deklaracjakorygowana); deklaracjevatDAO.edit(nowadeklaracja); deklaracjakorygowana = new Deklaracjevat(); Msg.msg( "i", podatnik + " - zachowano korekte niewysłanej deklaracji VAT za " + rok + "-" + mc, "form:msg"); } else if (flaga == 1) { Msg.msg("e", podatnik + " Deklaracja nie zachowana", "form:msg"); } else { deklaracjevatDAO.dodaj(nowadeklaracja); Msg.msg("i", podatnik + " - zachowano nową deklaracje VAT za " + rok + "-" + mc, "form:msg"); } // pobieranie potwierdzenia RequestContext.getCurrentInstance().update("vat7:"); }