@@ -19,6 +19,7 @@ public class CommonField extends BaseEntity<Long>{ | |||||
@Column | @Column | ||||
private Long clientId; | private Long clientId; | ||||
//This field shared with IDA | |||||
@Column | @Column | ||||
private String name; | private String name; | ||||
@@ -31,6 +32,180 @@ public class CommonField extends BaseEntity<Long>{ | |||||
@Column | @Column | ||||
private String occupation; | private String occupation; | ||||
@Column | |||||
private String maritalStatus; | |||||
@Column | |||||
private String noOfDependents; | |||||
@Column | |||||
private String fna_c1a_amount; | |||||
@Column | |||||
private String fna_c1b_amount; | |||||
@Column | |||||
private String fna_c1c_1_amount; | |||||
@Column | |||||
private String fna_c1c_2_amount; | |||||
@Column | |||||
private String fna_c1c_3_amount; | |||||
@Column | |||||
private String fna_c1d_amount; | |||||
@Column | |||||
private String fna_c2a_amount; | |||||
@Column | |||||
private String fna_c2b_amount; | |||||
@Column | |||||
private String fna_c2c_amount; | |||||
@Column | |||||
private String fna_c2d_amount; | |||||
@Column | |||||
private String fna_c2e_amount; | |||||
@Column | |||||
private String fna_b1_a; | |||||
@Column | |||||
private String fna_b1_a_amount; | |||||
@Column | |||||
private String fna_b1_b; | |||||
@Column | |||||
private String fna_b1a_4_amount; | |||||
@Column | |||||
private String fna_b1_c; | |||||
@Column | |||||
private String fna_b1_d; | |||||
@Column | |||||
private String fna_b1_d_year; | |||||
@Column | |||||
private String fna_b1_d_amount; | |||||
@Column | |||||
private String fna_b1_e; | |||||
@Column | |||||
private String fna_b1_f; | |||||
@Column | |||||
private String fna_b1_f_other; | |||||
@Column | |||||
private String fna_b1_f_desc; | |||||
@Column | |||||
private String fna_b2_a; | |||||
@Column | |||||
private String fna_b2_b; | |||||
@Column | |||||
private String fna_b2_c; | |||||
@Column | |||||
private String fna_b2_d; | |||||
@Column | |||||
private String fna_b2_e; | |||||
@Column | |||||
private String fna_b2_f; | |||||
@Column | |||||
private String fna_b2_g; | |||||
@Column | |||||
private String fna_c3a_2_5; | |||||
@Column | |||||
private String fna_c3a_6_10; | |||||
@Column | |||||
private String fna_c3a_11_15; | |||||
@Column | |||||
private String fna_c3a_16_20; | |||||
@Column | |||||
private String fna_c3a_20; | |||||
@Column | |||||
private String fna_c3a_life; | |||||
@Column | |||||
private String fna_c3a_single_pay; | |||||
@Column | |||||
private String fna_a_retire; | |||||
@Column | |||||
private String fna_c3b_salary; | |||||
@Column | |||||
private String fna_c3b_income; | |||||
@Column | |||||
private String fna_c3b_saving; | |||||
@Column | |||||
private String fna_c3b_investments; | |||||
@Column | |||||
private String fna_c3b_policy; | |||||
@Column | |||||
private String fna_c3b_others; | |||||
@Column | |||||
private String fna_c3b_desc; | |||||
@Column | |||||
private String fna_c1e_10; | |||||
@Column | |||||
private String fna_c1e_10_20; | |||||
@Column | |||||
private String fna_c1e_21_30; | |||||
@Column | |||||
private String fna_c1e_31_40; | |||||
@Column | |||||
private String fna_c1e_41_50; | |||||
@Column | |||||
private String fna_c1e_50; | |||||
@Column | |||||
private String fna_c2f_10; | |||||
@Column | |||||
private String fna_c2f_10_20; | |||||
@Column | |||||
private String fna_c2f_21_30; | |||||
@Column | |||||
private String fna_c2f_31_40; | |||||
@Column | |||||
private String fna_c2f_41_50; | |||||
@Column | |||||
private String fna_c2f_50; | |||||
//IDA | //IDA | ||||
@Column | @Column | ||||
private String firstName; | private String firstName; | ||||
@@ -56,9 +231,46 @@ public class CommonField extends BaseEntity<Long>{ | |||||
@Column | @Column | ||||
private String nameChi; | private String nameChi; | ||||
@Column | |||||
private String contactNo; | |||||
@Column | |||||
private String eduPri; | |||||
@Column | |||||
private String eduSec; | |||||
@Column | |||||
private String eduPostSec; | |||||
//this field only exists in FNA | |||||
@Column | |||||
private String eduTer; | |||||
//IDA | |||||
@Column | |||||
private String own_income; | |||||
@Column | |||||
private String savings; | |||||
@Column | |||||
private String premium_financing; | |||||
@Column | |||||
private String others_funds; | |||||
@Column | |||||
private String others_funds_desc; | |||||
//this is a logical field | |||||
@Column | @Column | ||||
private String gender; | private String gender; | ||||
public Long getClientId() { | public Long getClientId() { | ||||
return clientId; | return clientId; | ||||
} | } | ||||
@@ -170,6 +382,558 @@ public class CommonField extends BaseEntity<Long>{ | |||||
public void setGender(String gender) { | public void setGender(String gender) { | ||||
this.gender = gender; | this.gender = gender; | ||||
} | } | ||||
public String getMaritalStatus() { | |||||
return maritalStatus; | |||||
} | |||||
public void setMaritalStatus(String maritalStatus) { | |||||
this.maritalStatus = maritalStatus; | |||||
} | |||||
public String getNoOfDependents() { | |||||
return noOfDependents; | |||||
} | |||||
public void setNoOfDependents(String noOfDependents) { | |||||
this.noOfDependents = noOfDependents; | |||||
} | |||||
public String getFna_c1a_amount() { | |||||
return fna_c1a_amount; | |||||
} | |||||
public void setFna_c1a_amount(String fna_c1a_amount) { | |||||
this.fna_c1a_amount = fna_c1a_amount; | |||||
} | |||||
public String getFna_c1b_amount() { | |||||
return fna_c1b_amount; | |||||
} | |||||
public void setFna_c1b_amount(String fna_c1b_amount) { | |||||
this.fna_c1b_amount = fna_c1b_amount; | |||||
} | |||||
public String getFna_c1c_1_amount() { | |||||
return fna_c1c_1_amount; | |||||
} | |||||
public void setFna_c1c_1_amount(String fna_c1c_1_amount) { | |||||
this.fna_c1c_1_amount = fna_c1c_1_amount; | |||||
} | |||||
public String getFna_c1c_2_amount() { | |||||
return fna_c1c_2_amount; | |||||
} | |||||
public void setFna_c1c_2_amount(String fna_c1c_2_amount) { | |||||
this.fna_c1c_2_amount = fna_c1c_2_amount; | |||||
} | |||||
public String getFna_c1c_3_amount() { | |||||
return fna_c1c_3_amount; | |||||
} | |||||
public void setFna_c1c_3_amount(String fna_c1c_3_amount) { | |||||
this.fna_c1c_3_amount = fna_c1c_3_amount; | |||||
} | |||||
public String getFna_c1d_amount() { | |||||
return fna_c1d_amount; | |||||
} | |||||
public void setFna_c1d_amount(String fna_c1d_amount) { | |||||
this.fna_c1d_amount = fna_c1d_amount; | |||||
} | |||||
public String getFna_c2a_amount() { | |||||
return fna_c2a_amount; | |||||
} | |||||
public void setFna_c2a_amount(String fna_c2a_amount) { | |||||
this.fna_c2a_amount = fna_c2a_amount; | |||||
} | |||||
public String getFna_c2b_amount() { | |||||
return fna_c2b_amount; | |||||
} | |||||
public void setFna_c2b_amount(String fna_c2b_amount) { | |||||
this.fna_c2b_amount = fna_c2b_amount; | |||||
} | |||||
public String getFna_c2c_amount() { | |||||
return fna_c2c_amount; | |||||
} | |||||
public void setFna_c2c_amount(String fna_c2c_amount) { | |||||
this.fna_c2c_amount = fna_c2c_amount; | |||||
} | |||||
public String getFna_c2d_amount() { | |||||
return fna_c2d_amount; | |||||
} | |||||
public void setFna_c2d_amount(String fna_c2d_amount) { | |||||
this.fna_c2d_amount = fna_c2d_amount; | |||||
} | |||||
public String getFna_c2e_amount() { | |||||
return fna_c2e_amount; | |||||
} | |||||
public void setFna_c2e_amount(String fna_c2e_amount) { | |||||
this.fna_c2e_amount = fna_c2e_amount; | |||||
} | |||||
public String getFna_b1_a() { | |||||
return fna_b1_a; | |||||
} | |||||
public void setFna_b1_a(String fna_b1_a) { | |||||
this.fna_b1_a = fna_b1_a; | |||||
} | |||||
public String getFna_b1_a_amount() { | |||||
return fna_b1_a_amount; | |||||
} | |||||
public void setFna_b1_a_amount(String fna_b1_a_amount) { | |||||
this.fna_b1_a_amount = fna_b1_a_amount; | |||||
} | |||||
public String getFna_b1_b() { | |||||
return fna_b1_b; | |||||
} | |||||
public void setFna_b1_b(String fna_b1_b) { | |||||
this.fna_b1_b = fna_b1_b; | |||||
} | |||||
public String getFna_b1a_4_amount() { | |||||
return fna_b1a_4_amount; | |||||
} | |||||
public void setFna_b1a_4_amount(String fna_b1a_4_amount) { | |||||
this.fna_b1a_4_amount = fna_b1a_4_amount; | |||||
} | |||||
public String getFna_b1_c() { | |||||
return fna_b1_c; | |||||
} | |||||
public void setFna_b1_c(String fna_b1_c) { | |||||
this.fna_b1_c = fna_b1_c; | |||||
} | |||||
public String getFna_b1_d() { | |||||
return fna_b1_d; | |||||
} | |||||
public void setFna_b1_d(String fna_b1_d) { | |||||
this.fna_b1_d = fna_b1_d; | |||||
} | |||||
public String getFna_b1_d_year() { | |||||
return fna_b1_d_year; | |||||
} | |||||
public void setFna_b1_d_year(String fna_b1_d_year) { | |||||
this.fna_b1_d_year = fna_b1_d_year; | |||||
} | |||||
public String getFna_b1_d_amount() { | |||||
return fna_b1_d_amount; | |||||
} | |||||
public void setFna_b1_d_amount(String fna_b1_d_amount) { | |||||
this.fna_b1_d_amount = fna_b1_d_amount; | |||||
} | |||||
public String getFna_b1_e() { | |||||
return fna_b1_e; | |||||
} | |||||
public void setFna_b1_e(String fna_b1_e) { | |||||
this.fna_b1_e = fna_b1_e; | |||||
} | |||||
public String getFna_b1_f() { | |||||
return fna_b1_f; | |||||
} | |||||
public void setFna_b1_f(String fna_b1_f) { | |||||
this.fna_b1_f = fna_b1_f; | |||||
} | |||||
public String getFna_b1_f_other() { | |||||
return fna_b1_f_other; | |||||
} | |||||
public void setFna_b1_f_other(String fna_b1_f_other) { | |||||
this.fna_b1_f_other = fna_b1_f_other; | |||||
} | |||||
public String getFna_b1_f_desc() { | |||||
return fna_b1_f_desc; | |||||
} | |||||
public void setFna_b1_f_desc(String fna_b1_f_desc) { | |||||
this.fna_b1_f_desc = fna_b1_f_desc; | |||||
} | |||||
public String getFna_b2_a() { | |||||
return fna_b2_a; | |||||
} | |||||
public void setFna_b2_a(String fna_b2_a) { | |||||
this.fna_b2_a = fna_b2_a; | |||||
} | |||||
public String getFna_b2_b() { | |||||
return fna_b2_b; | |||||
} | |||||
public void setFna_b2_b(String fna_b2_b) { | |||||
this.fna_b2_b = fna_b2_b; | |||||
} | |||||
public String getFna_b2_c() { | |||||
return fna_b2_c; | |||||
} | |||||
public void setFna_b2_c(String fna_b2_c) { | |||||
this.fna_b2_c = fna_b2_c; | |||||
} | |||||
public String getFna_b2_d() { | |||||
return fna_b2_d; | |||||
} | |||||
public void setFna_b2_d(String fna_b2_d) { | |||||
this.fna_b2_d = fna_b2_d; | |||||
} | |||||
public String getFna_b2_e() { | |||||
return fna_b2_e; | |||||
} | |||||
public void setFna_b2_e(String fna_b2_e) { | |||||
this.fna_b2_e = fna_b2_e; | |||||
} | |||||
public String getFna_b2_f() { | |||||
return fna_b2_f; | |||||
} | |||||
public void setFna_b2_f(String fna_b2_f) { | |||||
this.fna_b2_f = fna_b2_f; | |||||
} | |||||
public String getFna_b2_g() { | |||||
return fna_b2_g; | |||||
} | |||||
public void setFna_b2_g(String fna_b2_g) { | |||||
this.fna_b2_g = fna_b2_g; | |||||
} | |||||
public String getFna_c3a_2_5() { | |||||
return fna_c3a_2_5; | |||||
} | |||||
public void setFna_c3a_2_5(String fna_c3a_2_5) { | |||||
this.fna_c3a_2_5 = fna_c3a_2_5; | |||||
} | |||||
public String getFna_c3a_6_10() { | |||||
return fna_c3a_6_10; | |||||
} | |||||
public void setFna_c3a_6_10(String fna_c3a_6_10) { | |||||
this.fna_c3a_6_10 = fna_c3a_6_10; | |||||
} | |||||
public String getFna_c3a_11_15() { | |||||
return fna_c3a_11_15; | |||||
} | |||||
public void setFna_c3a_11_15(String fna_c3a_11_15) { | |||||
this.fna_c3a_11_15 = fna_c3a_11_15; | |||||
} | |||||
public String getFna_c3a_16_20() { | |||||
return fna_c3a_16_20; | |||||
} | |||||
public void setFna_c3a_16_20(String fna_c3a_16_20) { | |||||
this.fna_c3a_16_20 = fna_c3a_16_20; | |||||
} | |||||
public String getFna_c3a_20() { | |||||
return fna_c3a_20; | |||||
} | |||||
public void setFna_c3a_20(String fna_c3a_20) { | |||||
this.fna_c3a_20 = fna_c3a_20; | |||||
} | |||||
public String getFna_c3a_life() { | |||||
return fna_c3a_life; | |||||
} | |||||
public void setFna_c3a_life(String fna_c3a_life) { | |||||
this.fna_c3a_life = fna_c3a_life; | |||||
} | |||||
public String getFna_c3a_single_pay() { | |||||
return fna_c3a_single_pay; | |||||
} | |||||
public void setFna_c3a_single_pay(String fna_c3a_single_pay) { | |||||
this.fna_c3a_single_pay = fna_c3a_single_pay; | |||||
} | |||||
public String getFna_a_retire() { | |||||
return fna_a_retire; | |||||
} | |||||
public void setFna_a_retire(String fna_a_retire) { | |||||
this.fna_a_retire = fna_a_retire; | |||||
} | |||||
public String getFna_c3b_salary() { | |||||
return fna_c3b_salary; | |||||
} | |||||
public void setFna_c3b_salary(String fna_c3b_salary) { | |||||
this.fna_c3b_salary = fna_c3b_salary; | |||||
} | |||||
public String getFna_c3b_income() { | |||||
return fna_c3b_income; | |||||
} | |||||
public void setFna_c3b_income(String fna_c3b_income) { | |||||
this.fna_c3b_income = fna_c3b_income; | |||||
} | |||||
public String getFna_c3b_saving() { | |||||
return fna_c3b_saving; | |||||
} | |||||
public void setFna_c3b_saving(String fna_c3b_saving) { | |||||
this.fna_c3b_saving = fna_c3b_saving; | |||||
} | |||||
public String getFna_c3b_investments() { | |||||
return fna_c3b_investments; | |||||
} | |||||
public void setFna_c3b_investments(String fna_c3b_investments) { | |||||
this.fna_c3b_investments = fna_c3b_investments; | |||||
} | |||||
public String getFna_c3b_policy() { | |||||
return fna_c3b_policy; | |||||
} | |||||
public void setFna_c3b_policy(String fna_c3b_policy) { | |||||
this.fna_c3b_policy = fna_c3b_policy; | |||||
} | |||||
public String getFna_c3b_others() { | |||||
return fna_c3b_others; | |||||
} | |||||
public void setFna_c3b_others(String fna_c3b_others) { | |||||
this.fna_c3b_others = fna_c3b_others; | |||||
} | |||||
public String getFna_c3b_desc() { | |||||
return fna_c3b_desc; | |||||
} | |||||
public void setFna_c3b_desc(String fna_c3b_desc) { | |||||
this.fna_c3b_desc = fna_c3b_desc; | |||||
} | |||||
public String getFna_c1e_10() { | |||||
return fna_c1e_10; | |||||
} | |||||
public void setFna_c1e_10(String fna_c1e_10) { | |||||
this.fna_c1e_10 = fna_c1e_10; | |||||
} | |||||
public String getFna_c1e_10_20() { | |||||
return fna_c1e_10_20; | |||||
} | |||||
public void setFna_c1e_10_20(String fna_c1e_10_20) { | |||||
this.fna_c1e_10_20 = fna_c1e_10_20; | |||||
} | |||||
public String getFna_c1e_21_30() { | |||||
return fna_c1e_21_30; | |||||
} | |||||
public void setFna_c1e_21_30(String fna_c1e_21_30) { | |||||
this.fna_c1e_21_30 = fna_c1e_21_30; | |||||
} | |||||
public String getFna_c1e_31_40() { | |||||
return fna_c1e_31_40; | |||||
} | |||||
public void setFna_c1e_31_40(String fna_c1e_31_40) { | |||||
this.fna_c1e_31_40 = fna_c1e_31_40; | |||||
} | |||||
public String getFna_c1e_41_50() { | |||||
return fna_c1e_41_50; | |||||
} | |||||
public void setFna_c1e_41_50(String fna_c1e_41_50) { | |||||
this.fna_c1e_41_50 = fna_c1e_41_50; | |||||
} | |||||
public String getFna_c1e_50() { | |||||
return fna_c1e_50; | |||||
} | |||||
public void setFna_c1e_50(String fna_c1e_50) { | |||||
this.fna_c1e_50 = fna_c1e_50; | |||||
} | |||||
public String getFna_c2f_10() { | |||||
return fna_c2f_10; | |||||
} | |||||
public void setFna_c2f_10(String fna_c2f_10) { | |||||
this.fna_c2f_10 = fna_c2f_10; | |||||
} | |||||
public String getFna_c2f_10_20() { | |||||
return fna_c2f_10_20; | |||||
} | |||||
public void setFna_c2f_10_20(String fna_c2f_10_20) { | |||||
this.fna_c2f_10_20 = fna_c2f_10_20; | |||||
} | |||||
public String getFna_c2f_21_30() { | |||||
return fna_c2f_21_30; | |||||
} | |||||
public void setFna_c2f_21_30(String fna_c2f_21_30) { | |||||
this.fna_c2f_21_30 = fna_c2f_21_30; | |||||
} | |||||
public String getFna_c2f_31_40() { | |||||
return fna_c2f_31_40; | |||||
} | |||||
public void setFna_c2f_31_40(String fna_c2f_31_40) { | |||||
this.fna_c2f_31_40 = fna_c2f_31_40; | |||||
} | |||||
public String getFna_c2f_41_50() { | |||||
return fna_c2f_41_50; | |||||
} | |||||
public void setFna_c2f_41_50(String fna_c2f_41_50) { | |||||
this.fna_c2f_41_50 = fna_c2f_41_50; | |||||
} | |||||
public String getFna_c2f_50() { | |||||
return fna_c2f_50; | |||||
} | |||||
public void setFna_c2f_50(String fna_c2f_50) { | |||||
this.fna_c2f_50 = fna_c2f_50; | |||||
} | |||||
public String getContactNo() { | |||||
return contactNo; | |||||
} | |||||
public void setContactNo(String contactNo) { | |||||
this.contactNo = contactNo; | |||||
} | |||||
public String getEduPri() { | |||||
return eduPri; | |||||
} | |||||
public void setEduPri(String eduPri) { | |||||
this.eduPri = eduPri; | |||||
} | |||||
public String getEduSec() { | |||||
return eduSec; | |||||
} | |||||
public void setEduSec(String eduSec) { | |||||
this.eduSec = eduSec; | |||||
} | |||||
public String getEduPostSec() { | |||||
return eduPostSec; | |||||
} | |||||
public void setEduPostSec(String eduPostSec) { | |||||
this.eduPostSec = eduPostSec; | |||||
} | |||||
public String getEduTer() { | |||||
return eduTer; | |||||
} | |||||
public void setEduTer(String eduTer) { | |||||
this.eduTer = eduTer; | |||||
} | |||||
public String getOwn_income() { | |||||
return own_income; | |||||
} | |||||
public void setOwn_income(String own_income) { | |||||
this.own_income = own_income; | |||||
} | |||||
public String getSavings() { | |||||
return savings; | |||||
} | |||||
public void setSavings(String savings) { | |||||
this.savings = savings; | |||||
} | |||||
public String getPremium_financing() { | |||||
return premium_financing; | |||||
} | |||||
public void setPremium_financing(String premium_financing) { | |||||
this.premium_financing = premium_financing; | |||||
} | |||||
public String getOthers_funds() { | |||||
return others_funds; | |||||
} | |||||
public void setOthers_funds(String others_funds) { | |||||
this.others_funds = others_funds; | |||||
} | |||||
public String getOthers_funds_desc() { | |||||
return others_funds_desc; | |||||
} | |||||
public void setOthers_funds_desc(String others_funds_desc) { | |||||
this.others_funds_desc = others_funds_desc; | |||||
} | |||||
@@ -17,6 +17,7 @@ import java.util.stream.Collectors; | |||||
import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
import org.springframework.web.multipart.MultipartFile; | import org.springframework.web.multipart.MultipartFile; | ||||
import org.apache.commons.lang3.math.NumberUtils; | |||||
import org.apache.pdfbox.Loader; | import org.apache.pdfbox.Loader; | ||||
import org.apache.pdfbox.pdmodel.PDDocument; | import org.apache.pdfbox.pdmodel.PDDocument; | ||||
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; | import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; | ||||
@@ -193,6 +194,7 @@ public class PdfService extends AbstractBaseEntityService<Pdf, Long, PdfReposito | |||||
return file; | return file; | ||||
} | } | ||||
//This included the common fields getting | |||||
public byte[] getTemplateForm(Long templateId, Long clientId) { | public byte[] getTemplateForm(Long templateId, Long clientId) { | ||||
// String filename; | // String filename; | ||||
// switch (templateId.intValue()) { | // switch (templateId.intValue()) { | ||||
@@ -249,27 +251,29 @@ public class PdfService extends AbstractBaseEntityService<Pdf, Long, PdfReposito | |||||
} else { | } else { | ||||
// It's highly recommended to check if the field exists before setting its value | // It's highly recommended to check if the field exists before setting its value | ||||
// This prevents NullPointerExceptions if a field is missing in a template | // This prevents NullPointerExceptions if a field is missing in a template | ||||
//temp using the remarks as form code | |||||
String formCode = (String)template.get("remarks"); | |||||
if(templateId.intValue() == 1){ // This is IDA | |||||
if("IDA".equals(formCode)){ // This is IDA | |||||
logger.info("Processing IDA form (ID: 1)"); | logger.info("Processing IDA form (ID: 1)"); | ||||
setValueIfPresent(form, "fill_6", commonField.getName(), "commonField.getName()"); | setValueIfPresent(form, "fill_6", commonField.getName(), "commonField.getName()"); | ||||
setValueIfPresent(form, "fill_7", commonField.getNameChi(), "commonField.getNameChi()"); | setValueIfPresent(form, "fill_7", commonField.getNameChi(), "commonField.getNameChi()"); | ||||
setValueIfPresent(form, "fill_11", commonField.getIdCard(), "commonField.getIdCard()"); | setValueIfPresent(form, "fill_11", commonField.getIdCard(), "commonField.getIdCard()"); | ||||
} else if(templateId.intValue() == 2){ // This is FNA | |||||
} else if("FNA".equals(formCode)){ // This is FNA | |||||
logger.info("Processing FNA form (ID: 2)"); | logger.info("Processing FNA form (ID: 2)"); | ||||
setValueIfPresent(form, "fna_a_name", commonField.getName(), "commonField.getName()"); | setValueIfPresent(form, "fna_a_name", commonField.getName(), "commonField.getName()"); | ||||
setValueIfPresent(form, "fna_a_birth", commonField.getDateOfBirth(), "commonField.getDateOfBirth()"); | setValueIfPresent(form, "fna_a_birth", commonField.getDateOfBirth(), "commonField.getDateOfBirth()"); | ||||
setValueIfPresent(form, "fna_a_occupation", commonField.getOccupation(), "commonField.getOccupation()"); | setValueIfPresent(form, "fna_a_occupation", commonField.getOccupation(), "commonField.getOccupation()"); | ||||
} else if(templateId.intValue() == 3){ // This is HSBCFIN | |||||
} else if("HSBCFIN".equals(formCode)){ // This is HSBCFIN | |||||
logger.info("Processing HSBCFIN form (ID: 3)"); | logger.info("Processing HSBCFIN form (ID: 3)"); | ||||
setValueIfPresent(form, "fill_3", commonField.getName(), "commonField.getName()"); | setValueIfPresent(form, "fill_3", commonField.getName(), "commonField.getName()"); | ||||
setValueIfPresent(form, "fill_4", commonField.getNameChi(), "commonField.getNameChi()"); | setValueIfPresent(form, "fill_4", commonField.getNameChi(), "commonField.getNameChi()"); | ||||
setValueIfPresent(form, "fill_5", commonField.getGender(), "commonField.getGender()"); | setValueIfPresent(form, "fill_5", commonField.getGender(), "commonField.getGender()"); | ||||
setValueIfPresent(form, "fill_6", commonField.getDateOfBirth(), "commonField.getDateOfBirth()"); // Note: fill_6 used here again | setValueIfPresent(form, "fill_6", commonField.getDateOfBirth(), "commonField.getDateOfBirth()"); // Note: fill_6 used here again | ||||
setValueIfPresent(form, "fill_9", commonField.getOccupation(), "commonField.getOccupation()"); | setValueIfPresent(form, "fill_9", commonField.getOccupation(), "commonField.getOccupation()"); | ||||
} | |||||
} | |||||
// These fields are set unconditionally if commonField is not null | // These fields are set unconditionally if commonField is not null | ||||
// Ensure these fields exist across all your templates or handle them conditionally | // Ensure these fields exist across all your templates or handle them conditionally | ||||
@@ -370,7 +374,7 @@ public class PdfService extends AbstractBaseEntityService<Pdf, Long, PdfReposito | |||||
//This included the common fields saving | |||||
public void saveCmField(File file, Pdf record) throws IOException { | public void saveCmField(File file, Pdf record) throws IOException { | ||||
// byte[] pdfBytes = Files.readAllBytes(file.toPath()); | // byte[] pdfBytes = Files.readAllBytes(file.toPath()); | ||||
@@ -402,28 +406,130 @@ public class PdfService extends AbstractBaseEntityService<Pdf, Long, PdfReposito | |||||
String fieldName = field.getPartialName(); | String fieldName = field.getPartialName(); | ||||
String fieldValue = field.getValueAsString(); | String fieldValue = field.getValueAsString(); | ||||
if (record.getTemplateId().intValue() == 1) { | |||||
Map<String, Object> template = templateService.loadTemplate(record.getTemplateId()); | |||||
String formCode = (String)template.get("remarks"); | |||||
if ("IDA".equals(formCode)) { | |||||
logger.info("IDA "); | logger.info("IDA "); | ||||
switch (fieldName) { | switch (fieldName) { | ||||
case "fill_6" -> commonField.setName(fieldValue); | case "fill_6" -> commonField.setName(fieldValue); | ||||
case "fill_7" -> commonField.setNameChi(fieldValue); | case "fill_7" -> commonField.setNameChi(fieldValue); | ||||
case "fill_11" -> commonField.setIdCard(fieldValue); | case "fill_11" -> commonField.setIdCard(fieldValue); | ||||
}; | |||||
case "gender_m" -> { | |||||
commonField.setGenderMale(fieldValue); | |||||
if("on".equals(fieldValue)) { | |||||
commonField.setGender("M"); | |||||
} | |||||
} | |||||
case "gender_f" -> { | |||||
commonField.setGenderFemale(fieldValue); | |||||
if("on".equals(fieldValue)) { | |||||
commonField.setGender("F"); | |||||
} | |||||
} | |||||
case "date_dd" -> commonField.setDdDateOfBirth(fieldValue); | |||||
case "date_mm" -> commonField.setMmDateOfBirth(fieldValue); | |||||
case "date_yyyy" -> commonField.setYyyyDateOfBirth(fieldValue); | |||||
case "fill_17" -> commonField.setContactNo(fieldValue); | |||||
case "edu_pri" -> commonField.setEduPri(fieldValue); | |||||
case "edu_sec" -> commonField.setEduSec(fieldValue); | |||||
case "edu_post_sec" -> commonField.setEduPostSec(fieldValue); | |||||
case "own_income" -> commonField.setOwn_income(fieldValue); | |||||
case "savings" -> commonField.setSavings(fieldValue); | |||||
case "premium_financing" -> commonField.setPremium_financing(fieldValue); | |||||
case "others_funds" -> commonField.setOthers_funds(fieldValue); | |||||
case "others_funds_desc" -> commonField.setOthers_funds_desc(fieldValue); | |||||
} | |||||
//test the concat | |||||
if( ("date_dd".equals(fieldName) || "date_mm".equals(fieldName) || "date_yyyy".equals(fieldName) ) | |||||
&& commonField.getDdDateOfBirth() != null && commonField.getMmDateOfBirth() != null && commonField.getYyyyDateOfBirth() != null ){ | |||||
commonField.setDateOfBirth(commonField.getDdDateOfBirth() + "/" + commonField.getMmDateOfBirth() + "/" + commonField.getYyyyDateOfBirth()); | |||||
} | |||||
} | } | ||||
if(record.getTemplateId().intValue() == 2){ | |||||
if("FNA".equals(formCode)){ | |||||
logger.info("FNA "); | logger.info("FNA "); | ||||
switch (fieldName) { | switch (fieldName) { | ||||
case "fna_a_name" -> commonField.setName(fieldValue); | case "fna_a_name" -> commonField.setName(fieldValue); | ||||
case "fna_a_birth" -> commonField.setDateOfBirth(fieldValue); | case "fna_a_birth" -> commonField.setDateOfBirth(fieldValue); | ||||
case "fna_a_occupation" -> commonField.setOccupation(fieldValue); | case "fna_a_occupation" -> commonField.setOccupation(fieldValue); | ||||
}; | |||||
case "fna_a_tertiary" -> commonField.setEduTer(fieldValue); | |||||
case "fna_a_marital" -> commonField.setMaritalStatus(fieldValue); | |||||
case "fna_a_dependents" -> commonField.setNoOfDependents(fieldValue); | |||||
case "fna_c1a_amount" -> commonField.setFna_c1a_amount(fieldValue); | |||||
case "fna_c1b_amount" -> commonField.setFna_c1b_amount(fieldValue); | |||||
case "fna_c1c_1_amount" -> commonField.setFna_c1c_1_amount(fieldValue); | |||||
case "fna_c1c_2_amount" -> commonField.setFna_c1c_2_amount(fieldValue); | |||||
case "fna_c1c_3_amount" -> commonField.setFna_c1c_3_amount(fieldValue); | |||||
case "fna_c1d_amount" -> commonField.setFna_c1d_amount(fieldValue); | |||||
case "fna_c2a_amount" -> commonField.setFna_c2a_amount(fieldValue); | |||||
case "fna_c2b_amount" -> commonField.setFna_c2b_amount(fieldValue); | |||||
case "fna_c2c_amount" -> commonField.setFna_c2c_amount(fieldValue); | |||||
case "fna_c2d_amount" -> commonField.setFna_c2d_amount(fieldValue); | |||||
case "fna_c2e_amount" -> commonField.setFna_c2e_amount(fieldValue); | |||||
case "fna_b1_a" -> commonField.setFna_b1_a(fieldValue); | |||||
case "fna_b1_a_amount" -> commonField.setFna_b1_a_amount(fieldValue); | |||||
case "fna_b1_b" -> commonField.setFna_b1_b(fieldValue); | |||||
case "fna_b1a_4_amount" -> commonField.setFna_b1a_4_amount(fieldValue); | |||||
case "fna_b1_c" -> commonField.setFna_b1_c(fieldValue); | |||||
case "fna_b1_d" -> commonField.setFna_b1_d(fieldValue); | |||||
case "fna_b1_d_year" -> commonField.setFna_b1_d_year(fieldValue); | |||||
case "fna_b1_d_amount" -> commonField.setFna_b1_d_amount(fieldValue); | |||||
case "fna_b1_e" -> commonField.setFna_b1_e(fieldValue); | |||||
case "fna_b1_f" -> commonField.setFna_b1_f(fieldValue); | |||||
case "fna_b1_f_other" -> commonField.setFna_b1_f_other(fieldValue); | |||||
case "fna_b1_f_desc" -> commonField.setFna_b1_f_desc(fieldValue); | |||||
case "fna_b2_a" -> commonField.setFna_b2_a(fieldValue); | |||||
case "fna_b2_b" -> commonField.setFna_b2_b(fieldValue); | |||||
case "fna_b2_c" -> commonField.setFna_b2_c(fieldValue); | |||||
case "fna_b2_d" -> commonField.setFna_b2_d(fieldValue); | |||||
case "fna_b2_e" -> commonField.setFna_b2_e(fieldValue); | |||||
case "fna_b2_f" -> commonField.setFna_b2_f(fieldValue); | |||||
case "fna_b2_g" -> commonField.setFna_b2_g(fieldValue); | |||||
case "fna_c3a_2_5" -> commonField.setFna_c3a_2_5(fieldValue); | |||||
case "fna_c3a_6_10" -> commonField.setFna_c3a_6_10(fieldValue); | |||||
case "fna_c3a_11_15" -> commonField.setFna_c3a_11_15(fieldValue); | |||||
case "fna_c3a_16_20" -> commonField.setFna_c3a_16_20(fieldValue); | |||||
case "fna_c3a_20" -> commonField.setFna_c3a_20(fieldValue); | |||||
case "fna_c3a_life" -> commonField.setFna_c3a_life(fieldValue); | |||||
case "fna_c3a_single_pay" -> commonField.setFna_c3a_single_pay(fieldValue); | |||||
case "fna_a_retire" -> commonField.setFna_a_retire(fieldValue); | |||||
case "fna_c3b_salary" -> commonField.setFna_c3b_salary(fieldValue); | |||||
case "fna_c3b_income" -> commonField.setFna_c3b_income(fieldValue); | |||||
case "fna_c3b_saving" -> commonField.setFna_c3b_saving(fieldValue); | |||||
case "fna_c3b_investments" -> commonField.setFna_c3b_investments(fieldValue); | |||||
case "fna_c3b_policy" -> commonField.setFna_c3b_policy(fieldValue); | |||||
case "fna_c3b_others" -> commonField.setFna_c3b_others(fieldValue); | |||||
case "fna_c3b_desc" -> commonField.setFna_c3b_desc(fieldValue); | |||||
case "fna_c1e_10" -> commonField.setFna_c1e_10(fieldValue); | |||||
case "fna_c1e_10_20" -> commonField.setFna_c1e_10_20(fieldValue); | |||||
case "fna_c1e_21_30" -> commonField.setFna_c1e_21_30(fieldValue); | |||||
case "fna_c1e_31_40" -> commonField.setFna_c1e_31_40(fieldValue); | |||||
case "fna_c1e_41_50" -> commonField.setFna_c1e_41_50(fieldValue); | |||||
case "fna_c1e_50" -> commonField.setFna_c1e_50(fieldValue); | |||||
case "fna_c2f_10" -> commonField.setFna_c2f_10(fieldValue); | |||||
case "fna_c2f_10_20" -> commonField.setFna_c2f_10_20(fieldValue); | |||||
case "fna_c2f_21_30" -> commonField.setFna_c2f_21_30(fieldValue); | |||||
case "fna_c2f_31_40" -> commonField.setFna_c2f_31_40(fieldValue); | |||||
case "fna_c2f_41_50" -> commonField.setFna_c2f_41_50(fieldValue); | |||||
case "fna_c2f_50" -> commonField.setFna_c2f_50(fieldValue); | |||||
} | |||||
} | } | ||||
if(record.getTemplateId().intValue() == 3){ | |||||
if("HSBCFIN".equals(formCode)){ | |||||
logger.info("HSBCFIN "); | logger.info("HSBCFIN "); | ||||
switch (fieldName) { | switch (fieldName) { | ||||
@@ -432,8 +538,54 @@ public class PdfService extends AbstractBaseEntityService<Pdf, Long, PdfReposito | |||||
case "fill_5" -> commonField.setGender(fieldValue); | case "fill_5" -> commonField.setGender(fieldValue); | ||||
case "fill_6" -> commonField.setDateOfBirth(fieldValue); | case "fill_6" -> commonField.setDateOfBirth(fieldValue); | ||||
case "fill_7" -> commonField.setMaritalStatus(fieldValue); | |||||
case "fill_8" -> commonField.setNoOfDependents(fieldValue); | |||||
case "fill_9" -> commonField.setOccupation(fieldValue); | case "fill_9" -> commonField.setOccupation(fieldValue); | ||||
}; | |||||
case "fill_10" -> commonField.setContactNo(fieldValue); | |||||
case "toggle_1" -> commonField.setEduPri(fieldValue); | |||||
case "toggle_2" -> commonField.setEduSec(fieldValue); | |||||
case "toggle_3" -> {commonField.setEduPostSec(fieldValue);commonField.setEduTer(fieldValue);} | |||||
//case "fill_11" -> {commonField.setFna_c1a_amount(fieldValue);} //commonField.setAnnualIncome(fieldValue); | |||||
case "fill_11" -> { | |||||
if(fieldValue != null){ | |||||
//convert to annual income | |||||
commonField.setFna_c1a_amount( String.valueOf(Math.round(NumberUtils.toDouble(fieldValue)/12)) ); | |||||
} | |||||
} | |||||
case "fill_12" -> { | |||||
if(fieldValue != null){ | |||||
//convert to annual income | |||||
commonField.setFna_c1b_amount( String.valueOf(Math.round(NumberUtils.toDouble(fieldValue)/12)) ); | |||||
} | |||||
} | |||||
case "fill_12a" -> commonField.setFna_c1c_3_amount(fieldValue); | |||||
case "fill_13" -> commonField.setFna_c1c_1_amount(fieldValue); | |||||
case "fill_14" -> commonField.setFna_c1c_2_amount(fieldValue); | |||||
case "fill_16" -> commonField.setFna_c1d_amount(fieldValue); | |||||
case "fill_01" -> commonField.setFna_c2a_amount(fieldValue); | |||||
case "fill_02" -> commonField.setFna_c2b_amount(fieldValue); | |||||
case "fill_03" -> commonField.setFna_c2c_amount(fieldValue); | |||||
case "fill_04" -> commonField.setFna_c2d_amount(fieldValue); | |||||
case "fill_05" -> commonField.setFna_c2e_amount(fieldValue); | |||||
case "Financial Protection" -> commonField.setFna_b1_a(fieldValue); | |||||
case "Preparation" -> commonField.setFna_b1_b(fieldValue); | |||||
case "Providing" -> commonField.setFna_b1_c(fieldValue); | |||||
case "Saving" -> commonField.setFna_b1_d(fieldValue); | |||||
case "Investment" -> commonField.setFna_b1_e(fieldValue); | |||||
case "Others" -> commonField.setFna_b1_f(fieldValue); | |||||
case "fill_8_2" -> commonField.setFna_b1_f_other(fieldValue); | |||||
case "fill_8_21" -> commonField.setFna_b1_f_desc(fieldValue); | |||||
} | |||||
} | } | ||||
logger.info("end Field: " + field.getPartialName() + ", Value: " + field.getValueAsString()); | logger.info("end Field: " + field.getPartialName() + ", Value: " + field.getValueAsString()); | ||||
@@ -0,0 +1,74 @@ | |||||
--liquibase formatted sql | |||||
--changeset vin:add fields | |||||
ALTER TABLE `common_field` | |||||
ADD COLUMN `maritalStatus` VARCHAR(20) NULL AFTER `gender`, | |||||
ADD COLUMN `noOfDependents` VARCHAR(20) NULL AFTER `maritalStatus`, | |||||
ADD COLUMN `fna_c1a_amount` VARCHAR(45) NULL AFTER `noOfDependents`, | |||||
ADD COLUMN `fna_c1b_amount` VARCHAR(45) NULL AFTER `fna_c1a_amount`, | |||||
ADD COLUMN `fna_c1c_1_amount` VARCHAR(45) NULL AFTER `fna_c1b_amount`, | |||||
ADD COLUMN `fna_c1c_2_amount` VARCHAR(45) NULL AFTER `fna_c1c_1_amount`, | |||||
ADD COLUMN `fna_c1c_3_amount` VARCHAR(45) NULL AFTER `fna_c1c_2_amount`, | |||||
ADD COLUMN `fna_c1d_amount` VARCHAR(45) NULL AFTER `fna_c1c_3_amount`, | |||||
ADD COLUMN `fna_c2a_amount` VARCHAR(45) NULL AFTER `fna_c1d_amount`, | |||||
ADD COLUMN `fna_c2b_amount` VARCHAR(45) NULL AFTER `fna_c2a_amount`, | |||||
ADD COLUMN `fna_c2c_amount` VARCHAR(45) NULL AFTER `fna_c2b_amount`, | |||||
ADD COLUMN `fna_c2d_amount` VARCHAR(45) NULL AFTER `fna_c2c_amount`, | |||||
ADD COLUMN `fna_c2e_amount` VARCHAR(45) NULL AFTER `fna_c2d_amount`, | |||||
ADD COLUMN `fna_b1_a` VARCHAR(45) NULL AFTER `fna_c2e_amount`, | |||||
ADD COLUMN `fna_b1_a_amount` VARCHAR(45) NULL AFTER `fna_b1_a`, | |||||
ADD COLUMN `fna_b1_b` VARCHAR(45) NULL AFTER `fna_b1_a_amount`, | |||||
ADD COLUMN `fna_b1a_4_amount` VARCHAR(45) NULL AFTER `fna_b1_b`, | |||||
ADD COLUMN `fna_b1_c` VARCHAR(45) NULL AFTER `fna_b1a_4_amount`, | |||||
ADD COLUMN `fna_b1_d` VARCHAR(45) NULL AFTER `fna_b1_c`, | |||||
ADD COLUMN `fna_b1_d_year` VARCHAR(45) NULL AFTER `fna_b1_d`, | |||||
ADD COLUMN `fna_b1_d_amount` VARCHAR(45) NULL AFTER `fna_b1_d_year`, | |||||
ADD COLUMN `fna_b1_e` VARCHAR(45) NULL AFTER `fna_b1_d_amount`, | |||||
ADD COLUMN `fna_b1_f` VARCHAR(45) NULL AFTER `fna_b1_e`, | |||||
ADD COLUMN `fna_b1_f_other` VARCHAR(45) NULL AFTER `fna_b1_f`, | |||||
ADD COLUMN `fna_b1_f_desc` VARCHAR(45) NULL AFTER `fna_b1_f_other`, | |||||
ADD COLUMN `fna_b2_a` VARCHAR(45) NULL AFTER `fna_b1_f_desc`, | |||||
ADD COLUMN `fna_b2_b` VARCHAR(45) NULL AFTER `fna_b2_a`, | |||||
ADD COLUMN `fna_b2_c` VARCHAR(45) NULL AFTER `fna_b2_b`, | |||||
ADD COLUMN `fna_b2_d` VARCHAR(45) NULL AFTER `fna_b2_c`, | |||||
ADD COLUMN `fna_b2_e` VARCHAR(45) NULL AFTER `fna_b2_d`, | |||||
ADD COLUMN `fna_b2_f` VARCHAR(45) NULL AFTER `fna_b2_e`, | |||||
ADD COLUMN `fna_b2_g` VARCHAR(45) NULL AFTER `fna_b2_f`, | |||||
ADD COLUMN `fna_c3a_2_5` VARCHAR(45) NULL AFTER `fna_b2_g`, | |||||
ADD COLUMN `fna_c3a_6_10` VARCHAR(45) NULL AFTER `fna_c3a_2_5`, | |||||
ADD COLUMN `fna_c3a_11_15` VARCHAR(45) NULL AFTER `fna_c3a_6_10`, | |||||
ADD COLUMN `fna_c3a_16_20` VARCHAR(45) NULL AFTER `fna_c3a_11_15`, | |||||
ADD COLUMN `fna_c3a_20` VARCHAR(45) NULL AFTER `fna_c3a_16_20`, | |||||
ADD COLUMN `fna_c3a_life` VARCHAR(45) NULL AFTER `fna_c3a_20`, | |||||
ADD COLUMN `fna_c3a_single_pay` VARCHAR(45) NULL AFTER `fna_c3a_life`, | |||||
ADD COLUMN `fna_a_retire` VARCHAR(45) NULL AFTER `fna_c3a_single_pay`, | |||||
ADD COLUMN `fna_c3b_salary` VARCHAR(45) NULL AFTER `fna_a_retire`, | |||||
ADD COLUMN `fna_c3b_income` VARCHAR(45) NULL AFTER `fna_c3b_salary`, | |||||
ADD COLUMN `fna_c3b_saving` VARCHAR(45) NULL AFTER `fna_c3b_income`, | |||||
ADD COLUMN `fna_c3b_investments` VARCHAR(45) NULL AFTER `fna_c3b_saving`, | |||||
ADD COLUMN `fna_c3b_policy` VARCHAR(45) NULL AFTER `fna_c3b_investments`, | |||||
ADD COLUMN `fna_c3b_others` VARCHAR(45) NULL AFTER `fna_c3b_policy`, | |||||
ADD COLUMN `fna_c3b_desc` VARCHAR(45) NULL AFTER `fna_c3b_others`, | |||||
ADD COLUMN `fna_c1e_10` VARCHAR(45) NULL AFTER `fna_c3b_desc`, | |||||
ADD COLUMN `fna_c1e_10_20` VARCHAR(45) NULL AFTER `fna_c1e_10`, | |||||
ADD COLUMN `fna_c1e_21_30` VARCHAR(45) NULL AFTER `fna_c1e_10_20`, | |||||
ADD COLUMN `fna_c1e_31_40` VARCHAR(45) NULL AFTER `fna_c1e_21_30`, | |||||
ADD COLUMN `fna_c1e_41_50` VARCHAR(45) NULL AFTER `fna_c1e_31_40`, | |||||
ADD COLUMN `fna_c1e_50` VARCHAR(45) NULL AFTER `fna_c1e_41_50`, | |||||
ADD COLUMN `fna_c2f_10` VARCHAR(45) NULL AFTER `fna_c1e_50`, | |||||
ADD COLUMN `fna_c2f_10_20` VARCHAR(45) NULL AFTER `fna_c2f_10`, | |||||
ADD COLUMN `fna_c2f_21_30` VARCHAR(45) NULL AFTER `fna_c2f_10_20`, | |||||
ADD COLUMN `fna_c2f_31_40` VARCHAR(45) NULL AFTER `fna_c2f_21_30`, | |||||
ADD COLUMN `fna_c2f_41_50` VARCHAR(45) NULL AFTER `fna_c2f_31_40`, | |||||
ADD COLUMN `fna_c2f_50` VARCHAR(45) NULL AFTER `fna_c2f_41_50`, | |||||
ADD COLUMN `contactNo` VARCHAR(100) NULL AFTER `fna_c2f_50`, | |||||
ADD COLUMN `eduPri` VARCHAR(20) NULL AFTER `contactNo`, | |||||
ADD COLUMN `eduSec` VARCHAR(20) NULL AFTER `eduPri`, | |||||
ADD COLUMN `eduPostSec` VARCHAR(20) NULL AFTER `eduSec`, | |||||
ADD COLUMN `eduTer` VARCHAR(20) NULL AFTER `eduPostSec`, | |||||
ADD COLUMN `own_income` VARCHAR(20) NULL AFTER `eduTer`, | |||||
ADD COLUMN `savings` VARCHAR(20) NULL AFTER `own_income`, | |||||
ADD COLUMN `premium_financing` VARCHAR(20) NULL AFTER `savings`, | |||||
ADD COLUMN `others_funds` VARCHAR(45) NULL AFTER `premium_financing`, | |||||
ADD COLUMN `others_funds_desc` VARCHAR(500) NULL AFTER `others_funds`; |