Commit 2782e209 by chengzhuoshen

修改MT13C逻辑

parent f000c4c2
......@@ -24,38 +24,62 @@ public class Field13CGenerate extends AbstractMx2MtTagsGenerate {
String dbtDtTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "CdtTrfTxInf.SttlmTmIndctn.DbtDtTm");
if (StringUtil.isNotEmpty(dbtDtTmStr)) {
XMLGregorianCalendar dbtDtTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(dbtDtTmStr);
String value = "/SNDTIME/" + (dbtDtTm.getHour()<10?"0"+dbtDtTm.getHour():dbtDtTm.getHour()) + (dbtDtTm.getMinute()<10?"0"+dbtDtTm.getMinute():dbtDtTm.getMinute()) + dbtDtTmStr.substring(dbtDtTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = dbtDtTmStr.substring(dbtDtTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/SNDTIME/" + (dbtDtTm.getHour()<10?"0"+dbtDtTm.getHour():dbtDtTm.getHour()) + (dbtDtTm.getMinute()<10?"0"+dbtDtTm.getMinute():dbtDtTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
String cdtDtTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "CdtTrfTxInf.SttlmTmIndctn.CdtDtTm");
if (StringUtil.isNotEmpty(cdtDtTmStr)) {
XMLGregorianCalendar cdtDtTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(cdtDtTmStr);
String value = "/RNCTIME/" + (cdtDtTm.getHour()<10?"0"+cdtDtTm.getHour():cdtDtTm.getHour()) + (cdtDtTm.getMinute()<10?"0"+cdtDtTm.getMinute():cdtDtTm.getMinute()) + dbtDtTmStr.substring(cdtDtTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = cdtDtTmStr.substring(cdtDtTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/RNCTIME/" + (cdtDtTm.getHour()<10?"0"+cdtDtTm.getHour():cdtDtTm.getHour()) + (cdtDtTm.getMinute()<10?"0"+cdtDtTm.getMinute():cdtDtTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
String clsTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "CdtTrfTxInf.SttlmTmReq.CLSTm");
if (StringUtil.isNotEmpty(clsTmStr)) {
XMLGregorianCalendar clsTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(clsTmStr);
String value = "/CLSTIME/" + (clsTm.getHour()<10?"0"+clsTm.getHour():clsTm.getHour()) + (clsTm.getMinute()<10?"0"+clsTm.getMinute():clsTm.getMinute()) + clsTmStr.substring(clsTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = clsTmStr.substring(clsTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/CLSTIME/" + (clsTm.getHour()<10?"0"+clsTm.getHour():clsTm.getHour()) + (clsTm.getMinute()<10?"0"+clsTm.getMinute():clsTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
String tillTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "CdtTrfTxInf.SttlmTmReq.TillTm");
if (StringUtil.isNotEmpty(tillTmStr)) {
XMLGregorianCalendar tillTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(tillTmStr);
String value = "/TILTIME/" + (tillTm.getHour()<10?"0"+tillTm.getHour():tillTm.getHour()) + (tillTm.getMinute()<10?"0"+tillTm.getMinute():tillTm.getMinute()) + tillTmStr.substring(tillTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = tillTmStr.substring(tillTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/TILTIME/" + (tillTm.getHour()<10?"0"+tillTm.getHour():tillTm.getHour()) + (tillTm.getMinute()<10?"0"+tillTm.getMinute():tillTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
String frTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "CdtTrfTxInf.SttlmTmReq.FrTm");
if (StringUtil.isNotEmpty(frTmStr)) {
XMLGregorianCalendar frTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(frTmStr);
String value = "/FROTIME/" + (frTm.getHour()<10?"0"+frTm.getHour():frTm.getHour()) + (frTm.getMinute()<10?"0"+frTm.getMinute():frTm.getMinute()) + frTmStr.substring(frTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = frTmStr.substring(frTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/FROTIME/" + (frTm.getHour()<10?"0"+frTm.getHour():frTm.getHour()) + (frTm.getMinute()<10?"0"+frTm.getMinute():frTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
String rejTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "CdtTrfTxInf.SttlmTmReq.RjctTm");
if (StringUtil.isNotEmpty(rejTmStr)) {
XMLGregorianCalendar rejTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(rejTmStr);
String value = "/REJTIME/" + (rejTm.getHour()<10?"0"+rejTm.getHour():rejTm.getHour()) + (rejTm.getMinute()<10?"0"+rejTm.getMinute():rejTm.getMinute()) + rejTmStr.substring(rejTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = rejTmStr.substring(rejTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/REJTIME/" + (rejTm.getHour()<10?"0"+rejTm.getHour():rejTm.getHour()) + (rejTm.getMinute()<10?"0"+rejTm.getMinute():rejTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
} catch(DatatypeConfigurationException e) {
throw new SwiftException("ERROR", e.getMessage());
......
......@@ -24,14 +24,22 @@ public class Field13CGenerate extends AbstractMx2MtTagsGenerate {
String dbtDtTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "TxInf.SttlmTmIndctn.DbtDtTm");
if (StringUtil.isNotEmpty(dbtDtTmStr)) {
XMLGregorianCalendar dbtDtTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(dbtDtTmStr);
String value = "/SNDTIME/" + (dbtDtTm.getHour()<10?"0"+dbtDtTm.getHour():dbtDtTm.getHour()) + (dbtDtTm.getMinute()<10?"0"+dbtDtTm.getMinute():dbtDtTm.getMinute()) + dbtDtTmStr.substring(dbtDtTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = dbtDtTmStr.substring(dbtDtTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/SNDTIME/" + (dbtDtTm.getHour()<10?"0"+dbtDtTm.getHour():dbtDtTm.getHour()) + (dbtDtTm.getMinute()<10?"0"+dbtDtTm.getMinute():dbtDtTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
String cdtDtTmStr = getXmlNodeValue(bodyHdrParentElementName, document, "TxInf.SttlmTmIndctn.CdtDtTm");
if (StringUtil.isNotEmpty(cdtDtTmStr)) {
XMLGregorianCalendar cdtDtTm = DatatypeFactory.newInstance().newXMLGregorianCalendar(cdtDtTmStr);
String value = "/RNCTIME/" + (cdtDtTm.getHour()<10?"0"+cdtDtTm.getHour():cdtDtTm.getHour()) + (cdtDtTm.getMinute()<10?"0"+cdtDtTm.getMinute():cdtDtTm.getMinute()) + dbtDtTmStr.substring(cdtDtTmStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = cdtDtTmStr.substring(cdtDtTmStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = "/RNCTIME/" + (cdtDtTm.getHour()<10?"0"+cdtDtTm.getHour():cdtDtTm.getHour()) + (cdtDtTm.getMinute()<10?"0"+cdtDtTm.getMinute():cdtDtTm.getMinute()) + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
} catch(DatatypeConfigurationException e) {
throw new SwiftException("ERROR", e.getMessage());
......
......@@ -26,8 +26,12 @@ public class Field13DGenerate extends AbstractMx2MtTagsGenerate {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date bookDate = fmt.parse(bookDateStr);
String dateStr = DateUtil.format(bookDate, "yyMMddHHmm");
String value = dateStr + bookDateStr.substring(bookDateStr.length()-6);
tags.add(new Tag(name, value));
String timeOff = bookDateStr.substring(bookDateStr.length()-6);
String[] timeOffs = timeOff.split(":");
if (timeOffs.length == 2) {
String value = dateStr + timeOffs[0] + timeOffs[1];
tags.add(new Tag(name, value));
}
}
} catch (ParseException e) {
throw new SwiftException("ERROR", e.getMessage());
......
......@@ -44,6 +44,13 @@ Change Log
</SttlmInf>
</GrpHdr>
<CdtTrfTxInf>
<SttlmTmIndctn>
<DbtDtTm>2022-03-13T20:24:42.112+07:00</DbtDtTm>
<CdtDtTm>2022-03-13T22:30:42.112+07:00</CdtDtTm>
</SttlmTmIndctn>
<SttlmTmReq>
<CLSTm>21:21:42.112+07:00</CLSTm>
</SttlmTmReq>
<PmtId>
<InstrId>pacs8bizmsgidr01</InstrId>
<EndToEndId>pacs008EndToEndId-001</EndToEndId>
......
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