Commit 392516f6 by zhanghou

900和910mx和swift之间的转化进行了修改

parent 046bbaac
......@@ -71,6 +71,8 @@ public class Mx2SwiftDtoBTCDCNCreator extends AbstractMx2SwiftDtoCreator {
@Override
public void messageBody() throws SwiftException {
try {
String cdtDbtInd = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.CdtDbtInd");
bankToCustomerDebitCreditNotification.setCdtDbtCode(cdtDbtInd);
//UETR
String uetr = getXmlNodeValue(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.Refs.UETR");
if (StringUtil.isNotEmpty(uetr)) {
......@@ -106,131 +108,22 @@ public class Mx2SwiftDtoBTCDCNCreator extends AbstractMx2SwiftDtoCreator {
ccyFormatAmount.setAmt(new BigDecimal(amtStr));
bankToCustomerDebitCreditNotification.setValueAmount(ccyFormatAmount);
}
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><Id><OrgId><AnyBIC>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><DbtrAcct><Id><IBAN>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><DbtrAcct><Id><Othr><Id>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><Nm>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><PstlAdr><AdrLine>
String anyBic = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Id.OrgId.AnyBIC");
String name = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.Nm");
String iban2 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.DbtrAcct.Id.IBAN");
String id2 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.DbtrAcct.Id.Othr.Id");
PartyDto partyDto1 = new PartyDto();
if(anyBic!=null){
partyDto1.setPartyBic(anyBic);
if(id2!=null||iban!=null){
PartyAccount partyAccount1 = new PartyAccount();
partyAccount1.setAccount(id2);
partyAccount1.setIbanAcct(iban2);
partyDto1.setPartyAcct(partyAccount1);
}
bankToCustomerDebitCreditNotification.setDebitParty(partyDto1);
}else if(name!=null){
partyDto1.setPartyName(name);
int adrLineCount = getXmlNodeCounts(bodyHdrParentElementName, 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(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty.PstlAdr.AdrLine("+i+")");
if (adrLine.length() > 35) adrLine = adrLine.substring(0, 35);
partyDto1.addAddress(adrLine);
}
}
if(id2!=null||iban2!=null){
PartyAccount partyAccount1 = new PartyAccount();
partyAccount1.setAccount(id2);
partyAccount1.setIbanAcct(iban2);
partyDto1.setPartyAcct(partyAccount1);
}
bankToCustomerDebitCreditNotification.setDebitParty(partyDto1);
}else {
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><Id><OrgId><AnyBIC>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><Nm>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Pty><PstlAdr><AdrLine>
String bicfi2 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls("+1+").RltdAgts.DbtrAgt.FinInstnId.BICFI");
String name2 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls("+1+").RltdAgts.DbtrAgt.FinInstnId.Nm");
String mmbId2 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls("+1+").RltdAgts.DbtrAgt.FinInstnId.ClrSysMmbId.MmbId");
String cd2 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls("+1+").RltdAgts.DbtrAgt.FinInstnId.ClrSysMmbId.ClrSysId.Cd");
PartyDto partyDto = new PartyDto();
if(bicfi2!=null){
partyDto.setPartyBic(bicfi2);
if(mmbId2!=null){
ClearingSystemMember clrSysMmb2 = new ClearingSystemMember();
clrSysMmb2.setId(mmbId2);
clrSysMmb2.setCode(cd2);
partyDto.setClrSysMmb(clrSysMmb2);
}
bankToCustomerDebitCreditNotification.setDebitAgtParty(partyDto);
}else if(name2!=null){
partyDto.setPartyName(name2);
int adrLineCount = getXmlNodeCounts(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls("+1+").RltdAgts.DbtrAgt.FinInstnId.PstlAdr.AdrLine");
if(adrLineCount>0){
for (int i=0; i<adrLineCount; i++) {
if (i == 3) {
break;
}
String adrLine = getXmlNodeValue(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls("+1+").RltdAgts.DbtrAgt.FinInstnId.PstlAdr.AdrLine("+i+")");
if (adrLine.length() > 35) adrLine = adrLine.substring(0, 35);
partyDto.addAddress(adrLine);
}
}
if(mmbId2!=null){
ClearingSystemMember clrSysMmb2 = new ClearingSystemMember();
clrSysMmb2.setId(mmbId2);
clrSysMmb2.setCode(cd2);
partyDto.setClrSysMmb(clrSysMmb2);
}
bankToCustomerDebitCreditNotification.setDebitAgtParty(partyDto);
}
}
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><IntrmyAgt1><FinInstnId><BICFI>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><IntrmyAgt1><FinInstnId><ClrSysMmbId><ClrSysId><Cd>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><IntrmyAgt1><FinInstnId><ClrSysMmbId><ClrSysId><Prtry>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><IntrmyAgt1><FinInstnId><ClrSysMmbId><MmbId>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><IntrmyAgt1><FinInstnId><Nm>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><IntrmyAgt1><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
String bicfi = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1.FinInstnId.BICFI");
String name3 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1.FinInstnId.Nm");
String mmbId = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1.FinInstnId.ClrSysMmbId.MmbId");
String cd3 = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1.FinInstnId.ClrSysMmbId.ClrSysId.Cd");
PartyDto partyDto2 = new PartyDto();
if(bicfi!=null){
partyDto2.setPartyBic(bicfi);
if(mmbId!=null){
ClearingSystemMember clrSysMmb = new ClearingSystemMember();
clrSysMmb.setId(mmbId);
clrSysMmb.setCode(cd3);
partyDto2.setClrSysMmb(clrSysMmb);
}
bankToCustomerDebitCreditNotification.setIntrmyAgtParty(partyDto2);
}else if(name3!=null){
partyDto2.setPartyName(name3);
int adrLineCount = getXmlNodeCounts(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1.FinInstnId.PstlAdr.AdrLine");
if(adrLineCount>0){
for (int i=0; i<adrLineCount; i++) {
if (i == 3) {
break;
}
String adrLine = getXmlNodeValue(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1.FinInstnId.PstlAdr.AdrLine("+i+")");
if (adrLine.length() > 35) adrLine = adrLine.substring(0, 35);
partyDto2.addAddress(adrLine);
}
}
if(mmbId!=null){
ClearingSystemMember clrSysMmb = new ClearingSystemMember();
clrSysMmb.setId(mmbId);
clrSysMmb.setCode(cd3);
partyDto2.setClrSysMmb(clrSysMmb);
}
bankToCustomerDebitCreditNotification.setIntrmyAgtParty(partyDto2);
if("CRDT".equals(cdtDbtInd)){
PartyDto debitParty = convertPartyDto(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty", "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.DbtrAcct");
bankToCustomerDebitCreditNotification.setDebitAgtParty(debitParty);
if(debitParty==null){
PartyDto debitAgtParty = agtConvertPartyDto(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt", "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.DbtrAgt");
bankToCustomerDebitCreditNotification.setDebitAgtParty(debitAgtParty);
}
PartyDto intrmyAgtParty = agtConvertPartyDto(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1", "Ntfctn.Ntry.NtryDtls.TxDtls.RltdAgts.IntrmyAgt1");
bankToCustomerDebitCreditNotification.setIntrmyAgtParty(intrmyAgtParty);
}else if("DBIT".equals(cdtDbtInd)){
PartyDto debitAgtParty = convertPartyDto(bodyHdrParentElementName, document, "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.Dbtr.Pty", "Ntfctn.Ntry.NtryDtls.TxDtls.RltdPties.DbtrAcct");
bankToCustomerDebitCreditNotification.setDebitAgtParty(debitAgtParty);
}
//<Ntfctn><Ntry><NtryDtls><TxDtls><AddtlTxInf>
String addtlTxInf = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.NtryDtls.TxDtls.AddtlTxInf");
bankToCustomerDebitCreditNotification.setAddtlTxInf(addtlTxInf);
String cdtDbtInd = getXmlNodeValue(bodyHdrParentElementName,document,"Ntfctn.Ntry.CdtDbtInd");
bankToCustomerDebitCreditNotification.setCdtDbtCode(cdtDbtInd);
} catch (Exception e){
throw new SwiftException("ERROR", e.getMessage());
}
......
......@@ -99,8 +99,6 @@ public class SwiftDto2MxCamt054001Creator extends AbstractSwiftDto2MxCreator {
txDtls.setRltdPties(rltdPties);
Party40Choice dbtr = new Party40Choice();
rltdPties.setDbtr(dbtr);
PartyIdentification135 pty = new PartyIdentification135();
dbtr.setPty(pty);
TransactionReferences6 refs =new TransactionReferences6();
refs.setEndToEndId(endToEndId);
refs.setUETR(bankToCustomerDebitCreditNotification.getUetr());
......@@ -131,38 +129,20 @@ public class SwiftDto2MxCamt054001Creator extends AbstractSwiftDto2MxCreator {
ntry.setAmt(amt);
}
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Nm>
if("CRDT".equals(cdtDbtCode)){
if(debitParty!=null){
if(debitParty.getPartyBic()!=null){
Party38Choice id = new Party38Choice();
pty.setId(id);
OrganisationIdentification29 orgId = new OrganisationIdentification29();
orgId.setAnyBIC(bankToCustomerDebitCreditNotification.getDebitParty().getPartyBic());
id.setOrgId(orgId);
CashAccount38 dbtrAcct = new CashAccount38();
PartyIdentification135 pty = partyDtoConvertTr(debitParty);
dbtr.setPty(pty);
CashAccount38 dbtrAcct = partyDtoConvertAgtAccount(debitParty.getPartyAcct());
rltdPties.setDbtrAcct(dbtrAcct);
AccountIdentification4Choice aid = new AccountIdentification4Choice();
dbtrAcct.setId(aid);
aid.setIBAN(bankToCustomerDebitCreditNotification.getDebitParty().getPartyAcct().getIbanAcct());
GenericAccountIdentification1 othr = new GenericAccountIdentification1();
aid.setOthr(othr);
othr.setId(bankToCustomerDebitCreditNotification.getDebitParty().getPartyAcct().getAccount());
}else if(debitParty.getPartyName()!=null){
pty.setNm(debitParty.getPartyName());
PostalAddress24 pstlAdr = new PostalAddress24();
pty.setPstlAdr(pstlAdr);
List<String> addressList = bankToCustomerDebitCreditNotification.getDebitParty().getAddressList();
for (String addAdrLine : addressList) {
pstlAdr.addAdrLine(addAdrLine);
}
}
}
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdPties><Dbtr><Nm>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><DbtrAgt><FinInstnId><BICFI>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><DbtrAcct><FinInstnId><BICFI>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><DbtrAcct><FinInstnId><ClrSysMmbId><ClrSysId><Cd>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><DbtrAcct><FinInstnId><ClrSysMmbId><ClrSysId><Prtry>
//<Ntfctn><Ntry><NtryDtls><TxDtls><RltdAgts><DbtrAcct><FinInstnId><ClrSysMmbId><MmbId>
if(debitAgtParty!=null){
EntryTransaction10 txDtls2 = new EntryTransaction10();
ntryDtls.addTxDtls(txDtls2);
TransactionAgents5 rltdAgts = new TransactionAgents5();
txDtls2.setRltdAgts(rltdAgts);
txDtls.setRltdAgts(rltdAgts);
BranchAndFinancialInstitutionIdentification6 dbtrAgt = partyDtoConvertAgt(debitAgtParty);
rltdAgts.setDbtrAgt(dbtrAgt);
}
......@@ -173,6 +153,14 @@ public class SwiftDto2MxCamt054001Creator extends AbstractSwiftDto2MxCreator {
BranchAndFinancialInstitutionIdentification6 intrmyAgt1 = partyDtoConvertAgt(intrmyAgtParty);
rltdAgts.setIntrmyAgt1(intrmyAgt1);
}
}else if("DBIT".equals(cdtDbtCode)){
if(debitAgtParty!=null){
PartyIdentification135 pty = partyDtoConvertTr(debitAgtParty);
dbtr.setPty(pty);
CashAccount38 dbtrAcct = partyDtoConvertAgtAccount(debitAgtParty.getPartyAcct());
rltdPties.setDbtrAcct(dbtrAcct);
}
}
if(addtlTxInf!=null){
txDtls.setAddtlTxInf(addtlTxInf);
}
......
......@@ -10,16 +10,12 @@
"amt": 126
},
"debitAgtParty": {
"partyName": "Creditor 2",
"partyName": "Creditor 1",
"addressList": [
"TEST111",
"TEST222",
"TEST333"
],
"clrSysMmb": {
"code": "ATBLZ",
"id": "FR7630588000010050000143176"
}
"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",
......
......@@ -49,31 +49,18 @@
</Refs>
<RltdPties>
<Dbtr>
<Pty></Pty>
<Pty>
<Nm>Creditor 1</Nm>
<PstlAdr>
<AdrLine>TEST1</AdrLine>
<AdrLine>TEST2</AdrLine>
<AdrLine>TEST3</AdrLine>
</PstlAdr>
</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>
<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>
......
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