package com.nortal.jroad.client.emta; import java.math.BigInteger; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.nortal.jroad.client.emta.database.EmtaXRoadDatabase; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.EmtaFieAndmedParing; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.EmtaFieTooandjadJaSotsmParing; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.EmtaFieTooandjadJaSotsmVastus; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.EmtaKindlustusParing; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.FieIsikAndmed; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.Periood; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.SissetulekRequest; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.SissetulekResponse; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.VptSisend; import com.nortal.jroad.client.emta.types.ee.riik.xtee.emta.producers.producer.emta.VptValjund; import com.nortal.jroad.client.exception.XRoadServiceConsumptionException; /** * @author Roman Tekhov */ @Service("emtaXTeeService") public class EmtaXTeeServiceImpl implements EmtaXTeeService { @Resource private EmtaXRoadDatabase emtaXRoadDatabase; public List<Periood> findXteeKindlustusV2(String isikukood, Date algkuup, Date loppkuup) throws XRoadServiceConsumptionException { EmtaKindlustusParing paring = EmtaKindlustusParing.Factory.newInstance(); DateFormat monthYearDateFormatter = new SimpleDateFormat("MM.yyyy"); paring.setIsikukood(isikukood); paring.setAlgkuup(monthYearDateFormatter.format(algkuup)); paring.setLoppkuup(monthYearDateFormatter.format(loppkuup)); return emtaXRoadDatabase.xteeKindlustusV2(paring).getPerioodJada().getPerioodJadaList(); } public List<FieIsikAndmed> findXteeFieAndmed(String isikukood) throws XRoadServiceConsumptionException { EmtaFieAndmedParing request = EmtaFieAndmedParing.Factory.newInstance(); request.setIsikukood(isikukood); return emtaXRoadDatabase.xteeFieAndmedV1(request).getFieJada().getItemList(); } public SissetulekResponse findSissetulek(String isikukood, BigInteger aasta) throws XRoadServiceConsumptionException { SissetulekRequest request = SissetulekRequest.Factory.newInstance(); request.setAasta(aasta); request.setIsikukood(isikukood); return emtaXRoadDatabase.paSissetulekV1(request); } public VptValjund findXteeVpt(String kood, Calendar millal) throws XRoadServiceConsumptionException { VptSisend request = VptSisend.Factory.newInstance(); request.setKood(kood); request.setMillal(millal); return emtaXRoadDatabase.vptV1(request); } public EmtaFieTooandjadJaSotsmVastus findXteeFieTooandjadJaSotsm(String isikukood, Date algkuup, Date loppkuup) throws XRoadServiceConsumptionException { EmtaFieTooandjadJaSotsmParing request = EmtaFieTooandjadJaSotsmParing.Factory.newInstance(); DateFormat monthYearDateFormatter = new SimpleDateFormat("MM.yyyy"); request.setIsikukood(isikukood); request.setAlgkuup(monthYearDateFormatter.format(algkuup)); request.setLoppkuup(monthYearDateFormatter.format(loppkuup)); return emtaXRoadDatabase.xteeFieTooandjadJaSotsmV1(request); } public void setEmtaXRoadDatabase(EmtaXRoadDatabase emtaXRoadDatabase) { this.emtaXRoadDatabase = emtaXRoadDatabase; } }