Commit 7f07038d by zhanghou

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

parent 2aac6a0f
......@@ -2,6 +2,7 @@ package com.brilliance.swift.mt2SwiftDto.camt053001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.PartyAccount;
import com.prowidesoftware.swift.model.field.Field25;
......@@ -23,7 +24,11 @@ public class Camt053001Parse25aField extends AbstractMt2SwiftDtoParseFields {
Field25 field25 = mt940.getField25();
if(field25!=null){
PartyAccount account = new PartyAccount();
if (SwiftTransferUtil.checkIbanAccount(field25.getValue())) {
account.setIbanAcct(field25.getValue());
} else {
account.setAccount(field25.getValue());
}
bankToCustomerStatement.setAccount(account);
}
}else {
......
......@@ -5,12 +5,14 @@ import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.vo.BankToCustomerStatement;
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.Field86;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt9xx.MT940;
import com.prowidesoftware.swift.model.mt9xx.MT950;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -25,7 +27,17 @@ public class Camt053001Parse61Field extends AbstractMt2SwiftDtoParseFields {
if(context.get(AbstractMT.class).getMessageType().equals("940")){
MT940 mt940 = (MT940) context.get(AbstractMT.class);
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) {
for (int i = 0; i < field61List.size(); i++) {
statementBreakdown statementBreakdown = new statementBreakdown();
......@@ -46,7 +58,9 @@ public class Camt053001Parse61Field extends AbstractMt2SwiftDtoParseFields {
statementBreakdown.setEndToEndId(field61List.get(i).getReferenceForTheAccountOwner());
statementBreakdown.setAcctSvcrRef(field61List.get(i).getReferenceOfTheAccountServicingInstitution());
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);
}
}
......
......@@ -3,10 +3,12 @@ package com.brilliance.swift.mt2SwiftDto.camt053001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.vo.BankToCustomerStatement;
import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.field.Field86;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mt9xx.MT940;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -20,11 +22,9 @@ public class Camt053001Parse86Field extends AbstractMt2SwiftDtoParseFields {
BankToCustomerStatement bankToCustomerStatement = context.get(BankToCustomerStatement.class);
if(context.get(AbstractMT.class).getMessageType().equals("940")){
MT940 mt940 = (MT940) context.get(AbstractMT.class);
List<Field86> field86List = mt940.getField86();
if(field86List.size()>0) {
for (int i = 0; i < field86List.size(); i++) {
bankToCustomerStatement.addAddtlStmtInf(field86List.get(i).getNarrative());
}
List<Tag> tags = mt940.getSwiftMessage().getBlock4().getTags();
if(tags.get(tags.size()-1).getName().equals("86")){
bankToCustomerStatement.addAddtlStmtInf(tags.get(tags.size()-1).getValue());
}
}
}catch (Exception e) {
......
......@@ -2,6 +2,7 @@ package com.brilliance.swift.mt2SwiftDto.camt054001.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.mt2SwiftDto.AbstractMt2SwiftDtoParseFields;
import com.brilliance.swift.util.SwiftTransferUtil;
import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification;
import com.brilliance.swift.vo.common.PartyAccount;
import com.prowidesoftware.swift.model.field.Field25;
......@@ -23,7 +24,11 @@ public class Camt054001Parse25aField extends AbstractMt2SwiftDtoParseFields {
Field25 field25 = mt900.getField25();
if(field25!=null){
PartyAccount account =new PartyAccount();
if (SwiftTransferUtil.checkIbanAccount(field25.getValue())) {
account.setIbanAcct(field25.getValue());
} else {
account.setAccount(field25.getValue());
}
bankToCustomerDebitCreditNotification.setAccount(account);
}
}else {
......
......@@ -9,6 +9,7 @@ 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.mt9xx.MT900;
import com.prowidesoftware.swift.model.mt9xx.MT910;
/**
* @author zh
......@@ -49,6 +50,36 @@ public class Camt054001Parse52aField extends AbstractMt2SwiftDtoParseFields {
if (partyDto != null) {
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) {
throw new SwiftException("ERROR", e.getMessage());
......
......@@ -7,7 +7,7 @@ import com.brilliance.swift.util.StringUtil;
import org.dom4j.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><Id><OrgId><AnyBIC>
public class Field52aGenerate extends AbstractMx2MtFieldsGenerate {
private static final Logger logger = LoggerFactory.getLogger(Field52aGenerate.class);
......@@ -18,30 +18,19 @@ public class Field52aGenerate extends AbstractMx2MtFieldsGenerate {
Document document = (Document)map.get(Mx2MtConstants.MX_XML_DOCUMENT);
String field52aOption = "";
String field52a = "";
String bicCode = getBicCode(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId");
String memberId = getXmlNodeValue(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId.ClrSysMmbId.MmbId");
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);
String bicCode = getBicCode(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.OrgId.AnyBIC");
String name = getBicCode(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Nm");
if (StringUtil.isNotEmpty(bicCode)) {
field52aOption = "A";
if (StringUtil.isNotEmpty(memberId)) {
field52a = memberId + Mx2MtConstants.NEW_LINE + bicCode;
} else {
field52a = bicCode;
}
}else if(StringUtil.isNotEmpty(name)){
field52aOption = "D";
if (StringUtil.isNotEmpty(memberId)) {
field52a = memberId + Mx2MtConstants.NEW_LINE + name;
}
int adrLineCount = getXmlNodeCounts(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt.FinInstnId.PstlAdr.AdrLine");
int adrLineCount = getXmlNodeCounts(Mx2MtConstants.MAINBODY_PARENT_ELEMENT_NAME, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.PstlAdr.AdrLine");
if(adrLineCount>0){
for (int i=0; i<adrLineCount; i++) {
if (i == 3) {
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);
field52a += Mx2MtConstants.NEW_LINE + adrLine;
}
......
package com.brilliance.swift.mx2swiftdto;
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.fininstcdttsf.Mx2SwiftDtoFICTCreator;
import com.brilliance.swift.vo.SwiftDto;
......@@ -58,6 +59,8 @@ public class Mx2SwiftDtoCreatorManager {
return new Mx2SwiftDtoCCTCreator();
} else if ("pacs009001".equals(msgType)){
return new Mx2SwiftDtoFICTCreator();
}else if("camt054001".equals(msgType)){
return new Mx2SwiftDtoBTCDCNCreator();
} else {
throw new SwiftException("Invalid message type");
}
......
......@@ -10,22 +10,6 @@ public class SwiftDto2MtContextIdentifier {
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_60M = "ITBD";
......
......@@ -9,8 +9,8 @@ import com.brilliance.swift.vo.BankToCustomerDebitCreditNotification;
import java.util.ArrayList;
import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_900;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_910;
import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_900;
import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_910;
public class SwiftDto2Mt900910Creator extends AbstractSwiftDto2MtCreator {
@Override
......@@ -31,7 +31,7 @@ public class SwiftDto2Mt900910Creator extends AbstractSwiftDto2MtCreator {
@Override
protected String getMtType() {
BankToCustomerDebitCreditNotification bankToCustomerDebitCreditNotification = (BankToCustomerDebitCreditNotification)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true);
if(bankToCustomerDebitCreditNotification.getCdtDbtCode().equals("DBIT")){
if("DBIT".equals(bankToCustomerDebitCreditNotification.getCdtDbtCode())){
return MT_TYPE_900;
}else {
return MT_TYPE_910;
......
......@@ -20,8 +20,10 @@ public class Tag25aGenerate extends AbstractSwiftDto2MtTagGenerate {
BankToCustomerDebitCreditNotification bankToCustomerDebitCreditNotification = (BankToCustomerDebitCreditNotification)context.get(SwiftDto2MtContextIdentifier.SWIFT_DTO_OBJ, true);
SwiftMessage swiftMessage = context.get(SwiftMessage.class);
List<Tag> tags = swiftMessage.getBlock4().getTags();
if(bankToCustomerDebitCreditNotification.getAccount()!=null){
if(bankToCustomerDebitCreditNotification.getAccount().getAccount()!=null){
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){
throw new SwiftException("ERROR", e.getMessage());
......
......@@ -9,8 +9,8 @@ import com.brilliance.swift.vo.BankToCustomerStatement;
import java.util.ArrayList;
import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_940;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.MT_TYPE_950;
import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_940;
import static com.brilliance.swift.constants.Mx2MtConstants.MT_TYPE_950;
public class SwiftDto2Mt940950Creator extends AbstractSwiftDto2MtCreator {
@Override
......@@ -32,7 +32,7 @@ public class SwiftDto2Mt940950Creator extends AbstractSwiftDto2MtCreator {
@Override
protected String getMtType() {
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;
}else {
return MT_TYPE_950;
......
package com.brilliance.swift.swiftdto2mt.mt940950.impl;
import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
......@@ -14,8 +15,10 @@ import java.math.BigDecimal;
import java.util.Date;
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 {
......
......@@ -16,7 +16,7 @@ import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import static com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier.*;
import static com.brilliance.swift.constants.Mx2MtConstants.*;
public class Tag61Generate extends AbstractSwiftDto2MtTagGenerate {
......
......@@ -4,7 +4,6 @@ import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.BalDto;
import com.prowidesoftware.swift.model.SwiftMessage;
......@@ -15,6 +14,8 @@ import java.math.BigDecimal;
import java.util.Date;
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.*;
......
......@@ -4,7 +4,6 @@ import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.BalDto;
import com.prowidesoftware.swift.model.SwiftMessage;
......@@ -16,7 +15,8 @@ import java.util.Date;
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;
public class Tag64Generate extends AbstractSwiftDto2MtTagGenerate {
......
......@@ -5,20 +5,19 @@ import com.brilliance.swift.exception.SwiftException;
import com.brilliance.swift.swiftdto2mt.AbstractSwiftDto2MtTagGenerate;
import com.brilliance.swift.swiftdto2mt.SwiftDto2MtContextIdentifier;
import com.brilliance.swift.util.DateUtil;
import com.brilliance.swift.util.StringUtil;
import com.brilliance.swift.vo.BankToCustomerStatement;
import com.brilliance.swift.vo.common.BalDto;
import com.prowidesoftware.swift.model.SwiftMessage;
import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.mx.dic.CreditDebitCode;
import com.prowidesoftware.swift.model.mx.dic.Value;
import java.math.BigDecimal;
import java.util.Date;
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;
public class Tag65Generate extends AbstractSwiftDto2MtTagGenerate {
......
......@@ -25,14 +25,8 @@ public class Tag86Generate extends AbstractSwiftDto2MtTagGenerate {
List<String> addtlStmtInfList = bankToCustomerStatement.getAddtlStmtInf();
StringBuilder sb = new StringBuilder();
if(addtlStmtInfList.size()>0){
int count = 0;
for (String addtlStmtInf : addtlStmtInfList) {
if(count>=1){
sb.append(Mx2MtConstants.NEW_LINE).append(":86:");
}
String addtlStmtInf = addtlStmtInfList.get(0);
sb.append(StringUtil.getStringByEnter(addtlStmtInf, 35, 6));
count++;
}
tags.add(new Tag(name, sb.toString()));
}
}catch (Exception e){
......
package com.brilliance.swift.swiftdto2mx;
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.pacs009001.v09.SwiftDto2MxPacs009001Creator;
import com.brilliance.swift.vo.SwiftDto;
......@@ -22,6 +23,8 @@ public class SwiftDto2MxCreatorManager {
return new SwiftDto2MxPacs008001Creator();
} else if ("pacs.009.001".equals(messageType)) {
return new SwiftDto2MxPacs009001Creator();
} else if("camt.054.001".equals(messageType)){
return new SwiftDto2MxCamt054001Creator();
} else {
throw new SwiftException("Invalid message type");
}
......
......@@ -15,9 +15,18 @@
"TEST1",
"TEST2",
"TEST3"
]
},
"debitAgtParty": {
"partyName": "Creditor 2",
"addressList": [
"TEST111",
"TEST222",
"TEST333"
],
"partyAcct": {
"ibanAcct": "FR7630588000010050000143176"
"clrSysMmb": {
"code": "ATBLZ",
"id": "FR7630588000010050000143176"
}
},
"intrmyAgtParty": {
......@@ -27,16 +36,16 @@
"ADDRESS 2",
"ADDRESS 3"
],
"partyAcct": {
"account": "R7630588000010050000143176"
"clrSysMmb": {
"code": "ATBLZ",
"id": "FR7630588000010050000143176"
}
},
"addtlTxInf": "ENRICHED|TRUE SETT_METHOD|SEPA IAT_IND|FALSE DOMESTIC_IND|FALSE PRIORITY_IND|FALSE",
"messageType": "camt.054.001",
"senderBic": "DEUTDEFF",
"receiverBic": "DEUTNL2A",
"createDate": "2022-04-28 10:10:13,797",
"createDate": "2022-04-29 16:06:51,839",
"messagePriority": "NORM",
"messageId": "FRDA000003421606",
"uetr": "8a562c67-ca16-48ba-b074-65581be6f001"
"messageId": "FRDA000003421606"
}
......@@ -9,12 +9,19 @@
"ccy": "EUR",
"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",
"messageType": "camt.054.001",
"senderBic": "DEUTDEFF",
"receiverBic": "DEUTNL2A",
"createDate": "2022-04-28 10:10:09,688",
"createDate": "2022-04-29 16:06:27,410",
"messagePriority": "NORM",
"messageId": "FRDA000003421606",
"uetr": "8a562c67-ca16-48ba-b074-65581be6f001"
"messageId": "FRDA000003421606"
}
......@@ -38,8 +38,7 @@
"identificationCode": "CHK",
"endToEndId": "S100000189-735",
"acctSvcrRef": "1309170100000390154395",
"addtlTxInf": "PLACI LOVECNAMENSKIH STORITEV",
"addtlNtryInf": "HELLO WORLD"
"addtlTxInf": "PLACI LOVECNAMENSKIH STORITEV"
}
],
"closingBalance": {
......@@ -66,7 +65,6 @@
}
],
"addtlStmtInf": [
"CHINESE BEIJING",
"HELLO WORLD"
],
"messageType": "camt.053.001",
......
{1:F01DEUTNL2AAXXX0607867083}{2:O9001010200908DEUTDEFFAXXX47870115341728220418N}{3:{121:8a562c67-ca16-48ba-b074-65581be6f001}}{4:
{1:F01DEUTNL2AAXXX3540051324}{2:O9001606220429DEUTDEFFAXXX76313442662205041740N}{3:{108:2205041740590623}}{4:
:20:FRDA000003421606
:21:E2E1201
:25:S15612345678012345
:32A:220330EUR126,
:52D:Creditor 1
TEST1
TEST2
TEST3
:72:ENRICHED|TRUE SETT_METHOD|SEPA IAT_
IND|FALSE DOMESTIC_IND|FALSE PRIORI
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
:21:E2E1201
:25:S15612345678012345
:32A:220330EUR126,
:50K:/FR7630588000010050000143176
Creditor 1
:50K:Creditor 1
TEST1
TEST2
TEST3
:56D:/FR7630588000010050000143176
:52D://ATFR7630588000010050000143176
Creditor 2
TEST111
TEST222
TEST333
:56D://ATFR7630588000010050000143176
81939316
ADDRESS 1
ADDRESS 2
......
......@@ -83,7 +83,7 @@
<Chrgs>
<TtlChrgsAndTaxAmt Ccy="AAA">0</TtlChrgsAndTaxAmt>
<Amt Ccy="AAA">0</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<CdtDbtInd>CRDT</CdtDbtInd>
<Tp>
<Cd>COMM</Cd>
</Tp>
......
<?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 {
public static void main(String[] args) {
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());
}
}
......@@ -9,7 +9,7 @@ public class Test910Camt054001 {
public static void main(String[] args) {
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());
}
}
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 {
public static void main(String[] args) {
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);
}
}
......@@ -8,7 +8,7 @@ public class Test {
public static void main(String[] args) {
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);
}
}
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