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:"); }
@PostConstruct private void init() throws Exception { listadokvat.addAll(dokTabView.getDokvatmc()); for (Dok zaksiegowanafaktura : listadokvat) { if (zaksiegowanafaktura.getEwidencjaVAT() != null) { List<EVatwpis> ewidencja = new ArrayList<>(); ewidencja.addAll(zaksiegowanafaktura.getEwidencjaVAT()); for (EVatwpis ewidwiersz : ewidencja) { if (ewidwiersz.getNetto() != 0) { EVatViewPola wiersz = new EVatViewPola(); wiersz.setId(zaksiegowanafaktura.getNrWpkpir()); wiersz.setDataSprz(zaksiegowanafaktura.getDataSprz()); wiersz.setDataWyst(zaksiegowanafaktura.getDataWyst()); wiersz.setKontr(zaksiegowanafaktura.getKontr()); wiersz.setNrWlDk(zaksiegowanafaktura.getNrWlDk()); wiersz.setOpis(zaksiegowanafaktura.getOpis()); wiersz.setNazwaewidencji(ewidwiersz.getEwidencja().getNazwa()); wiersz.setNrpolanetto(ewidwiersz.getEwidencja().getNrpolanetto()); wiersz.setNrpolavat(ewidwiersz.getEwidencja().getNrpolavat()); wiersz.setNetto(ewidwiersz.getNetto()); wiersz.setVat(ewidwiersz.getVat()); wiersz.setOpizw(ewidwiersz.getEstawka()); listadokvatprzetworzona.add(wiersz); } } } } // rozdziela zapisy na poszczególne ewidencje for (EVatViewPola wierszogolny : listadokvatprzetworzona) { ArrayList<EVatViewPola> listatmp = new ArrayList<>(); // sprawdza nazwe ewidencji zawarta w wierszu ogolnym i dodaje do listy String nazwaewidencji = wierszogolny.getNazwaewidencji(); try { Collection c = listaewidencji.get(nazwaewidencji); listatmp.addAll(c); } catch (Exception e) { listaewidencji.put(nazwaewidencji, new ArrayList<EVatViewPola>()); Evewidencja nowaEv = evewidencjaDAO.znajdzponazwie(nazwaewidencji); sumaewidencji.put( nazwaewidencji, new EVatwpisSuma(nowaEv, BigDecimal.ZERO, BigDecimal.ZERO, wierszogolny.getOpizw())); } listatmp.add(wierszogolny); EVatwpisSuma ew = sumaewidencji.get(nazwaewidencji); BigDecimal sumanetto = ew.getNetto() .add(BigDecimal.valueOf(wierszogolny.getNetto()).setScale(0, RoundingMode.HALF_EVEN)); ew.setNetto(sumanetto); BigDecimal sumavat = ew.getVat() .add(BigDecimal.valueOf(wierszogolny.getVat()).setScale(0, RoundingMode.HALF_EVEN)); ew.setVat(sumavat); sumaewidencji.put(nazwaewidencji, ew); listaewidencji.put(nazwaewidencji, listatmp); } wygeneruj(listaewidencji); String rok = wpisView.getRokWpisu().toString(); String mc = wpisView.getMiesiacWpisu(); String pod = wpisView.getPodatnikWpisu(); // zachowaj wygenerowane ewidencje do bazy danych try { Ewidencjevat pobrane = ewidencjeVatDAO.find(rok, mc, pod); pobrane.setEwidencje(listaewidencji); pobrane.setSumaewidencji(sumaewidencji); ewidencjeVatDAO.edit(pobrane); } catch (Exception e) { zrzucane.setPodatnik(pod); zrzucane.setRok(rok); zrzucane.setMiesiac(mc); zrzucane.setEwidencje(listaewidencji); zrzucane.setSumaewidencji(sumaewidencji); ewidencjeVatDAO.dodajewidencje(zrzucane); } System.out.println("lolo"); }