Commit ea0d9b7b by zhanghou

修改了camt05200108的90D,90C

parent 9d5a3052
......@@ -5,8 +5,15 @@ import com.brilliance.swift.constants.Mx2MtConstants;
import com.brilliance.swift.mt2mx.AbstractMt2MxCreator;
import com.brilliance.swift.mt2mx.Mt2MxParseField;
import com.brilliance.swift.mt2mx.camt052001.impl.*;
import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.field.Field90C;
import com.prowidesoftware.swift.model.field.Field90D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.model.mx.dic.CreditDebitCode;
import com.prowidesoftware.swift.utils.SwiftFormatUtils;
import org.apache.poi.hpsf.Decimal;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -47,6 +54,49 @@ public class Mt2MxCamt052001Creator extends AbstractMt2MxCreator {
prtryMaps.put("cd", Mx2MtConstants.MT_TO_MX_DEFAULT_VALUE);
prtryMaps.put("issr",Mx2MtConstants.MT_TO_MX_DEFAULT_VALUE);
Tag tag90C = abstractMT.getSwiftMessage().getBlock4().getTagByName("90C");
Tag tag90D = abstractMT.getSwiftMessage().getBlock4().getTagByName("90D");
if(tag90C!=null||tag90D!=null){
Map<String, Object> txsSummryMaps = null;
if (rptMaps.containsKey("txsSummry")) {
txsSummryMaps = (Map<String, Object>) rptMaps.get("txsSummry");
} else {
txsSummryMaps = new HashMap<>();
rptMaps.put("txsSummry",txsSummryMaps);
}
int field90CNumber = 0;
BigDecimal field90CSum = BigDecimal.valueOf(0);
if(tag90C!=null){
Field90C field90C = (Field90C)tag90C.asField();
field90CNumber = Integer.parseInt(field90C.getNumber());
Number number = SwiftFormatUtils.getNumber(field90C.getAmount());
field90CSum = new BigDecimal(number.toString()).stripTrailingZeros();
}
int field90DNumber = 0;
BigDecimal field90DSum = BigDecimal.valueOf(0);
if(tag90D!=null){
Field90D field90D = (Field90D)tag90D.asField();
field90DNumber = Integer.parseInt(field90D.getNumber());
Number number = SwiftFormatUtils.getNumber(field90D.getAmount());
field90DSum = new BigDecimal(number.toString()).stripTrailingZeros();
}
Map<String, Object> ttlNtriesMaps = new HashMap<>();
txsSummryMaps.put("ttlNtries",ttlNtriesMaps);
ttlNtriesMaps.put("nbOfNtries",field90CNumber+field90DNumber);
ttlNtriesMaps.put("sum",field90CSum.add(field90DSum));
Map<String, Object> ttlNetNtryMaps = new HashMap<>();
ttlNtriesMaps.put("ttlNetNtry",ttlNetNtryMaps);
BigDecimal subtract = field90CSum.subtract(field90DSum);
int i = subtract.compareTo(BigDecimal.ZERO);
if(i>=0){
ttlNetNtryMaps.put("cdtDbtInd", CreditDebitCode.CRDT.value());
ttlNetNtryMaps.put("amt", subtract);
}else {
ttlNetNtryMaps.put("cdtDbtInd", CreditDebitCode.DBIT.value());
ttlNetNtryMaps.put("amt", subtract.negate());
}
}
}
@Override
......
......@@ -5,7 +5,9 @@ import com.brilliance.swift.mt2mx.camt052001.AbstractMt2MxCamt052001ParseField;
import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.field.Field90C;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.utils.SwiftFormatUtils;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
......@@ -33,8 +35,10 @@ public class Camt052001Parse90CField extends AbstractMt2MxCamt052001ParseField {
ttlCdtNtriesMaps = new HashMap<>();
txsSummryMaps.put("ttlCdtNtries",ttlCdtNtriesMaps);
}
Number number = SwiftFormatUtils.getNumber(field90C.getAmount());
BigDecimal amt = new BigDecimal(number.toString()).stripTrailingZeros();
ttlCdtNtriesMaps.put("nbOfNtries",field90C.getNumber());
ttlCdtNtriesMaps.put("sum",field90C.amount());
ttlCdtNtriesMaps.put("sum",amt);
}
}
}
......@@ -5,7 +5,9 @@ import com.brilliance.swift.mt2mx.camt052001.AbstractMt2MxCamt052001ParseField;
import com.prowidesoftware.swift.model.Tag;
import com.prowidesoftware.swift.model.field.Field90D;
import com.prowidesoftware.swift.model.mt.AbstractMT;
import com.prowidesoftware.swift.utils.SwiftFormatUtils;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
......@@ -33,8 +35,10 @@ public class Camt052001Parse90DField extends AbstractMt2MxCamt052001ParseField {
ttlDbtNtriesMaps = new HashMap<>();
txsSummryMaps.put("ttlDbtNtries",ttlDbtNtriesMaps);
}
Number number = SwiftFormatUtils.getNumber(field90D.getAmount());
BigDecimal amt = new BigDecimal(number.toString()).stripTrailingZeros();
ttlDbtNtriesMaps.put("nbOfNtries",field90D.getNumber());
ttlDbtNtriesMaps.put("sum",field90D.amount());
ttlDbtNtriesMaps.put("sum",amt);
}
}
}
......@@ -68,11 +68,11 @@ public class Mt2MxCamt054001Creator extends AbstractMt2MxCreator {
prtryMaps.put("issr",Mx2MtConstants.MT_TO_MX_DEFAULT_VALUE);
ntryMaps.put("ntryRef",Mx2MtConstants.MT_TO_MX_DEFAULT_VALUE);
if("900".equals(abstractMT.getMessageType())){
ntryMaps.put("cdtDbtInd", CreditDebitCode.DBIT);
txDtlsMaps.put("cdtDbtInd",CreditDebitCode.DBIT);
ntryMaps.put("cdtDbtInd", CreditDebitCode.DBIT.value());
txDtlsMaps.put("cdtDbtInd",CreditDebitCode.DBIT.value());
} else if("910".equals(abstractMT.getMessageType())){
ntryMaps.put("cdtDbtInd", CreditDebitCode.CRDT);
txDtlsMaps.put("cdtDbtInd",CreditDebitCode.CRDT);
ntryMaps.put("cdtDbtInd", CreditDebitCode.CRDT.value());
txDtlsMaps.put("cdtDbtInd",CreditDebitCode.CRDT.value());
}
Tag tag32A = abstractMT.getSwiftMessage().getBlock4().getTagByName("32A");
if(tag32A!=null){
......
......@@ -96,7 +96,7 @@ public class Mx2ElementCamt053001Creator extends AbstractMx2ElementCreator {
for (int i=0; i<paths.length; i++) {
int j = 0;
String p = paths[i];
if(!p.contains("\\.")&&p.indexOf("#")>0){
if(p.indexOf("#")>0){
String key = p.split("#")[0];
System.out.println(tmpMaps);
JSONArray array = (JSONArray) tmpMaps.get(key);
......
......@@ -21,26 +21,22 @@ lglSeqNb=bkToCstmrStmt.stmt.lglSeqNb&bigdecimal?bkToCstmrStmt.stmt.elctrncSeqNb&
pgNb=bkToCstmrStmt.stmt.stmtPgntn.pgNb
lastPgInd=bkToCstmrStmt.stmt.stmtPgntn.lastPgInd&boolean
#60
#opbdBal=@buildOpbdBalance
#61
#ntry=@bulidNtry
ntry=bkToCstmrStmt.stmt.ntry#ntry
#62
#clbdBal=@buildClbdBalance
#64
#clavBal=@buildClavBalance
opbdBalSubType=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:OPBD).tp.subTp.cd
opbdBalSubTypePrtry=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:OPBD).tp.subTp.prtry
opbdBalAmt=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:OPBD).amt.value&bigdecimal
opbdBalCcy=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:OPBD).amt.ccy
opbdBalCdtDbtInd=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:OPBD).cdtDbtInd
opbdBalDt=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:OPBD).dt.dt
#61
ntry=bkToCstmrStmt.stmt.ntry#entry
#62
clbdBalSubType=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLBD).tp.subTp.cd
clbdBalSubTypePrtry=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLBD).tp.subTp.prtry
clbdBalAmt=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLBD).amt.value&bigdecimal
clbdBalCcy=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLBD).amt.ccy
clbdBalCdtDbtInd=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLBD).cdtDbtInd
clbdBalDt=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLBD).dt.dt
#64
clavBalSubType=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLAV).tp.subTp.cd
clavBalSubTypePrtry=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLAV).tp.subTp.prtry
clavBalAmt=bkToCstmrStmt.stmt.bal(tp.cdOrPrtry.cd:CLAV).amt.value&bigdecimal
......
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