Commit 7f07038d by zhanghou

900和910mx,mt和swift之间的转换基本完成

parent 2aac6a0f
...@@ -24,4 +24,4 @@ ...@@ -24,4 +24,4 @@
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.brilliance.swift.mt2SwiftDto.camt053001.impl; ...@@ -2,6 +2,7 @@ package com.brilliance.swift.mt2SwiftDto.camt053001.impl;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields; import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.BankToCustomerStatement; import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.PartyAccount; import com.brilliance.swift.vo.common.PartyAccount;
import com.prowidesoftware.swift.model.field.Field25; import com.prowidesoftware.swift.model.field.Field25;
...@@ -23,7 +24,11 @@ public class Camt053001Parse25aField extends AbstractMt2SwiftDtoParseFields { ...@@ -23,7 +24,11 @@ public class Camt053001Parse25aField extends AbstractMt2SwiftDtoParseFields {
Field25 field25 = mt940.getField25(); Field25 field25 = mt940.getField25();
if(field25!=null){ if(field25!=null){
PartyAccount account = new PartyAccount(); PartyAccount account = new PartyAccount();
account.setAccount(field25.getValue()); if (SwiftTransferUtil.checkIbanAccount(field25.getValue())) {
account.setIbanAcct(field25.getValue());
} else {
account.setAccount(field25.getValue());
}
bankToCustomerStatement.setAccount(account); bankToCustomerStatement.setAccount(account);
} }
}else { }else {
......
...@@ -5,12 +5,14 @@ import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields; ...@@ -5,12 +5,14 @@ import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.util.DateUtil; import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.vo.BankToCustomerStatement; import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.statementBreakdown; import com.brilliance.swift.vo.common.statementBreakdown;
import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.field.Field61; import com.prowidesoftware.swift.model.field.Field61;
import com.prowidesoftware.swift.model.field.Field86; import com.prowidesoftware.swift.model.field.Field86;
import com.prowidesoftware.swift.model.mt.AbstractMT; import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt9xx.MT940; import com.prowidesoftware.swift.model.mt9xx.MT940;
import com.prowidesoftware.swift.model.mt9xx.MT950; import com.prowidesoftware.swift.model.mt9xx.MT950;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -25,7 +27,17 @@ public class Camt053001Parse61Field extends AbstractMt2SwiftDtoParseFields { ...@@ -25,7 +27,17 @@ public class Camt053001Parse61Field extends AbstractMt2SwiftDtoParseFields {
if(context.get(AbstractMT.class).getMessageType().equals("940")){ if(context.get(AbstractMT.class).getMessageType().equals("940")){
MT940 mt940 = (MT940) context.get(AbstractMT.class); MT940 mt940 = (MT940) context.get(AbstractMT.class);
List<Field61> field61List = mt940.getField61(); List<Field61> field61List = mt940.getField61();
List<Field86> field86List = mt940.getField86(); List<String> Message86List = new ArrayList<>();
List<Tag> tags = mt940.getSwiftMessage().getBlock4().getTags();
for (int i = 0; i < tags.size(); i++) {
if(tags.get(i).getName().equals("61")){
if(tags.get(i+1).getName().equals("86")){
Message86List.add(tags.get(i+1).getValue());
}else {
Message86List.add("no");
}
}
}
if(field61List.size()>0) { if(field61List.size()>0) {
for (int i = 0; i < field61List.size(); i++) { for (int i = 0; i < field61List.size(); i++) {
statementBreakdown statementBreakdown = new statementBreakdown(); statementBreakdown statementBreakdown = new statementBreakdown();
...@@ -46,7 +58,9 @@ public class Camt053001Parse61Field extends AbstractMt2SwiftDtoParseFields { ...@@ -46,7 +58,9 @@ public class Camt053001Parse61Field extends AbstractMt2SwiftDtoParseFields {
statementBreakdown.setEndToEndId(field61List.get(i).getReferenceForTheAccountOwner()); statementBreakdown.setEndToEndId(field61List.get(i).getReferenceForTheAccountOwner());
statementBreakdown.setAcctSvcrRef(field61List.get(i).getReferenceOfTheAccountServicingInstitution()); statementBreakdown.setAcctSvcrRef(field61List.get(i).getReferenceOfTheAccountServicingInstitution());
statementBreakdown.setAddtlTxInf(field61List.get(i).getSupplementaryDetails()); statementBreakdown.setAddtlTxInf(field61List.get(i).getSupplementaryDetails());
statementBreakdown.setAddtlNtryInf(field86List.get(i).getValue()); if(!Message86List.get(i).equals("no")){
statementBreakdown.setAddtlNtryInf(Message86List.get(i));
}
bankToCustomerStatement.addNtryDto(statementBreakdown); bankToCustomerStatement.addNtryDto(statementBreakdown);
} }
} }
......
...@@ -3,10 +3,12 @@ package com.brilliance.swift.mt2SwiftDto.camt053001.impl; ...@@ -3,10 +3,12 @@ package com.brilliance.swift.mt2SwiftDto.camt053001.impl;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields; import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.vo.BankToCustomerStatement; import com.brilliance.swift.vo.BankToCustomerStatement;
import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.field.Field86; import com.prowidesoftware.swift.model.field.Field86;
import com.prowidesoftware.swift.model.mt.AbstractMT; import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt9xx.MT940; import com.prowidesoftware.swift.model.mt9xx.MT940;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -20,11 +22,9 @@ public class Camt053001Parse86Field extends AbstractMt2SwiftDtoParseFields { ...@@ -20,11 +22,9 @@ public class Camt053001Parse86Field extends AbstractMt2SwiftDtoParseFields {
BankToCustomerStatement bankToCustomerStatement = context.get(BankToCustomerStatement.class); BankToCustomerStatement bankToCustomerStatement = context.get(BankToCustomerStatement.class);
if(context.get(AbstractMT.class).getMessageType().equals("940")){ if(context.get(AbstractMT.class).getMessageType().equals("940")){
MT940 mt940 = (MT940) context.get(AbstractMT.class); MT940 mt940 = (MT940) context.get(AbstractMT.class);
List<Field86> field86List = mt940.getField86(); List<Tag> tags = mt940.getSwiftMessage().getBlock4().getTags();
if(field86List.size()>0) { if(tags.get(tags.size()-1).getName().equals("86")){
for (int i = 0; i < field86List.size(); i++) { bankToCustomerStatement.addAddtlStmtInf(tags.get(tags.size()-1).getValue());
bankToCustomerStatement.addAddtlStmtInf(field86List.get(i).getNarrative());
}
} }
} }
}catch (Exception e) { }catch (Exception e) {
......
...@@ -2,6 +2,7 @@ package com.brilliance.swift.mt2SwiftDto.camt054001.impl; ...@@ -2,6 +2,7 @@ package com.brilliance.swift.mt2SwiftDto.camt054001.impl;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields; import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification; import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification;
import com.brilliance.swift.vo.common.PartyAccount; import com.brilliance.swift.vo.common.PartyAccount;
import com.prowidesoftware.swift.model.field.Field25; import com.prowidesoftware.swift.model.field.Field25;
...@@ -23,7 +24,11 @@ public class Camt054001Parse25aField extends AbstractMt2SwiftDtoParseFields { ...@@ -23,7 +24,11 @@ public class Camt054001Parse25aField extends AbstractMt2SwiftDtoParseFields {
Field25 field25 = mt900.getField25(); Field25 field25 = mt900.getField25();
if(field25!=null){ if(field25!=null){
PartyAccount account =new PartyAccount(); PartyAccount account =new PartyAccount();
account.setAccount(field25.getValue()); if (SwiftTransferUtil.checkIbanAccount(field25.getValue())) {
account.setIbanAcct(field25.getValue());
} else {
account.setAccount(field25.getValue());
}
bankToCustomerDebitCreditNotification.setAccount(account); bankToCustomerDebitCreditNotification.setAccount(account);
} }
}else { }else {
......
...@@ -9,6 +9,7 @@ import com.prowidesoftware.swift.model.field.Field52A; ...@@ -9,6 +9,7 @@ import com.prowidesoftware.swift.model.field.Field52A;
import com.prowidesoftware.swift.model.field.Field52D; import com.prowidesoftware.swift.model.field.Field52D;
import com.prowidesoftware.swift.model.mt.AbstractMT; import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt9xx.MT900; import com.prowidesoftware.swift.model.mt9xx.MT900;
import com.prowidesoftware.swift.model.mt9xx.MT910;
/** /**
* @author zh * @author zh
...@@ -49,6 +50,36 @@ public class Camt054001Parse52aField extends AbstractMt2SwiftDtoParseFields { ...@@ -49,6 +50,36 @@ public class Camt054001Parse52aField extends AbstractMt2SwiftDtoParseFields {
if (partyDto != null) { if (partyDto != null) {
bankToCustomerDebitCreditNotification.setDebitAgtParty(partyDto); bankToCustomerDebitCreditNotification.setDebitAgtParty(partyDto);
} }
}else if((context.get(AbstractMT.class).getMessageType().equals("910"))){
MT910 mt910 = (MT910) context.get(AbstractMT.class);
PartyDto partyDto = null;
if(mt910.getField52A()!=null){
Field52A field52A = mt910.getField52A();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52A.getAccount())) {
partyDto = buildPartyAccount(partyDto, field52A.getLine(1));
}
partyDto.setPartyBic(field52A.getBIC());
}else if (mt910.getField52D() != null) {
Field52D field52D = mt910.getField52D();
partyDto = new PartyDto();
if (StringUtil.isNotEmpty(field52D.getAccount())) {
partyDto = buildPartyAccount(partyDto, field52D.getLine(1));
}
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) {
bankToCustomerDebitCreditNotification.setDebitAgtParty(partyDto);
}
} }
}catch (Exception e) { }catch (Exception e) {
throw new SwiftException("ERROR", e.getMessage()); throw new SwiftException("ERROR", e.getMessage());
......
...@@ -7,7 +7,7 @@ import com.brilliance.swift.util.StringUtil; ...@@ -7,7 +7,7 @@ import com.brilliance.swift.util.StringUtil;
import org.dom4j.Document; import org.dom4j.Document;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><Id><OrgId><AnyBIC>
public class Field52aGenerate extends AbstractMx2MtFieldsGenerate { public class Field52aGenerate extends AbstractMx2MtFieldsGenerate {
private static final Logger logger = LoggerFactory.getLogger(Field52aGenerate.class); private static final Logger logger = LoggerFactory.getLogger(Field52aGenerate.class);
...@@ -18,30 +18,19 @@ public class Field52aGenerate extends AbstractMx2MtFieldsGenerate { ...@@ -18,30 +18,19 @@ public class Field52aGenerate extends AbstractMx2MtFieldsGenerate {
Document document = (Document)map.get(Mx2MtConstants.MX_XML_DOCUMENT); Document document = (Document)map.get(Mx2MtConstants.MX_XML_DOCUMENT);
String field52aOption = ""; String field52aOption = "";
String field52a = ""; String field52a = "";
String bicCode = getBicCode(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId"); String bicCode = getBicCode(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.OrgId.AnyBIC");
String memberId = getXmlNodeValue(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId.ClrSysMmbId.MmbId"); String name = getBicCode(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Nm");
String name = getXmlNodeValue(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId.Nm");
memberId = "/" + memberId;
if(memberId.length()>35)memberId = memberId.substring(0,35);
if (StringUtil.isNotEmpty(bicCode)) { if (StringUtil.isNotEmpty(bicCode)) {
field52aOption = "A"; field52a = bicCode;
if (StringUtil.isNotEmpty(memberId)) {
field52a = memberId + Mx2MtConstants.NEW_LINE + bicCode;
} else {
field52a = bicCode;
}
}else if(StringUtil.isNotEmpty(name)){ }else if(StringUtil.isNotEmpty(name)){
field52aOption = "D"; field52aOption = "D";
if (StringUtil.isNotEmpty(memberId)) { int adrLineCount = getXmlNodeCounts(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.PstlAdr.AdrLine");
field52a = memberId + Mx2MtConstants.NEW_LINE + name;
}
int adrLineCount = getXmlNodeCounts(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId.PstlAdr.AdrLine");
if(adrLineCount>0){ if(adrLineCount>0){
for (int i=0; i<adrLineCount; i++) { for (int i=0; i<adrLineCount; i++) {
if (i == 3) { if (i == 3) {
break; break;
} }
String adrLine = getXmlNodeValue(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId.PstlAdr.AdrLine("+i+")"); String adrLine = getXmlNodeValue(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.PstlAdr.AdrLine("+i+")");
if (adrLine.length() > 35) adrLine = adrLine.substring(0, 35); if (adrLine.length() > 35) adrLine = adrLine.substring(0, 35);
field52a += Mx2MtConstants.NEW_LINE + adrLine; field52a += Mx2MtConstants.NEW_LINE + adrLine;
} }
......
package com.brilliance.swift.mx2swiftdto; package com.brilliance.swift.mx2swiftdto;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mx2swiftdto.bankcdbcdnf.Mx2SwiftDtoBTCDCNCreator;
import com.brilliance.swift.mx2swiftdto.custcdttsf.Mx2SwiftDtoCCTCreator; import com.brilliance.swift.mx2swiftdto.custcdttsf.Mx2SwiftDtoCCTCreator;
import com.brilliance.swift.mx2swiftdto.fininstcdttsf.Mx2SwiftDtoFICTCreator; import com.brilliance.swift.mx2swiftdto.fininstcdttsf.Mx2SwiftDtoFICTCreator;
import com.brilliance.swift.vo.SwiftDto; import com.brilliance.swift.vo.SwiftDto;
...@@ -58,6 +59,8 @@ public class Mx2SwiftDtoCreatorManager { ...@@ -58,6 +59,8 @@ public class Mx2SwiftDtoCreatorManager {
return new Mx2SwiftDtoCCTCreator(); return new Mx2SwiftDtoCCTCreator();
} else if ("pacs009001".equals(msgType)){ } else if ("pacs009001".equals(msgType)){
return new Mx2SwiftDtoFICTCreator(); return new Mx2SwiftDtoFICTCreator();
}else if("camt054001".equals(msgType)){
return new Mx2SwiftDtoBTCDCNCreator();
} else { } else {
throw new SwiftException("Invalid message type"); throw new SwiftException("Invalid message type");
} }
......
...@@ -10,22 +10,6 @@ public class SwiftDto2MtContextIdentifier { ...@@ -10,22 +10,6 @@ public class SwiftDto2MtContextIdentifier {
public static final String MT_IO_TYPE = "mt.io.type"; public static final String MT_IO_TYPE = "mt.io.type";
public static final String MT_TYPE_900 = "900";
public static final String MT_TYPE_910 = "910";
public static final String MT_TYPE_940 = "940";
public static final String MT_TYPE_950 = "950";
public static final String DRCRMARK_C = "C";
public static final String DRCRMARK_D = "D";
public static final String DRCRMARK_RC = "RC";
public static final String DRCRMARK_RD = "RD";
public static final String CD_60F = "PRCD"; public static final String CD_60F = "PRCD";
public static final String CD_60M = "ITBD"; public static final String CD_60M = "ITBD";
......
...@@ -9,8 +9,8 @@ import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification; ...@@ -9,8 +9,8 @@ import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_900; import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_900;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_910; import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_910;
public class SwiftDto2Mt900910Creator extends AbstractSwiftDto2MtCreator { public class SwiftDto2Mt900910Creator extends AbstractSwiftDto2MtCreator {
@Override @Override
...@@ -31,7 +31,7 @@ public class SwiftDto2Mt900910Creator extends AbstractSwiftDto2MtCreator { ...@@ -31,7 +31,7 @@ public class SwiftDto2Mt900910Creator extends AbstractSwiftDto2MtCreator {
@Override @Override
protected String getMtType() { protected String getMtType() {
BankToCustomerDebitCreditNotification bankToCustomerDebitCreditNotification = (BankToCustomerDebitCreditNotification)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true); BankToCustomerDebitCreditNotification bankToCustomerDebitCreditNotification = (BankToCustomerDebitCreditNotification)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true);
if(bankToCustomerDebitCreditNotification.getCdtDbtCode().equals("DBIT")){ if("DBIT".equals(bankToCustomerDebitCreditNotification.getCdtDbtCode())){
return MT_TYPE_900; return MT_TYPE_900;
}else { }else {
return MT_TYPE_910; return MT_TYPE_910;
......
...@@ -20,8 +20,10 @@ public class Tag25aGenerate extends AbstractSwiftDto2MtTagGenerate { ...@@ -20,8 +20,10 @@ public class Tag25aGenerate extends AbstractSwiftDto2MtTagGenerate {
BankToCustomerDebitCreditNotification bankToCustomerDebitCreditNotification = (BankToCustomerDebitCreditNotification)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true); BankToCustomerDebitCreditNotification bankToCustomerDebitCreditNotification = (BankToCustomerDebitCreditNotification)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true);
SwiftMessage swiftMessage = context.get(SwiftMessage.class); SwiftMessage swiftMessage = context.get(SwiftMessage.class);
List<Tag> tags = swiftMessage.getBlock4().getTags(); List<Tag> tags = swiftMessage.getBlock4().getTags();
if(bankToCustomerDebitCreditNotification.getAccount()!=null){ if(bankToCustomerDebitCreditNotification.getAccount().getAccount()!=null){
tags.add(new Tag(name, bankToCustomerDebitCreditNotification.getAccount().getAccount())); tags.add(new Tag(name, bankToCustomerDebitCreditNotification.getAccount().getAccount()));
}else if(bankToCustomerDebitCreditNotification.getAccount().getIbanAcct()!=null){
tags.add(new Tag(name, bankToCustomerDebitCreditNotification.getAccount().getIbanAcct()));
} }
}catch (Exception e){ }catch (Exception e){
throw new SwiftException("ERROR", e.getMessage()); throw new SwiftException("ERROR", e.getMessage());
......
...@@ -9,8 +9,8 @@ import com.brilliance.swift.vo.BankToCustomerStatement; ...@@ -9,8 +9,8 @@ import com.brilliance.swift.vo.BankToCustomerStatement;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_940; import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_940;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_950; import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_950;
public class SwiftDto2Mt940950Creator extends AbstractSwiftDto2MtCreator { public class SwiftDto2Mt940950Creator extends AbstractSwiftDto2MtCreator {
@Override @Override
...@@ -32,7 +32,7 @@ public class SwiftDto2Mt940950Creator extends AbstractSwiftDto2MtCreator { ...@@ -32,7 +32,7 @@ public class SwiftDto2Mt940950Creator extends AbstractSwiftDto2MtCreator {
@Override @Override
protected String getMtType() { protected String getMtType() {
BankToCustomerStatement bankToCustomerStatement = (BankToCustomerStatement)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true); BankToCustomerStatement bankToCustomerStatement = (BankToCustomerStatement)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true);
if(bankToCustomerStatement.getCd().equals("FWAV")||bankToCustomerStatement.getAddtlStmtInf()!=null){ if("FWAV".equals(bankToCustomerStatement.getCd())||bankToCustomerStatement.getAddtlStmtInf()!=null){
return MT_TYPE_940; return MT_TYPE_940;
}else { }else {
return MT_TYPE_950; return MT_TYPE_950;
......
package com.brilliance.swift.swiftdto2mt.mt940950.impl; package com.brilliance.swift.swiftdto2mt.mt940950.impl;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate; import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier; import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
...@@ -14,8 +15,10 @@ import java.math.BigDecimal; ...@@ -14,8 +15,10 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*; import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_C;
import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_D;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.CD_60F;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.CD_60M;
public class Tag60aGenerate extends AbstractSwiftDto2MtTagGenerate { public class Tag60aGenerate extends AbstractSwiftDto2MtTagGenerate {
......
...@@ -16,7 +16,7 @@ import java.math.BigDecimal; ...@@ -16,7 +16,7 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*; import static com.brilliance.swift.constants.Mx2MtConstants.*;
public class Tag61Generate extends AbstractSwiftDto2MtTagGenerate { public class Tag61Generate extends AbstractSwiftDto2MtTagGenerate {
......
...@@ -4,7 +4,6 @@ import com.brilliance.swift.exception.SwiftException; ...@@ -4,7 +4,6 @@ import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate; import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier; import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
import com.brilliance.swift.util.DateUtil; import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.BankToCustomerStatement; import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.BalDto; import com.brilliance.swift.vo.common.BalDto;
import com.prowidesoftware.swift.model.SwiftMessage; import com.prowidesoftware.swift.model.SwiftMessage;
...@@ -15,6 +14,8 @@ import java.math.BigDecimal; ...@@ -15,6 +14,8 @@ import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_C;
import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_D;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*; import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*;
......
...@@ -4,7 +4,6 @@ import com.brilliance.swift.exception.SwiftException; ...@@ -4,7 +4,6 @@ import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate; import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier; import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
import com.brilliance.swift.util.DateUtil; import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.BankToCustomerStatement; import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.BalDto; import com.brilliance.swift.vo.common.BalDto;
import com.prowidesoftware.swift.model.SwiftMessage; import com.prowidesoftware.swift.model.SwiftMessage;
...@@ -16,7 +15,8 @@ import java.util.Date; ...@@ -16,7 +15,8 @@ import java.util.Date;
import java.util.List; import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*; import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*;
import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_C;
import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_D;
public class Tag64Generate extends AbstractSwiftDto2MtTagGenerate { public class Tag64Generate extends AbstractSwiftDto2MtTagGenerate {
......
...@@ -5,20 +5,19 @@ import com.brilliance.swift.exception.SwiftException; ...@@ -5,20 +5,19 @@ import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate; import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier; import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
import com.brilliance.swift.util.DateUtil; import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.BankToCustomerStatement; import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.BalDto; import com.brilliance.swift.vo.common.BalDto;
import com.prowidesoftware.swift.model.SwiftMessage; import com.prowidesoftware.swift.model.SwiftMessage;
import com.prowidesoftware.swift.model.Tag; import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.mx.dic.CreditDebitCode; import com.prowidesoftware.swift.model.mx.dic.CreditDebitCode;
import com.prowidesoftware.swift.model.mx.dic.Value;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*; import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*;
import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_C;
import static com.brilliance.swift.constants.Mx2MtConstants.DRCRMARK_D;
public class Tag65Generate extends AbstractSwiftDto2MtTagGenerate { public class Tag65Generate extends AbstractSwiftDto2MtTagGenerate {
......
...@@ -25,14 +25,8 @@ public class Tag86Generate extends AbstractSwiftDto2MtTagGenerate { ...@@ -25,14 +25,8 @@ public class Tag86Generate extends AbstractSwiftDto2MtTagGenerate {
List<String> addtlStmtInfList = bankToCustomerStatement.getAddtlStmtInf(); List<String> addtlStmtInfList = bankToCustomerStatement.getAddtlStmtInf();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
if(addtlStmtInfList.size()>0){ if(addtlStmtInfList.size()>0){
int count = 0; String addtlStmtInf = addtlStmtInfList.get(0);
for (String addtlStmtInf : addtlStmtInfList) { sb.append(StringUtil.getStringByEnter(addtlStmtInf, 35, 6));
if(count>=1){
sb.append(Mx2MtConstants.NEW_LINE).append(":86:");
}
sb.append(StringUtil.getStringByEnter(addtlStmtInf, 35, 6));
count++;
}
tags.add(new Tag(name, sb.toString())); tags.add(new Tag(name, sb.toString()));
} }
}catch (Exception e){ }catch (Exception e){
......
package com.brilliance.swift.swiftdto2mx; package com.brilliance.swift.swiftdto2mx;
import com.brilliance.swift.exception.SwiftException; import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mx.camt054001.v08.SwiftDto2MxCamt054001Creator;
import com.brilliance.swift.swiftdto2mx.pacs008001.v09.SwiftDto2MxPacs008001Creator; import com.brilliance.swift.swiftdto2mx.pacs008001.v09.SwiftDto2MxPacs008001Creator;
import com.brilliance.swift.swiftdto2mx.pacs009001.v09.SwiftDto2MxPacs009001Creator; import com.brilliance.swift.swiftdto2mx.pacs009001.v09.SwiftDto2MxPacs009001Creator;
import com.brilliance.swift.vo.SwiftDto; import com.brilliance.swift.vo.SwiftDto;
...@@ -22,6 +23,8 @@ public class SwiftDto2MxCreatorManager { ...@@ -22,6 +23,8 @@ public class SwiftDto2MxCreatorManager {
return new SwiftDto2MxPacs008001Creator(); return new SwiftDto2MxPacs008001Creator();
} else if ("pacs.009.001".equals(messageType)) { } else if ("pacs.009.001".equals(messageType)) {
return new SwiftDto2MxPacs009001Creator(); return new SwiftDto2MxPacs009001Creator();
} else if("camt.054.001".equals(messageType)){
return new SwiftDto2MxCamt054001Creator();
} else { } else {
throw new SwiftException("Invalid message type"); throw new SwiftException("Invalid message type");
} }
......
...@@ -15,9 +15,18 @@ ...@@ -15,9 +15,18 @@
"TEST1", "TEST1",
"TEST2", "TEST2",
"TEST3" "TEST3"
]
},
"debitAgtParty": {
"partyName": "Creditor 2",
"addressList": [
"TEST111",
"TEST222",
"TEST333"
], ],
"partyAcct": { "clrSysMmb": {
"ibanAcct": "FR7630588000010050000143176" "code": "ATBLZ",
"id": "FR7630588000010050000143176"
} }
}, },
"intrmyAgtParty": { "intrmyAgtParty": {
...@@ -27,16 +36,16 @@ ...@@ -27,16 +36,16 @@
"ADDRESS 2", "ADDRESS 2",
"ADDRESS 3" "ADDRESS 3"
], ],
"partyAcct": { "clrSysMmb": {
"account": "R7630588000010050000143176" "code": "ATBLZ",
"id": "FR7630588000010050000143176"
} }
}, },
"addtlTxInf": "ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE", "addtlTxInf": "ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE",
"messageType": "camt.054.001", "messageType": "camt.054.001",
"senderBic": "DEUTDEFF", "senderBic": "DEUTDEFF",
"receiverBic": "DEUTNL2A", "receiverBic": "DEUTNL2A",
"createDate": "2022-04-28 10:10:13,797", "createDate": "2022-04-29 16:06:51,839",
"messagePriority": "NORM", "messagePriority": "NORM",
"messageId": "FRDA000003421606", "messageId": "FRDA000003421606"
"uetr": "8a562c67-ca16-48ba-b074-65581be6f001" }
}
\ No newline at end of file
...@@ -9,12 +9,19 @@ ...@@ -9,12 +9,19 @@
"ccy": "EUR", "ccy": "EUR",
"amt": 126 "amt": 126
}, },
"debitAgtParty": {
"partyName": "Creditor 1",
"addressList": [
"TEST1",
"TEST2",
"TEST3"
]
},
"addtlTxInf": "ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSEENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METH", "addtlTxInf": "ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSEENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METH",
"messageType": "camt.054.001", "messageType": "camt.054.001",
"senderBic": "DEUTDEFF", "senderBic": "DEUTDEFF",
"receiverBic": "DEUTNL2A", "receiverBic": "DEUTNL2A",
"createDate": "2022-04-28 10:10:09,688", "createDate": "2022-04-29 16:06:27,410",
"messagePriority": "NORM", "messagePriority": "NORM",
"messageId": "FRDA000003421606", "messageId": "FRDA000003421606"
"uetr": "8a562c67-ca16-48ba-b074-65581be6f001" }
}
\ No newline at end of file
...@@ -38,8 +38,7 @@ ...@@ -38,8 +38,7 @@
"identificationCode": "CHK", "identificationCode": "CHK",
"endToEndId": "S100000189-735", "endToEndId": "S100000189-735",
"acctSvcrRef": "1309170100000390154395", "acctSvcrRef": "1309170100000390154395",
"addtlTxInf": "PLACI LOVECNAMENSKIH STORITEV", "addtlTxInf": "PLACI LOVECNAMENSKIH STORITEV"
"addtlNtryInf": "HELLO WORLD"
} }
], ],
"closingBalance": { "closingBalance": {
...@@ -66,7 +65,6 @@ ...@@ -66,7 +65,6 @@
} }
], ],
"addtlStmtInf": [ "addtlStmtInf": [
"CHINESE BEIJING",
"HELLO WORLD" "HELLO WORLD"
], ],
"messageType": "camt.053.001", "messageType": "camt.053.001",
...@@ -75,4 +73,4 @@ ...@@ -75,4 +73,4 @@
"createDate": "2022-04-28 10:23:46,048", "createDate": "2022-04-28 10:23:46,048",
"messagePriority": "NORM", "messagePriority": "NORM",
"messageId": "00010013800002001234" "messageId": "00010013800002001234"
} }
\ No newline at end of file
{1:F01DEUTNL2AAXXX0607867083}{2:O9001010200908DEUTDEFFAXXX47870115341728220418N}{3:{121:8a562c67-ca16-48ba-b074-65581be6f001}}{4: {1:F01DEUTNL2AAXXX3540051324}{2:O9001606220429DEUTDEFFAXXX76313442662205041740N}{3:{108:2205041740590623}}{4:
:20:FRDA000003421606 :20:FRDA000003421606
:21:E2E1201 :21:E2E1201
:25:S15612345678012345 :25:S15612345678012345
:32A:220330EUR126, :32A:220330EUR126,
:52D:Creditor 1
TEST1
TEST2
TEST3
:72:ENRICHED|TRUE SETT_METHOD|SEPA IAT_ :72:ENRICHED|TRUE SETT_METHOD|SEPA IAT_
IND|FALSE DOMESTIC_IND|FALSE PRIORI IND|FALSE DOMESTIC_IND|FALSE PRIORI
TY_IND|FALSEENRICHED|TRUE SETT_METH TY_IND|FALSEENRICHED|TRUE SETT_METH
......
{1:F01DEUTNL2AAXXX0072268580}{2:O9101010200908DEUTDEFFAXXX21677573331728220418N}{3:{121:8a562c67-ca16-48ba-b074-65581be6f001}}{4: {1:F01DEUTNL2AAXXX0508466280}{2:O9101606220429DEUTDEFFAXXX58867078842205041741N}{3:{108:2205041741090259}}{4:
:20:FRDA000003421606 :20:FRDA000003421606
:21:E2E1201 :21:E2E1201
:25:S15612345678012345 :25:S15612345678012345
:32A:220330EUR126, :32A:220330EUR126,
:50K:/FR7630588000010050000143176 :50K:Creditor 1
Creditor 1
TEST1 TEST1
TEST2 TEST2
TEST3 TEST3
:56D:/FR7630588000010050000143176 :52D://ATFR7630588000010050000143176
Creditor 2
TEST111
TEST222
TEST333
:56D://ATFR7630588000010050000143176
81939316 81939316
ADDRESS 1 ADDRESS 1
ADDRESS 2 ADDRESS 2
...@@ -16,4 +20,4 @@ ADDRESS 3 ...@@ -16,4 +20,4 @@ ADDRESS 3
:72:ENRICHED|TRUE SETT_METHOD|SEPA IAT_ :72:ENRICHED|TRUE SETT_METHOD|SEPA IAT_
IND|FALSE DOMESTIC_IND|FALSE PRIORI IND|FALSE DOMESTIC_IND|FALSE PRIORI
TY_IND|FALSE TY_IND|FALSE
-} -}
\ No newline at end of file
...@@ -21,23 +21,23 @@ ...@@ -21,23 +21,23 @@
<CreDt>2020-09-08T10:10:47+08:00</CreDt> <CreDt>2020-09-08T10:10:47+08:00</CreDt>
</AppHdr> </AppHdr>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02">
<BkToCstmrDbtCdtNtfctn> <BkToCstmrDbtCdtNtfctn>
<GrpHdr> <GrpHdr>
<MsgId>FRDA000003421606</MsgId> <MsgId>FRDA000003421606</MsgId>
<CreDtTm>2022-03-30T15:15:40.483+08:00</CreDtTm> <CreDtTm>2022-03-30T15:15:40.483+08:00</CreDtTm>
<AddtlInf>BatchAccounting</AddtlInf> <AddtlInf>BatchAccounting</AddtlInf>
</GrpHdr> </GrpHdr>
<Ntfctn> <Ntfctn>
<Id>AC730486180000000002</Id> <Id>AC730486180000000002</Id>
<ElctrncSeqNb>1234</ElctrncSeqNb> <ElctrncSeqNb>1234</ElctrncSeqNb>
<Acct> <Acct>
<Id> <Id>
<IBAN>S15612345678012345</IBAN> <IBAN>S15612345678012345</IBAN>
</Id> </Id>
<Svcr> <Svcr>
<FinInstnId> <FinInstnId>
<BIC>DEUTNL2A</BIC> <BIC>DEUTNL2A</BIC>
</FinInstnId> </FinInstnId>
</Svcr> </Svcr>
<Ownr> <Ownr>
<Id> <Id>
...@@ -45,134 +45,134 @@ ...@@ -45,134 +45,134 @@
<BICOrBEI>DEUTDEFF</BICOrBEI> <BICOrBEI>DEUTDEFF</BICOrBEI>
</OrgId> </OrgId>
</Id> </Id>
</Ownr> </Ownr>
</Acct> </Acct>
<Ntry> <Ntry>
<ValDt> <ValDt>
<Dt>2022-03-30+08:00</Dt> <Dt>2022-03-30+08:00</Dt>
</ValDt> </ValDt>
<Amt Ccy="EUR">126</Amt> <Amt Ccy="EUR">126</Amt>
<CdtDbtInd>CRDT</CdtDbtInd> <CdtDbtInd>CRDT</CdtDbtInd>
<Sts>BOOK</Sts> <Sts>BOOK</Sts>
<BkTxCd> <BkTxCd>
<Domn> <Domn>
<Cd>PMNT</Cd> <Cd>PMNT</Cd>
<Fmly> <Fmly>
<Cd>RDDT</Cd> <Cd>RDDT</Cd>
<SubFmlyCd>ESDD</SubFmlyCd> <SubFmlyCd>ESDD</SubFmlyCd>
</Fmly> </Fmly>
</Domn> </Domn>
<Prtry> <Prtry>
<Issr>SWIFT</Issr> <Issr>SWIFT</Issr>
</Prtry> </Prtry>
</BkTxCd> </BkTxCd>
<AmtDtls> <AmtDtls>
<InstdAmt> <InstdAmt>
<Amt Ccy="EUR">126</Amt> <Amt Ccy="EUR">126</Amt>
<CcyXchg/> <CcyXchg/>
</InstdAmt> </InstdAmt>
<TxAmt> <TxAmt>
<Amt Ccy="EUR">126</Amt> <Amt Ccy="EUR">126</Amt>
<CcyXchg/> <CcyXchg/>
</TxAmt> </TxAmt>
<CntrValAmt> <CntrValAmt>
<Amt Ccy="EUR">126</Amt> <Amt Ccy="EUR">126</Amt>
<CcyXchg/> <CcyXchg/>
</CntrValAmt> </CntrValAmt>
</AmtDtls> </AmtDtls>
<Chrgs> <Chrgs>
<TtlChrgsAndTaxAmt Ccy="AAA">0</TtlChrgsAndTaxAmt> <TtlChrgsAndTaxAmt Ccy="AAA">0</TtlChrgsAndTaxAmt>
<Amt Ccy="AAA">0</Amt> <Amt Ccy="AAA">0</Amt>
<CdtDbtInd>DBIT</CdtDbtInd> <CdtDbtInd>CRDT</CdtDbtInd>
<Tp> <Tp>
<Cd>COMM</Cd> <Cd>COMM</Cd>
</Tp> </Tp>
<Rate>0</Rate> <Rate>0</Rate>
<Br>SLEV</Br> <Br>SLEV</Br>
<Pty> <Pty>
<FinInstnId> <FinInstnId>
<BIC>AAAAAA20</BIC> <BIC>AAAAAA20</BIC>
<ClrSysMmbId> <ClrSysMmbId>
<ClrSysId> <ClrSysId>
<Cd>a</Cd> <Cd>a</Cd>
</ClrSysId> </ClrSysId>
<MmbId>a</MmbId> <MmbId>a</MmbId>
</ClrSysMmbId> </ClrSysMmbId>
<Nm>a</Nm> <Nm>a</Nm>
<PstlAdr> <PstlAdr>
<AdrTp>MLTO</AdrTp> <AdrTp>MLTO</AdrTp>
<Dept>a</Dept> <Dept>a</Dept>
<SubDept>a</SubDept> <SubDept>a</SubDept>
<StrtNm>a</StrtNm> <StrtNm>a</StrtNm>
<BldgNb>a</BldgNb> <BldgNb>a</BldgNb>
<PstCd>a</PstCd> <PstCd>a</PstCd>
<TwnNm>a</TwnNm> <TwnNm>a</TwnNm>
<CtrySubDvsn>a</CtrySubDvsn> <CtrySubDvsn>a</CtrySubDvsn>
<Ctry>AA</Ctry> <Ctry>AA</Ctry>
<AdrLine>a</AdrLine> <AdrLine>a</AdrLine>
</PstlAdr> </PstlAdr>
<Othr> <Othr>
<Id>a</Id> <Id>a</Id>
<SchmeNm> <SchmeNm>
<Cd>a</Cd> <Cd>a</Cd>
</SchmeNm> </SchmeNm>
<Issr>a</Issr> <Issr>a</Issr>
</Othr> </Othr>
</FinInstnId> </FinInstnId>
<BrnchId> <BrnchId>
<Id>a</Id> <Id>a</Id>
<Nm>a</Nm> <Nm>a</Nm>
<PstlAdr> <PstlAdr>
<AdrTp>ADDR</AdrTp> <AdrTp>ADDR</AdrTp>
<Dept>a</Dept> <Dept>a</Dept>
<SubDept>a</SubDept> <SubDept>a</SubDept>
<StrtNm>a</StrtNm> <StrtNm>a</StrtNm>
<BldgNb>a</BldgNb> <BldgNb>a</BldgNb>
<PstCd>a</PstCd> <PstCd>a</PstCd>
<TwnNm>a</TwnNm> <TwnNm>a</TwnNm>
<CtrySubDvsn>a</CtrySubDvsn> <CtrySubDvsn>a</CtrySubDvsn>
<Ctry>AA</Ctry> <Ctry>AA</Ctry>
<AdrLine>a</AdrLine> <AdrLine>a</AdrLine>
</PstlAdr> </PstlAdr>
</BrnchId> </BrnchId>
</Pty> </Pty>
<Tax> <Tax>
<Id>a</Id> <Id>a</Id>
<Rate>0</Rate> <Rate>0</Rate>
<Amt Ccy="AAA">0</Amt> <Amt Ccy="AAA">0</Amt>
</Tax> </Tax>
</Chrgs> </Chrgs>
<NtryDtls> <NtryDtls>
<Btch> <Btch>
<MsgId>FG00000000000y88sd</MsgId> <MsgId>FG00000000000y88sd</MsgId>
<NbOfTxs>1</NbOfTxs> <NbOfTxs>1</NbOfTxs>
</Btch> </Btch>
<TxDtls> <TxDtls>
<Refs> <Refs>
<AcctSvcrRef>FRDA00000343</AcctSvcrRef> <AcctSvcrRef>FRDA00000343</AcctSvcrRef>
<EndToEndId>E2E1201</EndToEndId> <EndToEndId>E2E1201</EndToEndId>
<TxId>FRDA00003343</TxId> <TxId>FRDA00003343</TxId>
<MndtId>MANFRST1COR1201003</MndtId> <MndtId>MANFRST1COR1201003</MndtId>
<UETR>8a562c67-ca16-48ba-b074-65581be6f001</UETR> <UETR>8a562c67-ca16-48ba-b074-65581be6f001</UETR>
</Refs> </Refs>
<AmtDtls/> <AmtDtls/>
<RltdPties> <RltdPties>
<Dbtr> <Dbtr>
<Nm>Creditor 1</Nm> <Nm>Creditor 1</Nm>
<PstlAdr> <PstlAdr>
<Ctry>PT</Ctry> <Ctry>PT</Ctry>
<AdrLine>TEST1</AdrLine> <AdrLine>TEST1</AdrLine>
<AdrLine>TEST2</AdrLine> <AdrLine>TEST2</AdrLine>
<AdrLine>TEST3</AdrLine> <AdrLine>TEST3</AdrLine>
<AdrLine>TEST4</AdrLine> <AdrLine>TEST4</AdrLine>
</PstlAdr> </PstlAdr>
<CtryOfRes>PT</CtryOfRes> <CtryOfRes>PT</CtryOfRes>
</Dbtr> </Dbtr>
<DbtrAcct> <DbtrAcct>
<Id> <Id>
<IBAN>FR7630588000010050000143176</IBAN> <IBAN>FR7630588000010050000143176</IBAN>
</Id> </Id>
</DbtrAcct> </DbtrAcct>
</RltdPties> </RltdPties>
<RltdAgts> <RltdAgts>
<DbtrAgt> <DbtrAgt>
...@@ -186,25 +186,25 @@ ...@@ -186,25 +186,25 @@
<IntrmyAgt1> <IntrmyAgt1>
<FinInstnId> <FinInstnId>
<Nm>81939316</Nm> <Nm>81939316</Nm>
<PstlAdr> <PstlAdr>
<AdrLine>ADDRESS 1</AdrLine> <AdrLine>ADDRESS 1</AdrLine>
<AdrLine>ADDRESS 2</AdrLine> <AdrLine>ADDRESS 2</AdrLine>
<AdrLine>ADDRESS 3</AdrLine> <AdrLine>ADDRESS 3</AdrLine>
<AdrLine>ADDRESS 4</AdrLine> <AdrLine>ADDRESS 4</AdrLine>
</PstlAdr> </PstlAdr>
</FinInstnId> </FinInstnId>
</IntrmyAgt1> </IntrmyAgt1>
</RltdAgts> </RltdAgts>
<RltdDts> <RltdDts>
<AccptncDtTm>2016-12-06T04:01:10</AccptncDtTm> <AccptncDtTm>2016-12-06T04:01:10</AccptncDtTm>
<IntrBkSttlmDt>2016-12-07</IntrBkSttlmDt> <IntrBkSttlmDt>2016-12-07</IntrBkSttlmDt>
</RltdDts> </RltdDts>
<AddtlTxInf>ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE</AddtlTxInf> <AddtlTxInf>ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE</AddtlTxInf>
</TxDtls> </TxDtls>
</NtryDtls> </NtryDtls>
<AddtlNtryInf>ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE</AddtlNtryInf> <AddtlNtryInf>ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE</AddtlNtryInf>
</Ntry> </Ntry>
</Ntfctn> </Ntfctn>
</BkToCstmrDbtCdtNtfctn> </BkToCstmrDbtCdtNtfctn>
</Document> </Document>
</Envelope> </Envelope>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<RequestPayload>
<AppHdr xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.02">
<Fr>
<FIId>
<FinInstnId>
<BICFI>DEUTDEFF</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>DEUTNL2A</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>FRDA000003421606</BizMsgIdr>
<MsgDefIdr>camt.054.001.08</MsgDefIdr>
<CreDt>2022-04-29T16:06:51.839+08:00</CreDt>
<Prty>NORM</Prty>
</AppHdr>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.08">
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>FRDA000003421606</MsgId>
<CreDtTm>2022-04-29T16:06:51.839+08:00</CreDtTm>
<AddtlInf></AddtlInf>
</GrpHdr>
<Ntfctn>
<Acct>
<Id>
<Othr>
<Id>S15612345678012345</Id>
</Othr>
</Id>
</Acct>
<Ntry>
<Amt Ccy="EUR">126</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<ValDt>
<Dt>2022-03-30+08:00</Dt>
</ValDt>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>E2E1201</EndToEndId>
</Refs>
<RltdPties>
<Dbtr>
<Pty>
<Nm>Creditor 1</Nm>
<PstlAdr>
<AdrLine>TEST1</AdrLine>
<AdrLine>TEST2</AdrLine>
<AdrLine>TEST3</AdrLine>
</PstlAdr>
</Pty>
</Dbtr>
</RltdPties>
<RltdAgts>
<IntrmyAgt1>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>ATBLZ</Cd>
</ClrSysId>
<MmbId>FR7630588000010050000143176</MmbId>
</ClrSysMmbId>
<Nm>81939316</Nm>
<PstlAdr>
<AdrLine>ADDRESS 1</AdrLine>
<AdrLine>ADDRESS 2</AdrLine>
<AdrLine>ADDRESS 3</AdrLine>
</PstlAdr>
</FinInstnId>
</IntrmyAgt1>
</RltdAgts>
<AddtlTxInf>ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE</AddtlTxInf>
</TxDtls>
<TxDtls>
<RltdAgts>
<DbtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>ATBLZ</Cd>
</ClrSysId>
<MmbId>FR7630588000010050000143176</MmbId>
</ClrSysMmbId>
<Nm>Creditor 2</Nm>
<PstlAdr>
<AdrLine>TEST111</AdrLine>
<AdrLine>TEST222</AdrLine>
<AdrLine>TEST333</AdrLine>
</PstlAdr>
</FinInstnId>
</DbtrAgt>
</RltdAgts>
</TxDtls>
</NtryDtls>
</Ntry>
</Ntfctn>
</BkToCstmrDbtCdtNtfctn>
</Document>
</RequestPayload>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<RequestPayload>
<AppHdr xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.02">
<Fr>
<FIId>
<FinInstnId>
<BICFI>DEUTDEFF</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>DEUTNL2A</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>FRDA000003421606</BizMsgIdr>
<MsgDefIdr>camt.054.001.08</MsgDefIdr>
<CreDt>2022-04-29T16:06:27.410+08:00</CreDt>
<Prty>NORM</Prty>
</AppHdr>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.08">
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>FRDA000003421606</MsgId>
<CreDtTm>2022-04-29T16:06:27.410+08:00</CreDtTm>
<AddtlInf></AddtlInf>
</GrpHdr>
<Ntfctn>
<Acct>
<Id>
<Othr>
<Id>S15612345678012345</Id>
</Othr>
</Id>
</Acct>
<Ntry>
<Amt Ccy="EUR">126</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<ValDt>
<Dt>2022-03-30+08:00</Dt>
</ValDt>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>E2E1201</EndToEndId>
</Refs>
<RltdPties>
<Dbtr>
<Pty></Pty>
</Dbtr>
</RltdPties>
<AddtlTxInf>ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSEENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METHOD|SEPA IAT_ENRICHED|TRUE SETT_METH</AddtlTxInf>
</TxDtls>
<TxDtls>
<RltdAgts>
<DbtrAgt>
<FinInstnId>
<Nm>Creditor 1</Nm>
<PstlAdr>
<AdrLine>TEST1</AdrLine>
<AdrLine>TEST2</AdrLine>
<AdrLine>TEST3</AdrLine>
</PstlAdr>
</FinInstnId>
</DbtrAgt>
</RltdAgts>
</TxDtls>
</NtryDtls>
</Ntry>
</Ntfctn>
</BkToCstmrDbtCdtNtfctn>
</Document>
</RequestPayload>
\ No newline at end of file
...@@ -9,7 +9,7 @@ public class Test900Camt054001 { ...@@ -9,7 +9,7 @@ public class Test900Camt054001 {
public static void main(String[] args) { public static void main(String[] args) {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftTxt\\MT900.txt"); File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftTxt\\MT900.txt");
SwiftDto swiftDto = new SwiftTransfer().mt2SwiftDto(file, "D:/test1/BankToCustomerDebitNotification.json", null); SwiftDto swiftDto = new SwiftTransfer().mt2SwiftDto(file, "D:/MtToSwift/BankToCustomerDebitNotification.json", null);
System.out.println(swiftDto.toString()); System.out.println(swiftDto.toString());
} }
} }
...@@ -9,7 +9,7 @@ public class Test910Camt054001 { ...@@ -9,7 +9,7 @@ public class Test910Camt054001 {
public static void main(String[] args) { public static void main(String[] args) {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftTxt\\MT910.txt"); File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftTxt\\MT910.txt");
SwiftDto swiftDto = new SwiftTransfer().mt2SwiftDto(file, "D:/test1/BankToCustomerCreditNotification.json", null); SwiftDto swiftDto = new SwiftTransfer().mt2SwiftDto(file, "D:/MtToSwift/BankToCustomerCreditNotification.json", null);
System.out.println(swiftDto.toString()); System.out.println(swiftDto.toString());
} }
} }
package com.brilliance.mx2swiftdto.bankcdbcdnf;
import com.brilliance.swift.SwiftTransfer;
import com.brilliance.swift.vo.SwiftDto;
import java.io.File;
public class Test900 {
public static void main(String[] args) {
SwiftDto swiftDto = SwiftTransfer.mx2SwiftDto(new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftXml\\MxCamt05400108_DEBIT.xml"), "D:/MxToSwift/BankToCustomerDebitNotification.json", null);
System.out.println(swiftDto);
}
}
package com.brilliance.mx2swiftdto.bankcdbcdnf;
import com.brilliance.swift.SwiftTransfer;
import com.brilliance.swift.vo.SwiftDto;
import java.io.File;
public class Test910 {
public static void main(String[] args) {
SwiftDto swiftDto = SwiftTransfer.mx2SwiftDto(new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftXml\\MxCamt05400108_CREDIT.xml"), "D:/MxToSwift/BankToCustomerCreditNotification.json", null);
System.out.println(swiftDto);
}
}
...@@ -8,7 +8,7 @@ public class Test { ...@@ -8,7 +8,7 @@ public class Test {
public static void main(String[] args) { public static void main(String[] args) {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\BankToCustomerDebitNotification.json"); File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\BankToCustomerDebitNotification.json");
String mtStr = new SwiftDto2MtCreatorManager().swiftDto2Mt(file, "D:/test2/MT900.txt", null); String mtStr = new SwiftDto2MtCreatorManager().swiftDto2Mt(file, "D:/SwiftToMt/MT900.txt", null);
System.out.println(mtStr); System.out.println(mtStr);
} }
} }
...@@ -8,7 +8,7 @@ public class Test { ...@@ -8,7 +8,7 @@ public class Test {
public static void main(String[] args) { public static void main(String[] args) {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\BankToCustomerCreditNotification.json"); File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\BankToCustomerCreditNotification.json");
String mtStr = new SwiftDto2MtCreatorManager().swiftDto2Mt(file, "D:/test2/MT910.txt", null); String mtStr = new SwiftDto2MtCreatorManager().swiftDto2Mt(file, "D:/SwiftToMt/MT910.txt", null);
System.out.println(mtStr); System.out.println(mtStr);
} }
} }
package com.brilliance.swiftdto2mx.camt054001;
import com.brilliance.swift.SwiftTransfer;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtCreatorManager;
import com.brilliance.swift.swiftdto2mx.SwiftDto2MxCreatorManager;
import com.prowidesoftware.swift.model.mt9xx.MT900;
import java.io.File;
/**
* @author zh
* @create 2022-04-29 10:12
*/
public class Text900camt054001 {
public static void main(String[] args) {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\BankToCustomerDebitNotification.json");
String mtStr = SwiftTransfer.swiftDto2Mx(file,"D:/SwiftToMx/MxCamt05400108_DEBIT.xml");
System.out.println(mtStr);
}
}
package com.brilliance.swiftdto2mx.camt054001;
import com.brilliance.swift.SwiftTransfer;
import java.io.File;
/**
* @author zh
* @create 2022-04-29 10:12
*/
public class Text910camt054001 {
public static void main(String[] args) {
File file = new File(System.getProperty("user.dir")+"\\swiftCore\\src\\main\\resources\\swiftJson\\BankToCustomerCreditNotification.json");
String mtStr = SwiftTransfer.swiftDto2Mx(file,"D:/SwiftToMx/MxCamt05400108_CREDIT.xml");
System.out.println(mtStr);
}
}
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