commit 7f5a0cd3191724fadb22a3a95f010b6f8843a634 Author: Jason Jordan Date: Wed May 6 14:57:03 2026 -0400 initial docker jasper build diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c990ea8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# ignore +build/ +dist/ +compiled_war/ +trunk/ + + +target/ + +# Log file +*.log +*.jasper diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c986ca5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,43 @@ +# 1. Stage: Extract tomcat files from the official image +FROM tomcat:8.0-jre8 AS tomcat-stage + +# 2. Stage: Build your application using Temurin JDK +FROM eclipse-temurin:8-jdk AS builder + +# Install Apache Ant in your Temurin builder +RUN apt-get update && apt-get install -y ant && rm -rf /var/lib/apt/lists/* + +# Copy the Tomcat libs from the tomcat-stage to a directory in your builder +COPY --from=tomcat-stage /usr/local/tomcat/lib /opt/tomcat/lib + +# Set your working directory and run Ant build +WORKDIR /app +COPY . . + +# RUN ant -f ./compile-jasper.xml +# RUN ant -f trunk/nbproject/compile-jasper.xml +RUN ant war +# RUN ant war +# RUN ant clean war + +# STAGE 2: Deploy to Tomcat +FROM tomcat-stage + +WORKDIR /usr/local/tomcat + +ENV JASPER_VERSION=6.1.1 +# ENV CATALINA_HOME /usr/local/tomcat +# Remove default Tomcat apps to avoid conflicts +RUN rm -rf ./webapps/* + +# COPY /trunk/servlet-api.jar /usr/local/tomcat/lib/servlet-api.jar + +# Copy the generated WAR from the builder stage +# COPY --from=builder /app/dist/BrittonReportServer.war /app/dist/BrittonReportServer.war +COPY --from=builder /app/dist/BrittonReportServer.war ./webapps/ROOT.war + +RUN mkdir -p /app/compiled_war +COPY --from=builder /app/dist/BrittonReportServer.war /app/compiled_war/ + +EXPOSE 8080 +CMD ["catalina.sh", "run"] \ No newline at end of file diff --git a/HowToCompile.txt b/HowToCompile.txt new file mode 100644 index 0000000..6e3ee32 --- /dev/null +++ b/HowToCompile.txt @@ -0,0 +1,13 @@ +ant -f C:\Source\BrittonReportServerProd\trunk\nbproject\compile-jasper.xml + + + +http://localhost:8080/trunk/PdfServlet?reportConn=BrittonConnect&id=& +reportName=FullPageCard& + +reportType=FairosRxIDCard& + +reportDir=idcards& +netToken=3a4a8b03f4dfb0e6e3fc82dd369f70ef&FileType=PDF + +http://localhost:8080/trunk/PdfServlet?reportConn=BrittonConnect&id=&reportName=FullPageCard&reportType=FairosRxIDCard&family_id=015606258&employer_logo=BryanPestControlLogo.jpg&network_logo=CignaLogo.png&reportDir=idcards&SUBREPORT_DIR=/&netToken=3a4a8b03f4dfb0e6e3fc82dd369f70ef&FileType=PDF diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..ffe67c8 --- /dev/null +++ b/build.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/compile-jasper.xml b/compile-jasper.xml new file mode 100644 index 0000000..fd1ba14 --- /dev/null +++ b/compile-jasper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6687249 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,29 @@ +services: + jasper-reports: + build: . + ports: + - "8080:8080" + volumes: + # - ./jasper_reports/build:/usr/src/app/build + - ./compiled_war:/app/compiled_war + # - ./dist:/app/dist + - ./web/reports:/usr/local/tomcat/webapps/app/web/reports + restart: always + # jasper-war-builder: + # build: + # context: . + # target: builder + # volumes: + # - ./dist:/app/dist + + # # This service runs the actual Tomcat application + # jasper-reports: + # build: + # context: . + # ports: + # - "8080:8080" + # volumes: + # - ./web/reports:/usr/local/tomcat/webapps/app/web/reports + # depends_on: + # - jasper-war-builder + # restart: always \ No newline at end of file diff --git a/src/java/com/britton/models/CardLogoBean.java b/src/java/com/britton/models/CardLogoBean.java new file mode 100644 index 0000000..192d408 --- /dev/null +++ b/src/java/com/britton/models/CardLogoBean.java @@ -0,0 +1,46 @@ +package com.britton.models; + +import java.io.InputStream; +import java.io.ByteArrayInputStream; + +public class CardLogoBean { + + private String filename; + private byte[] image_data; + private String content_type; + private Float aspect_ratio; + + public CardLogoBean() {} + + public CardLogoBean(String filename, byte[] image_data, String content_type, Float aspect_ratio) { + this.filename = filename; + this.image_data = image_data; + this.content_type = content_type; + this.aspect_ratio = aspect_ratio; + } + + public String getFilename() { + return filename; + } + + public byte[] getImage_data() { + return image_data; + } + + public InputStream getImage_stream() { + if (this.image_data == null) { + return null; + } + return new ByteArrayInputStream(this.image_data); + } + + public String getContent_type() { + return content_type; + } + + public Float getAspect_ratio() { + return aspect_ratio; + } + + +} \ No newline at end of file diff --git a/src/java/com/britton/models/MemberCardDataBean.java b/src/java/com/britton/models/MemberCardDataBean.java new file mode 100644 index 0000000..f8ea317 --- /dev/null +++ b/src/java/com/britton/models/MemberCardDataBean.java @@ -0,0 +1,492 @@ +package com.britton.models; + +public class MemberCardDataBean { + + private String employer_name; + private String group_number; + private String primary_mb_member_key; + private String family_id; + private String full_name; + private String full_name_last_name_first; + private String rx_group; + private String medical_eff_date; + private String dental_coverage; + private String network_provider; + private String provider_line_1; + private String provider_line_2; + private String provider_line_3; + private String provider_line_4; + private String provider_line_5; + private String provider_line_6; + private String provider_line_7; + private String provider_line_8; + private String provider_line_9; + private String provider_line_10; + private String provider_line_11; + private String provider_line_12; + private String claim_to_1; + private String claim_to_2; + private String claim_to_3; + private String claim_to_4; + private String claim_to_5; + private String claim_to_6; + private String claim_to_7; + private String claim_to_8; + private String claim_to_9; + private String claim_to_10; + private String claim_to_11; + private String claim_to_12; + private String customer_service; + private String web_url; + private String dependent_1; + private String dependent_2; + private String dependent_3; + private String dependent_4; + private String dependent_5; + private String dependent_6; + private String dependent_7; + private String dependent_8; + private String benefit_desc_1; + private String benefit_1; + private String benefit_desc_2; + private String benefit_2; + private String benefit_desc_3; + private String benefit_3; + private String benefit_desc_4; + private String benefit_4; + private String benefit_desc_5; + private String benefit_5; + private String benefit_desc_6; + private String benefit_6; + private String benefit_desc_7; + private String benefit_7; + private String benefit_desc_8; + private String benefit_8; + private String benefit_desc_9; + private String benefit_9; + private String benefit_desc_10; + private String benefit_10; + private String benefit_desc_11; + private String benefit_11; + private String benefit_desc_12; + private String benefit_12; + private String benefit_desc_13; + private String benefit_13; + private String benefit_desc_14; + private String benefit_14; + private String precert_1; + private String precert_2; + private String precert_3; + private String precert_4; + private String jasper_batch_id; + private String sample_plan_title; + private String employer_logo_filename; + private String network_logo_filename; + + public MemberCardDataBean() {} + + public MemberCardDataBean(String employer_name, String group_number, String primary_mb_member_key, String family_id, String full_name, String full_name_last_name_first, String rx_group, String medical_eff_date, String dental_coverage, String network_provider, String provider_line_1, String provider_line_2, String provider_line_3, String provider_line_4, String provider_line_5, String provider_line_6, String provider_line_7, String provider_line_8, String provider_line_9, String provider_line_10, String provider_line_11, String provider_line_12, String claim_to_1, String claim_to_2, String claim_to_3, String claim_to_4, String claim_to_5, String claim_to_6, String claim_to_7, String claim_to_8, String claim_to_9, String claim_to_10, String claim_to_11, String claim_to_12, String customer_service, String web_url, String dependent_1, String dependent_2, String dependent_3, String dependent_4, String dependent_5, String dependent_6, String dependent_7, String dependent_8, String benefit_desc_1, String benefit_1, String benefit_desc_2, String benefit_2, String benefit_desc_3, String benefit_3, String benefit_desc_4, String benefit_4, String benefit_desc_5, String benefit_5, String benefit_desc_6, String benefit_6, String benefit_desc_7, String benefit_7, String benefit_desc_8, String benefit_8, String benefit_desc_9, String benefit_9, String benefit_desc_10, String benefit_10, String benefit_desc_11, String benefit_11, String benefit_desc_12, String benefit_12, String benefit_desc_13, String benefit_13, String benefit_desc_14, String benefit_14, String precert_1, String precert_2, String precert_3, String precert_4, String jasper_batch_id, String sample_plan_title, String employer_logo_filename, String network_logo_filename) { + this.employer_name = employer_name; + this.group_number = group_number; + this.primary_mb_member_key = primary_mb_member_key; + this.family_id = family_id; + this.full_name = full_name; + this.full_name_last_name_first = full_name_last_name_first; + this.rx_group = rx_group; + this.medical_eff_date = medical_eff_date; + this.dental_coverage = dental_coverage; + this.network_provider = network_provider; + this.provider_line_1 = provider_line_1; + this.provider_line_2 = provider_line_2; + this.provider_line_3 = provider_line_3; + this.provider_line_4 = provider_line_4; + this.provider_line_5 = provider_line_5; + this.provider_line_6 = provider_line_6; + this.provider_line_7 = provider_line_7; + this.provider_line_8 = provider_line_8; + this.provider_line_9 = provider_line_9; + this.provider_line_10 = provider_line_10; + this.provider_line_11 = provider_line_11; + this.provider_line_12 = provider_line_12; + this.claim_to_1 = claim_to_1; + this.claim_to_2 = claim_to_2; + this.claim_to_3 = claim_to_3; + this.claim_to_4 = claim_to_4; + this.claim_to_5 = claim_to_5; + this.claim_to_6 = claim_to_6; + this.claim_to_7 = claim_to_7; + this.claim_to_8 = claim_to_8; + this.claim_to_9 = claim_to_9; + this.claim_to_10 = claim_to_10; + this.claim_to_11 = claim_to_11; + this.claim_to_12 = claim_to_12; + this.customer_service = customer_service; + this.web_url = web_url; + this.dependent_1 = dependent_1; + this.dependent_2 = dependent_2; + this.dependent_3 = dependent_3; + this.dependent_4 = dependent_4; + this.dependent_5 = dependent_5; + this.dependent_6 = dependent_6; + this.dependent_7 = dependent_7; + this.dependent_8 = dependent_8; + this.benefit_desc_1 = benefit_desc_1; + this.benefit_1 = benefit_1; + this.benefit_desc_2 = benefit_desc_2; + this.benefit_2 = benefit_2; + this.benefit_desc_3 = benefit_desc_3; + this.benefit_3 = benefit_3; + this.benefit_desc_4 = benefit_desc_4; + this.benefit_4 = benefit_4; + this.benefit_desc_5 = benefit_desc_5; + this.benefit_5 = benefit_5; + this.benefit_desc_6 = benefit_desc_6; + this.benefit_6 = benefit_6; + this.benefit_desc_7 = benefit_desc_7; + this.benefit_7 = benefit_7; + this.benefit_desc_8 = benefit_desc_8; + this.benefit_8 = benefit_8; + this.benefit_desc_9 = benefit_desc_9; + this.benefit_9 = benefit_9; + this.benefit_desc_10 = benefit_desc_10; + this.benefit_10 = benefit_10; + this.benefit_desc_11 = benefit_desc_11; + this.benefit_11 = benefit_11; + this.benefit_desc_12 = benefit_desc_12; + this.benefit_12 = benefit_12; + this.benefit_desc_13 = benefit_desc_13; + this.benefit_13 = benefit_13; + this.benefit_desc_14 = benefit_desc_14; + this.benefit_14 = benefit_14; + this.precert_1 = precert_1; + this.precert_2 = precert_2; + this.precert_3 = precert_3; + this.precert_4 = precert_4; + this.jasper_batch_id = jasper_batch_id; + this.sample_plan_title = sample_plan_title; + this.employer_logo_filename = employer_logo_filename; + this.network_logo_filename = network_logo_filename; + } + + public String getEmployer_name() { + return employer_name; + } + + public String getGroup_number() { + return group_number; + } + + public String getPrimary_mb_member_key() { + return primary_mb_member_key; + } + + public String getFamily_id() { + return family_id; + } + + public String getFull_name() { + return full_name; + } + + public String getFull_name_last_name_first() { + return full_name_last_name_first; + } + + public String getRx_group() { + return rx_group; + } + + public String getMedical_eff_date() { + return medical_eff_date; + } + + public String getDental_coverage() { + return dental_coverage; + } + + public String getNetwork_provider() { + return network_provider; + } + + public String getProvider_line_1() { + return provider_line_1; + } + + public String getProvider_line_2() { + return provider_line_2; + } + + public String getProvider_line_3() { + return provider_line_3; + } + + public String getProvider_line_4() { + return provider_line_4; + } + + public String getProvider_line_5() { + return provider_line_5; + } + + public String getProvider_line_6() { + return provider_line_6; + } + + public String getProvider_line_7() { + return provider_line_7; + } + + public String getProvider_line_8() { + return provider_line_8; + } + + public String getProvider_line_9() { + return provider_line_9; + } + + public String getProvider_line_10() { + return provider_line_10; + } + + public String getProvider_line_11() { + return provider_line_11; + } + + public String getProvider_line_12() { + return provider_line_12; + } + + public String getClaim_to_1() { + return claim_to_1; + } + + public String getClaim_to_2() { + return claim_to_2; + } + + public String getClaim_to_3() { + return claim_to_3; + } + + public String getClaim_to_4() { + return claim_to_4; + } + + public String getClaim_to_5() { + return claim_to_5; + } + + public String getClaim_to_6() { + return claim_to_6; + } + + public String getClaim_to_7() { + return claim_to_7; + } + + public String getClaim_to_8() { + return claim_to_8; + } + + public String getClaim_to_9() { + return claim_to_9; + } + + public String getClaim_to_10() { + return claim_to_10; + } + + public String getClaim_to_11() { + return claim_to_11; + } + + public String getClaim_to_12() { + return claim_to_12; + } + + public String getCustomer_service() { + return customer_service; + } + + public String getWeb_url() { + return web_url; + } + + public String getDependent_1() { + return dependent_1; + } + + public String getDependent_2() { + return dependent_2; + } + + public String getDependent_3() { + return dependent_3; + } + + public String getDependent_4() { + return dependent_4; + } + + public String getDependent_5() { + return dependent_5; + } + + public String getDependent_6() { + return dependent_6; + } + + public String getDependent_7() { + return dependent_7; + } + + public String getDependent_8() { + return dependent_8; + } + + public String getBenefit_desc_1() { + return benefit_desc_1; + } + + public String getBenefit_1() { + return benefit_1; + } + + public String getBenefit_desc_2() { + return benefit_desc_2; + } + + public String getBenefit_2() { + return benefit_2; + } + + public String getBenefit_desc_3() { + return benefit_desc_3; + } + + public String getBenefit_3() { + return benefit_3; + } + + public String getBenefit_desc_4() { + return benefit_desc_4; + } + + public String getBenefit_4() { + return benefit_4; + } + + public String getBenefit_desc_5() { + return benefit_desc_5; + } + + public String getBenefit_5() { + return benefit_5; + } + + public String getBenefit_desc_6() { + return benefit_desc_6; + } + + public String getBenefit_6() { + return benefit_6; + } + + public String getBenefit_desc_7() { + return benefit_desc_7; + } + + public String getBenefit_7() { + return benefit_7; + } + + public String getBenefit_desc_8() { + return benefit_desc_8; + } + + public String getBenefit_8() { + return benefit_8; + } + + public String getBenefit_desc_9() { + return benefit_desc_9; + } + + public String getBenefit_9() { + return benefit_9; + } + + public String getBenefit_desc_10() { + return benefit_desc_10; + } + + public String getBenefit_10() { + return benefit_10; + } + + public String getBenefit_desc_11() { + return benefit_desc_11; + } + + public String getBenefit_11() { + return benefit_11; + } + + public String getBenefit_desc_12() { + return benefit_desc_12; + } + + public String getBenefit_12() { + return benefit_12; + } + + public String getBenefit_desc_13() { + return benefit_desc_13; + } + + public String getBenefit_13() { + return benefit_13; + } + + public String getBenefit_desc_14() { + return benefit_desc_14; + } + + public String getBenefit_14() { + return benefit_14; + } + + public String getPrecert_1() { + return precert_1; + } + + public String getPrecert_2() { + return precert_2; + } + + public String getPrecert_3() { + return precert_3; + } + + public String getPrecert_4() { + return precert_4; + } + + public String getJasper_batch_id() { + return jasper_batch_id; + } + + public String getSample_plan_title() { + return sample_plan_title; + } + + public String getEmployer_logo_filename() { + return employer_logo_filename; + } + + public String getNetwork_logo_filename() { + return network_logo_filename; + } + + +} diff --git a/src/java/com/britton/models/MemberCardDataBeanLombok.java b/src/java/com/britton/models/MemberCardDataBeanLombok.java new file mode 100644 index 0000000..46f22fe --- /dev/null +++ b/src/java/com/britton/models/MemberCardDataBeanLombok.java @@ -0,0 +1,84 @@ +// package com.britton.models; + +// import lombok.Builder; +// import lombok.Getter; +// import lombok.AllArgsConstructor; +// import lombok.NoArgsConstructor; + +// @Getter +// @Builder +// @NoArgsConstructor +// @AllArgsConstructor +// public class MemberCardDataBean { +// private String employer_name; +// private String group_number; +// private String primary_mb_member_key; +// private String family_id; +// private String full_name; +// private String rx_group; +// private String medical_eff_date; +// private String network_provider; +// private String provider_line_1; +// private String provider_line_2; +// private String provider_line_3; +// private String provider_line_4; +// private String provider_line_5; +// private String provider_line_6; +// private String provider_line_7; +// private String provider_line_8; +// private String provider_line_9; +// private String provider_line_10; +// private String provider_line_11; +// private String provider_line_12; +// private String claim_to_1; +// private String claim_to_2; +// private String claim_to_3; +// private String claim_to_4; +// private String claim_to_5; +// private String claim_to_6; +// private String claim_to_7; +// private String claim_to_8; +// private String claim_to_9; +// private String claim_to_10; +// private String claim_to_11; +// private String claim_to_12; +// private String customer_service; +// private String web_url; +// private String dependent_1; +// private String dependent_2; +// private String dependent_3; +// private String dependent_4; +// private String dependent_5; +// private String dependent_6; +// private String dependent_7; +// private String dependent_8; +// private String benefit_desc_1; +// private String benefit_1; +// private String benefit_desc_2; +// private String benefit_2; +// private String benefit_desc_3; +// private String benefit_3; +// private String benefit_desc_4; +// private String benefit_4; +// private String benefit_desc_5; +// private String benefit_5; +// private String benefit_desc_6; +// private String benefit_6; +// private String benefit_desc_7; +// private String benefit_7; +// private String benefit_desc_8; +// private String benefit_8; +// private String benefit_desc_9; +// private String benefit_9; +// private String benefit_desc_10; +// private String benefit_10; +// private String benefit_desc_11; +// private String benefit_11; +// private String benefit_desc_12; +// private String benefit_12; +// private String benefit_desc_13; +// private String benefit_13; +// private String benefit_desc_14; +// private String benefit_14; +// private String jasper_batch_id; +// } diff --git a/src/java/com/britton/services/IdCardsReportService.java b/src/java/com/britton/services/IdCardsReportService.java new file mode 100644 index 0000000..2c1d537 --- /dev/null +++ b/src/java/com/britton/services/IdCardsReportService.java @@ -0,0 +1,215 @@ +package com.britton.services; + +import com.britton.models.MemberCardDataBean; +import com.britton.models.CardLogoBean; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.Comparator; +import java.util.stream.Collectors; + + +public class IdCardsReportService { + + public static List getMemberCardData(Connection conn, String jasperBatchId) { + List cardData = new ArrayList<>(); + try { + System.out.println(jasperBatchId); + String orderClause = ""; + if (!jasperBatchId.contains("Samples-")) { + orderClause = " ORDER BY employer_name, full_name_last_name_first"; + } + String sql = "SELECT * FROM id_card_print_data WHERE jasper_batch_id = ?" + orderClause; + PreparedStatement pstmt = conn.prepareStatement(sql); + pstmt.setString(1, jasperBatchId); + ResultSet rs = pstmt.executeQuery(); + + while (rs.next()) { + + System.out.println("-start : " + rs.getString("primary_mb_member_key")); + MemberCardDataBean mcdb = new MemberCardDataBean( + rs.getString("employer_name"), + rs.getString("group_number"), + rs.getString("primary_mb_member_key"), + rs.getString("family_id"), + rs.getString("full_name"), + rs.getString("full_name_last_name_first"), + rs.getString("rx_group"), + rs.getString("medical_eff_date"), + rs.getString("dental_coverage"), + rs.getString("network_provider"), + rs.getString("provider_line_1"), + rs.getString("provider_line_2"), + rs.getString("provider_line_3"), + rs.getString("provider_line_4"), + rs.getString("provider_line_5"), + rs.getString("provider_line_6"), + rs.getString("provider_line_7"), + rs.getString("provider_line_8"), + rs.getString("provider_line_9"), + rs.getString("provider_line_10"), + rs.getString("provider_line_11"), + rs.getString("provider_line_12"), + rs.getString("claim_to_1"), + rs.getString("claim_to_2"), + rs.getString("claim_to_3"), + rs.getString("claim_to_4"), + rs.getString("claim_to_5"), + rs.getString("claim_to_6"), + rs.getString("claim_to_7"), + rs.getString("claim_to_8"), + rs.getString("claim_to_9"), + rs.getString("claim_to_10"), + rs.getString("claim_to_11"), + rs.getString("claim_to_12"), + rs.getString("customer_service"), + rs.getString("web_url"), + rs.getString("dependent_1"), + rs.getString("dependent_2"), + rs.getString("dependent_3"), + rs.getString("dependent_4"), + rs.getString("dependent_5"), + rs.getString("dependent_6"), + rs.getString("dependent_7"), + rs.getString("dependent_8"), + rs.getString("benefit_desc_1"), + rs.getString("benefit_1"), + rs.getString("benefit_desc_2"), + rs.getString("benefit_2"), + rs.getString("benefit_desc_3"), + rs.getString("benefit_3"), + rs.getString("benefit_desc_4"), + rs.getString("benefit_4"), + rs.getString("benefit_desc_5"), + rs.getString("benefit_5"), + rs.getString("benefit_desc_6"), + rs.getString("benefit_6"), + rs.getString("benefit_desc_7"), + rs.getString("benefit_7"), + rs.getString("benefit_desc_8"), + rs.getString("benefit_8"), + rs.getString("benefit_desc_9"), + rs.getString("benefit_9"), + rs.getString("benefit_desc_10"), + rs.getString("benefit_10"), + rs.getString("benefit_desc_11"), + rs.getString("benefit_11"), + rs.getString("benefit_desc_12"), + rs.getString("benefit_12"), + rs.getString("benefit_desc_13"), + rs.getString("benefit_13"), + rs.getString("benefit_desc_14"), + rs.getString("benefit_14"), + rs.getString("precert_1"), + rs.getString("precert_2"), + rs.getString("precert_3"), + rs.getString("precert_4"), + rs.getString("jasper_batch_id"), + rs.getString("sample_plan_title"), + rs.getString("employer_logo_filename"), + rs.getString("network_logo_filename") + ); + System.out.println("-card : " + mcdb.getPrimary_mb_member_key()); + cardData.add(mcdb); + } + } catch (SQLException e) { + e.printStackTrace(); + } + System.out.println("-number of member cards: " + cardData.size()); + // cardData.sort(Comparator.comparing(MemberCardDataBean::getFull_name_last_name_first)); + return cardData; + } + + public static List getEmployerLogoImages(Connection conn, List memberCardsDataList) { + List logoData = new ArrayList<>(); + + Set employerLogoFilenames = memberCardsDataList.stream() + .map(MemberCardDataBean::getEmployer_logo_filename) + .collect(Collectors.toSet()); + + try { + // System.out.println(jasperBatchId); + String sqlWhereIn = buildDynamicWhereIn(employerLogoFilenames.size()); + String sql = "SELECT * FROM id_card_employer_logos WHERE filename IN (" + sqlWhereIn.toString() + ")"; + PreparedStatement pstmt = conn.prepareStatement(sql); + + int index = 1; + for (String filename : employerLogoFilenames) { + pstmt.setString(index++, filename); + } + ResultSet rs = pstmt.executeQuery(); + + while (rs.next()) { + + System.out.println("-start : " + rs.getString("filename")); + CardLogoBean clb = new CardLogoBean( + rs.getString("filename"), + rs.getBytes("image_data"), + rs.getString("content_type"), + rs.getFloat("aspect_ratio") + ); + System.out.println("-logo : " + clb.getFilename()); + logoData.add(clb); + } + } catch (SQLException e) { + e.printStackTrace(); + } + System.out.println("-number of logos: " + logoData.size()); + return logoData; + } + + public static List getNetworkLogoImages(Connection conn, List memberCardsDataList) { + List logoData = new ArrayList<>(); + + Set networkLogoFilenames = memberCardsDataList.stream() + .map(MemberCardDataBean::getNetwork_logo_filename) + .collect(Collectors.toSet()); + + try { + // System.out.println(jasperBatchId); + String sqlWhereIn = buildDynamicWhereIn(networkLogoFilenames.size()); + String sql = "SELECT * FROM id_card_network_logos WHERE filename IN (" + sqlWhereIn.toString() + ")"; + PreparedStatement pstmt = conn.prepareStatement(sql); + + int index = 1; + for (String filename : networkLogoFilenames) { + pstmt.setString(index++, filename); + } + ResultSet rs = pstmt.executeQuery(); + + while (rs.next()) { + + System.out.println("-start : " + rs.getString("filename")); + CardLogoBean clb = new CardLogoBean( + rs.getString("filename"), + rs.getBytes("image_data"), + rs.getString("content_type"), + rs.getFloat("aspect_ratio") + ); + System.out.println("-logo : " + clb.getFilename()); + logoData.add(clb); + } + } catch (SQLException e) { + e.printStackTrace(); + } + System.out.println("-number of logos: " + logoData.size()); + return logoData; + } + + private static String buildDynamicWhereIn(int size) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < size; i++) { + builder.append("?"); + if (i < size - 1) { + builder.append(", "); + } + } + return builder.toString(); + } + +} diff --git a/src/java/com/britton/servlets/JRIDCardsServlet.java b/src/java/com/britton/servlets/JRIDCardsServlet.java new file mode 100644 index 0000000..0ea8907 --- /dev/null +++ b/src/java/com/britton/servlets/JRIDCardsServlet.java @@ -0,0 +1,418 @@ +package com.britton.servlets; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.InputStream; +import java.io.PrintWriter; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.spec.InvalidKeySpecException; +// import java.sql.Connection; +// import java.sql.DriverManager; +// import java.sql.SQLException; +import java.sql.Blob; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.List; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.britton.models.MemberCardDataBean; +import com.britton.models.CardLogoBean; +import com.britton.services.IdCardsReportService; + +import net.sf.jasperreports.engine.JRDataSource; +import net.sf.jasperreports.engine.JRException; +import net.sf.jasperreports.engine.JRParameter; +import net.sf.jasperreports.engine.JasperExportManager; +import net.sf.jasperreports.engine.JasperFillManager; +import net.sf.jasperreports.engine.JasperPrint; +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; +import net.sf.jasperreports.engine.JREmptyDataSource; +import net.sf.jasperreports.engine.export.HtmlExporter; +import net.sf.jasperreports.engine.export.JRCsvExporter; +import net.sf.jasperreports.engine.export.JRPdfExporter; +import net.sf.jasperreports.engine.export.JRXmlExporter; +import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter; +import net.sf.jasperreports.engine.util.JRSwapFile; +import net.sf.jasperreports.export.Exporter; +import net.sf.jasperreports.export.SimpleExporterInput; +import net.sf.jasperreports.export.SimpleHtmlExporterOutput; +import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput; + +public class JRIDCardsServlet + extends HttpServlet { + + public static final int SALT_BYTES = 128 / 8; + private static final long serialVersionUID = 1L; + + + + @Override + public void init() throws ServletException { + + + ServletConfig conf = getServletConfig(); + + } + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws + javax.servlet.ServletException, java.io.IOException { + doPost(req, resp); + } + + @Override + public void doPost(HttpServletRequest req, HttpServletResponse resp) throws + javax.servlet.ServletException, java.io.IOException { + ByteArrayOutputStream baosPDF = null; + String type = req.getParameter("FileType"); + Connection conn = null; + try { + if (type.equals("PDF")) { + baosPDF = generatePDFDocumentBytes(req, this.getServletContext()); + resp.setContentType("application/pdf"); + } else { + baosPDF = export(getJasperPrint(req, this.getServletContext(), conn), type); + if (type.equals("HTML")) { + resp.setContentType("text/html"); + } + if (type.equals("XLSX")) { + resp.setContentType("application/vnd.ms-excel"); + } + } + //Throw an exception if the Document has zero bytes + if (baosPDF.size() == 0) { + throw new Exception("File is empty"); + } + + StringBuffer sbFilename = new StringBuffer(); + sbFilename.append("filename_"); + sbFilename.append(System.currentTimeMillis()); + sbFilename.append(".pdf"); + resp.setHeader("Expires", "0"); + resp.setHeader("Cache-Control", + "must-revalidate, post-check=0, pre-check=0"); + + StringBuilder sbContentDispValue = new StringBuilder(); + sbContentDispValue.append("inline"); + sbContentDispValue.append("; filename="); + sbContentDispValue.append(sbFilename); + resp.setHeader("Content-disposition", sbContentDispValue.toString()); + resp.setContentLength(baosPDF.size()); + ServletOutputStream sos; + sos = resp.getOutputStream(); + baosPDF.writeTo(sos); + sos.flush(); + + } catch (Exception dex) { + dex.printStackTrace(); + resp.setContentType("text/html"); + PrintWriter writer = resp.getWriter(); + writer.println( + this.getClass().getName() + + " caught an exception: " + + dex.getClass().getName() + + "
"); + writer.println("
");
+            dex.printStackTrace(writer);
+            writer.println("
"); + } finally { + if (baosPDF != null) { + baosPDF.reset(); + } + } + + } + + public ByteArrayOutputStream export(final JasperPrint print, String type) throws JRException { + final Exporter exporter; + final ByteArrayOutputStream out = new ByteArrayOutputStream(); + boolean html = false; + + switch (type) { + case "HTML": + exporter = new HtmlExporter(); + exporter.setExporterOutput(new SimpleHtmlExporterOutput(out)); + html = true; + break; + + case "CSV": + exporter = new JRCsvExporter(); + break; + + case "XML": + exporter = new JRXmlExporter(); + break; + + case "XLSX": + exporter = new JRXlsxExporter(); + break; + + case "PDF": + exporter = new JRPdfExporter(); + break; + + default: + throw new JRException("Unknown report format: " + type); + } + + if (!html) { + exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(out)); + } + + exporter.setExporterInput(new SimpleExporterInput(print)); + exporter.exportReport(); + return out; + } + + protected JasperPrint getJasperPrint(final HttpServletRequest req, final ServletContext ctx, Connection conn) throws JRException, NoSuchAlgorithmException, InvalidKeySpecException { + + String reportConn = req.getParameter("reportConn"); + String printType = req.getParameter("printType"); + + String employerLogoFilename = req.getParameter("employer_logo"); + String networkLogoFilename = req.getParameter("network_logo"); + String jasperBatchId = req.getParameter("jasper_batch_id"); + + String reportPath = ""; + File reportFile = null; + HashMap reportParams; + String reportParam = ""; + JasperPrint jasperPrint = null; + + try { + Class.forName("net.sourceforge.jtds.jdbc.Driver"); + if (conn != null) { + conn.close(); + } + conn = DriverManager.getConnection("jdbc:jtds:sqlserver://10.41.82.73:1433/BrittonConnect", "SA", "Adm1nBb5"); + + } catch (ClassNotFoundException | SQLException e) { + e.printStackTrace(); + } + + reportParams = new HashMap(); + + reportPath = this.getServletConfig().getServletContext(). + getRealPath("/reports/idcards"); + reportParams.put("baseDir", reportPath); + + reportFile = new File(reportPath + "/" + printType + ".jasper"); + + + for (Enumeration e = req.getParameterNames(); e.hasMoreElements();) { + reportParam = (String) e.nextElement(); + reportParams.put(reportParam, req.getParameter(reportParam)); + } + + // employerLogoFilename = (employerLogoFilename == null) ? "imageB.png" : employerLogoFilename; + // try { + // String sql = "SELECT * FROM id_card_employer_logos WHERE filename = ?"; + // PreparedStatement pstmt = conn.prepareStatement(sql); + // pstmt.setString(1, employerLogoFilename); + // ResultSet rs = pstmt.executeQuery(); + + // if (rs.next()) { + // Blob employerBlob = rs.getBlob("image_data"); + // InputStream employerStream = employerBlob.getBinaryStream(); + + // reportParams.put("employer_logo", employerStream); + + // float aspect_ratio = rs.getFloat("aspect_ratio"); + // reportParams.put("employer_logo_ar", aspect_ratio); + // } + // } catch (Exception e) { + // e.printStackTrace(); + // } + + // networkLogoFilename = (networkLogoFilename == null) ? "CignaLogo.png" : networkLogoFilename; + // if (networkLogoFilename != null) { + // try { + // String sql = "SELECT * FROM id_card_network_logos WHERE filename = ?"; + // PreparedStatement pstmt = conn.prepareStatement(sql); + // pstmt.setString(1, networkLogoFilename); + // ResultSet rs = pstmt.executeQuery(); + + // if (rs.next()) { + // Blob networkBlob = rs.getBlob("image_data"); + // InputStream networkStream = networkBlob.getBinaryStream(); + + // reportParams.put("network_logo", networkStream); + // } + // } catch (Exception e) { + // e.printStackTrace(); + // } + // } + + List memberCardsDataList = IdCardsReportService.getMemberCardData(conn, jasperBatchId); + System.out.println("-before collection: " + memberCardsDataList.size()); + // List memberCardsDataList = new ArrayList(); + // if (jasperBatchId != null) { + // memberCardsDataList = IdCardsReportService.getMemberCardData(conn, jasperBatchId); + // } + List employerLogosList = IdCardsReportService.getEmployerLogoImages(conn, memberCardsDataList); + List networkLogosList = IdCardsReportService.getNetworkLogoImages(conn, memberCardsDataList); + // JRBeanCollectionDataSource cardLogosDataSource = new JRBeanCollectionDataSource(cardLogosList); + reportParams.put("employerLogosList", employerLogosList); + reportParams.put("networkLogosList", networkLogosList); + JRBeanCollectionDataSource memberCardsDataSource = new JRBeanCollectionDataSource(memberCardsDataList); + + jasperPrint = JasperFillManager.fillReport(reportFile.getPath(), reportParams, memberCardsDataSource); + // jasperPrint = JasperFillManager.fillReport(reportFile.getPath(), reportParams, conn); + + return jasperPrint; + } + + protected ByteArrayOutputStream generatePDFDocumentBytes( + final HttpServletRequest req, + final ServletContext ctx) throws Exception { + ByteArrayOutputStream baosPDF = new ByteArrayOutputStream(); + Connection conn = null; + JasperPrint jasperPrint = null; + try { + jasperPrint = getJasperPrint(req, this.getServletContext(), conn); + + JasperExportManager.exportReportToPdfStream(jasperPrint, baosPDF); + } catch (Exception dex) { + baosPDF.reset(); + dex.printStackTrace(); + throw dex; + } finally { + if (conn != null) { + try { + if (!conn.isClosed()) { + conn.close(); + } + } catch (Exception E) { + } + } + } + return baosPDF; + } + + public static void main(String[] args) { + JRIDCardsServlet t = new JRIDCardsServlet(); + try { + //AQAAAAEAACcQAAAAEIArrQZKcMTdqJzn2PxPOimXDIJds0lQTO8lbMXHXDfAwUyY9ZcFitc6iNircMfM2g== + getHash("Logath1925;"); + } catch (NoSuchAlgorithmException ex) { + ex.printStackTrace(); + } catch (InvalidKeySpecException ex) { + ex.printStackTrace(); + } + } + + private static String getHash(String text) throws NoSuchAlgorithmException, InvalidKeySpecException { + byte[] bytes = {0x35, 0x24, 0x76, 0x12}; + MessageDigest m = MessageDigest.getInstance("MD5"); + byte[] digest = m.digest(bytes); + String hash = new BigInteger(1, digest).toString(16); + return hash; + } + + // public List getReportData(Connection conn, String jasperBatchId) throws Exception { + // List cardData = new ArrayList<>(); + // String sql = "SELECT * FROM id_card_print_data WHERE jasper_batch_id = ?"; + // PreparedStatement pstmt = conn.prepareStatement(sql); + // pstmt.setString(1, jasperBatchId); + + // try (ResultSet rs = pstmt.executeQuery()) { + + // while (rs.next()) { + + // IdCardDataBean icd = IdCardDataBean.builder() + // .employer_name(rs.getString("employer_name")) + // .group_number(rs.getString("group_number")) + // .primary_mb_member_key(rs.getString("primary_mb_member_key")) + // .family_id(rs.getString("family_id")) + // .full_name(rs.getString("full_name")) + // .rx_group(rs.getString("rx_group")) + // .medical_eff_date(rs.getString("medical_eff_date")) + // .network_provider(rs.getString("network_provider")) + // .provider_line_1(rs.getString("provider_line_1")) + // .provider_line_2(rs.getString("provider_line_2")) + // .provider_line_3(rs.getString("provider_line_3")) + // .provider_line_4(rs.getString("provider_line_4")) + // .provider_line_5(rs.getString("provider_line_5")) + // .provider_line_6(rs.getString("provider_line_6")) + // .provider_line_7(rs.getString("provider_line_7")) + // .provider_line_8(rs.getString("provider_line_8")) + // .provider_line_9(rs.getString("provider_line_9")) + // .provider_line_10(rs.getString("provider_line_10")) + // .provider_line_11(rs.getString("provider_line_11")) + // .provider_line_12(rs.getString("provider_line_12")) + // .claim_to_1(rs.getString("claim_to_1")) + // .claim_to_2(rs.getString("claim_to_2")) + // .claim_to_3(rs.getString("claim_to_3")) + // .claim_to_4(rs.getString("claim_to_4")) + // .claim_to_5(rs.getString("claim_to_5")) + // .claim_to_6(rs.getString("claim_to_6")) + // .claim_to_7(rs.getString("claim_to_7")) + // .claim_to_8(rs.getString("claim_to_8")) + // .claim_to_9(rs.getString("claim_to_9")) + // .claim_to_10(rs.getString("claim_to_10")) + // .claim_to_11(rs.getString("claim_to_11")) + // .claim_to_12(rs.getString("claim_to_12")) + // .customer_service(rs.getString("customer_service")) + // .web_url(rs.getString("web_url")) + // .dependent_1(rs.getString("dependent_1")) + // .dependent_2(rs.getString("dependent_2")) + // .dependent_3(rs.getString("dependent_3")) + // .dependent_4(rs.getString("dependent_4")) + // .dependent_5(rs.getString("dependent_5")) + // .dependent_6(rs.getString("dependent_6")) + // .dependent_7(rs.getString("dependent_7")) + // .dependent_8(rs.getString("dependent_8")) + // .benefit_desc_1(rs.getString("benefit_desc_1")) + // .benefit_1(rs.getString("benefit_1")) + // .benefit_desc_2(rs.getString("benefit_desc_2")) + // .benefit_2(rs.getString("benefit_2")) + // .benefit_desc_2(rs.getString("benefit_desc_2")) + // .benefit_2(rs.getString("benefit_2")) + // .benefit_desc_3(rs.getString("benefit_desc_3")) + // .benefit_3(rs.getString("benefit_3")) + // .benefit_desc_4(rs.getString("benefit_desc_4")) + // .benefit_4(rs.getString("benefit_4")) + // .benefit_desc_5(rs.getString("benefit_desc_5")) + // .benefit_5(rs.getString("benefit_5")) + // .benefit_desc_6(rs.getString("benefit_desc_6")) + // .benefit_6(rs.getString("benefit_6")) + // .benefit_desc_7(rs.getString("benefit_desc_7")) + // .benefit_7(rs.getString("benefit_7")) + // .benefit_desc_8(rs.getString("benefit_desc_8")) + // .benefit_8(rs.getString("benefit_8")) + // .benefit_desc_9(rs.getString("benefit_desc_9")) + // .benefit_9(rs.getString("benefit_9")) + // .benefit_desc_10(rs.getString("benefit_desc_10")) + // .benefit_10(rs.getString("benefit_10")) + // .benefit_desc_11(rs.getString("benefit_desc_11")) + // .benefit_11(rs.getString("benefit_11")) + // .benefit_desc_12(rs.getString("benefit_desc_12")) + // .benefit_12(rs.getString("benefit_12")) + // .benefit_desc_13(rs.getString("benefit_desc_13")) + // .benefit_13(rs.getString("benefit_13")) + // .benefit_desc_14(rs.getString("benefit_desc_14")) + // .benefit_14(rs.getString("benefit_14")) + // .jasper_batch_id(rs.getString("jasper_batch_id")) + // .build(); + // cardData.add(icd); + // } + // } + // return cardData; + // } + +} diff --git a/web/META-INF/context.xml b/web/META-INF/context.xml new file mode 100644 index 0000000..202ffc3 --- /dev/null +++ b/web/META-INF/context.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml new file mode 100644 index 0000000..8ffa516 --- /dev/null +++ b/web/WEB-INF/web.xml @@ -0,0 +1,42 @@ + + + BrittonReportServer + + idCardsServlet + com.britton.servlets.JRIDCardsServlet + + + idCardsServlet + /IdCardsServlet + + + + + + + + + diff --git a/web/images/BrittonEligibilityQRCode.png b/web/images/BrittonEligibilityQRCode.png new file mode 100644 index 0000000..53cdae7 Binary files /dev/null and b/web/images/BrittonEligibilityQRCode.png differ diff --git a/web/images/FairRxOs.jpg b/web/images/FairRxOs.jpg new file mode 100644 index 0000000..b569d8b Binary files /dev/null and b/web/images/FairRxOs.jpg differ diff --git a/web/images/LOGO - AFHC.jpg b/web/images/LOGO - AFHC.jpg new file mode 100644 index 0000000..4f95cbc Binary files /dev/null and b/web/images/LOGO - AFHC.jpg differ diff --git a/web/images/imageB.png b/web/images/imageB.png new file mode 100644 index 0000000..47a39c9 Binary files /dev/null and b/web/images/imageB.png differ diff --git a/web/index.jsp b/web/index.jsp new file mode 100644 index 0000000..d8e14e4 --- /dev/null +++ b/web/index.jsp @@ -0,0 +1,17 @@ +<%-- + Document : index + Created on : Nov 9, 2017, 4:10:38 PM + Author : davidh +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + Britton Benefits Report Server + + +

Britton Benefits Report Server

+ + diff --git a/web/lib/Fonts.jar b/web/lib/Fonts.jar new file mode 100644 index 0000000..1c5d0d5 Binary files /dev/null and b/web/lib/Fonts.jar differ diff --git a/web/lib/commons-beanutils-1.11.0.jar b/web/lib/commons-beanutils-1.11.0.jar new file mode 100644 index 0000000..6b7b993 Binary files /dev/null and b/web/lib/commons-beanutils-1.11.0.jar differ diff --git a/web/lib/commons-beanutils-1.11.0.jar:Zone.Identifier b/web/lib/commons-beanutils-1.11.0.jar:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/web/lib/commons-beanutils-1.11.0.jar:Zone.Identifier differ diff --git a/web/lib/commons-collections-3.2.jar b/web/lib/commons-collections-3.2.jar new file mode 100644 index 0000000..75580be Binary files /dev/null and b/web/lib/commons-collections-3.2.jar differ diff --git a/web/lib/commons-digester-2.1.jar b/web/lib/commons-digester-2.1.jar new file mode 100644 index 0000000..a07cfa8 Binary files /dev/null and b/web/lib/commons-digester-2.1.jar differ diff --git a/web/lib/commons-javaflow-20060411.jar b/web/lib/commons-javaflow-20060411.jar new file mode 100644 index 0000000..6f8e8db Binary files /dev/null and b/web/lib/commons-javaflow-20060411.jar differ diff --git a/web/lib/commons-lang3-3.1.jar b/web/lib/commons-lang3-3.1.jar new file mode 100644 index 0000000..a85e539 Binary files /dev/null and b/web/lib/commons-lang3-3.1.jar differ diff --git a/web/lib/commons-logging-1.1.1.jar b/web/lib/commons-logging-1.1.1.jar new file mode 100644 index 0000000..1deef14 Binary files /dev/null and b/web/lib/commons-logging-1.1.1.jar differ diff --git a/web/lib/iText-2.1.7.jar b/web/lib/iText-2.1.7.jar new file mode 100644 index 0000000..3f2c188 Binary files /dev/null and b/web/lib/iText-2.1.7.jar differ diff --git a/web/lib/itextpdf-5.5.0.jar b/web/lib/itextpdf-5.5.0.jar new file mode 100644 index 0000000..44edf12 Binary files /dev/null and b/web/lib/itextpdf-5.5.0.jar differ diff --git a/web/lib/jackson-annotations-2.3.1.jar b/web/lib/jackson-annotations-2.3.1.jar new file mode 100644 index 0000000..f06b791 Binary files /dev/null and b/web/lib/jackson-annotations-2.3.1.jar differ diff --git a/web/lib/jackson-core-2.3.1.jar b/web/lib/jackson-core-2.3.1.jar new file mode 100644 index 0000000..6ae318c Binary files /dev/null and b/web/lib/jackson-core-2.3.1.jar differ diff --git a/web/lib/jackson-core-asl-1.9.8.jar b/web/lib/jackson-core-asl-1.9.8.jar new file mode 100644 index 0000000..21f25eb Binary files /dev/null and b/web/lib/jackson-core-asl-1.9.8.jar differ diff --git a/web/lib/jackson-databind-2.3.1.jar b/web/lib/jackson-databind-2.3.1.jar new file mode 100644 index 0000000..a8d35c0 Binary files /dev/null and b/web/lib/jackson-databind-2.3.1.jar differ diff --git a/web/lib/jackson-mapper-asl-1.9.12.jar b/web/lib/jackson-mapper-asl-1.9.12.jar new file mode 100644 index 0000000..849b0e8 Binary files /dev/null and b/web/lib/jackson-mapper-asl-1.9.12.jar differ diff --git a/web/lib/jasperreports-6.1.0.jar b/web/lib/jasperreports-6.1.0.jar new file mode 100644 index 0000000..6cd20d2 Binary files /dev/null and b/web/lib/jasperreports-6.1.0.jar differ diff --git a/web/lib/jasperreports-6.1.0.jar:Zone.Identifier b/web/lib/jasperreports-6.1.0.jar:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/web/lib/jasperreports-6.1.0.jar:Zone.Identifier differ diff --git a/web/lib/jasperreports-fonts-6.1.0.jar b/web/lib/jasperreports-fonts-6.1.0.jar new file mode 100644 index 0000000..cdc44c6 Binary files /dev/null and b/web/lib/jasperreports-fonts-6.1.0.jar differ diff --git a/web/lib/jasperreports-functions-6.1.0.jar b/web/lib/jasperreports-functions-6.1.0.jar new file mode 100644 index 0000000..3a50b35 Binary files /dev/null and b/web/lib/jasperreports-functions-6.1.0.jar differ diff --git a/web/lib/jasperreports-javaflow-6.1.0.jar b/web/lib/jasperreports-javaflow-6.1.0.jar new file mode 100644 index 0000000..c5c16a7 Binary files /dev/null and b/web/lib/jasperreports-javaflow-6.1.0.jar differ diff --git a/web/lib/jdt-compiler-3.1.1.jar b/web/lib/jdt-compiler-3.1.1.jar new file mode 100644 index 0000000..d37776a Binary files /dev/null and b/web/lib/jdt-compiler-3.1.1.jar differ diff --git a/web/lib/jdt-compiler-3.1.1.jar:Zone.Identifier b/web/lib/jdt-compiler-3.1.1.jar:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/web/lib/jdt-compiler-3.1.1.jar:Zone.Identifier differ diff --git a/web/lib/joda-time-1.6.jar b/web/lib/joda-time-1.6.jar new file mode 100644 index 0000000..68068a4 Binary files /dev/null and b/web/lib/joda-time-1.6.jar differ diff --git a/web/lib/json-rpc-1.0.jar b/web/lib/json-rpc-1.0.jar new file mode 100644 index 0000000..4ca4175 Binary files /dev/null and b/web/lib/json-rpc-1.0.jar differ diff --git a/web/lib/json-simple-1.1.1.jar b/web/lib/json-simple-1.1.1.jar new file mode 100644 index 0000000..66347a6 Binary files /dev/null and b/web/lib/json-simple-1.1.1.jar differ diff --git a/web/lib/jtds-1.2.jar b/web/lib/jtds-1.2.jar new file mode 100644 index 0000000..ba783d8 Binary files /dev/null and b/web/lib/jtds-1.2.jar differ diff --git a/web/lib/lombok-1.16.20.jar b/web/lib/lombok-1.16.20.jar new file mode 100644 index 0000000..1728da7 Binary files /dev/null and b/web/lib/lombok-1.16.20.jar differ diff --git a/web/lib/lombok-1.16.20.jar:Zone.Identifier b/web/lib/lombok-1.16.20.jar:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/web/lib/lombok-1.16.20.jar:Zone.Identifier differ diff --git a/web/lib/ojdbc7.jar b/web/lib/ojdbc7.jar new file mode 100644 index 0000000..fd38a6c Binary files /dev/null and b/web/lib/ojdbc7.jar differ diff --git a/web/lib/poi-3.6-20091214.jar b/web/lib/poi-3.6-20091214.jar new file mode 100644 index 0000000..9972d97 Binary files /dev/null and b/web/lib/poi-3.6-20091214.jar differ diff --git a/web/lost.jpg b/web/lost.jpg new file mode 100644 index 0000000..3b71f89 Binary files /dev/null and b/web/lost.jpg differ diff --git a/web/reports/idcards/DACCCheck.jrxml b/web/reports/idcards/DACCCheck.jrxml new file mode 100644 index 0000000..5eac92a --- /dev/null +++ b/web/reports/idcards/DACCCheck.jrxml @@ -0,0 +1,724 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/FairosRxIDCard/FairosRxIDCardBack.jrxml b/web/reports/idcards/FairosRxIDCard/FairosRxIDCardBack.jrxml new file mode 100644 index 0000000..81212b6 --- /dev/null +++ b/web/reports/idcards/FairosRxIDCard/FairosRxIDCardBack.jrxml @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/FairosRxIDCard/FairosRxIDCardFront.jrxml b/web/reports/idcards/FairosRxIDCard/FairosRxIDCardFront.jrxml new file mode 100644 index 0000000..44b52a8 --- /dev/null +++ b/web/reports/idcards/FairosRxIDCard/FairosRxIDCardFront.jrxml @@ -0,0 +1,535 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/FairosRxIDCardOld/FairosRxIDCardBack.jrxml b/web/reports/idcards/FairosRxIDCardOld/FairosRxIDCardBack.jrxml new file mode 100644 index 0000000..5510ef8 --- /dev/null +++ b/web/reports/idcards/FairosRxIDCardOld/FairosRxIDCardBack.jrxml @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/FairosRxIDCardOld/FairosRxIDCardFront.jrxml b/web/reports/idcards/FairosRxIDCardOld/FairosRxIDCardFront.jrxml new file mode 100644 index 0000000..cc5c3d1 --- /dev/null +++ b/web/reports/idcards/FairosRxIDCardOld/FairosRxIDCardFront.jrxml @@ -0,0 +1,502 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + = 1.20f]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/FullPageCard.jrxml b/web/reports/idcards/FullPageCard.jrxml new file mode 100644 index 0000000..1b13d27 --- /dev/null +++ b/web/reports/idcards/FullPageCard.jrxml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/MobileDisplayCard.jrxml b/web/reports/idcards/MobileDisplayCard.jrxml new file mode 100644 index 0000000..1f6fa10 --- /dev/null +++ b/web/reports/idcards/MobileDisplayCard.jrxml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/OldTemplates/CignaFairosIDCard-HALF.jrxml b/web/reports/idcards/OldTemplates/CignaFairosIDCard-HALF.jrxml new file mode 100644 index 0000000..052b4f4 --- /dev/null +++ b/web/reports/idcards/OldTemplates/CignaFairosIDCard-HALF.jrxml @@ -0,0 +1,878 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/OldTemplates/CignaFairosIDCard.jrxml b/web/reports/idcards/OldTemplates/CignaFairosIDCard.jrxml new file mode 100644 index 0000000..7aa8b44 --- /dev/null +++ b/web/reports/idcards/OldTemplates/CignaFairosIDCard.jrxml @@ -0,0 +1,880 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/PrintCard.jrxml b/web/reports/idcards/PrintCard.jrxml new file mode 100644 index 0000000..d496e47 --- /dev/null +++ b/web/reports/idcards/PrintCard.jrxml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/PrintCardOld.jrxml b/web/reports/idcards/PrintCardOld.jrxml new file mode 100644 index 0000000..55ca2db --- /dev/null +++ b/web/reports/idcards/PrintCardOld.jrxml @@ -0,0 +1,54 @@ + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/QRCodeIDCard/QRCodeIDCardBack.jrxml b/web/reports/idcards/QRCodeIDCard/QRCodeIDCardBack.jrxml new file mode 100644 index 0000000..f701120 --- /dev/null +++ b/web/reports/idcards/QRCodeIDCard/QRCodeIDCardBack.jrxml @@ -0,0 +1,589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/QRCodeIDCard/QRCodeIDCardFront copy.jrxml b/web/reports/idcards/QRCodeIDCard/QRCodeIDCardFront copy.jrxml new file mode 100644 index 0000000..ca5d016 --- /dev/null +++ b/web/reports/idcards/QRCodeIDCard/QRCodeIDCardFront copy.jrxml @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/QRCodeIDCard/QRCodeIDCardFront.jrxml b/web/reports/idcards/QRCodeIDCard/QRCodeIDCardFront.jrxml new file mode 100644 index 0000000..278d966 --- /dev/null +++ b/web/reports/idcards/QRCodeIDCard/QRCodeIDCardFront.jrxml @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/SampleCard.jrxml b/web/reports/idcards/SampleCard.jrxml new file mode 100644 index 0000000..e99329b --- /dev/null +++ b/web/reports/idcards/SampleCard.jrxml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/SmartIDCard/SmartIDCardBack.jrxml b/web/reports/idcards/SmartIDCard/SmartIDCardBack.jrxml new file mode 100644 index 0000000..4241def --- /dev/null +++ b/web/reports/idcards/SmartIDCard/SmartIDCardBack.jrxml @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/SmartIDCard/SmartIDCardFront.jrxml b/web/reports/idcards/SmartIDCard/SmartIDCardFront.jrxml new file mode 100644 index 0000000..bbcaa9c --- /dev/null +++ b/web/reports/idcards/SmartIDCard/SmartIDCardFront.jrxml @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/TandemlocIDCard/TandemlocIDCardBack.jrxml b/web/reports/idcards/TandemlocIDCard/TandemlocIDCardBack.jrxml new file mode 100644 index 0000000..8897bd7 --- /dev/null +++ b/web/reports/idcards/TandemlocIDCard/TandemlocIDCardBack.jrxml @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/TandemlocIDCard/TandemlocIDCardFront.jrxml b/web/reports/idcards/TandemlocIDCard/TandemlocIDCardFront.jrxml new file mode 100644 index 0000000..93d7ed9 --- /dev/null +++ b/web/reports/idcards/TandemlocIDCard/TandemlocIDCardFront.jrxml @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/ToDoTemplates/CignaHealthBusIDCard.jrxml b/web/reports/idcards/ToDoTemplates/CignaHealthBusIDCard.jrxml new file mode 100644 index 0000000..3556a2c --- /dev/null +++ b/web/reports/idcards/ToDoTemplates/CignaHealthBusIDCard.jrxml @@ -0,0 +1,871 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/ToDoTemplates/SmartIDCard.jrxml b/web/reports/idcards/ToDoTemplates/SmartIDCard.jrxml new file mode 100644 index 0000000..880da0c --- /dev/null +++ b/web/reports/idcards/ToDoTemplates/SmartIDCard.jrxml @@ -0,0 +1,610 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/reports/idcards/ToDoTemplates/TPAIDCardTan.jrxml b/web/reports/idcards/ToDoTemplates/TPAIDCardTan.jrxml new file mode 100644 index 0000000..4dc931f --- /dev/null +++ b/web/reports/idcards/ToDoTemplates/TPAIDCardTan.jrxml @@ -0,0 +1,738 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +