From a5ce3b081c682a2078e80578ca07e8f1431914b7 Mon Sep 17 00:00:00 2001 From: Karel Slany Date: Sat, 1 Sep 2018 15:59:44 +0200 Subject: [PATCH] Updated Gov::SrvcSzrRobVu. --- qml/components/GovFormList.qml | 1 + .../gov_services/service/gov_mv_crr_vbh.h | 14 +- .../gov_services/service/gov_mv_rt_vt.h | 14 +- .../gov_services/service/gov_szr_rob_vu.cpp | 125 +++++++++++++++--- .../gov_services/service/gov_szr_rob_vu.h | 81 ++++++++---- src/gov_wrapper.cpp | 17 ++- 6 files changed, 184 insertions(+), 68 deletions(-) diff --git a/qml/components/GovFormList.qml b/qml/components/GovFormList.qml index eeef989..f46b62b 100644 --- a/qml/components/GovFormList.qml +++ b/qml/components/GovFormList.qml @@ -32,6 +32,7 @@ ScrollableListView { delegateHeight: listItemHeight delegate: Rectangle { + id: formItem height: root.delegateHeight width: parent.width //color: datovkaPalette.base diff --git a/src/datovka_shared/gov_services/service/gov_mv_crr_vbh.h b/src/datovka_shared/gov_services/service/gov_mv_crr_vbh.h index 525e6f2..4d42403 100644 --- a/src/datovka_shared/gov_services/service/gov_mv_crr_vbh.h +++ b/src/datovka_shared/gov_services/service/gov_mv_crr_vbh.h @@ -30,13 +30,13 @@ namespace Gov { /*! - * GOV MV service - * Name: Výpis bodového hodnocení z Centrálního registru řidičů - * DS: xhzkdqv - Automat CzP (Ministerstvo vnitra) - * XML: czpathome.xml - nutno doplnit Jméno, Příjmení, Datum narození - * (YYYY-MM-DD) a číslo řidičského průkazu (bez mezer). - * Source DS type: FO - */ + * GOV MV service + * Name: Výpis bodového hodnocení z Centrálního registru řidičů + * DS: xhzkdqv - Automat CzP (Ministerstvo vnitra) + * XML: czpathome.xml - nutno doplnit Jméno, Příjmení, Datum narození + * (YYYY-MM-DD) a číslo řidičského průkazu (bez mezer). + * Source DS type: FO + */ class SrvcMvCrrVbh : public Service { Q_DECLARE_TR_FUNCTIONS(SrvcMvCrrVbh) diff --git a/src/datovka_shared/gov_services/service/gov_mv_rt_vt.h b/src/datovka_shared/gov_services/service/gov_mv_rt_vt.h index de1db63..98fab25 100644 --- a/src/datovka_shared/gov_services/service/gov_mv_rt_vt.h +++ b/src/datovka_shared/gov_services/service/gov_mv_rt_vt.h @@ -30,13 +30,13 @@ namespace Gov { /*! - * GOV MV service - * Name: Žádost o výpis z Rejstříku trestů - * DS: xhzkdqv - Automat CzP (Ministerstvo vnitra) - * XML: czpathome.xml - nutno doplnit Jméno, Příjmení, Datum narození - * (YYYY-MM-DD), Stát, Okres, Město. - * Source DS type: FO - */ + * GOV MV service + * Name: Žádost o výpis z Rejstříku trestů + * DS: xhzkdqv - Automat CzP (Ministerstvo vnitra) + * XML: czpathome.xml - nutno doplnit Jméno, Příjmení, Datum narození + * (YYYY-MM-DD), Stát, Okres, Město. + * Source DS type: FO + */ class SrvcMvRtVt : public Service { Q_DECLARE_TR_FUNCTIONS(SrvcMvCrrVbh) public: diff --git a/src/datovka_shared/gov_services/service/gov_szr_rob_vu.cpp b/src/datovka_shared/gov_services/service/gov_szr_rob_vu.cpp index 78aecf5..d51116c 100644 --- a/src/datovka_shared/gov_services/service/gov_szr_rob_vu.cpp +++ b/src/datovka_shared/gov_services/service/gov_szr_rob_vu.cpp @@ -23,36 +23,117 @@ #include "src/datovka_shared/gov_services/service/gov_szr_rob_vu.h" -#define SRVC_SHORT_NAME "GovSzrRobVu" -#define SRVC_FULL_NAME "Výpis z Registru obyvatel" -#define SRVC_XML_TEMPLATE "" \ - "" \ - "ZRDS1" \ - "" \ - "" \ - "" \ - "" \ - "" \ - "" \ - "" +static const char xml_template[] = +"""\n" +"""\n" +" ""\n" +" ZRDS1""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +" ""\n" +""; -GovSzrRobVu::GovSzrRobVu(void) - : GovService(QStringLiteral(SRVC_SHORT_NAME), - QStringLiteral(SRVC_FULL_NAME), QStringLiteral(GOV_SZR_FULL_NAME), - QStringLiteral(GOV_SZR_DB_ID), QStringLiteral(SRVC_FULL_NAME), QString(), - QStringLiteral(GOV_SZR_XML_FILE_NAME), QString()) +Gov::SrvcSzrRobVu::SrvcSzrRobVu(void) { } -GovSzrRobVu::~GovSzrRobVu(void) +const QString &Gov::SrvcSzrRobVu::internalId(void) const { + static const QString shortName("SrvcSzrRobVu"); + return shortName; } -const QByteArray GovSzrRobVu::createXmlAttachment( - const Isds::DbOwnerInfo &dbOwnerInfo, XmlRequiredFileds reqFields) +const QString &Gov::SrvcSzrRobVu::fullName(void) const +{ + static const QString fullName(tr("Printout from the resident register")); + // Výpis z Registru obyvatel + return fullName; +} + +const QString &Gov::SrvcSzrRobVu::instituteName(void) const +{ + static const QString instituteName(GOV_SZR_FULL_NAME); + return instituteName; +} + +const QString &Gov::SrvcSzrRobVu::boxId(void) const +{ + static const QString boxId(GOV_SZR_DB_ID); + return boxId; +} + +const QString &Gov::SrvcSzrRobVu::dmAnnotation(void) const +{ + return fullName(); +} + +const QString &Gov::SrvcSzrRobVu::dmSenderIdent(void) const +{ + static const QString dmSenderIdent; /* Null string. */ + return dmSenderIdent; +} + +const QString &Gov::SrvcSzrRobVu::dmFileDescr(void) const +{ + static const QString dmFileDescr(GOV_SZR_XML_FILE_NAME); + return dmFileDescr; +} + +bool Gov::SrvcSzrRobVu::canSend(enum Isds::Type::DbType dbType) const +{ + /* TODO -- Check all required types. */ + return (dbType == Isds::Type::BT_FO); +} + +QList Gov::SrvcSzrRobVu::requiredFields(void) const +{ + /* No fields required. */ + return QList(); +} + +bool Gov::SrvcSzrRobVu::setRequiredField(const QString &key, const QString &val) +{ + Q_UNUSED(key); + Q_UNUSED(val); + + /* No fields required. */ + return false; +} + +bool Gov::SrvcSzrRobVu::haveAllMandatoryFields(void) const +{ + /* No fields required. */ + return true; +} + +QByteArray Gov::SrvcSzrRobVu::binaryXmlContent( + const Isds::DbOwnerInfo &dbOwnerInfo) const { Q_UNUSED(dbOwnerInfo); - Q_UNUSED(reqFields); - return QStringLiteral(SRVC_XML_TEMPLATE).toUtf8(); + return QString(xml_template).toUtf8(); } diff --git a/src/datovka_shared/gov_services/service/gov_szr_rob_vu.h b/src/datovka_shared/gov_services/service/gov_szr_rob_vu.h index e19529a..a22da2b 100644 --- a/src/datovka_shared/gov_services/service/gov_szr_rob_vu.h +++ b/src/datovka_shared/gov_services/service/gov_szr_rob_vu.h @@ -23,38 +23,63 @@ #pragma once -#include "src/datovka_shared/gov_services/service/gov_service.h" +#include /* Q_DECLARE_TR_FUNCTIONS */ -/*! -* GOV SZR service -* Name: Žádost o výpis údajů z Registru obyvatel -* DS: 4h8cxph - Automat ZR (Správa základních registrů) -* XML: zrds.xml - není třeba nic v xml měnit. -* Source DS type: FO -*/ -class GovSzrRobVu : public GovService { +#include "src/datovka_shared/gov_services/service/gov_service.h" -public: +namespace Gov { /*! - * @brief Constructor. + * GOV SZR service + * Name: Žádost o výpis údajů z Registru obyvatel + * DS: 4h8cxph - Automat ZR (Správa základních registrů) + * XML: zrds.xml - není třeba nic v xml měnit. + * Source DS type: FO */ - GovSzrRobVu(void); + class SrvcSzrRobVu : public Service { + Q_DECLARE_TR_FUNCTIONS(SrvcSzrRobVu) - /*! - * @brief Destructor. - */ - virtual - ~GovSzrRobVu(void) Q_DECL_OVERRIDE; + public: + /*! + * @brief Constructor. + */ + SrvcSzrRobVu(void); - /*! - * @brief Create and fill XML attachment content. - * - * @param[in] dbOwnerInfo DS owner info. - * @param[in] reqFields Gov service required information. - * @return XML string for attachment. - */ - virtual - const QByteArray createXmlAttachment(const Isds::DbOwnerInfo &dbOwnerInfo, - XmlRequiredFileds reqFields) Q_DECL_OVERRIDE; -}; + virtual + const QString &internalId(void) const Q_DECL_OVERRIDE; + + virtual + const QString &fullName(void) const Q_DECL_OVERRIDE; + + virtual + const QString &instituteName(void) const Q_DECL_OVERRIDE; + + virtual + const QString &boxId(void) const Q_DECL_OVERRIDE; + + virtual + const QString &dmAnnotation(void) const Q_DECL_OVERRIDE; + + virtual + const QString &dmSenderIdent(void) const Q_DECL_OVERRIDE; + + virtual + const QString &dmFileDescr(void) const Q_DECL_OVERRIDE; + + virtual + bool canSend(enum Isds::Type::DbType dbType) const Q_DECL_OVERRIDE; + + virtual + QList requiredFields(void) const Q_DECL_OVERRIDE; + + virtual + bool setRequiredField(const QString &key, const QString &val) Q_DECL_OVERRIDE; + + virtual + bool haveAllMandatoryFields(void) const Q_DECL_OVERRIDE; + + virtual + QByteArray binaryXmlContent(const Isds::DbOwnerInfo &dbOwnerInfo) const Q_DECL_OVERRIDE; + }; + +} diff --git a/src/gov_wrapper.cpp b/src/gov_wrapper.cpp index 3f7ebd8..8371fca 100644 --- a/src/gov_wrapper.cpp +++ b/src/gov_wrapper.cpp @@ -31,7 +31,7 @@ //#include "src/datovka_shared/gov_services/service/gov_mv_zr_vp.h" //#include "src/datovka_shared/gov_services/service/gov_mv_rtpo_vt.h" #include "src/datovka_shared/gov_services/service/gov_service.h" -//#include "src/datovka_shared/gov_services/service/gov_szr_rob_vu.h" +#include "src/datovka_shared/gov_services/service/gov_szr_rob_vu.h" //#include "src/datovka_shared/gov_services/service/gov_szr_rob_vvu.h" //#include "src/datovka_shared/gov_services/service/gov_szr_ros_vv.h" #include "src/datovka_shared/isds/message_interface.h" @@ -70,9 +70,18 @@ void GovWrapper::initGovServices(void) Gov::Service *gs; -// /* Výpis z Registru obyvatel */ -// GovSzrRobVu *gs1 = new GovSzrRobVu(); -// m_govServices.insert(gs1->serviceId(), gs1); + /* Výpis z Registru obyvatel */ + gs = new Gov::SrvcSzrRobVu(); + if (gs != Q_NULLPTR) { + const QString &key(gs->internalId()); + if (!m_govServices.contains(key)) { + m_govServices.insert(key, gs); + } else { + logError( + "Key '%s' already exists in gov services container.", + key.toUtf8().constData()); + } + } // /* Výpis o využití údajů z registru obyvatel */ // GovSzrRobVvu *gs2 = new GovSzrRobVvu(); -- 2.22.0