package com.nortal.jroad.client.arireg;
import java.math.BigInteger;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.nortal.jroad.client.arireg.database.AriregXRoadDatabase;
import com.nortal.jroad.client.arireg.types.ee.riik.xtee.arireg.producers.producer.arireg.*;
import org.springframework.stereotype.Service;
import com.nortal.jroad.client.exception.XRoadServiceConsumptionException;
/**
* @author Roman Tekhov
*/
@Service("ariregXTeeService")
public class AriregXTeeServiceImpl implements AriregXTeeService {
@Resource
private AriregXRoadDatabase ariregXRoadDatabase;
@Deprecated
public List<Detailandmedv2Ettevotja> findDetailandmedv2(final int ariregistriKood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
int maksValjundArv) throws XRoadServiceConsumptionException {
return findDetailandmedv2(new Detailandmedv2ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maksValjundArv) {
@Override
protected void doPopulate(Detailandmedv2Query keha) {
keha.setAriregistriKood(ariregistriKood);
}
});
}
@Deprecated
public List<Detailandmedv2Ettevotja> findDetailandmedv2(final String isikukood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
int maksValjundArv) throws XRoadServiceConsumptionException {
return findDetailandmedv2(new Detailandmedv2ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maksValjundArv) {
@Override
protected void doPopulate(Detailandmedv2Query keha) {
keha.setFyysiliseIsikuKood(isikukood);
}
});
}
@Deprecated
public List<Detailandmedv2Ettevotja> findDetailandmedv2(Detailandmedv2KehaPopulatingCallback callback)
throws XRoadServiceConsumptionException {
Detailandmedv2Query requestDocument = Detailandmedv2Query.Factory.newInstance();
callback.populate(requestDocument);
return ariregXRoadDatabase.detailandmedv2V1(requestDocument).getEttevotjad().getItemList();
}
public List<DetailandmedV3Ettevotja> findDetailandmedv3(final int ariregistriKood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
int maksValjundArv) throws XRoadServiceConsumptionException {
return findDetailandmedv3(new Detailandmedv2ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maksValjundArv) {
@Override
protected void doPopulate(Detailandmedv2Query keha) {
keha.setAriregistriKood(ariregistriKood);
}
});
}
public List<DetailandmedV3Ettevotja> findDetailandmedv3(final String isikukood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
int maksValjundArv) throws XRoadServiceConsumptionException {
return findDetailandmedv3(new Detailandmedv2ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maksValjundArv) {
@Override
protected void doPopulate(Detailandmedv2Query keha) {
keha.setFyysiliseIsikuKood(isikukood);
}
});
}
public List<DetailandmedV3Ettevotja> findDetailandmedv3(Detailandmedv2KehaPopulatingCallback callback)
throws XRoadServiceConsumptionException {
Detailandmedv2Query requestDocument = Detailandmedv2Query.Factory.newInstance();
callback.populate(requestDocument);
return ariregXRoadDatabase.detailandmedV3V1(requestDocument).getEttevotjad().getItemList();
}
public List<ParingarikeeludKeeld> findArikeelud(String isikukood, String eesnimi, String perenimi, Date synniaeg)
throws XRoadServiceConsumptionException {
ParingarikeeludParing paring = ParingarikeeludParing.Factory.newInstance();
paring.setFyysiliseIsikuKood(isikukood);
paring.setFyysiliseIsikuEesnimi(eesnimi);
paring.setFyysiliseIsikuPerenimi(perenimi);
if (synniaeg == null) {
paring.setFyysiliseIsikuSynniaeg(null);
} else {
Calendar cal = Calendar.getInstance();
cal.setTime(synniaeg);
paring.setFyysiliseIsikuSynniaeg(cal);
}
return ariregXRoadDatabase.paringarikeeludV1(paring).getArikeelud().getItemList();
}
public List<DetailandmedV4Ettevotja> findDetailandmedv4(final int ariregistriKood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
boolean maarused,
int maksValjundArv) throws XRoadServiceConsumptionException {
return findDetailandmedv4(new Detailandmedv4ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maarused,
maksValjundArv) {
@Override
protected void doPopulate(DetailandmedV4Query keha) {
keha.setAriregistriKood(ariregistriKood);
}
});
}
public List<DetailandmedV4Ettevotja> findDetailandmedv4(final String isikukood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
boolean maarused,
int maksValjundArv) throws XRoadServiceConsumptionException {
return findDetailandmedv4(new Detailandmedv4ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maarused,
maksValjundArv) {
@Override
protected void doPopulate(DetailandmedV4Query keha) {
keha.setFyysiliseIsikuKood(isikukood);
}
});
}
public List<DetailandmedV4Ettevotja> findDetailandmedv4(Detailandmedv4KehaPopulatingCallback callback)
throws XRoadServiceConsumptionException {
DetailandmedV4Query requestDocument = DetailandmedV4Query.Factory.newInstance();
callback.populate(requestDocument);
return ariregXRoadDatabase.detailandmedV4V1(requestDocument).getEttevotjad().getItemList();
}
public List<DetailandmedV5Ettevotja> findDetailandmedV5(final String isikukood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
boolean maarused,
boolean ainultKehtivad,
long maksValjundArv)
throws XRoadServiceConsumptionException {
return findDetailandmedV5(new DetailandmedV5ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maarused,
ainultKehtivad,
maksValjundArv) {
@Override
protected void doPopulate(DetailandmedV5Query query) {
query.setFyysiliseIsikuKood(isikukood);
}
});
}
public List<DetailandmedV5Ettevotja> findDetailandmedV5(final long ariregistriKood,
boolean yldandmed,
boolean isikuandmed,
boolean menetlusesAvaldused,
boolean kommertspandiandmed,
boolean maarused,
boolean ainultKehtivad,
long maksValjundArv) throws XRoadServiceConsumptionException {
return findDetailandmedV5(new DetailandmedV5ReturnedDataSettingCallback(yldandmed,
isikuandmed,
menetlusesAvaldused,
kommertspandiandmed,
maarused,
ainultKehtivad,
maksValjundArv) {
@Override
protected void doPopulate(DetailandmedV5Query query) {
query.setAriregistriKood(BigInteger.valueOf(ariregistriKood));
}
});
}
public List<DetailandmedV5Ettevotja> findDetailandmedV5(DetailandmedV5KehaPopulatingCallback callback)
throws XRoadServiceConsumptionException {
DetailandmedV5Query requestDocument = DetailandmedV5Query.Factory.newInstance();
callback.populate(requestDocument);
return ariregXRoadDatabase.detailandmedV5V1(requestDocument).getEttevotjad().getItemList();
}
public List<ParingesindusEttevote> findParingesindusV1(Integer ariregistriKood,
String fyysiliseIsikuKood,
String fyysiliseIsikuEesnimi,
String fyysiliseIsikuPerenimi)
throws XRoadServiceConsumptionException {
ParingesindusParing paring = ParingesindusParing.Factory.newInstance();
if (ariregistriKood != null) {
paring.setAriregistriKood(ariregistriKood);
}
if (fyysiliseIsikuKood != null) {
paring.setFyysiliseIsikuKood(fyysiliseIsikuKood);
}
if (fyysiliseIsikuEesnimi != null) {
paring.setFyysiliseIsikuEesnimi(fyysiliseIsikuEesnimi);
}
if (fyysiliseIsikuPerenimi != null) {
paring.setFyysiliseIsikuPerenimi(fyysiliseIsikuPerenimi);
}
return ariregXRoadDatabase.paringesindusV1(paring).getEttevotjad().getItemList();
}
public List<ParingesindusV2Ettevote> findParingesindusV2(Integer ariregistriKood,
String fyysiliseIsikuKood,
String fyysiliseIsikuEesnimi,
String fyysiliseIsikuPerenimi)
throws XRoadServiceConsumptionException {
ParingesindusV2Paring paring = ParingesindusV2Paring.Factory.newInstance();
if (ariregistriKood != null) {
paring.setAriregistriKood(ariregistriKood);
}
if (fyysiliseIsikuKood != null) {
paring.setFyysiliseIsikuKood(fyysiliseIsikuKood);
}
if (fyysiliseIsikuEesnimi != null) {
paring.setFyysiliseIsikuEesnimi(fyysiliseIsikuEesnimi);
}
if (fyysiliseIsikuPerenimi != null) {
paring.setFyysiliseIsikuPerenimi(fyysiliseIsikuPerenimi);
}
return ariregXRoadDatabase.paringesindusV2V1(paring).getEttevotjad().getItemList();
}
public List<ParingesindusV3Ettevote> findParingesindusV3(Integer ariregistriKood,
String fyysiliseIsikuKood,
String fyysiliseIsikuEesnimi,
String fyysiliseIsikuPerenimi,
String ariregisterValjundiFormaat)
throws XRoadServiceConsumptionException {
ParingesindusV3Paring paring = ParingesindusV3Paring.Factory.newInstance();
if (ariregistriKood != null) {
paring.setAriregistriKood(ariregistriKood);
}
if (fyysiliseIsikuKood != null) {
paring.setFyysiliseIsikuKood(fyysiliseIsikuKood);
}
if (fyysiliseIsikuEesnimi != null) {
paring.setFyysiliseIsikuEesnimi(fyysiliseIsikuEesnimi);
}
if (fyysiliseIsikuPerenimi != null) {
paring.setFyysiliseIsikuPerenimi(fyysiliseIsikuPerenimi);
}
if (ariregisterValjundiFormaat != null) {
paring.setAriregisterValjundiFormaat(ariregisterValjundiFormaat);
}
return ariregXRoadDatabase.paringesindusV3V1(paring).getEttevotjad().getItemList();
}
public EttevotjaMuudatusedTasutaVastus findEttevotjaMuudatusedTasutaV1(EttevotjaMuudatusedTasutaReturnedDataSettingCallback callback)
throws XRoadServiceConsumptionException {
EttevotjaMuudatusedTasutaParing query = EttevotjaMuudatusedTasutaParing.Factory.newInstance();
callback.populate(query);
return ariregXRoadDatabase.ettevotjaMuudatusedTasutaV1(query);
}
public EttevotjaMuudatusedTasutaTootukassaVastus findEttevotjaMuudatusedTasutaTootukassaV1(
Date algusKp,
Date loppKp,
String[] kandesIsikudRollid,
Integer tulemusteLk) throws XRoadServiceConsumptionException {
Calendar algus = Calendar.getInstance();
Calendar lopp = Calendar.getInstance();
algus.setTime(algusKp);
lopp.setTime(loppKp);
EttevotjaMuudatusedTasutaTootukassaParing query = EttevotjaMuudatusedTasutaTootukassaParing.Factory.newInstance();
query.setAlguskuupaev(algus);
query.setLoppkuupaev(lopp);
query.setKandesIsikudRollidArray(kandesIsikudRollid);
if (tulemusteLk != null) {
query.setTulemusteLk(tulemusteLk);
}
return ariregXRoadDatabase.ettevotjaMuudatusedTasutaTootukassaV1(query);
}
}