lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 29e63d6 117/156: Add basic illustration page


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 29e63d6 117/156: Add basic illustration page of group placement illustration
Date: Tue, 30 Jan 2018 17:22:26 -0500 (EST)

branch: master
commit 29e63d6c92f4cd566537f72e538d32dd33c7c265
Author: Vadim Zeitlin <address@hidden>
Commit: Vadim Zeitlin <address@hidden>

    Add basic illustration page of group placement illustration
    
    This page implementation is almost completely trivial now thanks to the
    preceding page_with_basic_tabular_report refactoring.
    
    Also add footer and header templates for this illustration kind. Notice
    that the lower footer part is identical to the one used for NASD
    illustrations, but for now keep two copies separate for consistency and
    ease of comparison with the existing XSL files.
---
 ledger_pdf_generator_wx.cpp       | 25 ++++++++++++++++++
 reg_d_group_basic.mustache        | 15 +++++++++++
 reg_d_group_footer_lower.mustache | 19 ++++++++++++++
 reg_d_group_footer_upper.mustache | 12 +++++++++
 reg_d_group_header_lower.mustache | 53 +++++++++++++++++++++++++++++++++++++++
 reg_d_group_header_upper.mustache | 18 +++++++++++++
 6 files changed, 142 insertions(+)

diff --git a/ledger_pdf_generator_wx.cpp b/ledger_pdf_generator_wx.cpp
index 85006df..93c62a9 100644
--- a/ledger_pdf_generator_wx.cpp
+++ b/ledger_pdf_generator_wx.cpp
@@ -2383,6 +2383,30 @@ class pdf_illustration_nasd : public pdf_illustration
     }
 };
 
+// Basic illustration page of the private group placement illustration.
+class reg_d_group_basic : public page_with_basic_tabular_report
+{
+  private:
+    std::string get_fixed_page_contents() const override
+    {
+        return "{{>reg_d_group_basic}}";
+    }
+
+    std::string get_two_column_header
+        (std::string const& suffix_full
+        ,std::string const& suffix_short
+        ) const override
+    {
+        std::ostringstream oss;
+        oss
+            << "{{InitAnnSepAcctGrossInt_" << suffix_full << "}} "
+            << "Hypothetical Gross\n"
+            << "Return ({{InitAnnSepAcctNetInt_" << suffix_full << "}} net)"
+            ;
+        return oss.str();
+    }
+};
+
 // Private group placement illustration.
 class pdf_illustration_reg_d_group : public pdf_illustration
 {
@@ -2395,6 +2419,7 @@ class pdf_illustration_reg_d_group : public 
pdf_illustration
     {
         // Add all the pages.
         add<cover_page>();
+        add<reg_d_group_basic>();
     }
 
     std::string get_upper_footer_template_name() const override
diff --git a/reg_d_group_basic.mustache b/reg_d_group_basic.mustache
new file mode 100644
index 0000000..7a0af54
--- /dev/null
+++ b/reg_d_group_basic.mustache
@@ -0,0 +1,15 @@
+{{>reg_d_group_header_upper}}
+<p align="center">
+{{#IsInforce}}
+    In Force
+{{/IsInforce}}
+Basic Illustration
+</p>
+{{>reg_d_group_header_lower}}
+
+{{>dollar_units}}
+
+<br></br>
+<br></br>
+
+{{! Basic illustration table is created from C++ code }}
diff --git a/reg_d_group_footer_lower.mustache 
b/reg_d_group_footer_lower.mustache
new file mode 100644
index 0000000..c22a594
--- /dev/null
+++ b/reg_d_group_footer_lower.mustache
@@ -0,0 +1,19 @@
+<font size="-2">
+
+<table width="100%" cellspacing="0" cellpadding="0">
+    <tr>
+        <td colspan="3">&nbsp;</td>
+    </tr>
+    <tr>
+        <td>{{InsCoName}}</td>
+        <td align="center">Date Prepared: {{date_prepared}}</td>
+        <td align="right">Policy Form: {{PolicyForm}}</td>
+    </tr>
+    <tr>
+        <td>{{InsCoAddr}}</td>
+        <td align="center">System Version: {{LmiVersion}}</td>
+        <td align="right">{{page_number}}</td>
+    </tr>
+</table>
+
+</font>
diff --git a/reg_d_group_footer_upper.mustache 
b/reg_d_group_footer_upper.mustache
new file mode 100644
index 0000000..909a4c7
--- /dev/null
+++ b/reg_d_group_footer_upper.mustache
@@ -0,0 +1,12 @@
+<font size="-2">
+
+<p>
+* This illustration is based on the assumed Gross Rate shown.
+The Net Rate is provided for information purposes only.
+</p>
+<p>
+See the Narrative Summary for important policy information.
+This illustration is not complete without all pages.
+</p>
+
+</font>
diff --git a/reg_d_group_header_lower.mustache 
b/reg_d_group_header_lower.mustache
new file mode 100644
index 0000000..4d9f921
--- /dev/null
+++ b/reg_d_group_header_lower.mustache
@@ -0,0 +1,53 @@
+<table width="100%" cellspacing="0" cellpadding="0" valign="top">
+    <tr>
+        <td>
+        {{#Composite}}
+            {{CorpNameAbbrev60}}
+        {{/Composite}}
+        {{^Composite}}
+            {{Insured1Abbrev30}}
+        {{/Composite}},
+        {{Gender}} {{Smoker}} rates, Age {{Age}}<br>
+        {{#Composite}}
+            Composite<br>
+        {{/Composite}}
+        Contract: {{PolicyMktgName}}<br>
+        Initial Premium: ${{InitPrem}}<br>
+        {{#GroupCarveout}}
+            Minimum Initial Premium: ${{InitMinPrem}}<br>
+        {{/GroupCarveout}}
+        First Year Premium: ${{InitPrem}}<br>
+        {{^Composite}}
+            {{#UWTypeIsMedical}}
+              Fully underwritten,
+            {{/UWTypeIsMedical}}
+            {{^UWTypeIsMedical}}
+              {{UWType}},
+            {{/UWTypeIsMedical}}
+            {{UWClass}}, Initial Death Benefit Option: {{InitDBOpt}}<br>
+        {{/Composite}}
+        {{#HasWP}}
+            Waiver of Monthly Charges Rider elected.<br>
+        {{/HasWP}}
+        {{>contract_numbers}}
+        </td>
+        <td>
+        Assumed Gross Rate: {{InitAnnSepAcctGrossInt_Current}}
+        ({{InitAnnSepAcctNetInt_Current}} Net)*<br>
+        Initial
+        {{#HasTerm}}
+            Total
+        {{/HasTerm}}
+        Face Amount: ${{InitTotalSA}}<br>
+        {{#HasTerm}}
+            Initial Base Face Amount: ${{InitBaseSpecAmt}}<br>
+            Initial Term Face Amount: ${{InitTermSpecAmt}}<br>
+        {{/HasTerm}}
+        {{^Composite}}
+            {{#UWClassIsRated}}
+                  Table Rating: {{SubstandardTable}}<br>
+            {{/UWClassIsRated}}
+        {{/Composite}}
+        </td>
+    </tr>
+</table>
diff --git a/reg_d_group_header_upper.mustache 
b/reg_d_group_header_upper.mustache
new file mode 100644
index 0000000..6711120
--- /dev/null
+++ b/reg_d_group_header_upper.mustache
@@ -0,0 +1,18 @@
+<scaled_image inv_factor="0.36" src="company_logo.png"></scaled_image>
+
+<br></br>
+<br></br>
+
+<p>
+The purpose of this illustration is to show how the performance
+of the underlying separate account divisions could affect
+the contract account value and death benefit.
+<b>
+The hypothetical returns do not reflect past performance
+and are not predictive of future results. Actual results
+could be less than or greater than the hypothetical results
+and in all likelihood will vary year to year.
+</b>
+</p>
+
+<br></br>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]