From 7cee6201125e90b7617601a7b0df7620dd4efed1 Mon Sep 17 00:00:00 2001 From: inbargazit Date: Tue, 16 Apr 2024 10:09:49 -0700 Subject: [PATCH 1/3] Updating DocumentGenerationService.java with dynamic tables --- azure-pipelines.yml | 15 +++++ pom.xml | 2 +- .../com/docusign/common/WorkArguments.java | 2 + .../EG042ControllerDocumentGeneration.java | 3 +- .../services/DocumentGenerationService.java | 56 +++++++++++++++--- .../resources/Offer_Letter_Dynamic_Table.docx | Bin 0 -> 36681 bytes .../views/pages/esignature/examples/eg042.jsp | 18 +++++- 7 files changed, 85 insertions(+), 11 deletions(-) create mode 100644 src/main/resources/Offer_Letter_Dynamic_Table.docx diff --git a/azure-pipelines.yml b/azure-pipelines.yml index a3a6e33c..3b9b1a89 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -88,6 +88,21 @@ steps: - script: dir $(Build.SourcesDirectory)/code-examples-java-private/src/main/resources +- script: | + echo "Checking for running Docker containers..." + containers=$(docker ps -q) + if [ ! -z "$containers" ]; then + echo "Stopping running Docker containers..." + docker stop $(docker ps -q) + else + echo "No Docker containers are running." + fi + displayName: "check for running containers" + +- script: | + docker system prune -a --force + displayName: "cleanup docker files" + - task: Docker@2 displayName: Build java image inputs: diff --git a/pom.xml b/pom.xml index 467f96e0..09fdc212 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ 2.5.6 2.11.0 - 4.5.0 + 4.6.0-RC1 1.4.3 1.4.0 1.3.0 diff --git a/src/main/java/com/docusign/common/WorkArguments.java b/src/main/java/com/docusign/common/WorkArguments.java index f16e248f..eb512450 100644 --- a/src/main/java/com/docusign/common/WorkArguments.java +++ b/src/main/java/com/docusign/common/WorkArguments.java @@ -156,6 +156,8 @@ public class WorkArguments { private String salary; + private String rsus; + private String agentEmail; private String agentName; diff --git a/src/main/java/com/docusign/controller/eSignature/examples/EG042ControllerDocumentGeneration.java b/src/main/java/com/docusign/controller/eSignature/examples/EG042ControllerDocumentGeneration.java index 36d2cf7f..417106aa 100644 --- a/src/main/java/com/docusign/controller/eSignature/examples/EG042ControllerDocumentGeneration.java +++ b/src/main/java/com/docusign/controller/eSignature/examples/EG042ControllerDocumentGeneration.java @@ -22,7 +22,7 @@ public class EG042ControllerDocumentGeneration extends AbstractEsignatureController { public static final String EG_042 = "/eg042"; - private static final String DOCUMENT_FILE_NAME = "Offer_Letter_Demo.docx"; + private static final String DOCUMENT_FILE_NAME = "Offer_Letter_Dynamic_Table.docx"; @Autowired public EG042ControllerDocumentGeneration(DSConfiguration config, Session session, User user) { @@ -45,6 +45,7 @@ protected Object doWork(WorkArguments args, ModelMap model, args.getManagerName(), args.getJobTitle(), args.getSalary(), + args.getRsus(), args.getStartDate(), DOCUMENT_FILE_NAME, envelopesApi, diff --git a/src/main/java/com/docusign/controller/eSignature/services/DocumentGenerationService.java b/src/main/java/com/docusign/controller/eSignature/services/DocumentGenerationService.java index cb80ac1f..e9b08e2b 100644 --- a/src/main/java/com/docusign/controller/eSignature/services/DocumentGenerationService.java +++ b/src/main/java/com/docusign/controller/eSignature/services/DocumentGenerationService.java @@ -22,8 +22,18 @@ public final class DocumentGenerationService { public static final String SALARY = "Salary"; + public static final String BONUS = "Bonus"; + + public static final String RSUS = "RSUs"; + public static final String START_DATE = "Start_Date"; + public static final String COMPENSATION_PACKAGE = "Compensation_Package"; + + public static final String COMPENSATION_COMPONENT = "Compensation_Component"; + + public static final String DETAILS = "Details"; + public static final String TEXT_BOX = "TextBox"; public static final String STRING_TRUE = "true"; @@ -53,6 +63,7 @@ public String generateDocument( String managerName, String jobTitle, String salary, + String rsus, String startDate, String offerDocDocx, EnvelopesApi envelopesApi, @@ -96,6 +107,7 @@ public String generateDocument( managerName, jobTitle, salary, + rsus, startDate); envelopesApi.updateEnvelopeDocGenFormFields(accountId, envelopeId, formFields); @@ -136,7 +148,7 @@ private SignHere createSignHere() { private DateSigned createDateSigned() { DateSigned dateSigned = new DateSigned(); - dateSigned.setAnchorString("Date"); + dateSigned.setAnchorString("Date Signed"); dateSigned.setAnchorUnits(ANCHOR_UNITS); dateSigned.setAnchorYOffset("-22"); @@ -151,6 +163,7 @@ private DocGenFormFieldRequest getFormFields( String managerName, String jobTitle, String salary, + String rsus, String startDate) { DocGenFormField candidateNameField = new DocGenFormField(); candidateNameField.setName(CANDIDATE_NAME); @@ -164,21 +177,50 @@ private DocGenFormFieldRequest getFormFields( jobTitleField.setName(JOB_TITLE); jobTitleField.setValue(jobTitle); - DocGenFormField salaryField = new DocGenFormField(); - salaryField.setName(SALARY); - salaryField.setValue(salary); - DocGenFormField startDateField = new DocGenFormField(); startDateField.setName(START_DATE); startDateField.setValue(startDate); + DocGenFormField compensationPackageField = new DocGenFormField(); + compensationPackageField.setName(COMPENSATION_PACKAGE); + compensationPackageField.setType("TableRow"); + compensationPackageField.setRowValues(Arrays.asList( + new DocGenFormFieldRowValue() + .docGenFormFieldList(Arrays.asList( + new DocGenFormField() + .name(COMPENSATION_COMPONENT) + .value(SALARY), + new DocGenFormField() + .name(DETAILS) + .value("$" + salary) + )), + new DocGenFormFieldRowValue() + .docGenFormFieldList(Arrays.asList( + new DocGenFormField() + .name(COMPENSATION_COMPONENT) + .value(BONUS), + new DocGenFormField() + .name(DETAILS) + .value("20%") + )), + new DocGenFormFieldRowValue() + .docGenFormFieldList(Arrays.asList( + new DocGenFormField() + .name(COMPENSATION_COMPONENT) + .value(RSUS), + new DocGenFormField() + .name(DETAILS) + .value(rsus) + )) + )); + DocGenFormFields formFields = new DocGenFormFields(); formFields.setDocGenFormFieldList(Arrays.asList( candidateNameField, managerNameField, jobTitleField, - salaryField, - startDateField)); + startDateField, + compensationPackageField)); formFields.setDocumentId(documentId); DocGenFormFieldRequest docGenFormFieldRequest = new DocGenFormFieldRequest(); diff --git a/src/main/resources/Offer_Letter_Dynamic_Table.docx b/src/main/resources/Offer_Letter_Dynamic_Table.docx new file mode 100644 index 0000000000000000000000000000000000000000..8c109beea0326ed2d92cd78cd2489bb52996c066 GIT binary patch literal 36681 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%0Av6P|nqe-e0Nb-m$v0QIe1hA` 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 +

${example.getExampleName()}

${example.getExampleDescription()}

@@ -75,8 +76,7 @@ @@ -93,6 +93,20 @@ required> +
+ + + +
+