Guest User

Untitled

a guest
Dec 17th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.93 KB | None | 0 0
  1. package com.generali.eVP.dao._impl.aoDAOImpl;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.List;
  6.  
  7. import org.apache.commons.lang.StringUtils;
  8. import org.apache.commons.lang.math.NumberUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.beans.factory.annotation.Qualifier;
  11. import org.springframework.dao.DataAccessException;
  12. import org.springframework.jdbc.core.JdbcTemplate;
  13. import org.springframework.stereotype.Repository;
  14.  
  15. import com.generali.eVP.dao.aoDAO.AoDAO;
  16. import com.generali.eVP.model.ao.StariPodaci;
  17. import com.generali.eVP.model.ak.KaskoNovaPolica;
  18. import com.generali.eVP.model.ak.KaskoStaraPolica;
  19. import com.generali.eVP.model.ao.BudzetPosrednikaIzlaz;
  20. import com.generali.eVP.model.ao.BudzetPosrednikaUlaz;
  21. import com.generali.eVP.model.ao.NoviPodaci;
  22. import com.generali.eVP.model.ao.ObracunskaPolica;
  23. import com.generali.eVP.model.ao.ObranaPosrednikaVelikaTablicaIzlaz;
  24. import com.generali.eVP.model.ao.ObranaPosrednikaVelikaTablicaUlaz;
  25. import com.generali.eVP.model.ao.OsiguraneSvoteIzlaz;
  26. import com.generali.eVP.model.ao.OsiguraneSvoteUlaz;
  27. import com.generali.eVP.model.ao.PopustiIzlaz;
  28. import com.generali.eVP.model.ao.PopustiUlaz;
  29. import com.generali.eVP.model.ao.PortfolioPruningUlaz;
  30. import com.generali.eVP.model.ao.PortfolioPruningIzlaz;
  31. import com.generali.eVP.model.ao.ProvjeraBazeStetnikaIzlaz;
  32. import com.generali.eVP.model.ao.ProvjeraBazeStetnikaUlaz;
  33. import com.generali.eVP.model.ao.Saldo;
  34. import com.generali.eVP.model.ao.SifarnikBudzeta;
  35. import com.generali.eVP.model.ao.Steta;
  36. import com.generali.eVP.model.ao.UvjetiIzlaz;
  37.  
  38. @Repository
  39. public class AoDAOImpl implements AoDAO {
  40.  
  41. @Autowired
  42. @Qualifier("ins2JdbcTemplate")
  43. JdbcTemplate ins2jdbcTemplate;
  44.  
  45. @Override
  46. public NoviPodaci getNoviPodaci(StariPodaci stariPodaci) {
  47.  
  48. try {
  49. String status = ins2jdbcTemplate.queryForObject(
  50. "SELECT OS_STATUS FROM INS2.POV_STAT_ZADNJI WHERE SIFRA = ? AND OS_TIP = ?",
  51. new Object[] { stariPodaci.getBrojPrethodnePolice(), stariPodaci.getOsTip() }, String.class);
  52. if (status.equals("Ti")) {
  53.  
  54. return ins2jdbcTemplate.queryForObject(
  55. "SELECT * FROM EVP_V_AUTOOSIGURANJE01 WHERE OS_TIP = ? AND SIFRA = ? ",
  56. new Object[] { stariPodaci.getOsTip(), stariPodaci.getBrojPrethodnePolice() }, (rs, rowNum) -> {
  57. NoviPodaci noviPodaci = new NoviPodaci();
  58. noviPodaci.setSaldo(getListaSaldo(stariPodaci));
  59. noviPodaci.setSteta(getListaSteta(stariPodaci));
  60. noviPodaci.setObracunskaPolica(getObracunskaPolica(stariPodaci));
  61. if (StringUtils.isNotEmpty(rs.getString(3)))
  62. noviPodaci.setOsTipPrethodne(rs.getString(3));
  63. if (StringUtils.isNotEmpty(rs.getString(4)))
  64. noviPodaci.setBrojPrethodne(rs.getString(4));
  65. if (StringUtils.isNotEmpty(rs.getString(5)))
  66. noviPodaci.setOsTipMaster(rs.getString(5));
  67. if (StringUtils.isNotEmpty(rs.getString(6)))
  68. noviPodaci.setMaster(rs.getString(6));
  69. if (StringUtils.isNotEmpty(rs.getString(7)))
  70. noviPodaci.setPosrednik(rs.getString(7));
  71. if (StringUtils.isNotEmpty(rs.getString(8)))
  72. noviPodaci.setSatOsiguranja(rs.getString(8));
  73. if (StringUtils.isNotEmpty(rs.getString(9)))
  74. noviPodaci.setDatumOsiguranja(rs.getString(9));
  75. if (StringUtils.isNotEmpty(rs.getString(10)))
  76. noviPodaci.setStrankaUgovaratelj(rs.getString(10));
  77. if (StringUtils.isNotEmpty(rs.getString(11)))
  78. noviPodaci.setPosrednikObnove(rs.getString(11));
  79. if (StringUtils.isNotEmpty(rs.getString(12)))
  80. noviPodaci.setRegistarskaOznaka(rs.getString(12));
  81. if (StringUtils.isNotEmpty(rs.getString(13)))
  82. noviPodaci.setBrojSasije(rs.getString(13));
  83. if (StringUtils.isNotEmpty(rs.getString(14)))
  84. noviPodaci.setProizvodjac(rs.getString(14));
  85. if (StringUtils.isNotEmpty(rs.getString(15)))
  86. noviPodaci.setTipModelVozila(rs.getString(15));
  87. if (StringUtils.isNotEmpty(rs.getString(16)))
  88. noviPodaci.setPremijskaGrupa(rs.getString(16));
  89. if (NumberUtils.isNumber(rs.getString(17)))
  90. noviPodaci.setBrojMjesta(rs.getInt(17));
  91. if (StringUtils.isNotEmpty(rs.getString(18)))
  92. noviPodaci.setSnagaMotora(rs.getString(18));
  93. if (StringUtils.isNotEmpty(rs.getString(19)))
  94. noviPodaci.setNdm(rs.getString(19));
  95. if (StringUtils.isNotEmpty(rs.getString(20)))
  96. noviPodaci.setZapremninaMotora(rs.getString(20));
  97. if (StringUtils.isNotEmpty(rs.getString(21)))
  98. noviPodaci.setDopustenaNosivost(rs.getString(21));
  99. if (StringUtils.isNotEmpty(rs.getString(22)))
  100. noviPodaci.setGodinaProizvodnje(rs.getString(22));
  101. if (StringUtils.isNotEmpty(rs.getString(23)))
  102. noviPodaci.setOsiguraneSvoteOsobe(rs.getString(23));
  103. if (StringUtils.isNotEmpty(rs.getString(24)))
  104. noviPodaci.setOsiguraneSvoteStvari(rs.getString(24));
  105. if (StringUtils.isNotEmpty(rs.getString(25)))
  106. noviPodaci.setStrankaOsiguranik(rs.getString(25));
  107. if (StringUtils.isNotEmpty(rs.getString(26)))
  108. noviPodaci.setObnovaNa(rs.getString(26));
  109. if (StringUtils.isNotEmpty(rs.getString(27)))
  110. noviPodaci.setMentorPosrednika(rs.getString(27));
  111. if (StringUtils.isNotEmpty(rs.getString(30)))
  112. noviPodaci.setOibUgovaratelj(rs.getString(30));
  113. if (StringUtils.isNotEmpty(rs.getString(31)))
  114. noviPodaci.setOibOsiguranik(rs.getString(31));
  115. return noviPodaci;
  116. });
  117. } else {
  118. return new NoviPodaci();
  119.  
  120. }
  121. } catch (DataAccessException e) {
  122. e.printStackTrace();
  123. return new NoviPodaci();
  124. }
  125. }
  126.  
  127. public List<Saldo> getListaSaldo(StariPodaci stariPodaci) {
  128. List<Saldo> saldo = ins2jdbcTemplate.query("SELECT * from TABLE (DRAZEN.SALDO(?, ?)) order by s_broj_rate",
  129. new Object[] { stariPodaci.getOsTip(), stariPodaci.getBrojPrethodnePolice() }, (rs, rowNum) -> {
  130. if(StringUtils.isNotEmpty(rs.getString(3))) {
  131. Saldo sal = new Saldo();
  132. sal.setsOsTip(rs.getString(1));
  133. sal.setsOsSifra(rs.getString(2));
  134. sal.setsBrojRate(rs.getString(3));
  135. sal.setsDatumDospijeca(rs.getString(4));
  136. sal.setsSaldo(rs.getString(5));
  137. return sal;
  138. }
  139. return null;
  140. });
  141. saldo.removeAll(Collections.singleton(null));
  142. return saldo;
  143. }
  144.  
  145. public List<Steta> getListaSteta(StariPodaci stariPodaci) {
  146. List<Steta> steta = ins2jdbcTemplate.query("SELECT * from TABLE (DRAZEN.STETA(?, ?))",
  147. new Object[] { stariPodaci.getOsTip(), stariPodaci.getBrojPrethodnePolice() }, (rs, rowNum) -> {
  148. Steta ste = new Steta();
  149. ste.setsOsTip(rs.getString(1));
  150. ste.setsOsSifra(rs.getString(2));
  151. ste.setsSteta(rs.getString(3));
  152. return ste;
  153. });
  154. return steta;
  155. }
  156.  
  157. public List<ObracunskaPolica> getObracunskaPolica(StariPodaci stariPodaci) {
  158. List<ObracunskaPolica> obracunska = ins2jdbcTemplate.query(
  159. "SELECT * FROM EVP_V_AUTOOSIGURANJE09 WHERE OS_TIP_MASTER = ? AND MASTER = ?",
  160. new Object[] { stariPodaci.getOsTip(), stariPodaci.getBrojPrethodnePolice() }, (rs, rowNum) -> {
  161. ObracunskaPolica obr = new ObracunskaPolica();
  162. obr.setOsTip(rs.getString(1));
  163. obr.setSifra(rs.getString(2));
  164. obr.setOsTipMaster(rs.getString(3));
  165. obr.setMaster(rs.getString(4));
  166. return obr;
  167. });
  168. return obracunska;
  169. }
  170.  
  171. @Override
  172. public PortfolioPruningIzlaz getPortfolioPruning(PortfolioPruningUlaz portfolioPruningUlaz) {
  173. String sqlAppend = "";
  174. if (!("").equals(portfolioPruningUlaz.getOib())) {
  175. sqlAppend = "STRANKA = '" + portfolioPruningUlaz.getOib() + "'";
  176. } else {
  177. sqlAppend = "NAZIV LIKE '%" + portfolioPruningUlaz.getNaziv() + "%'";
  178. }
  179. try {
  180. return ins2jdbcTemplate.queryForObject("SELECT * FROM EVP_V_AUTOOSIGURANJE06 WHERE " + sqlAppend
  181. + " AND LISTA = ? AND TRUNC(SYSDATE) BETWEEN NVL(DATUM_OD, TO_DATE('01.01.1900','DD.MM.YYYY')) AND NVL(DATUM_DO, TO_DATE('01.01.2099','DD.MM.YYYY'))",
  182. new Object[] { portfolioPruningUlaz.getProizvod() }, (rs, rowNum) -> {
  183. PortfolioPruningIzlaz portfolioPruningIzlaz = new PortfolioPruningIzlaz();
  184. if (StringUtils.isNotEmpty(rs.getString(1)))
  185. portfolioPruningIzlaz.setDatumOd(rs.getString(1));
  186. if (StringUtils.isNotEmpty(rs.getString(2)))
  187. portfolioPruningIzlaz.setDatumDo(rs.getString(2));
  188. if (StringUtils.isNotEmpty(rs.getString(3)))
  189. portfolioPruningIzlaz.setRazlog(rs.getString(3));
  190. return portfolioPruningIzlaz;
  191. });
  192. } catch (DataAccessException e) {
  193. return new PortfolioPruningIzlaz();
  194. }
  195. }
  196.  
  197. @Override
  198. public List<ProvjeraBazeStetnikaIzlaz> getListaProvjeraBazeStetnika(
  199. ProvjeraBazeStetnikaUlaz provjeraBazeStetnikaUlaz) {
  200. try {
  201. String sql = generateStetnikQuery(provjeraBazeStetnikaUlaz);
  202. List<ProvjeraBazeStetnikaIzlaz> provjeraBazeStetnika = ins2jdbcTemplate.query(sql, (rs, rowNum) -> {
  203. ProvjeraBazeStetnikaIzlaz provjeraBazeStetnikaIzlaz = new ProvjeraBazeStetnikaIzlaz();
  204. if (StringUtils.isNotEmpty(rs.getString(1)))
  205. provjeraBazeStetnikaIzlaz.setGodina(rs.getString(1));
  206. if (StringUtils.isNotEmpty(rs.getString(2)))
  207. provjeraBazeStetnikaIzlaz.setDrustvo(rs.getString(2));
  208. if (StringUtils.isNotEmpty(rs.getString(3)))
  209. provjeraBazeStetnikaIzlaz.setOibVlasnika(rs.getString(3));
  210. if (StringUtils.isNotEmpty(rs.getString(4)))
  211. provjeraBazeStetnikaIzlaz.setOibVozaca(rs.getString(4));
  212. if (StringUtils.isNotEmpty(rs.getString(5)))
  213. provjeraBazeStetnikaIzlaz.setImeVlasnika(rs.getString(5));
  214. if (StringUtils.isNotEmpty(rs.getString(6)))
  215. provjeraBazeStetnikaIzlaz.setPrezimeNazivVlasnika(rs.getString(6));
  216. if (StringUtils.isNotEmpty(rs.getString(7)))
  217. provjeraBazeStetnikaIzlaz.setImeVozaca(rs.getString(7));
  218. if (StringUtils.isNotEmpty(rs.getString(8)))
  219. provjeraBazeStetnikaIzlaz.setPrezimeVozaca(rs.getString(8));
  220. if (StringUtils.isNotEmpty(rs.getString(9)))
  221. provjeraBazeStetnikaIzlaz.setRegOznaka(rs.getString(9));
  222. if (StringUtils.isNotEmpty(rs.getString(10)))
  223. provjeraBazeStetnikaIzlaz.setSasija(rs.getString(10));
  224. if (StringUtils.isNotEmpty(rs.getString(11)))
  225. provjeraBazeStetnikaIzlaz.setPolica(rs.getString(11));
  226. if (StringUtils.isNotEmpty(rs.getString(12)))
  227. provjeraBazeStetnikaIzlaz.setBrojNovePolice(rs.getString(12));
  228. if (StringUtils.isNotEmpty(rs.getString(13)))
  229. provjeraBazeStetnikaIzlaz.setDatumIsteka(rs.getString(13));
  230. if (StringUtils.isNotEmpty(rs.getString(14)))
  231. provjeraBazeStetnikaIzlaz.setDatumStete(rs.getString(14));
  232. if (StringUtils.isNotEmpty(rs.getString(15)))
  233. provjeraBazeStetnikaIzlaz.setMjestoStete(rs.getString(15));
  234. if (StringUtils.isNotEmpty(rs.getString(16)))
  235. provjeraBazeStetnikaIzlaz.setBrojSteta(rs.getString(16));
  236. if (StringUtils.isNotEmpty(rs.getString(17)))
  237. provjeraBazeStetnikaIzlaz.setNaziv(rs.getString(17));
  238. if (StringUtils.isNotEmpty(rs.getString(18)))
  239. provjeraBazeStetnikaIzlaz.setStetnik(rs.getString(18));
  240. if (StringUtils.isNotEmpty(rs.getString(19)))
  241. provjeraBazeStetnikaIzlaz.setPotvrdaPremaOibuVlasnika(rs.getString(19));
  242. if (StringUtils.isNotEmpty(rs.getString(20)))
  243. provjeraBazeStetnikaIzlaz.setPotvrdaPremaOibuNazivuVlasnika(rs.getString(20));
  244. if (StringUtils.isNotEmpty(rs.getString(21)))
  245. provjeraBazeStetnikaIzlaz.setPotvrdaPremaNazivu(rs.getString(21));
  246. if (StringUtils.isNotEmpty(rs.getString(22)))
  247. provjeraBazeStetnikaIzlaz.setPotvrdaPremaPolici(rs.getString(22));
  248. if (StringUtils.isNotEmpty(rs.getString(23)))
  249. provjeraBazeStetnikaIzlaz.setPotvrdaPremaSasijiVozila(rs.getString(23));
  250. if (StringUtils.isNotEmpty(rs.getString(24)))
  251. provjeraBazeStetnikaIzlaz.setPotvrdaPremaRegOznaciVozila(rs.getString(24));
  252. return provjeraBazeStetnikaIzlaz;
  253. });
  254. return provjeraBazeStetnika;
  255. } catch (DataAccessException e) {
  256. e.printStackTrace();
  257. return new ArrayList<>();
  258. }
  259. }
  260.  
  261. private String generateStetnikQuery(ProvjeraBazeStetnikaUlaz provjeraBazeStetnikaUlaz) {
  262. StringBuilder sql = new StringBuilder();
  263. if (1 == provjeraBazeStetnikaUlaz.getLeasing()) {
  264. return generateLeasingQuery(provjeraBazeStetnikaUlaz, sql);
  265. }
  266. return generateNotLeasingQuery(provjeraBazeStetnikaUlaz, sql);
  267. }
  268.  
  269. /**
  270. * @param provjeraBazeStetnikaUlaz
  271. * @param sql
  272. * @return
  273. */
  274. private String generateNotLeasingQuery(ProvjeraBazeStetnikaUlaz provjeraBazeStetnikaUlaz, StringBuilder sql) {
  275. sql.append(
  276. "SELECT GODINA, DRUSTVO, OIB_VLASNIKA, OIB_VOZACA, IME_VLASNIKA, PREZIME_NAZIV_VLASNIKA, IME_VOZACA, PREZIME_VOZACA, REG_OZN, SASIJA, POLICA, BROJ_NOVE_POLICE, DATUM_ISTEKA, DATUM_STETE, MJESTO_STETE, BROJ_STETA, NAZIV, STETNIK, "
  277. + "CASE WHEN (OIB_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim()
  278. + "' OR OIB_VOZACA = '" + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim()
  279. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_OIBU,");
  280.  
  281. /**
  282. * POTVRDA PREMA OIBU, IMENU I PREZIMENU / NAZIVU
  283. */
  284. sql.append(" CASE WHEN ((OIB_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim()
  285. + "' OR OIB_VOZACA = '" + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim()
  286. + "') AND ((IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  287. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  288. + "') OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  289. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  290. + "') OR (NAZIV = '" + provjeraBazeStetnikaUlaz.getNazivOsiguranika().trim() + "' OR NAZIV = '"
  291. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim() + " "
  292. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + "' OR NAZIV = '"
  293. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + " "
  294. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  295. + "'))) THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_OIBU_NAZIVU,");
  296.  
  297. /**
  298. * POTVRDA PREMA IMENU I PREZIMENU / NAZIVU
  299. */
  300. sql.append(" CASE WHEN ((IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  301. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  302. + "') OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  303. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  304. + "') OR ((NAZIV = '" + provjeraBazeStetnikaUlaz.getNazivOsiguranika().trim() + "') OR (NAZIV = '"
  305. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim() + " "
  306. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + "') OR (NAZIV = '"
  307. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + " "
  308. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  309. + "'))) THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_NAZIVU,");
  310.  
  311. /**
  312. * POTVRDA PREMA POLICAMA
  313. */
  314. sql.append(" CASE WHEN (POLICA = '" + "32" + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim()
  315. + "' OR POLICA = '" + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  316. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim() + "' OR BROJ_NOVE_POLICE = '" + "32"
  317. + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim() + "' OR BROJ_NOVE_POLICE = '"
  318. + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  319. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim()
  320. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_POLICI,");
  321.  
  322. /**
  323. * POTVRDA PREMA SASIJI
  324. */
  325. sql.append(" CASE WHEN (SASIJA = '" + provjeraBazeStetnikaUlaz.getBrojSasije().trim()
  326. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_SASIJI_VOZILA,");
  327.  
  328. /**
  329. * POTVRDA PREMA REGISTARSKOJ OZNACI
  330. */
  331. sql.append(" CASE WHEN (REG_OZN = '" + provjeraBazeStetnikaUlaz.getRegistarskaOznaka().trim()
  332. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_REG_VOZILA ");
  333.  
  334. /*
  335. * Ovdje počinje select pod određenim uvjetima
  336. */
  337. sql.append("FROM EVP_V_AUTOOSIGURANJE03 WHERE OIB_VLASNIKA = '"
  338. + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim() + "' OR OIB_VOZACA = '"
  339. + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim() + "'");
  340.  
  341. /**
  342. * PROVJERA PO IMENU I PREZIMENU
  343. *
  344. * U provjeru mora ući sa ime+prezime osiguranika te sa prezime+ime osiguranika
  345. * u slučaju da su u bazi zamijenjeni upisi u kolone
  346. *
  347. */
  348. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getImeOsiguranika().trim())
  349. && StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()))
  350. sql.append(" OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  351. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  352. + "')");
  353. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim())
  354. && StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()))
  355. sql.append(" OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  356. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim() + "')");
  357.  
  358. /**
  359. * PROVJERA PO NAZIVU
  360. *
  361. * U naziv je potrebno ući i sa nazivom osiguranika i sa imenom osiguranika i sa
  362. * prezimenom osiguranika
  363. *
  364. */
  365. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getNazivOsiguranika().trim()))
  366. sql.append(" OR NAZIV = '" + provjeraBazeStetnikaUlaz.getNazivOsiguranika().trim() + "'");
  367. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()))
  368. sql.append(" OR NAZIV = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim() + " "
  369. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + "'");
  370. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()))
  371. sql.append(" OR NAZIV = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + " "
  372. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim() + "'");
  373.  
  374. /**
  375. * PROVJERA PO POLICAMA
  376. *
  377. * U brojeve polica je potrebno ući i sa brojem stare police i sa brojem police
  378. * koja se obnavlja
  379. *
  380. */
  381. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim()))
  382. sql.append(" OR POLICA = '" + "32" + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim() + "'");
  383. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojStarePolice().trim()))
  384. sql.append(" OR POLICA = '" + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  385. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim() + "'");
  386. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim()))
  387. sql.append(
  388. " OR BROJ_NOVE_POLICE = '" + "32" + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim() + "'");
  389. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojStarePolice().trim()))
  390. sql.append(" OR BROJ_NOVE_POLICE = '" + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  391. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim() + "'");
  392.  
  393. /**
  394. * PROVJERA PO SASIJI
  395. */
  396. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojSasije().trim()))
  397. sql.append(" OR SASIJA = '" + provjeraBazeStetnikaUlaz.getBrojSasije().trim() + "'");
  398.  
  399. /**
  400. * PROVJERA PO REGISTARSKOJ OZNACI
  401. */
  402. if (provjeraBazeStetnikaUlaz.getRegistarskaOznaka().trim().length() > 3)
  403. sql.append(" OR REG_OZN = '" + provjeraBazeStetnikaUlaz.getRegistarskaOznaka().trim() + "' ");
  404.  
  405. sql.append("ORDER BY POTVRDA_PREMA_OIBU, POTVRDA_PREMA_OIBU_NAZIVU, "
  406. + "POTVRDA_PREMA_SASIJI_VOZILA, POTVRDA_PREMA_POLICI, "
  407. + "POTVRDA_PREMA_REG_VOZILA, POTVRDA_PREMA_NAZIVU");
  408.  
  409. return sql.toString();
  410. }
  411.  
  412. /**
  413. * @param provjeraBazeStetnikaUlaz
  414. * @param sql
  415. * @return
  416. */
  417. private String generateLeasingQuery(ProvjeraBazeStetnikaUlaz provjeraBazeStetnikaUlaz, StringBuilder sql) {
  418. sql.append(
  419. "SELECT GODINA, DRUSTVO, OIB_VLASNIKA, OIB_VOZACA, IME_VLASNIKA, PREZIME_NAZIV_VLASNIKA, IME_VOZACA, PREZIME_VOZACA, REG_OZN, SASIJA, POLICA, BROJ_NOVE_POLICE, DATUM_ISTEKA, DATUM_STETE, MJESTO_STETE, BROJ_STETA, NAZIV, STETNIK, "
  420. + "CASE WHEN (OIB_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim()
  421. + "' OR OIB_VOZACA = '" + provjeraBazeStetnikaUlaz.getOibUgovaratelja().trim()
  422. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_OIBU,");
  423.  
  424. /**
  425. * POTVRDA PREMA OIBU, IMENU I PREZIMENU / NAZIVU
  426. */
  427. sql.append(" CASE WHEN (OIB_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getOibOsiguranika().trim()
  428. + "' OR OIB_VOZACA = '" + provjeraBazeStetnikaUlaz.getOibUgovaratelja().trim()
  429. + "' AND ((IME_VOZACA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()
  430. + "' AND PREZIME_VOZACA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  431. + "') OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  432. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  433. + "')) OR ((IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  434. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()
  435. + "') OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  436. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()
  437. + "')) AND ((NAZIV = '" + provjeraBazeStetnikaUlaz.getNazivUgovaratelja().trim() + "' OR NAZIV = '"
  438. + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim() + " "
  439. + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim() + "' OR NAZIV = '"
  440. + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim() + " "
  441. + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim() + "') OR (NAZIV = '"
  442. + provjeraBazeStetnikaUlaz.getNazivOsiguranika().trim() + "' OR NAZIV = '"
  443. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim() + " "
  444. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + "' OR NAZIV = '"
  445. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + " "
  446. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  447. + "'))) THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_OIBU_NAZIVU,");
  448.  
  449. /**
  450. * POTVRDA PREMA OIBU, IMENU I PREZIMENU / NAZIVU
  451. */
  452. sql.append(" CASE WHEN (((IME_VOZACA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()
  453. + "' AND PREZIME_VOZACA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  454. + "') OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  455. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()
  456. + "')) OR ((IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  457. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()
  458. + "') OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  459. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()
  460. + "')) OR ((NAZIV = '" + provjeraBazeStetnikaUlaz.getNazivUgovaratelja().trim() + "' OR NAZIV = '"
  461. + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim() + " "
  462. + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim() + "' OR NAZIV = '"
  463. + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim() + " "
  464. + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim() + "') OR (NAZIV = '"
  465. + provjeraBazeStetnikaUlaz.getNazivOsiguranika().trim() + "' OR NAZIV = '"
  466. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim() + " "
  467. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + "' OR NAZIV = '"
  468. + provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim() + " "
  469. + provjeraBazeStetnikaUlaz.getImeOsiguranika().trim()
  470. + "'))) THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_NAZIVU,");
  471.  
  472. /**
  473. * POTVRDA PREMA POLICAMA
  474. */
  475. sql.append(" CASE WHEN (POLICA = '" + "32" + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim()
  476. + "' OR POLICA = '" + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  477. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim() + "' OR BROJ_NOVE_POLICE = '" + "32"
  478. + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim() + "' OR BROJ_NOVE_POLICE = '"
  479. + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  480. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim()
  481. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_POLICI,");
  482.  
  483. /**
  484. * POTVRDA PREMA SASIJI
  485. */
  486. sql.append(" CASE WHEN (SASIJA = '" + provjeraBazeStetnikaUlaz.getBrojSasije().trim()
  487. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_SASIJI_VOZILA,");
  488.  
  489. /**
  490. * POTVRDA PREMA REGISTARSKOJ OZNACI
  491. */
  492. sql.append(" CASE WHEN (REG_OZN = '" + provjeraBazeStetnikaUlaz.getRegistarskaOznaka().trim()
  493. + "') THEN 'DA' ELSE 'NE' END AS POTVRDA_PREMA_REG_VOZILA ");
  494.  
  495. /*
  496. * Ovdje počinje select pod određenim uvjetima
  497. */
  498. sql.append("FROM EVP_V_AUTOOSIGURANJE03 WHERE OIB_VOZACA = '"
  499. + provjeraBazeStetnikaUlaz.getOibUgovaratelja().trim() + "'");
  500.  
  501. /**
  502. * PROVJERA PO IMENU I PREZIMENU
  503. *
  504. * U provjeru mora ući sa ime+prezime ugovaratelja te sa prezime+ime
  505. * ugovaratelja u slučaju da su u bazi zamijenjeni upisi u kolone
  506. *
  507. */
  508. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim())
  509. && StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()))
  510. sql.append(" OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()
  511. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  512. + "')");
  513. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim())
  514. && StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()))
  515. sql.append(" OR (IME_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim()
  516. + "' AND PREZIME_NAZIV_VLASNIKA = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim() + "')");
  517.  
  518. /**
  519. * PROVJERA PO NAZIVU
  520. *
  521. * U naziv je potrebno ući i sa nazivom ugovaratelja i sa imenom ugovaratelja i
  522. * sa prezimenom ugovaratelja
  523. *
  524. */
  525. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getNazivUgovaratelja().trim()))
  526. sql.append(" OR NAZIV = '" + provjeraBazeStetnikaUlaz.getNazivUgovaratelja().trim() + "'");
  527. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim()))
  528. sql.append(" OR NAZIV = '" + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim() + " "
  529. + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim() + "'");
  530. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getPrezimeOsiguranika().trim()))
  531. sql.append(" OR NAZIV = '" + provjeraBazeStetnikaUlaz.getPrezimeUgovaratelja().trim() + " "
  532. + provjeraBazeStetnikaUlaz.getImeUgovaratelja().trim() + "'");
  533.  
  534. /**
  535. * PROVJERA PO POLICAMA
  536. *
  537. * U brojeve polica je potrebno ući i sa brojem stare police i sa brojem police
  538. * koja se obnavlja
  539. *
  540. */
  541. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim()))
  542. sql.append(" OR POLICA = '" + "32" + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim() + "'");
  543. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojStarePolice().trim()))
  544. sql.append(" OR POLICA = '" + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  545. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim() + "'");
  546. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim()))
  547. sql.append(
  548. " OR BROJ_NOVE_POLICE = '" + "32" + provjeraBazeStetnikaUlaz.getBrojPrethodnePolice().trim() + "'");
  549. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojStarePolice().trim()))
  550. sql.append(" OR BROJ_NOVE_POLICE = '" + provjeraBazeStetnikaUlaz.getOznakaDrustva().trim()
  551. + provjeraBazeStetnikaUlaz.getBrojStarePolice().trim() + "'");
  552.  
  553. /**
  554. * PROVJERA PO SASIJI
  555. */
  556. if (StringUtils.isNotEmpty(provjeraBazeStetnikaUlaz.getBrojSasije().trim()))
  557. sql.append(" OR SASIJA = '" + provjeraBazeStetnikaUlaz.getBrojSasije().trim() + "'");
  558.  
  559. /**
  560. * PROVJERA PO REGISTARSKOJ OZNACI
  561. */
  562. if (provjeraBazeStetnikaUlaz.getRegistarskaOznaka().trim().length() > 3)
  563. sql.append(" OR REG_OZN = '" + provjeraBazeStetnikaUlaz.getRegistarskaOznaka().trim() + "' ");
  564.  
  565. sql.append("ORDER BY POTVRDA_PREMA_OIBU, POTVRDA_PREMA_OIBU_NAZIVU, "
  566. + "POTVRDA_PREMA_SASIJI_VOZILA, POTVRDA_PREMA_POLICI,"
  567. + "POTVRDA_PREMA_REG_VOZILA, POTVRDA_PREMA_NAZIVU");
  568.  
  569. return sql.toString();
  570. }
  571.  
  572. @Override
  573. public OsiguraneSvoteIzlaz getOsiguraneSvote(OsiguraneSvoteUlaz osiguraneSvoteUlaz) {
  574. try {
  575. return ins2jdbcTemplate.queryForObject(
  576. "SELECT * FROM EVP_V_AUTOOSIGURANJE05 WHERE GRUPACIJA = ? AND GRUPA = ? AND CJENIK = ? AND STAT_OB = ?",
  577. new Object[] { osiguraneSvoteUlaz.getGrupacija(), osiguraneSvoteUlaz.getGrupa(),
  578. osiguraneSvoteUlaz.getCjenik(), osiguraneSvoteUlaz.getStatistickoObiljezje() },
  579. (rs, rowNum) -> {
  580. OsiguraneSvoteIzlaz osiguraneSvoteIzlaz = new OsiguraneSvoteIzlaz();
  581. osiguraneSvoteIzlaz.setOsiguranaSvotaOsobe(rs.getBigDecimal(5));
  582. osiguraneSvoteIzlaz.setOsiguranaSvotaStvari(rs.getBigDecimal(6));
  583. return osiguraneSvoteIzlaz;
  584. });
  585. } catch (DataAccessException e) {
  586. return new OsiguraneSvoteIzlaz();
  587. }
  588. }
  589.  
  590. @Override
  591. public List<PopustiIzlaz> getListaPopusta(PopustiUlaz popustiUlaz) {
  592. String sqlAppend = "";
  593. switch (popustiUlaz.getLeasing()) {
  594. case 1:
  595. switch (popustiUlaz.getTipUgovaratelja()) {
  596. case "1":
  597. case "8":
  598. sqlAppend = "AND '" + popustiUlaz.getDobUgovaratelja() + "' BETWEEN VRIJEDNOST_OD AND VRIJEDNOST_DO";
  599. break;
  600. default:
  601. sqlAppend = "AND VRIJEDNOST_OD = '505'";
  602. break;
  603. }
  604. break;
  605. case 0:
  606. switch (popustiUlaz.getTipOsiguranika()) {
  607. case "1":
  608. case "8":
  609. sqlAppend = "AND '" + popustiUlaz.getDobOsiguranika() + "' BETWEEN VRIJEDNOST_OD AND VRIJEDNOST_DO";
  610. break;
  611. default:
  612. sqlAppend = "AND VRIJEDNOST_OD = '505'";
  613. break;
  614. }
  615. break;
  616. }
  617.  
  618. try {
  619. List<PopustiIzlaz> popusti = ins2jdbcTemplate.query(
  620. "SELECT * FROM EVP_V_AUTOOSIGURANJE04 WHERE GRUPACIJA = ? AND GRUPA = ? AND CJENIK = ? AND STAT_OB = ? AND TRUNC(SYSDATE) BETWEEN NVL(VRIJEDI_OD, TO_DATE('01.01.1900','DD.MM.YYYY')) "
  621. + "AND NVL(VRIJEDI_DO, TO_DATE('01.01.2099','DD.MM.YYYY')) AND GRUPA_DODATKA != 'A02' OR (STAT_OB = ? AND GRUPA_DODATKA IS NULL) "
  622. + "UNION ALL "
  623. + "SELECT * FROM EVP_V_AUTOOSIGURANJE04 WHERE GRUPACIJA = ? AND GRUPA = ? AND CJENIK = ? AND STAT_OB = ? AND TRUNC(SYSDATE) BETWEEN NVL(VRIJEDI_OD, TO_DATE('01.01.1900','DD.MM.YYYY')) "
  624. + "AND NVL(VRIJEDI_DO, TO_DATE('01.01.2099','DD.MM.YYYY')) AND GRUPA_DODATKA = 'A02' "
  625. + sqlAppend + " OR (STAT_OB = '0101' AND VRIJEDNOST_OD = '504') ",
  626. new Object[] { popustiUlaz.getGrupacija(), popustiUlaz.getGrupa(), popustiUlaz.getCjenik(),
  627. popustiUlaz.getStatistickoObiljezje(), popustiUlaz.getStatistickoObiljezje(),
  628. popustiUlaz.getGrupacija(), popustiUlaz.getGrupa(), popustiUlaz.getCjenik(),
  629. popustiUlaz.getStatistickoObiljezje() },
  630. (rs, rowNum) -> {
  631. PopustiIzlaz pop = new PopustiIzlaz();
  632. pop.setDodatak(rs.getString(5));
  633. pop.setNaziv(rs.getString(6));
  634. pop.setPostotak(rs.getBigDecimal(8));
  635. pop.setGrupaDodataka(rs.getString(11));
  636. pop.setNazivGrupe(rs.getString(19));
  637. return pop;
  638. });
  639. return popusti;
  640. } catch (DataAccessException e) {
  641. e.printStackTrace();
  642. return new ArrayList<>();
  643. }
  644. }
  645.  
  646. @Override
  647. public BudzetPosrednikaIzlaz getBudzetPosrednika(BudzetPosrednikaUlaz budzetPosrednikaUlaz) {
  648. try {
  649. return ins2jdbcTemplate.queryForObject("SELECT * FROM EVP_V_AUTOOSIGURANJE02 WHERE POSREDNIK = ?",
  650. new Object[] { budzetPosrednikaUlaz.getUlogiraniPosrednik() }, (rs, rowNum) -> {
  651. BudzetPosrednikaIzlaz budzetPosrednikaIzlaz = new BudzetPosrednikaIzlaz();
  652. budzetPosrednikaIzlaz.setSifarnikBudzeta(getSifarnikZaBudzet(budzetPosrednikaUlaz));
  653. if (NumberUtils.isNumber(rs.getString(3)))
  654. budzetPosrednikaIzlaz.setInicijalniBudzet(rs.getBigDecimal(3));
  655. if (NumberUtils.isNumber(rs.getString(4)))
  656. budzetPosrednikaIzlaz.setTrenutniBudzet(rs.getBigDecimal(4));
  657. if (NumberUtils.isNumber(rs.getString(5)))
  658. budzetPosrednikaIzlaz.setUtjecajNaPremiju(rs.getBigDecimal(5));
  659. if (NumberUtils.isNumber(rs.getString(6)))
  660. budzetPosrednikaIzlaz.setMaksimalniPopust(rs.getBigDecimal(6));
  661. if (budzetPosrednikaIzlaz.getTrenutniBudzet().intValue() > 0) {
  662. budzetPosrednikaIzlaz.setMaksimalnoDozvoljeno(rs.getBigDecimal(6));
  663. } else {
  664. budzetPosrednikaIzlaz.setMaksimalnoDozvoljeno(rs.getBigDecimal(5));
  665. }
  666. return budzetPosrednikaIzlaz;
  667. });
  668. } catch (DataAccessException e) {
  669. return new BudzetPosrednikaIzlaz();
  670. }
  671. }
  672.  
  673. public List<SifarnikBudzeta> getSifarnikZaBudzet(BudzetPosrednikaUlaz budzetPosrednikaUlaz) {
  674.  
  675. List<SifarnikBudzeta> sifarnikBudzeta = ins2jdbcTemplate.query(
  676. "SELECT * FROM EVP_V_AUTOOSIGURANJE07 WHERE STAT_OB = ?",
  677. new Object[] { budzetPosrednikaUlaz.getStatOb() }, (rs, rowNum) -> {
  678. SifarnikBudzeta sif = new SifarnikBudzeta();
  679. sif.setBudzetGrupacija(rs.getString(1));
  680. sif.setBudzetGrupa(rs.getString(2));
  681. sif.setBudzetCjenik(rs.getString(3));
  682. sif.setBudzetDodatak(rs.getString(5));
  683. sif.setBudzetNaziv(rs.getString(6));
  684. return sif;
  685. });
  686. return sifarnikBudzeta;
  687. }
  688.  
  689. @Override
  690. public List<UvjetiIzlaz> getUvjeti() {
  691. try {
  692. List<UvjetiIzlaz> uvjeti = ins2jdbcTemplate.query("SELECT * FROM EVP_V_AUTOOSIGURANJE08", (rs, rowNum) -> {
  693. UvjetiIzlaz uvj = new UvjetiIzlaz();
  694. uvj.setUvjet(rs.getString("UVJET"));
  695. uvj.setNaziv(rs.getString("NAZIV"));
  696. uvj.setInformacija(rs.getString("INFORMACIJA"));
  697. uvj.setId(rs.getString("ID"));
  698. return uvj;
  699. });
  700. return uvjeti;
  701. } catch (DataAccessException e) {
  702. e.printStackTrace();
  703. return new ArrayList<>();
  704. }
  705. }
  706.  
  707. @Override
  708. public List<ObranaPosrednikaVelikaTablicaIzlaz> getObrana(ObranaPosrednikaVelikaTablicaUlaz obranaPosrednikaVelikaTablicaUlaz) {
  709. try {
  710. List<ObranaPosrednikaVelikaTablicaIzlaz> obrana = ins2jdbcTemplate.query("SELECT * FROM EVP_V_AUTOOSIGURANJE10 WHERE ORIGINALNI_POSREDNIK = ?",
  711. new Object[] { obranaPosrednikaVelikaTablicaUlaz.getPosrednik() }, (rs, rowNum) -> {
  712. ObranaPosrednikaVelikaTablicaIzlaz obr = new ObranaPosrednikaVelikaTablicaIzlaz();
  713. obr.setPosrednikObrane(rs.getString("POSREDNIK_OBRANE"));
  714. obr.setMaksimalniPopust(rs.getString("MAKSIMALNI_POPUST"));
  715. return obr;
  716. });
  717. return obrana;
  718. } catch (DataAccessException e) {
  719. e.printStackTrace();
  720. return new ArrayList<>();
  721. }
  722. }
  723.  
  724. @Override
  725. public KaskoNovaPolica getForNovaPolica(KaskoStaraPolica staraPolica) {
  726. // TODO Auto-generated method stub
  727. return null;
  728. }
  729. }
Add Comment
Please, Sign In to add comment