Commit 38b6b89b by zhanghou

Merge branch 'newMater' of http://114.115.138.98:8900//cheng/swiftMx2Mt into newMater

parents a34eacc9 dd649c75
......@@ -5,9 +5,7 @@ import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.SwiftDto;
import com.brilliance.swift.vo.common.MessagePriority;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mx.dic.*;
import java.util.Date;
......@@ -59,60 +57,4 @@ public abstract class AbstractMt2MxCreator implements Mt2MxCreator{
throw new SwiftException("ERROR", e.getMessage());
}
}
protected BranchAndFinancialInstitutionIdentification6 partyDtoConvertAgt(PartyDto partyDto) {
BranchAndFinancialInstitutionIdentification6 agt = new BranchAndFinancialInstitutionIdentification6();
FinancialInstitutionIdentification18 finInstnId = new FinancialInstitutionIdentification18();
finInstnId.setBICFI(partyDto.getPartyBic());
finInstnId.setNm(partyDto.getPartyName());
if (partyDto.getAddressList().size() > 0) {
PostalAddress24 pstlAdr = new PostalAddress24();
for (int i=0; i<partyDto.getAddressList().size(); i++) {
pstlAdr.addAdrLine(partyDto.getAddressList().get(i));
}
finInstnId.setPstlAdr(pstlAdr);
}
agt.setFinInstnId(finInstnId);
return agt;
}
protected CashAccount38 partyDtoConvertAgtAccount(PartyDto partyDto) {
CashAccount38 cashAccount38 = null;
String partyIBANAcct = partyDto.getPartyIBANAcct();
String partyAcct = partyDto.getPartyAcct();
if (StringUtil.isNotEmpty(partyAcct) || StringUtil.isNotEmpty(partyIBANAcct)) {
cashAccount38 = new CashAccount38();
AccountIdentification4Choice id = new AccountIdentification4Choice();
if (StringUtil.isNotEmpty(partyAcct)) {
GenericAccountIdentification1 othr = new GenericAccountIdentification1();
othr.setId(partyAcct);
id.setOthr(othr);
}
if (StringUtil.isNotEmpty(partyIBANAcct)) {
id.setIBAN(partyIBANAcct);
}
cashAccount38.setId(id);
}
return cashAccount38;
}
protected PartyIdentification135 partyDtoConvertTr(PartyDto partyDto) {
PartyIdentification135 tr = new PartyIdentification135();
tr.setNm(partyDto.getPartyName());
if (StringUtil.isNotEmpty(partyDto.getPartyBic())) {
Party38Choice id = new Party38Choice();
OrganisationIdentification29 orgId = new OrganisationIdentification29();
orgId.setAnyBIC(partyDto.getPartyBic());
id.setOrgId(orgId);
tr.setId(id);
}
if (partyDto.getAddressList().size() > 0) {
PostalAddress24 pstlAdr = new PostalAddress24();
for (int i=0; i<partyDto.getAddressList().size(); i++) {
pstlAdr.addAdrLine(partyDto.getAddressList().get(i));
}
tr.setPstlAdr(pstlAdr);
}
return tr;
}
}
package com.brilliance.swift.mt2mx;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.common.PartyAccount;
import com.prowidesoftware.swift.model.mt.AbstractMT;
public abstract class AbstractMt2MxParseFields implements Mt2MxParseFields{
protected Mt2MxContext context;
......@@ -11,4 +15,22 @@ public abstract class AbstractMt2MxParseFields implements Mt2MxParseFields{
public void setContext(Mt2MxContext context) {
this.context = context;
}
protected PartyAccount buildPartyAccount(String account) {
if (StringUtil.isNotEmpty(account)) {
PartyAccount partyAcct = new PartyAccount();
if (account.startsWith("CH")) {
partyAcct.setAccount(account.substring(2));
} else {
partyAcct.setIbanAcct(account);
}
return partyAcct;
}
return null;
}
protected boolean isCov() {
AbstractMT abstractMT = context.get(AbstractMT.class);
return abstractMT.getSwiftMessage().isCOV();
}
}
package com.brilliance.swift.mt2mx;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.pacs008001.Mt2MxPacs00801Creator;
import com.brilliance.swift.mt2mx.pacs008001.Mt2MxPacs008001Creator;
import com.brilliance.swift.mt2mx.pacs009001.Mt2MxPacs009001Creator;
import com.brilliance.swift.mx.SwiftDto2MxCreatorManager;
import com.brilliance.swift.vo.SwiftDto;
import com.prowidesoftware.swift.model.mt.AbstractMT;
......@@ -29,11 +30,33 @@ public class Mt2MxCreateManager {
return convert(outPutFilePath, extraMap);
}
public SwiftDto mt2SwiftDto(File file, String outPutFilePath) throws Exception {
String mtStr = FileUtils.readFileToString(file);
init(mtStr);
return convert(outPutFilePath, null);
}
public SwiftDto mt2SwiftDto(File file) throws Exception {
String mtStr = FileUtils.readFileToString(file);
init(mtStr);
return convert(null, null);
}
public SwiftDto mt2SwiftDto(String mtStr, String outPutFilePath, Map<String, Object> extraMap) throws Exception {
init(mtStr);
return convert(outPutFilePath, extraMap);
}
public SwiftDto mt2SwiftDto(String mtStr, String outPutFilePath) throws Exception {
init(mtStr);
return convert(outPutFilePath, null);
}
public SwiftDto mt2SwiftDto(String mtStr) throws Exception {
init(mtStr);
return convert(null, null);
}
public String mt2mx(File file, String outPutFilePath, Map<String, Object> extraMap) throws Exception {
SwiftDto swiftDto = mt2SwiftDto(file, outPutFilePath, extraMap);
return new SwiftDto2MxCreatorManager().swiftDto2Mx(swiftDto, outPutFilePath);
......@@ -81,7 +104,9 @@ public class Mt2MxCreateManager {
public AbstractMt2MxCreator getMt2MxCreator() throws SwiftException {
String messageType = abstractMT.getMessageType();
if ("103".equals(messageType)) {
return new Mt2MxPacs00801Creator();
return new Mt2MxPacs008001Creator();
} else if ("202".equals(messageType)) {
return new Mt2MxPacs009001Creator();
} else {
throw new SwiftException("Invalid message type");
}
......
......@@ -13,7 +13,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Mt2MxPacs00801Creator extends AbstractMt2MxCreator {
public class Mt2MxPacs008001Creator extends AbstractMt2MxCreator {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field50A;
import com.prowidesoftware.swift.model.field.Field50K;
import com.prowidesoftware.swift.model.mt.AbstractMT;
......@@ -20,26 +19,18 @@ public class Pacs00801Parse50Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField50A() != null) {
Field50A field50A = mt103.getField50A();
partyDto = new PartyDto(PartyTypeEnum.OC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field50A.getAccount())) {
if (field50A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field50A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field50A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field50A.getAccount()));
}
partyDto.setPartyBic(field50A.getBIC());
} else if (mt103.getField50F() != null) {
//TODO
} else if (mt103.getField50K() != null) {
Field50K field50K = mt103.getField50K();
partyDto = new PartyDto(PartyTypeEnum.OC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field50K.getAccount())) {
if (field50K.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field50K.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field50K.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field50K.getAccount()));
}
partyDto.setPartyName(field50K.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field50K.getNameAndAddressLine2())) {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field52A;
import com.prowidesoftware.swift.model.field.Field52D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
......@@ -20,24 +19,16 @@ public class Pacs00801Parse52Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField52A() != null) {
Field52A field52A = mt103.getField52A();
partyDto = new PartyDto(PartyTypeEnum.OI);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52A.getAccount())) {
if (field52A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field52A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field52A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field52A.getAccount()));
}
partyDto.setPartyBic(field52A.getBIC());
} else if (mt103.getField52D() != null) {
Field52D field52D = mt103.getField52D();
partyDto = new PartyDto(PartyTypeEnum.OI);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52D.getAccount())) {
if (field52D.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field52D.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field52D.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field52D.getAccount()));
}
partyDto.setPartyName(field52D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine2())) {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field53A;
import com.prowidesoftware.swift.model.field.Field53B;
import com.prowidesoftware.swift.model.field.Field53D;
......@@ -21,27 +20,21 @@ public class Pacs00801Parse53Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField53A() != null) {
Field53A field53A = mt103.getField53A();
partyDto = new PartyDto(PartyTypeEnum.SC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field53A.getAccount())) {
if (field53A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field53A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field53A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field53A.getAccount()));
}
partyDto.setPartyBic(field53A.getBIC());
} else if (mt103.getField53B() != null) {
Field53B field53B = mt103.getField53B();
//TODO
if (StringUtil.isNotEmpty(field53B.getAccount())) {
customerCreditTransfer.setSettleAccount(buildPartyAccount(field53B.getAccount()));
}
} else if (mt103.getField53D() != null) {
Field53D field53D = mt103.getField53D();
partyDto = new PartyDto(PartyTypeEnum.SC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field53D.getAccount())) {
if (field53D.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field53D.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field53D.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field53D.getAccount()));
}
partyDto.setPartyName(field53D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field53D.getNameAndAddressLine2())) {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field54A;
import com.prowidesoftware.swift.model.field.Field54B;
import com.prowidesoftware.swift.model.field.Field54D;
......@@ -21,13 +20,9 @@ public class Pacs00801Parse54Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField54A() != null) {
Field54A field54A = mt103.getField54A();
partyDto = new PartyDto(PartyTypeEnum.RC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field54A.getAccount())) {
if (field54A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field54A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field54A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field54A.getAccount()));
}
partyDto.setPartyBic(field54A.getBIC());
} else if (mt103.getField54B() != null) {
......@@ -35,13 +30,9 @@ public class Pacs00801Parse54Field extends AbstractMt2MxParseFields {
//TODO
} else if (mt103.getField54D() != null) {
Field54D field54D = mt103.getField54D();
partyDto = new PartyDto(PartyTypeEnum.RC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field54D.getAccount())) {
if (field54D.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field54D.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field54D.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field54D.getAccount()));
}
partyDto.setPartyName(field54D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field54D.getNameAndAddressLine2())) {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field55A;
import com.prowidesoftware.swift.model.field.Field55B;
import com.prowidesoftware.swift.model.field.Field55D;
......@@ -21,13 +20,9 @@ public class Pacs00801Parse55Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField55A() != null) {
Field55A field55A = mt103.getField55A();
partyDto = new PartyDto(PartyTypeEnum.RI);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field55A.getAccount())) {
if (field55A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field55A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field55A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field55A.getAccount()));
}
partyDto.setPartyBic(field55A.getBIC());
} else if (mt103.getField55B() != null) {
......@@ -35,13 +30,9 @@ public class Pacs00801Parse55Field extends AbstractMt2MxParseFields {
//TODO
} else if (mt103.getField55D() != null) {
Field55D field55D = mt103.getField55D();
partyDto = new PartyDto(PartyTypeEnum.RI);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field55D.getAccount())) {
if (field55D.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field55D.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field55D.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field55D.getAccount()));
}
partyDto.setPartyName(field55D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field55D.getNameAndAddressLine2())) {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field56A;
import com.prowidesoftware.swift.model.field.Field56C;
import com.prowidesoftware.swift.model.field.Field56D;
......@@ -21,28 +20,20 @@ public class Pacs00801Parse56Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField56A() != null) {
Field56A field56A = mt103.getField56A();
partyDto = new PartyDto(PartyTypeEnum.II);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56A.getAccount())) {
if (field56A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field56A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field56A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field56A.getAccount()));
}
partyDto.setPartyBic(field56A.getBIC());
} else if (mt103.getField56C() != null) {
Field56C field56C = mt103.getField56C();
partyDto = new PartyDto(PartyTypeEnum.II);
partyDto.setPartyAcct(field56C.getAccount());
partyDto = new PartyDto();
partyDto.setPartyAcct(buildPartyAccount(field56C.getAccount()));
} else if (mt103.getField56D() != null) {
Field56D field56D = mt103.getField56D();
partyDto = new PartyDto(PartyTypeEnum.II);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56D.getAccount())) {
if (field56D.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field56D.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field56D.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field56D.getAccount()));
}
partyDto.setPartyName(field56D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine2())) {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field57A;
import com.prowidesoftware.swift.model.field.Field57B;
import com.prowidesoftware.swift.model.field.Field57C;
......@@ -22,13 +21,9 @@ public class Pacs00801Parse57Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField57A() != null) {
Field57A field57A = mt103.getField57A();
partyDto = new PartyDto(PartyTypeEnum.AI);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field57A.getAccount())) {
if (field57A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field57A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field57A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field57A.getAccount()));
}
partyDto.setPartyBic(field57A.getBIC());
} else if (mt103.getField57B() != null) {
......@@ -36,17 +31,13 @@ public class Pacs00801Parse57Field extends AbstractMt2MxParseFields {
//TODO
} else if (mt103.getField57C() != null) {
Field57C field57C = mt103.getField57C();
partyDto = new PartyDto(PartyTypeEnum.AI);
partyDto.setPartyAcct(field57C.getAccount());
partyDto = new PartyDto();
partyDto.setPartyAcct(buildPartyAccount(field57C.getAccount()));
} else if (mt103.getField57D() != null) {
Field57D field57D = mt103.getField57D();
partyDto = new PartyDto(PartyTypeEnum.AI);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field57D.getAccount())) {
if (field57D.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field57D.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field57D.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field57D.getAccount()));
}
partyDto.setPartyName(field57D.getName());
if (StringUtil.isNotEmpty(field57D.getNameAndAddressLine2())) {
......
......@@ -5,7 +5,6 @@ import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.PartyTypeEnum;
import com.prowidesoftware.swift.model.field.Field59;
import com.prowidesoftware.swift.model.field.Field59A;
import com.prowidesoftware.swift.model.field.Field59F;
......@@ -21,13 +20,9 @@ public class Pacs00801Parse59Field extends AbstractMt2MxParseFields {
PartyDto partyDto = null;
if (mt103.getField59() != null) {
Field59 field59 = mt103.getField59();
partyDto = new PartyDto(PartyTypeEnum.BC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field59.getAccount())) {
if (field59.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field59.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field59.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field59.getAccount()));
}
partyDto.setPartyName(field59.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field59.getNameAndAddressLine2())) {
......@@ -41,13 +36,9 @@ public class Pacs00801Parse59Field extends AbstractMt2MxParseFields {
}
} else if (mt103.getField59A() != null) {
Field59A field59A = mt103.getField59A();
partyDto = new PartyDto(PartyTypeEnum.BC);
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field59A.getAccount())) {
if (field59A.getAccount().startsWith("CH")) {
partyDto.setPartyAcct(field59A.getAccount().substring(2));
} else {
partyDto.setPartyIBANAcct(field59A.getAccount());
}
partyDto.setPartyAcct(buildPartyAccount(field59A.getAccount()));
}
partyDto.setPartyBic(field59A.getBIC());
} else if (mt103.getField59F() != null) {
......
......@@ -2,7 +2,10 @@ package com.brilliance.swift.mt2mx.pacs008001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.Send2ReceInfo;
import com.prowidesoftware.swift.model.field.Field72;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt1xx.MT103;
......@@ -20,13 +23,24 @@ public class Pacs00801Parse72Field extends AbstractMt2MxParseFields {
for (int i=0; i<lines.length; i++) {
String line = lines[i];
if (line.startsWith("/INS/")) {
customerCreditTransfer.setPreInstgAgtInfo(line.substring(5));
PartyDto party = new PartyDto();
String lineStr = line.substring(5);
if (SwiftTransferUtil.isBIC(lineStr)) {
party.setPartyBic(lineStr);
} else {
party.setPartyName(lineStr);
}
customerCreditTransfer.setPreInstgAgtParty(party);
}
if (line.startsWith("/ACC/")) {
customerCreditTransfer.setInstForCrdAgtInfo(line.substring(5));
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setInfo(line.substring(5));
customerCreditTransfer.setInstForCrdAgtInfo(send2ReceInfo);
}
if (line.startsWith("/REC/")) {
customerCreditTransfer.setInstForNxtAgtInfo(line.substring(5));
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setInfo(line.substring(5));
customerCreditTransfer.setInstForNxtAgtInfo(send2ReceInfo);
}
}
}
......
package com.brilliance.swift.mt2mx.pacs009001;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxCreator;
import com.brilliance.swift.mt2mx.Mt2MxContextIdentifier;
import com.brilliance.swift.mt2mx.Mt2MxParseFields;
import com.brilliance.swift.mt2mx.pacs009001.impl.*;
import com.brilliance.swift.mt2mx.pacs009001.impl.cov.*;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.SwiftDto;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Mt2MxPacs009001Creator extends AbstractMt2MxCreator {
@Override
public void preProcess() throws SwiftException {
try {
super.preProcess();
SwiftDto swiftDto = context.get(SwiftDto.class);
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = new VoFinancialInstitutionCreditTransfer();
financialInstitutionCreditTransfer.setSenderBic(swiftDto.getSenderBic());
financialInstitutionCreditTransfer.setReceiverBic(swiftDto.getReceiverBic());
financialInstitutionCreditTransfer.setCreateDate(swiftDto.getCreateDate());
financialInstitutionCreditTransfer.setMessagePriority(swiftDto.getMessagePriority());
financialInstitutionCreditTransfer.setUetr(swiftDto.getUetr());
financialInstitutionCreditTransfer.setMessageType("pacs.009.001");
context.set(financialInstitutionCreditTransfer);
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
@Override
public List<Mt2MxParseFields> getParseFieldsList() throws SwiftException {
List<Mt2MxParseFields> list = new ArrayList<>();
list.add(new Pacs009001Parse20Field());
list.add(new Pacs009001Parse21Field());
list.add(new Pacs009001Parse13CField());
list.add(new Pacs009001Parse32AField());
list.add(new Pacs009001Parse52Field());
list.add(new Pacs009001Parse53Field());
list.add(new Pacs009001Parse54Field());
list.add(new Pacs009001Parse56Field());
list.add(new Pacs009001Parse57Field());
list.add(new Pacs009001Parse58Field());
list.add(new Pacs009001Parse72Field());
//cov
list.add(new Pacs009001Parse33BField());
list.add(new Pacs009001Parse50Field());
list.add(new Pacs009001Parse52BField());
list.add(new Pacs009001Parse56BField());
list.add(new Pacs009001Parse57BField());
list.add(new Pacs009001Parse59Field());
list.add(new Pacs009001Parse70Field());
list.add(new Pacs009001Parse72BField());
return list;
}
@Override
public void postProcess() throws SwiftException {
try {
String outputFilePath = (String)context.get(Mt2MxContextIdentifier.MT_TO_MX_OUTPUT_FILE_PATH, true);
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
context.set(Mt2MxContextIdentifier.MT_TO_SWIFTDTO_OBJ, financialInstitutionCreditTransfer);
if (StringUtil.isNotEmpty(outputFilePath)) {
financialInstitutionCreditTransfer.write(new File(outputFilePath));
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.prowidesoftware.swift.model.field.Field13C;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import java.util.Date;
import java.util.List;
public class Pacs009001Parse13CField extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
List<Field13C> field13CList = getField13CList();
if (field13CList.size() > 0) {
String dateStr = DateUtil.formatNow("yyyy-MM-dd'T'HH:mm:ss.SSS");
for (int i=0; i<field13CList.size(); i++) {
Field13C field13C = field13CList.get(i);
String timeStr = dateStr.substring(0, 11)
+ field13C.getTime().substring(0,2)
+ ":" + field13C.getTime().substring(2,4)
+ ":00.000"
+ field13C.getSign()
+ field13C.getOffset().substring(0, 2)
+ ":" + field13C.getOffset().substring(2, 4);
XMLGregorianCalendar dateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(timeStr);
Date date = DateUtil.parseDate(dateTime);
if ("SNDTIME".equals(field13C.getCode())) {
financialInstitutionCreditTransfer.setDebitDate(date);
} else if ("RNCTIME".equals(field13C.getCode())) {
financialInstitutionCreditTransfer.setCreditDate(date);
} else if ("CLSTIME".equals(field13C.getCode())) {
financialInstitutionCreditTransfer.setClsDate(date);
}
}
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private List<Field13C> getField13CList() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField13C();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField13C();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.prowidesoftware.swift.model.field.Field20;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse20Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
Field20 field20 = getField20();
if (field20 != null) {
financialInstitutionCreditTransfer.setMessageId(field20.getValue());
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field20 getField20() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField20();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField20();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.prowidesoftware.swift.model.field.Field21;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse21Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
Field21 field21 = getField21();
if (field21 != null) {
financialInstitutionCreditTransfer.setEndToEndId(field21.getValue());
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field21 getField21() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField21();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField21();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.CcyFormatAmount;
import com.prowidesoftware.swift.model.field.Field32A;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse32AField extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
Field32A field32A = getField32A();
if (field32A != null) {
financialInstitutionCreditTransfer.setSettledDate(DateUtil.parseDate("20"+field32A.getDate(), "yyyyMMdd"));
CcyFormatAmount cfa = new CcyFormatAmount();
cfa.setCcy(field32A.getCurrency());
cfa.setAmt(field32A.amount());
financialInstitutionCreditTransfer.setSettledCcyFormatAmount(cfa);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field32A getField32A() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField32A();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField32A();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field52A;
import com.prowidesoftware.swift.model.field.Field52D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse52Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField52A() != null) {
Field52A field52A = getField52A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field52A.getAccount()));
}
partyDto.setPartyBic(field52A.getBIC());
} else if (getField52D() != null) {
Field52D field52D = getField52D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field52D.getAccount()));
}
partyDto.setPartyName(field52D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine2())) {
partyDto.addAddress(field52D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine3())) {
partyDto.addAddress(field52D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine4())) {
partyDto.addAddress(field52D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
financialInstitutionCreditTransfer.setDebitParty(partyDto);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field52A getField52A() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field52A field52A = null;
if (mt202Cov.getSequenceA() != null) {
field52A = (Field52A)mt202Cov.getSequenceA().getFieldByName("52A");
}
return field52A;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField52A();
}
}
private Field52D getField52D() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field52D field52D = null;
if (mt202Cov.getSequenceA() != null) {
field52D = (Field52D)mt202Cov.getSequenceA().getFieldByName("52D");
}
return field52D;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField52D();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.*;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse53Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField53A() != null) {
Field53A field53A = getField53A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field53A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field53A.getAccount()));
}
partyDto.setPartyBic(field53A.getBIC());
} else if (getField53B() != null) {
Field53B field53B = getField53B();
if (StringUtil.isNotEmpty(field53B.getAccount())) {
financialInstitutionCreditTransfer.setSettleAccount(buildPartyAccount(field53B.getAccount()));
}
} else if (getField53D() != null) {
Field53D field53D = getField53D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field53D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field53D.getAccount()));
}
partyDto.setPartyName(field53D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field53D.getNameAndAddressLine2())) {
partyDto.addAddress(field53D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field53D.getNameAndAddressLine3())) {
partyDto.addAddress(field53D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field53D.getNameAndAddressLine4())) {
partyDto.addAddress(field53D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
financialInstitutionCreditTransfer.setInstgAgtParty(partyDto);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field53A getField53A() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField53A();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField53A();
}
}
private Field53B getField53B() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField53B();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField53B();
}
}
private Field53D getField53D() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField53D();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField53D();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.*;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse54Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField54A() != null) {
Field54A field54A = getField54A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field54A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field54A.getAccount()));
}
partyDto.setPartyBic(field54A.getBIC());
} else if (getField54B() != null) {
Field54B field54B = getField54B();
//TODO
} else if (getField54D() != null) {
Field54D field54D = getField54D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field54D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field54D.getAccount()));
}
partyDto.setPartyName(field54D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field54D.getNameAndAddressLine2())) {
partyDto.addAddress(field54D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field54D.getNameAndAddressLine3())) {
partyDto.addAddress(field54D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field54D.getNameAndAddressLine4())) {
partyDto.addAddress(field54D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
financialInstitutionCreditTransfer.setInstdAgtParty(partyDto);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field54A getField54A() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField54A();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField54A();
}
}
private Field54B getField54B() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField54B();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField54B();
}
}
private Field54D getField54D() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField54D();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField54D();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field56A;
import com.prowidesoftware.swift.model.field.Field56D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse56Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField56A() != null) {
Field56A field56A = getField56A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field56A.getAccount()));
}
partyDto.setPartyBic(field56A.getBIC());
} else if (getField56D() != null) {
Field56D field56D = getField56D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field56D.getAccount()));
}
partyDto.setPartyName(field56D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine2())) {
partyDto.addAddress(field56D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine3())) {
partyDto.addAddress(field56D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine4())) {
partyDto.addAddress(field56D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
financialInstitutionCreditTransfer.setIntrmyAgtParty(partyDto);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field56A getField56A() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field56A field56A = null;
if (mt202Cov.getSequenceA() != null) {
field56A = (Field56A)mt202Cov.getSequenceA().getFieldByName("56A");
}
return field56A;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField56A();
}
}
private Field56D getField56D() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field56D field56D = null;
if (mt202Cov.getSequenceA() != null) {
field56D = (Field56D)mt202Cov.getSequenceA().getFieldByName("56D");
}
return field56D;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField56D();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.*;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse57Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField57A() != null) {
Field57A field57A = getField57A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field57A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field57A.getAccount()));
}
partyDto.setPartyBic(field57A.getBIC());
} else if (getField57B() != null) {
Field57B field57B = getField57B();
//TODO
} else if (getField57D() != null) {
Field57D field57D = getField57D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field57D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field57D.getAccount()));
}
partyDto.setPartyName(field57D.getName());
if (StringUtil.isNotEmpty(field57D.getNameAndAddressLine2())) {
partyDto.addAddress(field57D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field57D.getNameAndAddressLine3())) {
partyDto.addAddress(field57D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field57D.getNameAndAddressLine4())) {
partyDto.addAddress(field57D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
financialInstitutionCreditTransfer.setCreditAgtParty(partyDto);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field57A getField57A() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field57A field57A = null;
if (mt202Cov.getSequenceA() != null) {
field57A = (Field57A)mt202Cov.getSequenceA().getFieldByName("57A");
}
return field57A;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField57A();
}
}
private Field57B getField57B() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field57B field57B = null;
if (mt202Cov.getSequenceA() != null) {
field57B = (Field57B)mt202Cov.getSequenceA().getFieldByName("57B");
}
return field57B;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField57B();
}
}
private Field57D getField57D() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field57D field57D = null;
if (mt202Cov.getSequenceA() != null) {
field57D = (Field57D)mt202Cov.getSequenceA().getFieldByName("57D");
}
return field57D;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField57D();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field58A;
import com.prowidesoftware.swift.model.field.Field58D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse58Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField58D() != null) {
Field58D field58D = getField58D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field58D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field58D.getAccount()));
}
partyDto.setPartyName(field58D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field58D.getNameAndAddressLine2())) {
partyDto.addAddress(field58D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field58D.getNameAndAddressLine3())) {
partyDto.addAddress(field58D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field58D.getNameAndAddressLine4())) {
partyDto.addAddress(field58D.getNameAndAddressLine4());
}
} else if (getField58A() != null) {
Field58A field58A = getField58A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field58A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field58A.getAccount()));
}
partyDto.setPartyBic(field58A.getBIC());
}
if (partyDto != null) {
financialInstitutionCreditTransfer.setCreditParty(partyDto);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field58A getField58A() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField58A();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField58A();
}
}
private Field58D getField58D() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
return mt202Cov.getField58D();
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField58D();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.Send2ReceInfo;
import com.prowidesoftware.swift.model.field.Field72;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse72Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
Field72 field72 = getField72();
if (field72 != null) {
String field72Value = field72.getValue().replace("\r\n//", "");
String[] lines = field72Value.split("\r\n");
for (int i=0; i<lines.length; i++) {
String line = lines[i];
if (line.startsWith("/INS/")) {
PartyDto party = new PartyDto();
String lineStr = line.substring(5);
if (SwiftTransferUtil.isBIC(lineStr)) {
party.setPartyBic(lineStr);
} else {
party.setPartyName(lineStr);
}
financialInstitutionCreditTransfer.setPreInstgAgtParty(party);
}
if (line.startsWith("/ACC/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setInfo(line.substring(5));
financialInstitutionCreditTransfer.setInstForCrdAgtInfo(send2ReceInfo);
}
if (line.startsWith("/PHONBEN/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setCode("TELB");
send2ReceInfo.setInfo(line.substring(9));
financialInstitutionCreditTransfer.setInstForCrdAgtInfo(send2ReceInfo);
}
if (line.startsWith("/REC/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setInfo(line.substring(5));
financialInstitutionCreditTransfer.setInstForNxtAgtInfo(send2ReceInfo);
}
if (line.startsWith("/PHON/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setCode("PHOA");
send2ReceInfo.setInfo(line.substring(6));
financialInstitutionCreditTransfer.setInstForNxtAgtInfo(send2ReceInfo);
}
if (line.startsWith("/TELE/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setCode("TELA");
send2ReceInfo.setInfo(line.substring(6));
financialInstitutionCreditTransfer.setInstForNxtAgtInfo(send2ReceInfo);
}
if (line.startsWith("/PHONIBK/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setCode("PHOA");
send2ReceInfo.setInfo(line.substring(8));
financialInstitutionCreditTransfer.setInstForNxtAgtInfo(send2ReceInfo);
}
}
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field72 getField72() {
if (isCov()) {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field72 field72 = null;
if (mt202Cov.getSequenceA() != null) {
field72 = (Field72)mt202Cov.getSequenceA().getFieldByName("72");
}
return field72;
} else {
MT202 mt202 = (MT202)context.get(AbstractMT.class);
return mt202.getField72();
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.CcyFormatAmount;
import com.prowidesoftware.swift.model.field.Field33B;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse33BField extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field33B field33B = mt202Cov.getField33B();
if (field33B != null) {
CcyFormatAmount cfa = new CcyFormatAmount();
cfa.setCcy(field33B.getCurrency());
cfa.setAmt(field33B.amount());
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
customerCreditTransfer.setInstructedCcyFormatAmount(cfa);
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field50A;
import com.prowidesoftware.swift.model.field.Field50K;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse50Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
PartyDto partyDto = null;
if (mt202Cov.getField50A() != null) {
Field50A field50A = mt202Cov.getField50A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field50A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field50A.getAccount()));
}
partyDto.setPartyBic(field50A.getBIC());
} else if (mt202Cov.getField50F() != null) {
//TODO
} else if (mt202Cov.getField50K() != null) {
Field50K field50K = mt202Cov.getField50K();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field50K.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field50K.getAccount()));
}
partyDto.setPartyName(field50K.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field50K.getNameAndAddressLine2())) {
partyDto.addAddress(field50K.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field50K.getNameAndAddressLine3())) {
partyDto.addAddress(field50K.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field50K.getNameAndAddressLine4())) {
partyDto.addAddress(field50K.getNameAndAddressLine4());
}
}
if (partyDto != null) {
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
customerCreditTransfer.setDebitParty(partyDto);
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field52A;
import com.prowidesoftware.swift.model.field.Field52D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse52BField extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField52A() != null) {
Field52A field52A = getField52A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field52A.getAccount()));
}
partyDto.setPartyBic(field52A.getBIC());
} else if (getField52D() != null) {
Field52D field52D = getField52D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field52D.getAccount()));
}
partyDto.setPartyName(field52D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine2())) {
partyDto.addAddress(field52D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine3())) {
partyDto.addAddress(field52D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field52D.getNameAndAddressLine4())) {
partyDto.addAddress(field52D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
customerCreditTransfer.setDebitAgtParty(partyDto);
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field52A getField52A() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field52A field52A = null;
if (mt202Cov.getSequenceB() != null) {
field52A = (Field52A)mt202Cov.getSequenceB().getFieldByName("52A");
}
return field52A;
}
private Field52D getField52D() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field52D field52D = null;
if (mt202Cov.getSequenceB() != null) {
field52D = (Field52D)mt202Cov.getSequenceB().getFieldByName("52D");
}
return field52D;
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field56A;
import com.prowidesoftware.swift.model.field.Field56C;
import com.prowidesoftware.swift.model.field.Field56D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse56BField extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField56A() != null) {
Field56A field56A = getField56A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field56A.getAccount()));
}
partyDto.setPartyBic(field56A.getBIC());
} else if (getField56C() != null) {
Field56C field56C = getField56C();
partyDto = new PartyDto();
partyDto.setPartyAcct(buildPartyAccount(field56C.getAccount()));
} else if (getField56D() != null) {
Field56D field56D = getField56D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field56D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field56D.getAccount()));
}
partyDto.setPartyName(field56D.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine2())) {
partyDto.addAddress(field56D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine3())) {
partyDto.addAddress(field56D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field56D.getNameAndAddressLine4())) {
partyDto.addAddress(field56D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
customerCreditTransfer.setIntrmyAgtParty(partyDto);
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field56A getField56A() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field56A field56A = null;
if (mt202Cov.getSequenceB() != null) {
field56A = (Field56A)mt202Cov.getSequenceB().getFieldByName("56A");
}
return field56A;
}
private Field56C getField56C() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field56C field56C = null;
if (mt202Cov.getSequenceB() != null) {
field56C = (Field56C)mt202Cov.getSequenceB().getFieldByName("56C");
}
return field56C;
}
private Field56D getField56D() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field56D field56D = null;
if (mt202Cov.getSequenceB() != null) {
field56D = (Field56D)mt202Cov.getSequenceB().getFieldByName("56D");
}
return field56D;
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field57A;
import com.prowidesoftware.swift.model.field.Field57B;
import com.prowidesoftware.swift.model.field.Field57C;
import com.prowidesoftware.swift.model.field.Field57D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse57BField extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
PartyDto partyDto = null;
if (getField57A() != null) {
Field57A field57A = getField57A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field57A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field57A.getAccount()));
}
partyDto.setPartyBic(field57A.getBIC());
} else if (getField57B() != null) {
Field57B field57B = getField57B();
//TODO
} else if (getField57C() != null) {
Field57C field57C = getField57C();
partyDto = new PartyDto();
partyDto.setPartyAcct(buildPartyAccount(field57C.getAccount()));
} else if (getField57D() != null) {
Field57D field57D = getField57D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field57D.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field57D.getAccount()));
}
partyDto.setPartyName(field57D.getName());
if (StringUtil.isNotEmpty(field57D.getNameAndAddressLine2())) {
partyDto.addAddress(field57D.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field57D.getNameAndAddressLine3())) {
partyDto.addAddress(field57D.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field57D.getNameAndAddressLine4())) {
partyDto.addAddress(field57D.getNameAndAddressLine4());
}
}
if (partyDto != null) {
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
customerCreditTransfer.setCreditAgtParty(partyDto);
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field57A getField57A() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field57A field57A = null;
if (mt202Cov.getSequenceB() != null) {
field57A = (Field57A)mt202Cov.getSequenceB().getFieldByName("57A");
}
return field57A;
}
private Field57B getField57B() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field57B field57B = null;
if (mt202Cov.getSequenceB() != null) {
field57B = (Field57B)mt202Cov.getSequenceB().getFieldByName("57B");
}
return field57B;
}
private Field57C getField57C() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field57C field57C = null;
if (mt202Cov.getSequenceB() != null) {
field57C = (Field57C)mt202Cov.getSequenceB().getFieldByName("57C");
}
return field57C;
}
private Field57D getField57D() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field57D field57D = null;
if (mt202Cov.getSequenceB() != null) {
field57D = (Field57D)mt202Cov.getSequenceB().getFieldByName("57D");
}
return field57D;
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.field.Field59;
import com.prowidesoftware.swift.model.field.Field59A;
import com.prowidesoftware.swift.model.field.Field59F;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse59Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
MT202COV mt202COV = (MT202COV) context.get(AbstractMT.class);
PartyDto partyDto = null;
if (mt202COV.getField59() != null) {
Field59 field59 = mt202COV.getField59();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field59.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field59.getAccount()));
}
partyDto.setPartyName(field59.getNameAndAddressLine1());
if (StringUtil.isNotEmpty(field59.getNameAndAddressLine2())) {
partyDto.addAddress(field59.getNameAndAddressLine2());
}
if (StringUtil.isNotEmpty(field59.getNameAndAddressLine3())) {
partyDto.addAddress(field59.getNameAndAddressLine3());
}
if (StringUtil.isNotEmpty(field59.getNameAndAddressLine4())) {
partyDto.addAddress(field59.getNameAndAddressLine4());
}
} else if (mt202COV.getField59A() != null) {
Field59A field59A = mt202COV.getField59A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field59A.getAccount())) {
partyDto.setPartyAcct(buildPartyAccount(field59A.getAccount()));
}
partyDto.setPartyBic(field59A.getBIC());
} else if (mt202COV.getField59F() != null) {
Field59F field59F = mt202COV.getField59F();
//TODO
}
if (partyDto != null) {
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.prowidesoftware.swift.model.field.Field70;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
import java.util.List;
public class Pacs009001Parse70Field extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
MT202COV mt202COV = (MT202COV) context.get(AbstractMT.class);
List<Field70> field70List = mt202COV.getField70List();
if (field70List.size() > 0) {
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
for (int i=0; i<field70List.size(); i++) {
customerCreditTransfer.addRemittanceInfo(field70List.get(i).getValue());
}
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
}
package com.brilliance.swift.mt2mx.pacs009001.impl.cov;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2mx.AbstractMt2MxParseFields;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.VoFinancialInstitutionCreditTransfer;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.Send2ReceInfo;
import com.prowidesoftware.swift.model.field.Field72;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt2xx.MT202COV;
public class Pacs009001Parse72BField extends AbstractMt2MxParseFields {
@Override
public void parseFields() throws SwiftException {
try {
if (!isCov()) return;
VoFinancialInstitutionCreditTransfer financialInstitutionCreditTransfer = context.get(VoFinancialInstitutionCreditTransfer.class);
Field72 field72 = getField72();
if (field72 != null) {
VoCustomerCreditTransfer customerCreditTransfer = financialInstitutionCreditTransfer.getUnderCustomerCreditTransfer();
if (customerCreditTransfer == null) {
customerCreditTransfer = new VoCustomerCreditTransfer();
}
String field72Value = field72.getValue().replace("\r\n//", "");
String[] lines = field72Value.split("\r\n");
for (int i=0; i<lines.length; i++) {
String line = lines[i];
if (line.startsWith("/INS/")) {
PartyDto party = new PartyDto();
String lineStr = line.substring(5);
if (SwiftTransferUtil.isBIC(lineStr)) {
party.setPartyBic(lineStr);
} else {
party.setPartyName(lineStr);
}
customerCreditTransfer.setPreInstgAgtParty(party);
}
if (line.startsWith("/ACC/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setInfo(line.substring(5));
customerCreditTransfer.setInstForCrdAgtInfo(send2ReceInfo);
}
if (line.startsWith("/REC/")) {
Send2ReceInfo send2ReceInfo = new Send2ReceInfo();
send2ReceInfo.setInfo(line.substring(5));
customerCreditTransfer.setInstForNxtAgtInfo(send2ReceInfo);
}
}
financialInstitutionCreditTransfer.setUnderCustomerCreditTransfer(customerCreditTransfer);
}
} catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage());
}
}
private Field72 getField72() {
MT202COV mt202Cov = (MT202COV)context.get(AbstractMT.class);
Field72 field72 = null;
if (mt202Cov.getSequenceB() != null) {
field72 = (Field72)mt202Cov.getSequenceB().getFieldByName("72");
}
return field72;
}
}
package com.brilliance.swift.mx;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.common.PartyAccount;
import com.brilliance.swift.vo.common.PartyDto;
import com.prowidesoftware.swift.model.mx.dic.*;
......@@ -33,20 +34,21 @@ public abstract class AbstractSwiftDto2MxCreator implements SwiftDto2MxCreator{
return agt;
}
protected CashAccount38 partyDtoConvertAgtAccount(PartyDto partyDto) {
protected CashAccount38 partyDtoConvertAgtAccount(PartyAccount partyAcct) {
if (partyAcct == null) return null;
CashAccount38 cashAccount38 = null;
String partyIBANAcct = partyDto.getPartyIBANAcct();
String partyAcct = partyDto.getPartyAcct();
if (StringUtil.isNotEmpty(partyAcct) || StringUtil.isNotEmpty(partyIBANAcct)) {
String ibanAcct = partyAcct.getIbanAcct();
String account = partyAcct.getAccount();
if (StringUtil.isNotEmpty(ibanAcct) || StringUtil.isNotEmpty(account)) {
cashAccount38 = new CashAccount38();
AccountIdentification4Choice id = new AccountIdentification4Choice();
if (StringUtil.isNotEmpty(partyAcct)) {
if (StringUtil.isNotEmpty(account)) {
GenericAccountIdentification1 othr = new GenericAccountIdentification1();
othr.setId(partyAcct);
othr.setId(account);
id.setOthr(othr);
}
if (StringUtil.isNotEmpty(partyIBANAcct)) {
id.setIBAN(partyIBANAcct);
if (StringUtil.isNotEmpty(ibanAcct)) {
id.setIBAN(ibanAcct);
}
cashAccount38.setId(id);
}
......
package com.brilliance.swift.mx;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mx.pacs00801.SwiftDto2MxPacs008001Creator;
import com.brilliance.swift.mx.pacs008001.SwiftDto2MxPacs008001Creator;
import com.brilliance.swift.vo.SwiftDto;
import org.apache.commons.io.FileUtils;
......
package com.brilliance.swift.mx.pacs00801;
package com.brilliance.swift.mx.pacs008001;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mx.AbstractSwiftDto2MxCreator;
import com.brilliance.swift.mx.SwiftDto2MxContextIdentifier;
import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.VoCustomerCreditTransfer;
import com.brilliance.swift.vo.common.*;
import com.prowidesoftware.swift.model.mx.BusinessAppHdrV02;
......@@ -79,19 +78,19 @@ public class SwiftDto2MxPacs008001Creator extends AbstractSwiftDto2MxCreator {
if (instructingReimbursementParty != null) {
BranchAndFinancialInstitutionIdentification6 instgRmbrsmntAgt = partyDtoConvertAgt(instructingReimbursementParty);
sttlmInf.setInstgRmbrsmntAgt(instgRmbrsmntAgt);
CashAccount38 instgRmbrsmntAgtAcct = partyDtoConvertAgtAccount(instructingReimbursementParty);
CashAccount38 instgRmbrsmntAgtAcct = partyDtoConvertAgtAccount(instructingReimbursementParty.getPartyAcct());
sttlmInf.setInstgRmbrsmntAgtAcct(instgRmbrsmntAgtAcct);
}
if (instructedReimbursementParty != null) {
BranchAndFinancialInstitutionIdentification6 instdRmbrsmntAgt = partyDtoConvertAgt(instructedReimbursementParty);
sttlmInf.setInstdRmbrsmntAgt(instdRmbrsmntAgt);
CashAccount38 instdRmbrsmntAgtAcct = partyDtoConvertAgtAccount(instructedReimbursementParty);
CashAccount38 instdRmbrsmntAgtAcct = partyDtoConvertAgtAccount(instructedReimbursementParty.getPartyAcct());
sttlmInf.setInstdRmbrsmntAgtAcct(instdRmbrsmntAgtAcct);
}
if (thirdReimbursementParty != null) {
BranchAndFinancialInstitutionIdentification6 thrdRmbrsmntAgt = partyDtoConvertAgt(thirdReimbursementParty);
sttlmInf.setThrdRmbrsmntAgt(thrdRmbrsmntAgt);
CashAccount38 thrdRmbrsmntAgtAcct = partyDtoConvertAgtAccount(thirdReimbursementParty);
CashAccount38 thrdRmbrsmntAgtAcct = partyDtoConvertAgtAccount(thirdReimbursementParty.getPartyAcct());
sttlmInf.setThrdRmbrsmntAgtAcct(thrdRmbrsmntAgtAcct);
}
grpHdr.setSttlmInf(sttlmInf);
......@@ -187,7 +186,7 @@ public class SwiftDto2MxPacs008001Creator extends AbstractSwiftDto2MxCreator {
if (dbtrParty != null) {
PartyIdentification135 dbtr = partyDtoConvertTr(dbtrParty);
cdtTrfTxInf.setDbtr(dbtr);
CashAccount38 dbtrAcct = partyDtoConvertAgtAccount(dbtrParty);
CashAccount38 dbtrAcct = partyDtoConvertAgtAccount(dbtrParty.getPartyAcct());
cdtTrfTxInf.setDbtrAcct(dbtrAcct);
}
......@@ -195,7 +194,7 @@ public class SwiftDto2MxPacs008001Creator extends AbstractSwiftDto2MxCreator {
if (dbtrAgtParty != null) {
BranchAndFinancialInstitutionIdentification6 dbtrAgt = partyDtoConvertAgt(dbtrAgtParty);
cdtTrfTxInf.setDbtrAgt(dbtrAgt);
CashAccount38 dbtrAgtAcct = partyDtoConvertAgtAccount(dbtrAgtParty);
CashAccount38 dbtrAgtAcct = partyDtoConvertAgtAccount(dbtrAgtParty.getPartyAcct());
cdtTrfTxInf.setDbtrAgtAcct(dbtrAgtAcct);
}
......@@ -203,7 +202,7 @@ public class SwiftDto2MxPacs008001Creator extends AbstractSwiftDto2MxCreator {
if (intrmyAgt1Party != null) {
BranchAndFinancialInstitutionIdentification6 intrmyAgt1 = partyDtoConvertAgt(intrmyAgt1Party);
cdtTrfTxInf.setIntrmyAgt1(intrmyAgt1);
CashAccount38 intrmyAgt1Acct = partyDtoConvertAgtAccount(intrmyAgt1Party);
CashAccount38 intrmyAgt1Acct = partyDtoConvertAgtAccount(intrmyAgt1Party.getPartyAcct());
cdtTrfTxInf.setIntrmyAgt1Acct(intrmyAgt1Acct);
}
......@@ -211,7 +210,7 @@ public class SwiftDto2MxPacs008001Creator extends AbstractSwiftDto2MxCreator {
if (cdtrAgtParty != null) {
BranchAndFinancialInstitutionIdentification6 cdtrAgt = partyDtoConvertAgt(cdtrAgtParty);
cdtTrfTxInf.setCdtrAgt(cdtrAgt);
CashAccount38 cdtrAgtAcct = partyDtoConvertAgtAccount(cdtrAgtParty);
CashAccount38 cdtrAgtAcct = partyDtoConvertAgtAccount(cdtrAgtParty.getPartyAcct());
cdtTrfTxInf.setCdtrAgtAcct(cdtrAgtAcct);
}
......@@ -219,7 +218,7 @@ public class SwiftDto2MxPacs008001Creator extends AbstractSwiftDto2MxCreator {
if (cdtrParty != null) {
PartyIdentification135 cdtr = partyDtoConvertTr(cdtrParty);
cdtTrfTxInf.setCdtr(cdtr);
CashAccount38 cdtrAcct = partyDtoConvertAgtAccount(cdtrParty);
CashAccount38 cdtrAcct = partyDtoConvertAgtAccount(cdtrParty.getPartyAcct());
cdtTrfTxInf.setCdtrAcct(cdtrAcct);
}
......@@ -256,25 +255,29 @@ public class SwiftDto2MxPacs008001Creator extends AbstractSwiftDto2MxCreator {
}
//PrvsInstgAgt1 InstrForCdtrAgt InstrForNxtAgt
if (StringUtil.isNotEmpty(customerCreditTransfer.getPreInstgAgtInfo())) {
PartyDto preInstgAgtPartyDto = customerCreditTransfer.getPreInstgAgtParty();
if (preInstgAgtPartyDto != null) {
BranchAndFinancialInstitutionIdentification6 prvsInstgAgt1 = new BranchAndFinancialInstitutionIdentification6();
FinancialInstitutionIdentification18 finInstnId = new FinancialInstitutionIdentification18();
if (SwiftTransferUtil.isBIC(customerCreditTransfer.getPreInstgAgtInfo())) {
finInstnId.setBICFI(customerCreditTransfer.getPreInstgAgtInfo());
} else {
finInstnId.setNm(customerCreditTransfer.getPreInstgAgtInfo());
}
finInstnId.setBICFI(preInstgAgtPartyDto.getPartyBic());
finInstnId.setNm(preInstgAgtPartyDto.getPartyName());
prvsInstgAgt1.setFinInstnId(finInstnId);
cdtTrfTxInf.setPrvsInstgAgt1(prvsInstgAgt1);
}
if (StringUtil.isNotEmpty(customerCreditTransfer.getInstForCrdAgtInfo())) {
Send2ReceInfo instForCrdAgtInfo = customerCreditTransfer.getInstForCrdAgtInfo();
if (instForCrdAgtInfo != null) {
InstructionForCreditorAgent3 instructionForCreditorAgent3 = new InstructionForCreditorAgent3();
instructionForCreditorAgent3.setInstrInf(customerCreditTransfer.getInstForCrdAgtInfo());
instructionForCreditorAgent3.setCd(instForCrdAgtInfo.getCode());
instructionForCreditorAgent3.setInstrInf(instForCrdAgtInfo.getInfo());
cdtTrfTxInf.addInstrForCdtrAgt(instructionForCreditorAgent3);
}
if (StringUtil.isNotEmpty(customerCreditTransfer.getInstForNxtAgtInfo())) {
Send2ReceInfo instForNxtAgtInfo = customerCreditTransfer.getInstForNxtAgtInfo();
if (instForNxtAgtInfo != null) {
InstructionForNextAgent1 instructionForNextAgent1 = new InstructionForNextAgent1();
instructionForNextAgent1.setInstrInf(customerCreditTransfer.getInstForNxtAgtInfo());
if (StringUtil.isNotEmpty(instForNxtAgtInfo.getCode())) {
instructionForNextAgent1.setCd(Instruction4Code.valueOf(instForNxtAgtInfo.getCode()));
}
instructionForNextAgent1.setInstrInf(instForNxtAgtInfo.getInfo());
cdtTrfTxInf.addInstrForNxtAgt(instructionForNextAgent1);
}
//RgltryRptg
......
......@@ -5,14 +5,12 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.apache.commons.lang3.Validate;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.*;
import java.util.Date;
public class SwiftDto {
public class SwiftDto implements Serializable {
private static final long serialVersionUID = 2296248553989810638L;
protected String messageType;
protected String senderBic;
......
......@@ -32,6 +32,8 @@ public class VoCustomerCreditTransfer extends SwiftDto {
protected BigDecimal exchangeRate;
protected PartyAccount settleAccount;//appear 53B
protected PartyDto debitParty;
protected PartyDto debitAgtParty;
......@@ -54,11 +56,11 @@ public class VoCustomerCreditTransfer extends SwiftDto {
protected CcyFormatAmount chargeCcyFormatAmount;
protected String preInstgAgtInfo;
protected PartyDto preInstgAgtParty;
protected String instForCrdAgtInfo;
protected Send2ReceInfo instForCrdAgtInfo;
protected String instForNxtAgtInfo;
protected Send2ReceInfo instForNxtAgtInfo;
protected List<String> regulatoryReportings;
......@@ -250,58 +252,35 @@ public class VoCustomerCreditTransfer extends SwiftDto {
this.creditParty = creditParty;
}
public String getPreInstgAgtInfo() {
return preInstgAgtInfo;
public PartyAccount getSettleAccount() {
return settleAccount;
}
public void setSettleAccount(PartyAccount settleAccount) {
this.settleAccount = settleAccount;
}
public void setPreInstgAgtInfo(String preInstgAgtInfo) {
this.preInstgAgtInfo = preInstgAgtInfo;
public PartyDto getPreInstgAgtParty() {
return preInstgAgtParty;
}
public String getInstForCrdAgtInfo() {
public void setPreInstgAgtParty(PartyDto preInstgAgtParty) {
this.preInstgAgtParty = preInstgAgtParty;
}
public Send2ReceInfo getInstForCrdAgtInfo() {
return instForCrdAgtInfo;
}
public void setInstForCrdAgtInfo(String instForCrdAgtInfo) {
public void setInstForCrdAgtInfo(Send2ReceInfo instForCrdAgtInfo) {
this.instForCrdAgtInfo = instForCrdAgtInfo;
}
public String getInstForNxtAgtInfo() {
public Send2ReceInfo getInstForNxtAgtInfo() {
return instForNxtAgtInfo;
}
public void setInstForNxtAgtInfo(String instForNxtAgtInfo) {
public void setInstForNxtAgtInfo(Send2ReceInfo instForNxtAgtInfo) {
this.instForNxtAgtInfo = instForNxtAgtInfo;
}
@Override
public String toString() {
return "VoCustomerCreditTransfer{" +
"debitDate=" + debitDate +
", creditDate=" + creditDate +
", clsDate=" + clsDate +
", bussinessCode='" + bussinessCode + '\'' +
", instructionCodes=" + instructionCodes +
", txnTypeCode='" + txnTypeCode + '\'' +
", settledDate=" + settledDate +
", settledCcyFormatAmount=" + settledCcyFormatAmount +
", InstructedCcyFormatAmount=" + InstructedCcyFormatAmount +
", exchangeRate=" + exchangeRate +
", debitParty=" + debitParty +
", debitAgtParty=" + debitAgtParty +
", instgAgtParty=" + instgAgtParty +
", instdAgtParty=" + instdAgtParty +
", thridAgtParty=" + thridAgtParty +
", intrmyAgtParty=" + intrmyAgtParty +
", creditAgtParty=" + creditAgtParty +
", creditParty=" + creditParty +
", remittanceInfos=" + remittanceInfos +
", chargeFor=" + chargeFor +
", chargeCcyFormatAmount=" + chargeCcyFormatAmount +
", preInstgAgtInfo='" + preInstgAgtInfo + '\'' +
", instForCrdAgtInfo='" + instForCrdAgtInfo + '\'' +
", instForNxtAgtInfo='" + instForNxtAgtInfo + '\'' +
", regulatoryReportings=" + regulatoryReportings +
'}';
}
}
package com.brilliance.swift.vo;
import com.brilliance.swift.vo.common.CcyFormatAmount;
import com.brilliance.swift.vo.common.PartyAccount;
import com.brilliance.swift.vo.common.PartyDto;
import com.brilliance.swift.vo.common.Send2ReceInfo;
import java.util.Date;
public class VoFinancialInstitutionCreditTransfer extends SwiftDto{
protected String endToEndId;
protected Date debitDate;
protected Date creditDate;
protected Date clsDate;
protected Date settledDate;
protected CcyFormatAmount settledCcyFormatAmount;
protected PartyAccount settleAccount;//appear 53B
protected PartyDto debitParty;
protected PartyDto instgAgtParty;
protected PartyDto instdAgtParty;
protected PartyDto intrmyAgtParty;
protected PartyDto creditAgtParty;
protected PartyDto creditParty;
protected PartyDto preInstgAgtParty;
protected Send2ReceInfo instForCrdAgtInfo;
protected Send2ReceInfo instForNxtAgtInfo;
/**
* Underlying Customer Credit Transfer
*/
protected VoCustomerCreditTransfer underCustomerCreditTransfer;
public String getEndToEndId() {
return endToEndId;
}
public void setEndToEndId(String endToEndId) {
this.endToEndId = endToEndId;
}
public Date getDebitDate() {
return debitDate;
}
public void setDebitDate(Date debitDate) {
this.debitDate = debitDate;
}
public Date getCreditDate() {
return creditDate;
}
public void setCreditDate(Date creditDate) {
this.creditDate = creditDate;
}
public Date getClsDate() {
return clsDate;
}
public void setClsDate(Date clsDate) {
this.clsDate = clsDate;
}
public Date getSettledDate() {
return settledDate;
}
public void setSettledDate(Date settledDate) {
this.settledDate = settledDate;
}
public CcyFormatAmount getSettledCcyFormatAmount() {
return settledCcyFormatAmount;
}
public void setSettledCcyFormatAmount(CcyFormatAmount settledCcyFormatAmount) {
this.settledCcyFormatAmount = settledCcyFormatAmount;
}
public PartyAccount getSettleAccount() {
return settleAccount;
}
public void setSettleAccount(PartyAccount settleAccount) {
this.settleAccount = settleAccount;
}
public PartyDto getDebitParty() {
return debitParty;
}
public void setDebitParty(PartyDto debitParty) {
this.debitParty = debitParty;
}
public PartyDto getInstgAgtParty() {
return instgAgtParty;
}
public void setInstgAgtParty(PartyDto instgAgtParty) {
this.instgAgtParty = instgAgtParty;
}
public PartyDto getInstdAgtParty() {
return instdAgtParty;
}
public void setInstdAgtParty(PartyDto instdAgtParty) {
this.instdAgtParty = instdAgtParty;
}
public PartyDto getIntrmyAgtParty() {
return intrmyAgtParty;
}
public void setIntrmyAgtParty(PartyDto intrmyAgtParty) {
this.intrmyAgtParty = intrmyAgtParty;
}
public PartyDto getCreditAgtParty() {
return creditAgtParty;
}
public void setCreditAgtParty(PartyDto creditAgtParty) {
this.creditAgtParty = creditAgtParty;
}
public PartyDto getCreditParty() {
return creditParty;
}
public void setCreditParty(PartyDto creditParty) {
this.creditParty = creditParty;
}
public PartyDto getPreInstgAgtParty() {
return preInstgAgtParty;
}
public void setPreInstgAgtParty(PartyDto preInstgAgtParty) {
this.preInstgAgtParty = preInstgAgtParty;
}
public Send2ReceInfo getInstForCrdAgtInfo() {
return instForCrdAgtInfo;
}
public void setInstForCrdAgtInfo(Send2ReceInfo instForCrdAgtInfo) {
this.instForCrdAgtInfo = instForCrdAgtInfo;
}
public Send2ReceInfo getInstForNxtAgtInfo() {
return instForNxtAgtInfo;
}
public void setInstForNxtAgtInfo(Send2ReceInfo instForNxtAgtInfo) {
this.instForNxtAgtInfo = instForNxtAgtInfo;
}
public VoCustomerCreditTransfer getUnderCustomerCreditTransfer() {
return underCustomerCreditTransfer;
}
public void setUnderCustomerCreditTransfer(VoCustomerCreditTransfer underCustomerCreditTransfer) {
this.underCustomerCreditTransfer = underCustomerCreditTransfer;
}
}
package com.brilliance.swift.vo.common;
public class PartyAccount {
private String account;
/**
* pattern: [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}
* International Bank Account Number (IBAN)
* - identifier used internationally by financial institutions to uniquely identify the
* account of a customer. Further specifications of the format and content of the
* IBAN can be found in the standard ISO 13616 "Banking and related financial services
* - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
*/
private String ibanAcct;
private String acctCcy;
private String acctName;
private String acctType;
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getIbanAcct() {
return ibanAcct;
}
public void setIbanAcct(String ibanAcct) {
this.ibanAcct = ibanAcct;
}
public String getAcctCcy() {
return acctCcy;
}
public void setAcctCcy(String acctCcy) {
this.acctCcy = acctCcy;
}
public String getAcctName() {
return acctName;
}
public void setAcctName(String acctName) {
this.acctName = acctName;
}
public String getAcctType() {
return acctType;
}
public void setAcctType(String acctType) {
this.acctType = acctType;
}
}
......@@ -5,40 +5,19 @@ import java.util.List;
public class PartyDto {
private PartyTypeEnum partyType;
private String partyBic;
private String partyName;
private String partyAcct;
/**
* pattern: [A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}
* International Bank Account Number (IBAN)
* - identifier used internationally by financial institutions to uniquely identify the
* account of a customer. Further specifications of the format and content of the
* IBAN can be found in the standard ISO 13616 "Banking and related financial services
* - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
*/
private String partyIBANAcct;
private String partyId;
private String partyIdType;
private List<String> addressList;
public PartyDto(PartyTypeEnum partyType) {
this.partyType = partyType;
}
private PartyAccount partyAcct;
public PartyTypeEnum getPartyType() {
return partyType;
}
public void setPartyType(PartyTypeEnum partyType) {
this.partyType = partyType;
public PartyDto() {
}
public String getPartyBic() {
......@@ -57,14 +36,6 @@ public class PartyDto {
this.partyName = partyName;
}
public String getPartyAcct() {
return partyAcct;
}
public void setPartyAcct(String partyAcct) {
this.partyAcct = partyAcct;
}
public String getPartyId() {
return partyId;
}
......@@ -93,25 +64,23 @@ public class PartyDto {
return this;
}
public String getPartyIBANAcct() {
return partyIBANAcct;
public PartyAccount getPartyAcct() {
return partyAcct;
}
public void setPartyIBANAcct(String partyIBANAcct) {
this.partyIBANAcct = partyIBANAcct;
public void setPartyAcct(PartyAccount partyAcct) {
this.partyAcct = partyAcct;
}
@Override
public String toString() {
return "PartyDto{" +
"partyType=" + partyType +
", partyBic='" + partyBic + '\'' +
", partyName='" + partyName + '\'' +
", partyAcct='" + partyAcct + '\'' +
", partyIBANAcct='" + partyIBANAcct + '\'' +
", partyId='" + partyId + '\'' +
", partyIdType='" + partyIdType + '\'' +
", addressList=" + addressList +
", partyAcct=" + partyAcct +
'}';
}
}
package com.brilliance.swift.vo.common;
public class Send2ReceInfo {
private String code;
private String info;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}
{
"endToEndId": "NONREF",
"debitDate": "2022-04-24 19:35:00,000",
"creditDate": "2022-04-24 20:35:00,000",
"clsDate": "2022-04-24 21:35:00,000",
"settledDate": "2022-04-02 00:00:00,000",
"settledCcyFormatAmount": {
"ccy": "USD",
"amt": 120274.34
},
"debitParty": {
"partyType": "OI",
"partyBic": "ZASXCDFV",
"partyAcct": {
"ibanAcct": "S15612345678012345"
}
},
"instgAgtParty": {
"partyType": "SC",
"partyBic": "DEUTNL2A"
},
"instdAgtParty": {
"partyType": "RC",
"partyBic": "DEUTDEFF",
"partyAcct": {
"ibanAcct": "S15612345678012345"
}
},
"intrmyAgtParty": {
"partyType": "II",
"partyBic": "QWERFDSA",
"partyAcct": {
"ibanAcct": "S15612345678012345"
}
},
"creditAgtParty": {
"partyType": "AI",
"partyBic": "ASDFEDRF",
"partyAcct": {
"ibanAcct": "S15612345678012345"
}
},
"creditParty": {
"partyType": "BC",
"partyBic": "ZXCVDEWS",
"partyAcct": {
"ibanAcct": "S15612345678012345"
}
},
"preInstgAgtParty": {
"partyBic": "QWERFDSA"
},
"instForCrdAgtInfo": {
"code": "TELB",
"info": "456"
},
"instForNxtAgtInfo": {
"code": "TELA",
"info": "ins123"
},
"messageType": "pacs.009.001",
"senderBic": "DEUTDEFF",
"receiverBic": "DEUTNL2A",
"createDate": "2022-04-24 15:34:26,655",
"messagePriority": "NORM",
"messageId": "00010013800002001234",
"uetr": "8a562c67-ca16-48ba-b074-65581be6f001"
}
\ No newline at end of file
......@@ -5,8 +5,11 @@
:13C:/RNCTIME/1335+0800
:13C:/CLSTIME/1435+0800
:32A:220402USD120274,34
:52A:/S15612345678012345
QWERXSAD
:52D:/S15612345678012345
QWER
12
234
123
:53A:DEUTNL2A
:54A:/S15612345678012345
DEUTDEFF
......
......@@ -12,7 +12,8 @@ public class TestPacs008001 {
//String xmlStr = new Mt2MxCreateManager().mt2mx(file, "d:/test/pacs008.xml", null);
//System.out.println(xmlStr);
SwiftDto swiftDto = new Mt2MxCreateManager().mt2SwiftDto(file, "d:/test/pacs008.txt", null);
//SwiftDto swiftDto = new Mt2MxCreateManager().mt2SwiftDto(file, "d:/test/pacs008.txt");
SwiftDto swiftDto = new Mt2MxCreateManager().mt2SwiftDto(file, "D:/test/CustomerCreditTransfer.txt");
System.out.println(swiftDto.toString());
}
}
package com.brilliance.mt2mx.pacs009001;
import com.brilliance.swift.mt2mx.Mt2MxCreateManager;
import com.brilliance.swift.vo.SwiftDto;
import java.io.File;
public class TestPacs009001 {
public static void testMt202() throws Exception {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftTxt\\MT202.txt");
SwiftDto swiftDto = new Mt2MxCreateManager().mt2SwiftDto(file, "D:/test/FinancialInstitutionCreditTransfer.txt");
System.out.println(swiftDto.toString());
}
public static void testMt202Cov() throws Exception {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftTxt\\MT202_COV.txt");
SwiftDto swiftDto = new Mt2MxCreateManager().mt2SwiftDto(file, "D:/test/FinancialInstitutionCreditTransfer.txt");
System.out.println(swiftDto.toString());
}
public static void main(String[] args) throws Exception {
//testMt202();
testMt202Cov();
}
}
......@@ -7,7 +7,7 @@ import java.io.File;
public class TestPacs008001_GSON {
public static void main(String[] args) throws Exception {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\customercredittransfer.txt");
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\CustomerCreditTransfer.txt");
String xmlStr = new SwiftDto2MxCreatorManager().swiftDto2Mx(file, "d:/test/pacs008_json.xml");
System.out.println(xmlStr);
}
......
......@@ -686,7 +686,17 @@ public class MT202COV extends AbstractMT implements Serializable {
return null;
}
}
public List<Field70> getField70List() {
final List<Field70> result = new ArrayList<>();
final Tag[] tags = tags("70");
if (tags != null && tags.length > 0) {
for (Tag tag : tags) {
result.add(new Field70(tag.getValue()));
}
}
return result;
}
/**
* Iterates through block4 fields and return the first one whose name matches 33B,
* or null if none is found.<br>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment