private String sprawdzjakiokresvat() { Integer rok = wpisView.getRokWpisu(); Integer mc = Integer.parseInt(wpisView.getMiesiacWpisu()); Integer sumaszukana = rok + mc; List<Parametr> parametry = wpisView.getPodatnikObiekt().getVatokres(); // odszukaj date w parametrze - kandydat na metode statyczna for (Parametr p : parametry) { try { Integer dolnagranica = Integer.parseInt(p.getRokOd()) + Integer.parseInt(p.getMcOd()); Integer gornagranica = Integer.parseInt(p.getRokDo()) + Integer.parseInt(p.getMcDo()); if (sumaszukana >= dolnagranica && sumaszukana <= gornagranica) { return p.getParametr(); } } catch (Exception e) { Integer dolnagranica = Integer.parseInt(p.getRokOd()) + Integer.parseInt(p.getMcOd()); if (sumaszukana >= dolnagranica) { return p.getParametr(); } } } return "blad"; }
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:"); }