Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
swiftMtMx
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
isc-v3.1-tmp
swiftMtMx
Commits
bd4d2a15
Commit
bd4d2a15
authored
Apr 06, 2022
by
miniphoto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
103、202、202cov
parent
95de107f
Hide whitespace changes
Inline
Side-by-side
Showing
78 changed files
with
5081 additions
and
6 deletions
+5081
-6
runConfigurations.xml
.idea/runConfigurations.xml
+11
-0
Mx2MtConstants.java
.../prowidesoftware/brilliance/constants/Mx2MtConstants.java
+10
-0
Mx2MtCreateManager.java
.../prowidesoftware/brilliance/mx2mt/Mx2MtCreateManager.java
+12
-2
Mx2Mt103Creator.java
...owidesoftware/brilliance/mx2mt/mt103/Mx2Mt103Creator.java
+111
-0
CommonFieldFor103Generate.java
...rilliance/mx2mt/mt103/impl/CommonFieldFor103Generate.java
+42
-0
Field13CGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field13CGenerate.java
+62
-0
Field20Generate.java
...software/brilliance/mx2mt/mt103/impl/Field20Generate.java
+36
-0
Field23BGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field23BGenerate.java
+51
-0
Field23EGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field23EGenerate.java
+76
-0
Field26TGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field26TGenerate.java
+45
-0
Field32AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field32AGenerate.java
+68
-0
Field33BGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field33BGenerate.java
+45
-0
Field36Generate.java
...software/brilliance/mx2mt/mt103/impl/Field36Generate.java
+40
-0
Field50AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field50AGenerate.java
+60
-0
Field50FGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field50FGenerate.java
+53
-0
Field50KGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field50KGenerate.java
+59
-0
Field52AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field52AGenerate.java
+68
-0
Field52DGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field52DGenerate.java
+70
-0
Field53AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field53AGenerate.java
+57
-0
Field53BGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field53BGenerate.java
+61
-0
Field53DGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field53DGenerate.java
+61
-0
Field54AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field54AGenerate.java
+57
-0
Field54DGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field54DGenerate.java
+61
-0
Field55AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field55AGenerate.java
+56
-0
Field55DGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field55DGenerate.java
+61
-0
Field56AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field56AGenerate.java
+60
-0
Field56CGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field56CGenerate.java
+70
-0
Field56DGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field56DGenerate.java
+62
-0
Field57AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field57AGenerate.java
+60
-0
Field57CGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field57CGenerate.java
+76
-0
Field57DGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field57DGenerate.java
+63
-0
Field59AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field59AGenerate.java
+72
-0
Field59Generate.java
...software/brilliance/mx2mt/mt103/impl/Field59Generate.java
+81
-0
Field70Generate.java
...software/brilliance/mx2mt/mt103/impl/Field70Generate.java
+48
-0
Field71AGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field71AGenerate.java
+59
-0
Field71FGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field71FGenerate.java
+47
-0
Field71GGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field71GGenerate.java
+48
-0
Field72Generate.java
...software/brilliance/mx2mt/mt103/impl/Field72Generate.java
+109
-0
Field77BGenerate.java
...oftware/brilliance/mx2mt/mt103/impl/Field77BGenerate.java
+64
-0
ReceiverBicFieldGenerate.java
...brilliance/mx2mt/mt103/impl/ReceiverBicFieldGenerate.java
+53
-0
SenderBicFieldGenerate.java
...e/brilliance/mx2mt/mt103/impl/SenderBicFieldGenerate.java
+52
-0
Mx2Mt202Creator.java
...oftware/brilliance/mx2mt/mt202cov202/Mx2Mt202Creator.java
+116
-0
CommonFieldFor202Generate.java
...nce/mx2mt/mt202cov202/impl/CommonFieldFor202Generate.java
+40
-0
Field13CGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field13CGenerate.java
+64
-0
Field20Generate.java
...re/brilliance/mx2mt/mt202cov202/impl/Field20Generate.java
+35
-0
Field21Generate.java
...re/brilliance/mx2mt/mt202cov202/impl/Field21Generate.java
+40
-0
Field32AGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field32AGenerate.java
+58
-0
Field52AGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field52AGenerate.java
+66
-0
Field52DGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field52DGenerate.java
+72
-0
Field53AGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field53AGenerate.java
+60
-0
Field53BGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field53BGenerate.java
+57
-0
Field53DGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field53DGenerate.java
+67
-0
Field54AGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field54AGenerate.java
+59
-0
Field54DGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field54DGenerate.java
+66
-0
Field56AGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field56AGenerate.java
+62
-0
Field56DGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field56DGenerate.java
+67
-0
Field57AGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field57AGenerate.java
+61
-0
Field57DGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field57DGenerate.java
+66
-0
Field58AGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field58AGenerate.java
+62
-0
Field58DGenerate.java
...e/brilliance/mx2mt/mt202cov202/impl/Field58DGenerate.java
+66
-0
Field72Generate.java
...re/brilliance/mx2mt/mt202cov202/impl/Field72Generate.java
+112
-0
ReceiverBicFieldGenerate.java
...ance/mx2mt/mt202cov202/impl/ReceiverBicFieldGenerate.java
+56
-0
SenderBicFieldGenerate.java
...liance/mx2mt/mt202cov202/impl/SenderBicFieldGenerate.java
+52
-0
Field50AGenerate.java
...illiance/mx2mt/mt202cov202/impl/cov/Field50AGenerate.java
+70
-0
Field50FGenerate.java
...illiance/mx2mt/mt202cov202/impl/cov/Field50FGenerate.java
+64
-0
Field50KGenerate.java
...illiance/mx2mt/mt202cov202/impl/cov/Field50KGenerate.java
+72
-0
FieldB33BGenerate.java
...lliance/mx2mt/mt202cov202/impl/cov/FieldB33BGenerate.java
+50
-0
FieldB52AGenerate.java
...lliance/mx2mt/mt202cov202/impl/cov/FieldB52AGenerate.java
+66
-0
FieldB52DGenerate.java
...lliance/mx2mt/mt202cov202/impl/cov/FieldB52DGenerate.java
+73
-0
FieldB56Generate.java
...illiance/mx2mt/mt202cov202/impl/cov/FieldB56Generate.java
+122
-0
FieldB57Generate.java
...illiance/mx2mt/mt202cov202/impl/cov/FieldB57Generate.java
+122
-0
FieldB59Generate.java
...illiance/mx2mt/mt202cov202/impl/cov/FieldB59Generate.java
+94
-0
FieldB70Generate.java
...illiance/mx2mt/mt202cov202/impl/cov/FieldB70Generate.java
+50
-0
MxPacs00800102.xml
src/main/resources/swiftXml/MxPacs00800102.xml
+18
-4
MxPacs00900102.xml
src/main/resources/swiftXml/MxPacs00900102.xml
+299
-0
swift_mt_202cov.vm
src/main/resources/template/swift_mt_202cov.vm
+190
-0
TestMx2MtFor103.java
src/test/java/com/brilliance/mt103/TestMx2MtFor103.java
+15
-0
TestMx2MtFor202.java
src/test/java/com/brilliance/mt202/TestMx2MtFor202.java
+15
-0
No files found.
.idea/runConfigurations.xml
0 → 100644
View file @
bd4d2a15
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"RunConfigurationProducerService"
>
<option
name=
"ignoredProducers"
>
<set>
<option
value=
"com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer"
/>
</set>
</option>
</component>
</project>
\ No newline at end of file
src/main/java/com/prowidesoftware/brilliance/constants/Mx2MtConstants.java
View file @
bd4d2a15
...
...
@@ -29,9 +29,19 @@ public class Mx2MtConstants {
public
static
final
String
MT_TYPE_103
=
"103"
;
public
static
final
String
MT_TYPE_202
=
"202"
;
public
static
final
String
OUT_PUT_FILE_PATH
=
"outPutFilePath"
;
public
static
final
String
MX_OBJECT
=
"mxObj"
;
public
static
final
String
MT_TYPE
=
"mtType"
;
public
static
final
String
INS
=
"/INS/"
;
public
static
final
String
ACC
=
"/ACC/"
;
public
static
final
String
PHONBEN
=
"/PHONBEN/"
;
public
static
final
String
PHON
=
"/PHON/"
;
public
static
final
String
TELE
=
"/TELE/"
;
public
static
final
String
REC
=
"/REC/"
;
public
static
final
String
PHONIBK
=
"/PHONIBK/"
;
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/Mx2MtCreateManager.java
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.mt103.Mx2Mt103Creator
;
import
com.prowidesoftware.brilliance.mx2mt.mt202cov202.Mx2Mt202Creator
;
import
com.prowidesoftware.brilliance.mx2mt.mt900910.Mx2Mt900910Creator
;
import
com.prowidesoftware.brilliance.mx2mt.mt940950.Mx2Mt950Creator
;
import
com.prowidesoftware.swift.model.mx.AbstractMX
;
...
...
@@ -93,9 +95,11 @@ public class Mx2MtCreateManager {
}
public
AbstractMx2MtCreator
getMx2MtCreator
(
String
msgType
)
throws
SwiftException
{
/*
if ("pacs00800102".equals(msgType)) {
if
(
"pacs00800102"
.
equals
(
msgType
))
{
return
new
Mx2Mt103Creator
();
} else */
if
(
"camt05300102"
.
equals
(
msgType
))
{
}
else
if
(
"pacs00900102"
.
equals
(
msgType
)){
return
new
Mx2Mt202Creator
();
}
else
if
(
"camt05300102"
.
equals
(
msgType
))
{
return
new
Mx2Mt950Creator
();
}
else
if
(
"camt05400102"
.
equals
(
msgType
))
{
return
new
Mx2Mt900910Creator
();
...
...
@@ -103,4 +107,10 @@ public class Mx2MtCreateManager {
throw
new
SwiftException
(
"Invalid message type"
);
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Mx2MtCreateManager
mx2MtCreateManager
=
new
Mx2MtCreateManager
();
String
mt950
=
mx2MtCreateManager
.
mx2mt
(
new
File
(
"f:/test/MxPacs00900102.xml"
),
"f:/test/MT202.txt"
);
System
.
out
.
println
(
mt950
);
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/Mx2Mt103Creator.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtCreator
;
import
com.prowidesoftware.brilliance.mx2mt.Mx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.mx2mt.mt103.impl.*
;
import
com.prowidesoftware.brilliance.util.TemplateUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
Mx2Mt103Creator
extends
AbstractMx2MtCreator
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Mx2Mt103Creator
.
class
);
/**
* Object MxPacs00800102
* receiverBic
* senderBic
* field20
* field13C
* field23B
* field23E
* field26T
* field32A
* field33B
* field36
* field50A
* field50F
* field50K
* field51A
* field52A
* field52D
* field53A
* field53B
* field53D
* field54A
* field54D
* field55A
* field55D
* field56A
* field56C
* field56D
* field57A
* field57C
* field57D
* field59
* field59A
* field70
* field71A
* field71F
* field71G
* field72
* field77B
* @return
*/
@Override
public
List
<
Mx2MtFieldsGenerate
>
getFieldsGenerateList
()
{
List
<
Mx2MtFieldsGenerate
>
fieldsGenerateList
=
new
ArrayList
<>();
fieldsGenerateList
.
add
(
new
ReceiverBicFieldGenerate
());
fieldsGenerateList
.
add
(
new
SenderBicFieldGenerate
());
fieldsGenerateList
.
add
(
new
Field13CGenerate
());
fieldsGenerateList
.
add
(
new
Field20Generate
());
fieldsGenerateList
.
add
(
new
Field23BGenerate
());
fieldsGenerateList
.
add
(
new
Field23EGenerate
());
fieldsGenerateList
.
add
(
new
Field26TGenerate
());
fieldsGenerateList
.
add
(
new
Field32AGenerate
());
fieldsGenerateList
.
add
(
new
Field33BGenerate
());
fieldsGenerateList
.
add
(
new
Field36Generate
());
fieldsGenerateList
.
add
(
new
Field50AGenerate
());
fieldsGenerateList
.
add
(
new
Field50FGenerate
());
fieldsGenerateList
.
add
(
new
Field50KGenerate
());
fieldsGenerateList
.
add
(
new
Field52AGenerate
());
fieldsGenerateList
.
add
(
new
Field52DGenerate
());
fieldsGenerateList
.
add
(
new
Field53AGenerate
());
fieldsGenerateList
.
add
(
new
Field53BGenerate
());
fieldsGenerateList
.
add
(
new
Field53DGenerate
());
fieldsGenerateList
.
add
(
new
Field54AGenerate
());
fieldsGenerateList
.
add
(
new
Field54DGenerate
());
fieldsGenerateList
.
add
(
new
Field55AGenerate
());
fieldsGenerateList
.
add
(
new
Field55DGenerate
());
fieldsGenerateList
.
add
(
new
Field56AGenerate
());
fieldsGenerateList
.
add
(
new
Field56CGenerate
());
fieldsGenerateList
.
add
(
new
Field56DGenerate
());
fieldsGenerateList
.
add
(
new
Field57AGenerate
());
fieldsGenerateList
.
add
(
new
Field57CGenerate
());
fieldsGenerateList
.
add
(
new
Field57DGenerate
());
fieldsGenerateList
.
add
(
new
Field59Generate
());
fieldsGenerateList
.
add
(
new
Field59AGenerate
());
fieldsGenerateList
.
add
(
new
Field70Generate
());
fieldsGenerateList
.
add
(
new
Field71AGenerate
());
fieldsGenerateList
.
add
(
new
Field71FGenerate
());
fieldsGenerateList
.
add
(
new
Field71GGenerate
());
fieldsGenerateList
.
add
(
new
Field72Generate
());
fieldsGenerateList
.
add
(
new
Field77BGenerate
());
fieldsGenerateList
.
add
(
new
CommonFieldFor103Generate
());
return
fieldsGenerateList
;
}
@Override
public
String
generateMtMsg
()
{
map
.
forEach
((
key
,
value
)->{
if
(!
Mx2MtConstants
.
MX_OBJECT
.
equals
(
key
))
{
logger
.
info
(
key
+
"-"
+
value
);
}
});
String
outPutFilePath
=
(
String
)
map
.
get
(
Mx2MtConstants
.
OUT_PUT_FILE_PATH
);
String
msg
=
TemplateUtil
.
makeFileByTemplate
(
"swift_mt_103.vm"
,
map
,
outPutFilePath
,
"utf-8"
);
return
msg
;
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/CommonFieldFor103Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.DateUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
public
class
CommonFieldFor103Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CommonFieldFor103Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"CommonFieldFor103Generate start."
);
try
{
MxPacs00800102
mxPacs00800102
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
mxPacs00800102
==
null
||
mxPacs00800102
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
mxPacs00800102
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
String
createDateStr
=
DateUtil
.
format
(
grpHdr
.
getCreDtTm
(),
"YYMMdd"
);
String
createTimeStr
=
DateUtil
.
format
(
grpHdr
.
getCreDtTm
(),
"HHmm"
);
map
.
put
(
"createDate"
,
createDateStr
);
map
.
put
(
"createTime"
,
createTimeStr
);
String
outDateStr
=
DateUtil
.
formatNow
(
"YYMMdd"
);
String
outTimeStr
=
DateUtil
.
formatNow
(
"HHmm"
);
map
.
put
(
"outDate"
,
outDateStr
);
map
.
put
(
"outTime"
,
outTimeStr
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 CommonField error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field13CGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.DateUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.xml.datatype.XMLGregorianCalendar
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
Field13CGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field13CGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field13CGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
List
<
String
>
filed13cList
=
new
ArrayList
<>();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getSttlmTmIndctn
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getSttlmTmIndctn
().
getDbtDtTm
()
!=
null
){
XMLGregorianCalendar
dbtDtTm
=
cdtTrfTxInf
.
get
(
0
).
getSttlmTmIndctn
().
getDbtDtTm
();
String
hmm
=
DateUtil
.
format
(
dbtDtTm
,
"HHmm"
);
filed13cList
.
add
(
"/SNDTIME/"
+
hmm
+
"+0800"
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getSttlmTmIndctn
().
getCdtDtTm
()
!=
null
){
XMLGregorianCalendar
dbtDtTm
=
cdtTrfTxInf
.
get
(
0
).
getSttlmTmIndctn
().
getCdtDtTm
();
String
hmm
=
DateUtil
.
format
(
dbtDtTm
,
"HHmm"
);
filed13cList
.
add
(
"/RNCTIME/"
+
hmm
+
"+0800"
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getSttlmTmReq
().
getCLSTm
()
!=
null
){
XMLGregorianCalendar
dbtDtTm
=
cdtTrfTxInf
.
get
(
0
).
getSttlmTmReq
().
getCLSTm
();
String
hmm
=
DateUtil
.
format
(
dbtDtTm
,
"HHmm"
);
filed13cList
.
add
(
"/CLSTIME/"
+
hmm
+
"+0800"
);
}
}
}
if
(
filed13cList
.
size
()
>
0
)
{
filed13cList
.
forEach
(
filed13c
->
logger
.
info
(
":13c:"
+
filed13c
));
map
.
put
(
"filed13CList"
,
filed13cList
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field13C error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field20Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* <GrpHdr><MsgId>
*/
public
class
Field20Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field20Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field20Generate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
map
.
put
(
"field20"
,
grpHdr
.
getMsgId
());
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field20 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field23BGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 若<Cd>节点值为“SDVA”,则取默认值“CRED”,否则直接取<Prtry>节点作为23B的值
* <CdtTrfTxInf>[1]<PmtTpInf><SvcLvl><Cd>
* <CdtTrfTxInf>[1]<PmtTpInf><SvcLvl><Prtry>
*/
public
class
Field23BGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field23BGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field23BGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
().
getCd
()
!=
null
)
{
String
field23B_cd
=
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
().
getCd
();
if
(
"SDVA"
.
equals
(
field23B_cd
))
{
map
.
put
(
"field23B"
,
"CRED"
);
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
().
getPrtry
()
!=
null
){
String
prtry
=
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
().
getPrtry
();
map
.
put
(
"field23B"
,
prtry
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field23B error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field23EGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* //1)code部分的取值:
* //1.1)若<PmtTpInf><SvcLvl><Cd>节点为“SDVA”,则取值“SDVA”;
* //1.2)若<CtgyPurp><Cd>节点有值,则直接取此节点作为23E的值;
* //1.3)若<InstrForCdtrAgt><Cd>有值,则直接取此节点作为23E的值
* //2)直接取节点<InstrInf>的内容作为addtion information的值
* <CdtTrfTxInf>[1]<PmtTpInf><CtgyPurp><Cd>
* <CdtTrfTxInf>[1]<InstrForCdtrAgt><Cd>
* <CdtTrfTxInf>[1]<InstrForCdtrAgt><InstrInf>
*/
public
class
Field23EGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field23EGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field23EGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
List
<
String
>
field23EList
=
new
ArrayList
<
String
>();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
().
getCd
()
!=
null
){
String
field23E_cd
=
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getSvcLvl
().
getCd
();
if
(
"SDVA"
.
equals
(
field23E_cd
))
{
field23EList
.
add
(
"SDVA"
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getCtgyPurp
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getCtgyPurp
().
getCd
()
!=
null
){
String
field23E
=
cdtTrfTxInf
.
get
(
0
).
getPmtTpInf
().
getCtgyPurp
().
getCd
();
field23EList
.
add
(
field23E
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
)
!=
null
)
{
if
(
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
).
getCd
()
!=
null
)
{
String
field23E
=
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
).
getCd
().
value
();
field23EList
.
add
(
field23E
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
).
getInstrInf
()
!=
null
)
{
String
field23E
=
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
).
getInstrInf
();
map
.
put
(
"field23E"
,
field23E
);
}
}
}
}
if
(
field23EList
.
size
()
>
0
)
{
field23EList
.
forEach
(
field23E
->
logger
.
info
(
":23E:"
+
field23E
));
map
.
put
(
"field23EList"
,
field23EList
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field23E error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field26TGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* <CdtTrfTxInf>[1]<Purp><Prtry>
*/
public
class
Field26TGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field26TGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field26TGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPurp
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPurp
().
getPrtry
()
!=
null
){
String
field26T
=
cdtTrfTxInf
.
get
(
0
).
getPurp
().
getPrtry
();
map
.
put
(
"field26T"
,
field26T
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field26T error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field32AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.DateUtil
;
import
com.prowidesoftware.brilliance.util.NumberUtil
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.xml.datatype.XMLGregorianCalendar
;
import
java.math.BigDecimal
;
import
java.util.List
;
public
class
Field32AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field32AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field32AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
String
month
=
""
;
String
day
=
""
;
String
year
=
""
;
if
(
obj
.
getFIToFICstmrCdtTrf
().
getCdtTrfTxInf
()
!=
null
&&
obj
.
getFIToFICstmrCdtTrf
().
getCdtTrfTxInf
().
size
()
>
0
&&
obj
.
getFIToFICstmrCdtTrf
().
getCdtTrfTxInf
().
get
(
0
)
!=
null
&&
obj
.
getFIToFICstmrCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getIntrBkSttlmDt
()
!=
null
){
month
=
String
.
valueOf
(
obj
.
getFIToFICstmrCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getIntrBkSttlmDt
().
getMonth
());
day
=
String
.
valueOf
(
obj
.
getFIToFICstmrCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getIntrBkSttlmDt
().
getDay
());
year
=
String
.
valueOf
(
obj
.
getFIToFICstmrCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getIntrBkSttlmDt
().
getYear
())
+
StringUtil
.
fillWithChar
(
month
,
"0"
,
"left"
,
2
)
+
StringUtil
.
fillWithChar
(
day
,
"0"
,
"left"
,
2
);
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getCcy
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getValue
()
!=
null
){
String
yymMdd
=
""
;
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmDt
()
!=
null
){
XMLGregorianCalendar
dt
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmDt
();
yymMdd
=
DateUtil
.
format
(
dt
,
"YYMMdd"
);
}
String
ccy
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getCcy
();
BigDecimal
amt
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getValue
();
String
amtStr
=
NumberUtil
.
formatAmt
(
amt
,
ccy
);
map
.
put
(
"field32A"
,
yymMdd
+
ccy
+
amtStr
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field32A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field33BGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.NumberUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.math.BigDecimal
;
import
java.util.List
;
public
class
Field33BGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field33BGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field33BGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getCcy
()
!=
null
){
String
ccy
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getCcy
();
BigDecimal
amt
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getValue
();
String
amtStr
=
NumberUtil
.
formatAmt
(
amt
,
ccy
);
map
.
put
(
"field33B"
,
ccy
+
amtStr
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field33B error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field36Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.math.BigDecimal
;
import
java.util.List
;
public
class
Field36Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field36Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field36Generate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getXchgRate
()
!=
null
){
BigDecimal
field36
=
cdtTrfTxInf
.
get
(
0
).
getXchgRate
();
map
.
put
(
"field36"
,
field36
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field36 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field50AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* "1,如果<AnyBIC>节点有值,则设置50 option为“A”,且BIC为此节点的值
* 2,若节点<IBAN>有值,则在此节点值前面加上“/”后,作为50的账号;
* 3,若节点<Othr><Id>有值,则在此节点值前面加上“//CH”后,作为50的账号;"
* "<CdtTrfTxInf>[1]<Dbtr><Id><OrgId><AnyBIC>
* <CdtTrfTxInf>[1]<DbtrAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<DbtrAcct><Id><Othr><Id>"
* **/
public
class
Field50AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field50AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field50AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
){
map
.
put
(
"field50Key"
,
"A"
);
map
.
put
(
"field50A"
,
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field50Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field50Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field50A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field50FGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
public
class
Field50FGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field50FGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field50FGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
){
map
.
put
(
"field50Key"
,
"F"
);
//TODO 为F条件待补充
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field50Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field50Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field50F error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field50KGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
public
class
Field50KGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field50KGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field50KGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getNm
()
!=
null
){
map
.
put
(
"field50Key"
,
"K"
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field50Adr"
,
adStr
);
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field50Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field50Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field50K error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field52AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<BICFI>有值,则设置52 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为52的账号;
* 3,若节点<Othr><SchmeNm><Cd>有值,则取“//CH”+<Othr><Id>,则作为52的账号;否则直接取<Othr><Id>,则作为52的账号。
* <CdtTrfTxInf>[1]<DbtrAgt><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<DbtrAgtAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<DbtrAgtAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<DbtrAgtAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field52AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field52AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field52AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field52Key"
,
"A"
);
map
.
put
(
"field52A"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
().
getFinInstnId
().
getBIC
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field52A error"
);
}
}
}
\ No newline at end of file
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field52DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置52 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与52A相同
* <CdtTrfTxInf>[1]<DbtrAgt><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<DbtrAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field52DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field52DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field52DGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field52Key"
,
"D"
);
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field52DAdr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field52D error"
);
}
}
}
\ No newline at end of file
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field53AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* 1,若节点<BICFI>有值,则设置53 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为53的账号;
* 3,若节点<Othr><Id>有值,则作为53的账号;
* <GrpHdr><SttlmInf><InstgRmbrsmntAgt><FinInstnId><BICFI>
* <GrpHdr><SttlmInf><InstgRmbrsmntAgtAcct><Id><IBAN>
* <GrpHdr><SttlmInf><InstgRmbrsmntAgtAcct><Id><Othr><Id>
* <GrpHdr><SttlmInf><InstgRmbrsmntAgtAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field53AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field53AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field53AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
if
(
grpHdr
.
getSttlmInf
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field53Key"
,
"A"
);
map
.
put
(
"field53"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getBIC
());
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field53A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field53BGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* //如果<SttlmAcct><Id><IBAN>或<SttlmAcct><Id><Othr><Id>有值,则设置53 option为“B”:
* //1)若节点<IBAN>有值,则作为53B的账号;
* //2)若节点<Othr><Id>有值,则作为53B的账号;
* //<GrpHdr><SttlmInf><SttlmAcct><Id><IBAN>
* //<GrpHdr><SttlmInf><SttlmAcct><Id><Othr><Id>
* //<GrpHdr><SttlmInf><SttlmAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field53BGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field53BGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field53BGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
if
(
grpHdr
.
getSttlmInf
()
!=
null
){
if
((
grpHdr
.
getSttlmInf
().
getSttlmAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getIBAN
()
!=
null
)
||
(
grpHdr
.
getSttlmInf
().
getSttlmAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
().
getId
()
!=
null
)){
map
.
put
(
"field53Key"
,
"B"
);
}
if
(
grpHdr
.
getSttlmInf
().
getSttlmAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getIBAN
());
}
if
(
grpHdr
.
getSttlmInf
().
getSttlmAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
().
getId
());
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field53B error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field53DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若节点<Nm>有值,则设置53 option为“D”,且名称取自此节点,而地址需要合并截取???
* //2,账号取值规则和节点与53A相同
* //<GrpHdr><SttlmInf><InstgRmbrsmntAgt><FinInstnId><Nm>
* //<GrpHdr><SttlmInf><InstgRmbrsmntAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field53DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field53DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field53DGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
if
(
grpHdr
.
getSttlmInf
()
!=
null
){
if
((
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getNm
()
!=
null
)){
map
.
put
(
"field53Key"
,
"D"
);
List
<
String
>
adrList
=
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field53DAdr"
,
adStr
);
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field53D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field54AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* //1,若节点<BICFI>有值,则设置54 option为“A”,同时BIC取此栏位;
* //2,若节点<IBAN>有值,则作为54的账号;
* //3,若节点<Othr><Id>有值,则作为54的账号;
* //<GrpHdr><SttlmInf><InstdRmbrsmntAgt><FinInstnId><BICFI>
* //<GrpHdr><SttlmInf><InstdRmbrsmntAgtAcct><Id><IBAN>
* //<GrpHdr><SttlmInf><InstdRmbrsmntAgtAcct><Id><Othr><Id>
*/
public
class
Field54AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field54AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field54AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
if
(
grpHdr
.
getSttlmInf
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field54Key"
,
"A"
);
map
.
put
(
"field54"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getBIC
());
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field54A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field54DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若节点<Nm>有值,则设置54 option为“D”,且名称取自此节点,而地址需要合并截取???
* //2,账号取值规则和节点与54A相同
* //<GrpHdr><SttlmInf><InstdRmbrsmntAgt><FinInstnId><Nm>
* //<GrpHdr><SttlmInf><InstdRmbrsmntAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field54DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field54DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field54DGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
if
(
grpHdr
.
getSttlmInf
()
!=
null
){
if
((
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getNm
()
!=
null
)){
map
.
put
(
"field54Key"
,
"D"
);
List
<
String
>
adrList
=
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field54DAdr"
,
adStr
);
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field54D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field55AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* //1,若节点<BICFI>有值,则设置55 option为“A”,同时BIC取此栏位
* //2,若节点<IBAN>有值,则作为55的账号;
* //3,若节点<Othr><Id>有值,则作为55的账号;
* //<GrpHdr><SttlmInf><ThrdRmbrsmntAgt><FinInstnId><BICFI>
* //<GrpHdr><SttlmInf><ThrdRmbrsmntAgtAcct><Id><IBAN>
* //<GrpHdr><SttlmInf><ThrdRmbrsmntAgtAcct><Id><Othr><Id>
*/
public
class
Field55AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field55AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field55AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
if
(
grpHdr
.
getSttlmInf
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field55Key"
,
"A"
);
map
.
put
(
"field55"
,
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgt
().
getFinInstnId
().
getBIC
());
}
if
(
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field55Account"
,
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
if
(
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field55Account"
,
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field55A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field55DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若节点<Nm>有值,则设置55 option为“D”,且名称取自此节点,而地址需要合并截取???
* //2,账号取值规则和节点与55A相同
* //<GrpHdr><SttlmInf><ThrdRmbrsmntAgt><FinInstnId><Nm>
* //<GrpHdr><SttlmInf><ThrdRmbrsmntAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field55DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field55DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field55DGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
GroupHeader33
grpHdr
=
fiToFICstmrCdtTrf
.
getGrpHdr
();
if
(
grpHdr
.
getSttlmInf
()
!=
null
){
if
((
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgt
().
getFinInstnId
().
getNm
()
!=
null
)){
map
.
put
(
"field55Key"
,
"D"
);
List
<
String
>
adrList
=
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field55DAdr"
,
adStr
);
}
if
(
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field55Account"
,
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
if
(
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field55Account"
,
grpHdr
.
getSttlmInf
().
getThrdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field55D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field56AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若节点<BICFI>有值,则设置56 option为“A”,同时BIC取此栏位;
* //2,若节点<IBAN>有值,则作为56A的账号;
* //3,若节点<Othr><Id>有值,则作为56A的账号;
* //<CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><BICFI>
* //<CdtTrfTxInf>[1]<IntrmyAgt1Acct><Id><IBAN>
* //<CdtTrfTxInf>[1]<IntrmyAgt1Acct><Id><Othr><Id>
* //<CdtTrfTxInf>[1]<IntrmyAgt1Acct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field56AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field56AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field56AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field56Key"
,
"A"
);
map
.
put
(
"field56A"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAgt
().
getFinInstnId
().
getBIC
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field56A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field56CGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //如果<IntrmyAgt1><FinInstnId><BICFI>为空,且<IntrmyAgt1><FinInstnId><Nm>为空,
* //但节点<IBAN>有值,或者节点<Othr><Id>有值,则设置56option为“C”
* //若节点<Id><Othr><Id>不为空,则取“//CH”+此节点作为账号,否则取节点<MmbId>作为账号:
* //<CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><ClrSysMmbId><ClrSysId><Cd>
* //<CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><ClrSysMmbId><ClrSysId><Prtry>
* //<CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><ClrSysMmbId><MmbId>
* //<CdtTrfTxInf>[1]<IntrmyAgt1Acct><Id><Othr><Id>
*/
public
class
Field56CGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field56CGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field56CGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getBIC
()
==
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getNm
()
==
null
){
if
((
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
)
||
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
)){
map
.
put
(
"field56Key"
,
"C"
);
}
}
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"field56Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getClrSysMmbId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field56C error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field56DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若节点<Nm>有值,则设置56 option为“D”,且名称取自此节点,而地址需要合并截取???
* //2,账号取值规则和节点与56A相同
* //<CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><Nm>
* //<CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field56DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field56DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field56DGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field56Key"
,
"D"
);
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field56DAdr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field56D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field57AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若节点<BICFI>有值,则设置57 option为“A”,同时BIC取此栏位;
* //2,若节点<IBAN>有值,则作为57A的账号;
* //3,若节点<Othr><Id>有值,则作为57A的账号;
* //<CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><BICFI>
* //<CdtTrfTxInf>[1]<CdtrAgtAcct><Id><IBAN>
* //<CdtTrfTxInf>[1]<CdtrAgtAcct><Id><Othr><Id>
* //<CdtTrfTxInf>[1]<CdtrAgtAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field57AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field57AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field57AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field57Key"
,
"A"
);
map
.
put
(
"field57A"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getBIC
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field57A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field57CGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //如果<CdtrAgt><FinInstnId><BICFI>为空,且<CdtrAgt><FinInstnId><Nm>为空,
* // 但节点<IBAN>有值,或者节点<Othr><Id>有值,则设置57 option为“C”
* //若节点<Id><Othr><Id>不为空,则取“//CH”+此节点作为账号,否则取节点<MmbId>作为账号:
* //<CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><ClrSysMmbId><ClrSysId><Cd>
* //<CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><ClrSysMmbId><ClrSysId><Prtry>
* //<CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><ClrSysMmbId><MmbId>
* //<CdtTrfTxInf>[1]<CdtrAgtAcct><Id><Othr><Id>
*/
public
class
Field57CGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field57CGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field57CGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
((
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getBIC
()
==
null
)
&&
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getNm
()
==
null
)){
if
((
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
()
!=
null
)
||
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)){
map
.
put
(
"field57Key"
,
"C"
);
}
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getClrSysMmbId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
());
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field57C error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field57DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若节点<Nm>有值,则设置57 option为“D”,且名称取自此节点,而地址需要合并截取???
* //2,账号取值规则和节点与57A相同
* //<CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><Nm>
* //<CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field57DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field57DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field57DGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field57Key"
,
"D"
);
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field57DAdr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field57D error"
);
}
}
}
\ No newline at end of file
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field59AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<AnyBIC>有值,则设置59 option为“A”,同时BIC取此栏位;
* 2,账号取值规则和节点与59相同
* <CdtTrfTxInf>[1]<Cdtr><Id><OrgId><AnyBIC>
*/
public
class
Field59AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field59AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field59AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
){
map
.
put
(
"field59AKey"
,
"A"
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field59Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
());
}
if
((
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
&&
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
)){
map
.
put
(
"field59Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
){
if
((
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
&&
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
==
null
)){
map
.
put
(
"field59Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field59A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field59Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
*
* "1,若节点<Nm>有值,则设置59 option为“”,且名称取自此节点,而地址需要合并截取???
* 2,若节点<IBAN>有值,则在此节点的值前面加上“/”后,作为59账号的值;
* 3,若节点<Othr><Id>有值,且节点<Othr><SchmeNm><Cd>有值,则在节点<Othr><Id>的值前面加上“//CH”后,作为59账号的值;
* 4,若节点<Othr><Id>有值,且节点<Othr><SchmeNm><Cd>没值,则在节点<Othr><Id>的值前面加上“/”后,作为59账号的值;" "<CdtTrfTxInf>[1]<Cdtr><Nm>
* <CdtTrfTxInf>[1]<Cdtr><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
* <CdtTrfTxInf>[1]<CdtrAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<CdtrAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<CdtrAcct><Id><Othr><SchmeNm><Cd>"
* **/
public
class
Field59Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field59Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field59Generate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getNm
()
!=
null
){
map
.
put
(
"field59Key"
,
""
);
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field59Adr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field59Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
());
}
if
((
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
&&
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
)){
map
.
put
(
"field59Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
}
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
){
if
((
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
&&
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
==
null
)){
map
.
put
(
"field59Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field59 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field70Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 取此节点按4*35的格式拆分,放入70栏位中
* <CdtTrfTxInf>[1]<RmtInf><Ustrd>[1]
*/
public
class
Field70Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field70Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field70Generate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRmtInf
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRmtInf
().
getUstrd
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRmtInf
().
getUstrd
().
get
(
0
)
!=
null
){
String
s
=
cdtTrfTxInf
.
get
(
0
).
getRmtInf
().
getUstrd
().
get
(
0
);
StringUtil
.
getStringByEnter
(
s
,
35
,
4
);
map
.
put
(
"field70"
,
s
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field70 error"
);
}
}
}
\ No newline at end of file
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field71AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1)如果节点值为 'CRED',则71A取值为“BEN”
* 2)如果节点值为 'DEBT',则71A取值为“OUR”
* 3)如果节点值为'SHAR',则71A取值为“SHA”
* <CdtTrfTxInf>[1]<ChrgBr>
*/
public
class
Field71AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field71AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field71AGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgBr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgBr
().
value
()
!=
null
)
{
String
field71A_mx
=
cdtTrfTxInf
.
get
(
0
).
getChrgBr
().
value
();
String
field71A
=
""
;
if
(
"CRED"
.
equals
(
field71A_mx
))
{
field71A
=
"BEN"
;
}
else
if
(
"DEBT"
.
equals
(
field71A_mx
))
{
field71A
=
"OUR"
;
}
else
if
(
"SHAR"
.
equals
(
field71A_mx
))
{
field71A
=
"SHA"
;
}
map
.
put
(
"field71A"
,
field71A
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field71A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field71FGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,若71A为“BEN”或“SHA”,则此节点取值为71F
* //CdtTrfTxInf>[1]<ChrgsInf><Amt Ccy="XXX">
*/
public
class
Field71FGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field71FGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field71FGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
).
getAmt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
).
getAmt
().
getCcy
()
!=
null
)
{
if
(
"BEN"
.
equals
(
map
.
get
(
"field71A"
))
||
"SHA"
.
equals
(
map
.
get
(
"field71A"
))){
map
.
put
(
"field71F"
,
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
).
getAmt
().
getCcy
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field71F error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field71GGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若71A为“OUR”,则此节点取值为71G;
* <CdtTrfTxInf>[1]<ChrgsInf><Amt Ccy="XXX">
*/
public
class
Field71GGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field71GGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field71GGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
).
getAmt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
).
getAmt
().
getCcy
()
!=
null
)
{
if
(
"OUR"
.
equals
(
map
.
get
(
"field71A"
))){
map
.
put
(
"field71G"
,
cdtTrfTxInf
.
get
(
0
).
getChrgsInf
().
get
(
0
).
getAmt
().
getCcy
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field71G error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field72Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* //1,如果<BICFI>有值,则取值为“/INS/”+此节点的值
* //2,如果<Nm>有值,则取值为“/INS/”+此节点的值,超过35字节则将剩下内容用“//内容“的方式进行截取
* //3,若<InstrForCdtrAgt><InstrInf>有值,则转为“/ACC/此节点的值”,超过35字节则将剩下内容用“//内容“的方式进行截取
* //4,若<InstrForNxtAgt><InstrInf>有值,则转为“/REC/此节点的值”,超过35字节则将剩下内容用“//内容“的方式进行截取
* //<CdtTrfTxInf>[1]<PrvsInstgAgt1><FinInstnId><BICFI>
* //<CdtTrfTxInf>[1]<PrvsInstgAgt1><FinInstnId><Nm>
* //<CdtTrfTxInf>[1]<InstrForCdtrAgt><InstrInf>
* //<CdtTrfTxInf>[1]<InstrForNxtAgt><InstrInf>
*/
public
class
Field72Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field72Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field72Generate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
().
getBIC
()
!=
null
)
{
map
.
put
(
"field72Adr1"
,
"/INS/"
+
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
().
getBIC
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
().
getNm
()
!=
null
){
String
str
=
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
().
getNm
();
String
strs
=
cutForStr
(
str
,
35
);
map
.
put
(
"field72Adr2"
,
"/INS/"
+
strs
);
}
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
).
getInstrInf
()
!=
null
){
String
str
=
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
get
(
0
).
getInstrInf
();
String
strs
=
cutForStr
(
str
,
35
);
map
.
put
(
"field72Adr3"
,
"/ACC/"
+
strs
);
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForNxtAgt
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForNxtAgt
().
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForNxtAgt
().
get
(
0
).
getInstrInf
()
!=
null
){
String
str
=
cdtTrfTxInf
.
get
(
0
).
getInstrForNxtAgt
().
get
(
0
).
getInstrInf
();
String
strs
=
cutForStr
(
str
,
35
);
map
.
put
(
"field72Adr4"
,
"/REC/"
+
strs
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field72 error"
);
}
}
//循环截取多少位字节并以//隔开
public
String
cutForStr
(
String
str
,
int
n
){
String
line
=
""
;
byte
[]
b1
=
str
.
getBytes
();
for
(
int
i
=
0
;
i
<=
Math
.
ceil
(
b1
.
length
/
n
);
i
++){
int
b
=
str
.
getBytes
().
length
;
if
(
b
>
15
){
String
s
=
cutBeginStr
(
str
,
n
);
line
=
line
+
s
+
"//"
;
str
=
str
.
substring
(
s
.
length
());
}
else
{
line
=
line
+
str
;
}
}
return
line
;
}
//截取多少位字节
public
static
String
cutBeginStr
(
String
strs
,
int
length
){
int
sum
=
0
;
String
finalStr
=
""
;
if
(
null
==
strs
||
strs
.
getBytes
().
length
<=
length
){
finalStr
=
(
strs
==
null
?
""
:
strs
);
}
else
{
for
(
int
i
=
0
;
i
<
strs
.
length
();
i
++){
String
str
=
strs
.
substring
(
i
,
i
+
1
);
//累加单个字符字节数
sum
+=
str
.
getBytes
().
length
;
if
(
sum
>
length
){
finalStr
=
strs
.
substring
(
0
,
i
);
break
;
}
}
}
return
finalStr
;
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/Field77BGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation11
;
import
com.prowidesoftware.swift.model.mx.dic.FIToFICustomerCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* // 1,取<RgltryRptg>[1]<Dtls>[1]<Inf>[1]作为第一行信息
* //2,取<RgltryRptg>[2]<Dtls>[1]<Inf>[1]作为第二行信息
* //3,取<RgltryRptg>[3]<Dtls>[1]<Inf>[1]作为第二行信息
* //<CdtTrfTxInf>[1]<RgltryRptg>[1]<Dtls>[1]<Inf>[1]
*/
public
class
Field77BGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
.
Field77BGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field77BGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
FIToFICustomerCreditTransferV02
fiToFICstmrCdtTrf
=
obj
.
getFIToFICstmrCdtTrf
();
List
<
CreditTransferTransactionInformation11
>
cdtTrfTxInf
=
fiToFICstmrCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
0
).
getDtls
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
0
).
getDtls
().
get
(
0
).
getInf
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
0
).
getDtls
().
get
(
0
).
getInf
().
get
(
0
)
!=
null
)
{
if
(
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
1
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
1
).
getDtls
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
1
).
getDtls
().
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
1
).
getDtls
().
get
(
0
).
getInf
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
1
).
getDtls
().
get
(
0
).
getInf
().
get
(
0
)
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
2
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
2
).
getDtls
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
2
).
getDtls
().
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
2
).
getDtls
().
get
(
0
).
getInf
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
2
).
getDtls
().
get
(
0
).
getInf
().
get
(
0
)
!=
null
){
map
.
put
(
"field77B"
,
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
0
).
getDtls
().
get
(
0
).
getInf
().
get
(
0
)
+
Mx2MtConstants
.
NEW_LINE
+
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
1
).
getDtls
().
get
(
0
).
getInf
().
get
(
0
)
+
Mx2MtConstants
.
NEW_LINE
+
cdtTrfTxInf
.
get
(
0
).
getRgltryRptg
().
get
(
2
).
getDtls
().
get
(
0
).
getInf
().
get
(
0
));
}
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 Field77B error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/ReceiverBicFieldGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
public
class
ReceiverBicFieldGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ReceiverBicFieldGenerate
.
class
);
/**
* <GrpHdr><InstgAgt><FinInstnId><BICFI>
*/
@Override
public
void
fieldsGenerate
()
{
logger
.
info
(
"ReceiverBicFieldGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
GroupHeader33
grpHdr
=
obj
.
getFIToFICstmrCdtTrf
().
getGrpHdr
();
if
(
grpHdr
!=
null
)
{
if
(
grpHdr
.
getInstgAgt
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
String
receiverBic
=
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
();
logger
.
info
(
"Receiver Bic : "
+
receiverBic
);
if
(!
StringUtil
.
isEmpty
(
receiverBic
))
{
String
mtReceiverBic
=
""
;
if
(
receiverBic
.
length
()
==
8
)
{
mtReceiverBic
=
receiverBic
+
Mx2MtConstants
.
BICSUFFIX
;
}
else
if
(
receiverBic
.
length
()
==
11
)
{
mtReceiverBic
=
receiverBic
.
substring
(
0
,
8
)
+
Mx2MtConstants
.
BICMIDDLE
+
receiverBic
.
substring
(
8
);
}
else
{
throw
new
SwiftException
(
"ERROR"
,
"ReceiverBic length is invalid."
);
}
map
.
put
(
"ReceiverBic"
,
mtReceiverBic
);
}
}
}
}
catch
(
Exception
e
){
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 ReceiverBic error."
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt103/impl/SenderBicFieldGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt103
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00800102
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader33
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
public
class
SenderBicFieldGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ReceiverBicFieldGenerate
.
class
);
/**
* <GrpHdr><InstgAgt><FinInstnId><BICFI>
*/
@Override
public
void
fieldsGenerate
()
{
logger
.
info
(
"SenderBicFieldGenerate start."
);
try
{
MxPacs00800102
obj
=
(
MxPacs00800102
)
map
.
get
(
Mx2MtConstants
.
MX_OBJECT
);
if
(
obj
==
null
||
obj
.
getFIToFICstmrCdtTrf
()
==
null
)
{
return
;
}
GroupHeader33
grpHdr
=
obj
.
getFIToFICstmrCdtTrf
().
getGrpHdr
();
if
(
grpHdr
!=
null
)
{
if
(
grpHdr
.
getInstgAgt
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
String
senderBic
=
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
();
logger
.
info
(
"Sender Bic : "
+
senderBic
);
if
(!
StringUtil
.
isEmpty
(
senderBic
))
{
String
mtsenderBic
=
""
;
if
(
senderBic
.
length
()
==
8
)
{
mtsenderBic
=
senderBic
+
Mx2MtConstants
.
BICSUFFIX
;
}
else
if
(
senderBic
.
length
()
==
11
)
{
mtsenderBic
=
senderBic
.
substring
(
0
,
8
)
+
Mx2MtConstants
.
BICMIDDLE
+
senderBic
.
substring
(
8
);
}
else
{
throw
new
SwiftException
(
"ERROR"
,
"senderBic length is invalid."
);
}
map
.
put
(
"SenderBic"
,
mtsenderBic
);
}
}
}
}
catch
(
Exception
e
){
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT103 SenderBic error."
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/Mx2Mt202Creator.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtCreator
;
import
com.prowidesoftware.brilliance.mx2mt.Mx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.mx2mt.mt202cov202.impl.*
;
import
com.prowidesoftware.brilliance.mx2mt.mt202cov202.impl.cov.*
;
import
com.prowidesoftware.brilliance.util.TemplateUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
Mx2Mt202Creator
extends
AbstractMx2MtCreator
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Mx2Mt202Creator
.
class
);
@Override
public
List
<
Mx2MtFieldsGenerate
>
getFieldsGenerateList
()
{
List
<
Mx2MtFieldsGenerate
>
fieldsGenerateList
=
new
ArrayList
<>();
fieldsGenerateList
.
add
(
new
CommonFieldFor202Generate
());
fieldsGenerateList
.
add
(
new
ReceiverBicFieldGenerate
());
fieldsGenerateList
.
add
(
new
SenderBicFieldGenerate
());
fieldsGenerateList
.
add
(
new
Field20Generate
());
fieldsGenerateList
.
add
(
new
Field21Generate
());
fieldsGenerateList
.
add
(
new
Field13CGenerate
());
fieldsGenerateList
.
add
(
new
Field32AGenerate
());
fieldsGenerateList
.
add
(
new
Field52AGenerate
());
fieldsGenerateList
.
add
(
new
Field52DGenerate
());
fieldsGenerateList
.
add
(
new
Field53AGenerate
());
fieldsGenerateList
.
add
(
new
Field53BGenerate
());
fieldsGenerateList
.
add
(
new
Field53DGenerate
());
fieldsGenerateList
.
add
(
new
Field54AGenerate
());
fieldsGenerateList
.
add
(
new
Field54DGenerate
());
fieldsGenerateList
.
add
(
new
Field56AGenerate
());
fieldsGenerateList
.
add
(
new
Field56DGenerate
());
fieldsGenerateList
.
add
(
new
Field57AGenerate
());
fieldsGenerateList
.
add
(
new
Field57DGenerate
());
fieldsGenerateList
.
add
(
new
Field58AGenerate
());
fieldsGenerateList
.
add
(
new
Field58DGenerate
());
fieldsGenerateList
.
add
(
new
Field72Generate
());
fieldsGenerateList
.
add
(
new
Field50AGenerate
());
fieldsGenerateList
.
add
(
new
Field50FGenerate
());
fieldsGenerateList
.
add
(
new
Field50KGenerate
());
fieldsGenerateList
.
add
(
new
FieldB52AGenerate
());
fieldsGenerateList
.
add
(
new
FieldB52DGenerate
());
fieldsGenerateList
.
add
(
new
FieldB56Generate
());
fieldsGenerateList
.
add
(
new
FieldB57Generate
());
fieldsGenerateList
.
add
(
new
FieldB59Generate
());
fieldsGenerateList
.
add
(
new
FieldB70Generate
());
fieldsGenerateList
.
add
(
new
FieldB33BGenerate
());
return
fieldsGenerateList
;
}
@Override
public
String
generateMtMsg
()
{
map
.
forEach
((
key
,
value
)->{
if
(!
Mx2MtConstants
.
MX_OBJECT
.
equals
(
key
))
{
logger
.
info
(
key
+
"-"
+
value
);
}
});
if
(
getMtCov
()){
map
.
put
(
"isCov"
,
"202cov"
);
}
else
{
map
.
put
(
"isCov"
,
"202"
);
}
String
outPutFilePath
=
(
String
)
map
.
get
(
Mx2MtConstants
.
OUT_PUT_FILE_PATH
);
String
msg
=
TemplateUtil
.
makeFileByTemplate
(
"swift_mt_202cov.vm"
,
map
,
outPutFilePath
,
"utf-8"
);
return
msg
;
}
/**
* 判断使用202模板或者202cov模板
* 依据202cov必有值项50有值的话则使用202cov的模板
* @return true:202cov,false:202
*/
public
boolean
getMtCov
(){
Boolean
msg
=
false
;
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
msg
=
false
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
String
bicOrBEI
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
();
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
){
msg
=
true
;
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
)
{
msg
=
true
;
}
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getNm
()
!=
null
){
msg
=
true
;
}
return
msg
;
}
catch
(
Exception
e
)
{
msg
=
false
;
return
msg
;
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/CommonFieldFor202Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.DateUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
public
class
CommonFieldFor202Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CommonFieldFor202Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"CommonFieldFor202Generate start."
);
try
{
MxPacs00900102
mxPacs00900102
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
mxPacs00900102
==
null
||
mxPacs00900102
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
mxPacs00900102
.
getFinInstnCdtTrf
();
GroupHeader35
grpHdr
=
finInstnCdtTrf
.
getGrpHdr
();
String
createDateStr
=
DateUtil
.
format
(
grpHdr
.
getCreDtTm
(),
"YYMMdd"
);
String
createTimeStr
=
DateUtil
.
format
(
grpHdr
.
getCreDtTm
(),
"HHmm"
);
map
.
put
(
"createDate"
,
createDateStr
);
map
.
put
(
"createTime"
,
createTimeStr
);
String
outDateStr
=
DateUtil
.
formatNow
(
"YYMMdd"
);
String
outTimeStr
=
DateUtil
.
formatNow
(
"HHmm"
);
map
.
put
(
"outDate"
,
outDateStr
);
map
.
put
(
"outTime"
,
outTimeStr
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 CommonField error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field13CGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.DateUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.xml.datatype.XMLGregorianCalendar
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 1,如果<DbtDtTm>节点有值,则转为/SNDTIME/HHMM+0800,HHMM是此节点中的时间,+0800是香港时区
* 2,如果<CdtDtTm>节点有值,则转为/RNCTIME/HHMM+0800,HHMM是此节点中的时间,+0800是香港时区
* 3,如果<CLSTm>节点有值,则转为/CLSTIME/HHMM+0800,HHMM是此节点中的时间,+0800是香港时区
* <CdtTrfTxInf>[1]<SttlmTmIndctn><DbtDtTm>
* <CdtTrfTxInf>[1]<SttlmTmIndctn><CdtDtTm>
* <CdtTrfTxInf>[1]<SttlmTmReq><CLSTm>
*/
public
class
Field13CGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field13CGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field13CGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
obj
.
getFinInstnCdtTrf
().
getCdtTrfTxInf
();
List
<
String
>
filed13cList
=
new
ArrayList
<>();
if
(
obj
.
getFinInstnCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getSttlmTmIndctn
().
getDbtDtTm
()
!=
null
){
XMLGregorianCalendar
dbtDtTm
=
cdtTrfTxInf
.
get
(
0
).
getSttlmTmIndctn
().
getDbtDtTm
();
String
hmm
=
DateUtil
.
format
(
dbtDtTm
,
"HHmm"
);
filed13cList
.
add
(
"/SNDTIME/"
+
hmm
+
"+0800"
);
}
if
(
obj
.
getFinInstnCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getSttlmTmIndctn
().
getCdtDtTm
()
!=
null
){
XMLGregorianCalendar
dbtDtTm
=
cdtTrfTxInf
.
get
(
0
).
getSttlmTmIndctn
().
getCdtDtTm
();
String
hmm
=
DateUtil
.
format
(
dbtDtTm
,
"HHmm"
);
filed13cList
.
add
(
"/RNCTIME/"
+
hmm
+
"+0800"
);
}
if
(
obj
.
getFinInstnCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getSttlmTmReq
()
!=
null
&&
obj
.
getFinInstnCdtTrf
().
getCdtTrfTxInf
().
get
(
0
).
getSttlmTmReq
().
getCLSTm
()
!=
null
){
XMLGregorianCalendar
dbtDtTm
=
cdtTrfTxInf
.
get
(
0
).
getSttlmTmReq
().
getCLSTm
();
String
hmm
=
DateUtil
.
format
(
dbtDtTm
,
"HHmm"
);
filed13cList
.
add
(
"/CLSTIME/"
+
hmm
+
"+0800"
);
}
if
(
filed13cList
.
size
()
>
0
)
{
filed13cList
.
forEach
(
field61
->
logger
.
info
(
":61:"
+
field61
));
map
.
put
(
"filed13CList"
,
filed13cList
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field13C error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field20Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* <GrpHdr><MsgId>
*/
public
class
Field20Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field20Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field20Generate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
GroupHeader35
grpHdr
=
finInstnCdtTrf
.
getGrpHdr
();
map
.
put
(
"field20"
,
grpHdr
.
getMsgId
());
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field20 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field21Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* <CdtTrfTxInf>[1]<PmtId><EndToEndId>
*/
public
class
Field21Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field21Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field21Generate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
if
(
finInstnCdtTrf
.
getCdtTrfTxInf
()
!=
null
&&
finInstnCdtTrf
.
getCdtTrfTxInf
().
size
()
>
0
)
{
if
(
finInstnCdtTrf
.
getCdtTrfTxInf
().
get
(
0
)
!=
null
&&
finInstnCdtTrf
.
getCdtTrfTxInf
().
get
(
0
).
getPmtId
()
!=
null
&&
finInstnCdtTrf
.
getCdtTrfTxInf
().
get
(
0
).
getPmtId
().
getEndToEndId
()
!=
null
){
String
endToEndId
=
finInstnCdtTrf
.
getCdtTrfTxInf
().
get
(
0
).
getPmtId
().
getEndToEndId
();
map
.
put
(
"field21"
,
endToEndId
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field21 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field32AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.DateUtil
;
import
com.prowidesoftware.brilliance.util.NumberUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.xml.datatype.XMLGregorianCalendar
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* 直接取<IntrBkSttlmDt>节点作为32A的value date,Amt和Ccy看另一个节点,XXX是货币
* <CdtTrfTxInf>[1]<IntrBkSttlmDt>
* <CdtTrfTxInf>[1]<IntrBkSttlmAmt Ccy="XXX"'>
*/
public
class
Field32AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field32AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field32AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getCcy
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getValue
()
!=
null
){
String
yymMdd
=
""
;
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmDt
()
!=
null
){
XMLGregorianCalendar
dt
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmDt
();
yymMdd
=
DateUtil
.
format
(
dt
,
"YYMMdd"
);
}
String
ccy
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getCcy
();
BigDecimal
amt
=
cdtTrfTxInf
.
get
(
0
).
getIntrBkSttlmAmt
().
getValue
();
String
amtStr
=
NumberUtil
.
formatAmt
(
amt
,
ccy
);
map
.
put
(
"field32A"
,
yymMdd
+
ccy
+
amtStr
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field32A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field52AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<BICFI>有值,则设置52 option为“A”,同时BIC取此栏位
* 2,若节点<IBAN>有值,则作为52A的账号;
* 3,若节点<Othr><SchmeNm><Cd>有值,则取“//CH”+<Othr><Id>,则作为52A的账号;否则直接取<Othr><Id>,则作为52A的账号
* <CdtTrfTxInf>[1]<Dbtr><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<DbtrAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<DbtrAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<DbtrAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field52AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field52AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field52AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field52Key"
,
"A"
);
map
.
put
(
"field52A"
,
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
().
getBIC
());
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field52A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field52DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置52 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与52A相同
* <CdtTrfTxInf>[1]<Dbtr><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<Dbtr><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field52DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field52DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field52DGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field52Key"
,
"D"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getDbtr
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field52DAdr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field52Account"
,
cdtTrfTxInf
.
get
(
0
).
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field52D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field53AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* 1,若节点<BICFI>有值,则设置53 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为53A的账号;
* 3,若节点<Othr><Id>有值,则作为53A的账号;
* <GrpHdr><SttlmInf><InstgRmbrsmntAgt><FinInstnId><BICFI>
* <GrpHdr><SttlmInf><InstgRmbrsmntAgtAcct><Id><IBAN>
* <GrpHdr><SttlmInf><InstgRmbrsmntAgtAcct><Id><Othr><Id>
* <GrpHdr><SttlmInf><InstgRmbrsmntAgtAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field53AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field53AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field53AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
GroupHeader35
grpHdr
=
finInstnCdtTrf
.
getGrpHdr
();
if
(
grpHdr
!=
null
){
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field53AKey"
,
"A"
);
map
.
put
(
"field53A"
,
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgt
().
getFinInstnId
().
getBIC
());
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field53A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field53BGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* 如果<SttlmAcct><Id><IBAN>或<SttlmAcct><Id><Othr><Id>有值,则设置53 option为“B”:
* 1)若节点<IBAN>有值,则作为53B的账号;
* 2)若节点<Othr><Id>有值,则作为53B的账号;
* <GrpHdr><SttlmInf><SttlmAcct><Id><IBAN>
* <GrpHdr><SttlmInf><SttlmAcct><Id><Othr><Id>
* <GrpHdr><SttlmInf><SttlmAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field53BGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field53BGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field53BGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
GroupHeader35
grpHdr
=
finInstnCdtTrf
.
getGrpHdr
();
if
(
grpHdr
!=
null
){
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getIBAN
()
!=
null
||
(
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
().
getId
()
!=
null
)){
map
.
put
(
"field53BKey"
,
"B"
);
}
if
(
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getIBAN
());
}
else
if
(
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getSttlmAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field53B error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field53DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置53 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与53A相同
* <GrpHdr><SttlmInf><InstgRmbrsmntAgt><FinInstnId><Nm>
* <GrpHdr><SttlmInf><InstgRmbrsmntAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field53DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field53DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field53DGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
GroupHeader35
grpHdr
=
finInstnCdtTrf
.
getGrpHdr
();
if
(
grpHdr
!=
null
){
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgt
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field53DKey"
,
"D"
);
if
(
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field53Adr"
,
adStr
);
}
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field53Account"
,
grpHdr
.
getSttlmInf
().
getInstgRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field53D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field54AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* 1,若节点<BICFI>有值,则设置54 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为54A的账号;
* 3,若节点<Othr><Id>有值,则作为54A的账号;
* <GrpHdr><SttlmInf><InstdRmbrsmntAgt><FinInstnId><BICFI>
* <GrpHdr><SttlmInf><InstdRmbrsmntAgtAcct><Id><IBAN>
* <GrpHdr><SttlmInf><InstdRmbrsmntAgtAcct><Id><Othr><Id>
* <GrpHdr><SttlmInf><InstdRmbrsmntAgtAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field54AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field54AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field54AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
GroupHeader35
grpHdr
=
finInstnCdtTrf
.
getGrpHdr
();
if
(
grpHdr
!=
null
){
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field54AKey"
,
"A"
);
map
.
put
(
"field54A"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getBIC
());
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field54Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field54Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field54A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field54DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置54 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与54A相同
* <GrpHdr><SttlmInf><InstdRmbrsmntAgt><FinInstnId><Nm>
* <GrpHdr><SttlmInf><InstdRmbrsmntAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field54DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field54DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field54DGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
GroupHeader35
grpHdr
=
finInstnCdtTrf
.
getGrpHdr
();
if
(
grpHdr
!=
null
){
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field54DKey"
,
"D"
);
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field54Adr"
,
adStr
);
}
if
(
grpHdr
.
getSttlmInf
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
()
!=
null
){
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field54Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
()
!=
null
&&
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field54Account"
,
grpHdr
.
getSttlmInf
().
getInstdRmbrsmntAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field54D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field56AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<BICFI>有值,则设置56 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为56A的账号;
* 3,若节点<Othr><Id>有值,则作为56A的账号;
* <CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<IntrmyAgt1Acct><Id><IBAN>
* <CdtTrfTxInf>[1]<IntrmyAgt1Acct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<IntrmyAgt1Acct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field56AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field56AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field56AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field56AKey"
,
"A"
);
map
.
put
(
"field56A"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getBIC
());
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field56A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field56DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置56 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与56A相同
* <CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<IntrmyAgt1><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field56DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field56DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field56DGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field56DKey"
,
"D"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field56Adr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field56Account"
,
cdtTrfTxInf
.
get
(
0
).
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field56D error"
);
}
}
}
\ No newline at end of file
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field57AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<BICFI>有值,则设置57 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为57A的账号;
* 3,若节点<Othr><Id>有值,则作为57A的账号;
* <CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<CdtrAgtAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<CdtrAgtAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<CdtrAgtAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field57AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field57AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field57AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field57AKey"
,
"A"
);
map
.
put
(
"field57A"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getBIC
());
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field57A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field57DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置57 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与57A相同
* <CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<CdtrAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field57DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field57DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field57DGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field57DKey"
,
"D"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getCdtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field57Adr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field57Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field57D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field58AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<BICFI>有值,则设置58 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为58A的账号;
* 3,若节点<Othr><Id>有值,则作为58A的账号;
* <CdtTrfTxInf>[1]<Cdtr><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<CdtrAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<CdtrAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<CdtrAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field58AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field58AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field58AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"field58AKey"
,
"A"
);
map
.
put
(
"field58A"
,
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
().
getBIC
());
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field58Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field58Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field58A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field58DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置58 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与58A相同
* <CdtTrfTxInf>[1]<Cdtr><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<Cdtr><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
Field58DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field58DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field58DGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
){
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"field58DKey"
,
"D"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"field58Adr"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"field58Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"field58Account"
,
cdtTrfTxInf
.
get
(
0
).
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field58D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/Field72Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
com.prowidesoftware.swift.model.mx.dic.InstructionForCreditorAgent2
;
import
com.prowidesoftware.swift.model.mx.dic.InstructionForNextAgent1
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若<BICFI>有值,则转为“/INS/此节点的值”
* 2,如果<Nm>有值,则取值为“/INS/”+此节点的值,超过35字节则将剩下内容用“//内容“的方式进行截取
* 3,如果节点<InstrForCdtrAgt><Cd>没有值,但节点<InstrForCdtrAgt><InstrInf>有值,则取值“/ACC/”+<InstrForCdtrAgt><InstrInf>节点的值
* 4,如果节点<InstrForCdtrAgt><Cd>值为PHOB,则取值“/PHONBEN/”+<InstrForCdtrAgt><InstrInf>节点的值
* 5,如果节点<InstrForCdtrAgt><Cd>值为TELB,则取值“/PHONBEN/”+<InstrForCdtrAgt><InstrInf>节点的值
* 6,如果节点<InstrForNxtAgt><Cd>值为PHOA,且56a不存在,则取值“/PHON/”+<InstrForNxtAgt><InstrInf>节点的值
* 7,如果节点<InstrForNxtAgt><Cd>值为TELA,则取值“/TELE/”+<InstrForNxtAgt><InstrInf>节点的值
* 8,如果节点<InstrForNxtAgt><Cd>值为空,且<InstrInf>节点有值,则取值“/REC/”+<InstrForNxtAgt><InstrInf>节点的值
* 9,如果节点<InstrForNxtAgt><Cd>值为PHOA,且56a存在,则取值“/PHONIBK/”+<InstrForNxtAgt><InstrInf>节点的值
* <CdtTrfTxInf>[1]<PrvsInstgAgt1><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<PrvsInstgAgt1><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<InstrForCdtrAgt><Cd>
* <CdtTrfTxInf>[1]<InstrForCdtrAgt><InstrInf>
* <CdtTrfTxInf>[1]<InstrForNxtAgt><Cd>
* <CdtTrfTxInf>[1]<InstrForNxtAgt><InstrInf>
* <CdtTrfTxInf>[1]<RmtInf><Ustrd>
*/
public
class
Field72Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
Field72Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field72Generate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
){
String
bic
=
""
;
String
nm
=
""
;
String
acc
=
""
;
String
phob
=
""
;
String
telb
=
""
;
String
phoa
=
""
;
String
tela
=
""
;
String
rec
=
""
;
if
(
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
bic
=
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
().
getBIC
();
}
if
(
cdtTrfTxInf
.
get
(
0
).
getPrvsInstgAgt
().
getFinInstnId
().
getNm
()
!=
null
){
nm
=
Mx2MtConstants
.
INS
+
cdtTrfTxInf
.
get
(
0
).
getCdtr
().
getFinInstnId
().
getBIC
();
}
if
(
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
().
size
()
>
0
){
List
<
InstructionForCreditorAgent2
>
ifcList
=
cdtTrfTxInf
.
get
(
0
).
getInstrForCdtrAgt
();
for
(
int
i
=
0
;
i
<
ifcList
.
size
();
i
++){
InstructionForCreditorAgent2
ifca2
=
ifcList
.
get
(
i
);
if
(
ifca2
.
getCd
()
==
null
&&
ifca2
.
getInstrInf
()
!=
null
){
acc
=
acc
+
Mx2MtConstants
.
ACC
+
ifca2
.
getInstrInf
();
}
if
(
ifca2
.
getCd
()
!=
null
&&
"PHOB"
.
equals
(
ifca2
.
getCd
())){
phob
=
phob
+
Mx2MtConstants
.
PHONBEN
+
ifca2
.
getInstrInf
();
}
if
(
ifca2
.
getCd
()
!=
null
&&
"TELB"
.
equals
(
ifca2
.
getCd
())){
telb
=
telb
+
Mx2MtConstants
.
PHONBEN
+
ifca2
.
getInstrInf
();
}
}
}
if
(
cdtTrfTxInf
.
get
(
0
).
getInstrForNxtAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getInstrForNxtAgt
().
size
()
>
0
){
List
<
InstructionForNextAgent1
>
ifn
=
cdtTrfTxInf
.
get
(
0
).
getInstrForNxtAgt
();
for
(
int
i
=
0
;
i
<
ifn
.
size
();
i
++){
InstructionForNextAgent1
ifna
=
ifn
.
get
(
i
);
if
(
ifna
.
getCd
()
!=
null
&&
"PHOA"
.
equals
(
ifna
.
getCd
())){
if
(
map
.
get
(
"field56A"
)
==
null
){
phoa
=
phoa
+
Mx2MtConstants
.
PHON
+
ifna
.
getInstrInf
();
}
else
{
phoa
=
phoa
+
Mx2MtConstants
.
PHONIBK
+
ifna
.
getInstrInf
();
}
}
if
(
ifna
.
getCd
()
!=
null
&&
"TELA"
.
equals
(
ifna
.
getCd
())){
tela
=
tela
+
Mx2MtConstants
.
TELE
+
ifna
.
getInstrInf
();
}
if
(
ifna
.
getCd
()
==
null
&&
ifna
.
getInstrInf
()
!=
null
){
rec
=
rec
+
Mx2MtConstants
.
REC
+
ifna
.
getInstrInf
();
}
}
}
}
String
str72
=
bic
+
nm
+
acc
+
phob
+
telb
+
phoa
+
tela
+
rec
;
//35个字符截取
String
enter
=
StringUtil
.
getStringByEnter
(
str72
,
35
,
6
);
map
.
put
(
"filed72"
,
enter
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 Field58A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/ReceiverBicFieldGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* <GrpHdr><InstgAgt><FinInstnId><BICFI>
*/
public
class
ReceiverBicFieldGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
ReceiverBicFieldGenerate
.
class
);
/**
* <GrpHdr><InstgAgt><FinInstnId><BICFI>
*/
@Override
public
void
fieldsGenerate
()
{
logger
.
info
(
"ReceiverBicFieldGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
GroupHeader35
grpHdr
=
obj
.
getFinInstnCdtTrf
().
getGrpHdr
();
if
(
grpHdr
!=
null
)
{
if
(
grpHdr
.
getInstgAgt
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
String
receiverBic
=
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
();
logger
.
info
(
"Receiver Bic : "
+
receiverBic
);
if
(!
StringUtil
.
isEmpty
(
receiverBic
))
{
String
mtReceiverBic
=
""
;
if
(
receiverBic
.
length
()
==
8
)
{
mtReceiverBic
=
receiverBic
+
Mx2MtConstants
.
BICSUFFIX
;
}
else
if
(
receiverBic
.
length
()
==
11
)
{
mtReceiverBic
=
receiverBic
.
substring
(
0
,
8
)
+
Mx2MtConstants
.
BICMIDDLE
+
receiverBic
.
substring
(
8
);
}
else
{
throw
new
SwiftException
(
"ERROR"
,
"ReceiverBic length is invalid."
);
}
map
.
put
(
"receiverBic"
,
mtReceiverBic
);
}
}
}
}
catch
(
Exception
e
){
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 ReceiverBic error."
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/SenderBicFieldGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
;
import
com.prowidesoftware.brilliance.constants.Mx2MtConstants
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.GroupHeader35
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
public
class
SenderBicFieldGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ReceiverBicFieldGenerate
.
class
);
/**
* <GrpHdr><InstgAgt><FinInstnId><BICFI>
*/
@Override
public
void
fieldsGenerate
()
{
logger
.
info
(
"ReceiverBicFieldGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
GroupHeader35
grpHdr
=
obj
.
getFinInstnCdtTrf
().
getGrpHdr
();
if
(
grpHdr
!=
null
)
{
if
(
grpHdr
.
getInstgAgt
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
()
!=
null
&&
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
String
receiverBic
=
grpHdr
.
getInstgAgt
().
getFinInstnId
().
getBIC
();
logger
.
info
(
"Sender Bic : "
+
receiverBic
);
if
(!
StringUtil
.
isEmpty
(
receiverBic
))
{
String
mtsenderBic
=
""
;
if
(
receiverBic
.
length
()
==
8
)
{
mtsenderBic
=
receiverBic
+
Mx2MtConstants
.
BICSUFFIX
;
}
else
if
(
receiverBic
.
length
()
==
11
)
{
mtsenderBic
=
receiverBic
.
substring
(
0
,
8
)
+
Mx2MtConstants
.
BICMIDDLE
+
receiverBic
.
substring
(
8
);
}
else
{
throw
new
SwiftException
(
"ERROR"
,
"senderBic length is invalid."
);
}
map
.
put
(
"senderBic"
,
mtsenderBic
);
}
}
}
}
catch
(
Exception
e
){
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202 SenderBic error."
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/Field50AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若<AnyBIC>节点有值,则取为B\50A,且BIC取此值
* 2,若节点<IBAN>有值,则在此节点值前面加上“/”后,作为50A的账号;
* 3,若节点<Othr><SchmeNm><Cd>有值,则取“//CH”+<Othr><Id>,则作为B\50A的账号;否则直接取<Othr><Id>,则作为B\50A的账号。
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><Dbtr><Id><OrgId><AnyBIC>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
Field50AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field50AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field50AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
){
map
.
put
(
"fieldB50Option"
,
"A"
);
map
.
put
(
"fieldB50A"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB50Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
());
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB50Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB50Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field50A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/Field50FGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,待补充???
* 2,账号取值规则与B\50A相同
*/
public
class
Field50FGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field50FGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field50FGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
// TODO 50F取值待补充
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
){
map
.
put
(
"fieldB50Option"
,
"F"
);
map
.
put
(
"fieldB50F"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getId
().
getOrgId
().
getBICOrBEI
());
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB50Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB50Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB50Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field50F error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/Field50KGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若<Dbtr><Nm>有录入,则设置B\50 option为“K”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则与B\50A相同
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><Dbtr><Nm>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><Dbtr><PstlAdr><AdrLine>
*/
public
class
Field50KGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
Field50KGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"Field50KGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getNm
()
!=
null
){
map
.
put
(
"fieldB50Option"
,
"K"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtr
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"fieldB50K"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB50Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB50Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB50Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field50K error"
);
}
}
}
\ No newline at end of file
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/FieldB33BGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.NumberUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* 直接取此节点作为33B的货币和金额,XXX是货币
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><InstdAmt Ccy="xxx">
*/
public
class
FieldB33BGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
.
FieldB33BGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"FieldB33BGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getInstdAmt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getInstdAmt
().
getCcy
()
!=
null
){
String
ccy
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getInstdAmt
().
getCcy
();
BigDecimal
amt
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getInstdAmt
().
getValue
();
String
amtStr
=
NumberUtil
.
formatAmt
(
amt
,
ccy
);
map
.
put
(
"field33B"
,
ccy
+
amtStr
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field33B error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/FieldB52AGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若<BICFI>节点有值,则取为B\52A,且BIC取此值
* 2,若节点<IBAN>有值,则在此节点值前面加上“/”后,作为52A的账号;
* 3,若节点<Othr><SchmeNm><Cd>有值,则取“//CH”+<Othr><Id>,则作为B\50A的账号;否则直接取<Othr><Id>,则作为B\52A的账号。
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAgt><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAgtAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAgtAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAgtAcct><Id><Othr><SchmeNm><Cd>
*/
public
class
FieldB52AGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FieldB52AGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"FieldB52AGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"fieldB52Option"
,
"A"
);
map
.
put
(
"fieldB52A"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
().
getBIC
());
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB52Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB52Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB52Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field52A error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/FieldB52DGenerate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置B\52 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与B\52A相同
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAgt><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><DbtrAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
FieldB52DGenerate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FieldB52DGenerate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"FieldB52DGenerate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"fieldB52Option"
,
"D"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"fieldB52D"
,
adStr
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB52Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getIBAN
());
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB52Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB52Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getDbtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field52D error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/FieldB56Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<BICFI>有值,则设置B\56 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为56A的账号;
* 3,若节点<Othr><SchmeNm><Cd>有值,则取“//CH”+<Othr><Id>,则作为B\56A的账号;否则直接取<Othr><Id>,则作为B\56A的账号。
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1Acct><Id><IBAN>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1Acct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1Acct><Id><Othr><SchmeNm><Cd>
* 56c
* 如果<IntrmyAgt1><FinInstnId><BICFI>为空,且<IntrmyAgt1><FinInstnId><Nm>为空,但节点<IBAN>有值,或者节点<Othr><Id>有值,则设置B\56option为“C”
* 若节点<Id><Othr><Id>不为空,则取“//CH”+此节点作为账号,否则取节点<MmbId>作为账号:
<CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1><FinInstnId><ClrSysMmbId><ClrSysId><Cd>
<CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1><FinInstnId><ClrSysMmbId><ClrSysId><Prtry>
<CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1><FinInstnId><ClrSysMmbId><MmbId>
* 56d
* 1,若节点<Nm>有值,则设置B\56 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与B\56A相同
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><IntrmyAgt1><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
FieldB56Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FieldB56Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"FieldB56Generate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getBIC
()
!=
null
){
map
.
put
(
"fieldB56Option"
,
"A"
);
map
.
put
(
"fieldB56A"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getBIC
());
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB56Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB56Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB56Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getBIC
()
==
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getNm
()
==
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
||
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
)){
map
.
put
(
"fieldB56Option"
,
"C"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB56Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getClrSysMmbId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
()
!=
null
){
map
.
put
(
"fieldB56Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
());
}
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"fieldB56Option"
,
"D"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"fieldB56D"
,
adStr
);
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB56Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB56Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB56Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getIntrmyAgt1Acct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field56 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/FieldB57Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 57A
* 1,若节点<BICFI>有值,则设置B\57 option为“A”,同时BIC取此栏位;
* 2,若节点<IBAN>有值,则作为57A的账号;
* 3,若节点<Othr><SchmeNm><Cd>有值,则取“//CH”+<Othr><Id>,则作为B\57A的账号;否则直接取<Othr><Id>,则作为B\57A的账号。
* <CdtTrfTxInf>[1]<<UndrlygCstmrCdtTrf>CdtrAgt><FinInstnId><BICFI>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAgtAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAgtAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAgtAcct><Id><Othr><SchmeNm><Cd>
* 57C
* 如果<CdtrAgt><FinInstnId><BICFI>为空,且<CdtrAgt><FinInstnId><Nm>为空,但节点<IBAN>有值,或者节点<Othr><Id>有值,则设置B\57 option为“C”
* 若节点<Id><Othr><Id>不为空,则取“//CH”+此节点作为账号,否则取节点<MmbId>作为账号:
* 57d
* 1,若节点<Nm>有值,则设置B\57 option为“D”,且名称取自此节点,而地址需要合并截取???
* 2,账号取值规则和节点与B\57A相同
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAgt><FinInstnId><Nm>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAgt><FinInstnId><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
*/
public
class
FieldB57Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FieldB57Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"FieldB57Generate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getBIC
()
!=
null
)
{
map
.
put
(
"fieldB57Option"
,
"A"
);
map
.
put
(
"fieldB57"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getBIC
());
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB57Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB57Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB57Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getNm
()
==
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getIBAN
()
!=
null
||
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
)){
map
.
put
(
"fieldB57Option"
,
"C"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
map
.
put
(
"fieldB57Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getClrSysMmbId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
()
!=
null
){
map
.
put
(
"fieldB57Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getClrSysMmbId
().
getMmbId
());
}
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getNm
()
!=
null
){
map
.
put
(
"fieldB57Option"
,
"D"
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"fieldB57D"
,
adStr
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB57Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getIBAN
());
}
else
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB57Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
()
!=
null
)
{
map
.
put
(
"fieldB57Account"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgtAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field57 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/FieldB59Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 1,若节点<Nm>有值,则设置B\59 option为“”,且名称取自此节点,而地址需要合并截取???
* 2,若节点<IBAN>有值,则在此节点的值前面加上“/”后,作为B\59账号的值;
* 3,若节点<Othr><Id>有值,且节点<Othr><SchmeNm><Cd>有值,则在节点<Othr><Id>的值前面加上“//CH”后,作为B\59账号的值;
* 4,若节点<Othr><Id>有值,且节点<Othr><SchmeNm><Cd>没值,则在节点<Othr><Id>的值前面加上“/”后,作为B\59账号的值;
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><Cdtr><Nm>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><Cdtr><PstlAdr><AdrLine>[1],<AdrLine>[2],<AdrLine>[3]
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAcct><Id><IBAN>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAcct><Id><Othr><Id>
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><CdtrAcct><Id><Othr><SchmeNm><Cd>
* 1,若节点<AnyBIC>有值,则设置B\59 option为“A”,同时BIC取此栏位;
* 2,账号取值规则和节点与B\59相同
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><Cdtr><Id><OrgId><AnyBIC>
*/
public
class
FieldB59Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FieldB59Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"FieldB59Generate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getNm
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAgt
().
getFinInstnId
().
getBIC
()
!=
null
)
{
map
.
put
(
"fieldB59Option"
,
""
);
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getPstlAdr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getPstlAdr
().
getAdrLine
()
!=
null
){
List
<
String
>
adrList
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getPstlAdr
().
getAdrLine
();
String
adStr
=
""
;
for
(
int
i
=
0
;
i
<
adrList
.
size
();
i
++){
adStr
=
adStr
+
adrList
.
get
(
i
);
}
map
.
put
(
"fieldB59"
,
adStr
);
}
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getId
().
getOrgId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getId
().
getOrgId
().
getBICOrBEI
()
!=
null
){
map
.
put
(
"fieldB59Option"
,
"A"
);
map
.
put
(
"fieldB59A"
,
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtr
().
getId
().
getOrgId
().
getBICOrBEI
());
}
}
}
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getIBAN
()
!=
null
){
map
.
put
(
"fieldB59Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getIBAN
());
}
else
{
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getOthr
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getOthr
().
getId
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getOthr
().
getSchmeNm
().
getCd
()
!=
null
){
map
.
put
(
"fieldB57Account"
,
"//CH"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
else
{
map
.
put
(
"fieldB57Account"
,
"/"
+
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getCdtrAcct
().
getId
().
getOthr
().
getId
());
}
}
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field57 error"
);
}
}
}
src/main/java/com/prowidesoftware/brilliance/mx2mt/mt202cov202/impl/cov/FieldB70Generate.java
0 → 100644
View file @
bd4d2a15
package
com
.
prowidesoftware
.
brilliance
.
mx2mt
.
mt202cov202
.
impl
.
cov
;
import
com.prowidesoftware.brilliance.exception.SwiftException
;
import
com.prowidesoftware.brilliance.mx2mt.AbstractMx2MtFieldsGenerate
;
import
com.prowidesoftware.brilliance.util.StringUtil
;
import
com.prowidesoftware.swift.model.mx.MxPacs00900102
;
import
com.prowidesoftware.swift.model.mx.dic.CreditTransferTransactionInformation13
;
import
com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionCreditTransferV02
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.List
;
/**
* 取此节点按4*35的格式拆分,放入70栏位中(最多4行每行最多35个字符)
* <CdtTrfTxInf>[1]<UndrlygCstmrCdtTrf><RmtInf><Ustrd>[1]
*/
public
class
FieldB70Generate
extends
AbstractMx2MtFieldsGenerate
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FieldB70Generate
.
class
);
@Override
public
void
fieldsGenerate
()
throws
SwiftException
{
logger
.
info
(
"FieldB70Generate start."
);
try
{
MxPacs00900102
obj
=
(
MxPacs00900102
)
map
.
get
(
"mxObj"
);
if
(
obj
==
null
||
obj
.
getFinInstnCdtTrf
()
==
null
)
{
return
;
}
FinancialInstitutionCreditTransferV02
finInstnCdtTrf
=
obj
.
getFinInstnCdtTrf
();
List
<
CreditTransferTransactionInformation13
>
cdtTrfTxInf
=
finInstnCdtTrf
.
getCdtTrfTxInf
();
if
(
cdtTrfTxInf
!=
null
&&
cdtTrfTxInf
.
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
)
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
()
!=
null
){
if
(
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getRmtInf
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getRmtInf
().
getUstrd
()
!=
null
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getRmtInf
().
getUstrd
().
size
()
>
0
&&
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getRmtInf
().
getUstrd
().
get
(
0
)
!=
null
){
String
s
=
cdtTrfTxInf
.
get
(
0
).
getUndrlygCstmrCdtTrf
().
getRmtInf
().
getUstrd
().
get
(
0
);
String
enter
=
StringUtil
.
getStringByEnter
(
s
,
35
,
4
);
map
.
put
(
"field70"
,
enter
);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
SwiftException
(
"ERROR"
,
"Convert MT202COV Field70 error"
);
}
}
}
src/main/resources/swiftXml/MxPacs00800102.xml
View file @
bd4d2a15
...
...
@@ -27,10 +27,24 @@
</Doc:InstdAgt>
</Doc:GrpHdr>
<Doc:CdtTrfTxInf>
<Doc:SttlmTmIndctn>
<Doc:DbtDtTm>
2022-03-13T20:24:42.112+08:00
</Doc:DbtDtTm>
<Doc:CdtDtTm>
2022-03-13T22:30:42.112+08:00
</Doc:CdtDtTm>
</Doc:SttlmTmIndctn>
<Doc:SttlmTmReq>
<Doc:CLSTm>
2022-03-13T21:21:42.112+08:00
</Doc:CLSTm>
</Doc:SttlmTmReq>
<Doc:InstrForCdtrAgt>
<Doc:Cd>
ghjk
</Doc:Cd>
<Doc:InstrInf>
789556
</Doc:InstrInf>
</Doc:InstrForCdtrAgt>
<Doc:PmtTpInf>
<Doc:SvcLvl>
<Doc:Cd>
SDVA1
</Doc:Cd>
<Doc:Prtry>
CRED
</Doc:Prtry>
<Doc:CtgyPurp>
<Doc:Cd>
BNKKJJ
</Doc:Cd>
</Doc:CtgyPurp>
<Doc:SvcLvl>
<Doc:Cd>
SDVA
</Doc:Cd>
<Doc:Prtry>
1231234165
</Doc:Prtry>
</Doc:SvcLvl>
</Doc:PmtTpInf>
<Doc:PmtId>
...
...
@@ -40,7 +54,7 @@
</Doc:PmtId>
<Doc:IntrBkSttlmAmt
Ccy=
"USD"
>
23453
</Doc:IntrBkSttlmAmt>
<Doc:IntrBkSttlmDt>
2022-03-13+08:00
</Doc:IntrBkSttlmDt>
<Doc:ChrgBr>
CRED
</Doc:ChrgBr>
<Doc:ChrgBr>
DEBT
</Doc:ChrgBr>
<Doc:Dbtr>
<Doc:Nm>
JOE DOE
</Doc:Nm>
<Doc:PstlAdr>
...
...
src/main/resources/swiftXml/MxPacs00900102.xml
0 → 100644
View file @
bd4d2a15
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document
xmlns=
"urn:iso:std:iso:20022:tech:xsd:pacs.009.001.02"
>
<FinInstnCdtTrf>
<GrpHdr>
<MsgId>
00010013800002001234
</MsgId>
<CreDtTm>
2022-04-02T13:35:04.807+08:00
</CreDtTm>
<NbOfTxs>
EODY
</NbOfTxs>
<SttlmInf>
<InstgRmbrsmntAgt>
<FinInstnId>
<BIC>
BJWHS12X
</BIC>
<Nm>
NUM123
</Nm>
</FinInstnId>
</InstgRmbrsmntAgt>
<InstdRmbrsmntAgt>
<FinInstnId>
<BIC>
BJWHS12X
</BIC>
<Nm>
NUM123
</Nm>
</FinInstnId>
</InstdRmbrsmntAgt>
<InstdRmbrsmntAgtAcct>
<Id>
<IBAN>
S15612345678012345
</IBAN>
<Othr>
<Id>
789465123132165
</Id>
<SchmeNm>
<Cd>
741852
</Cd>
</SchmeNm>
</Othr>
</Id>
</InstdRmbrsmntAgtAcct>
</SttlmInf>
<InstgAgt>
<FinInstnId>
<BIC>
77777777777
</BIC>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BIC>
77777777777
</BIC>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
</FinInstnId>
</InstdAgt>
</GrpHdr>
<CdtTrfTxInf>
<UndrlygCstmrCdtTrf>
<Dbtr>
<Nm>
nm01
</Nm>
<PstlAdr>
<AdrLine>
ade456
</AdrLine>
</PstlAdr>
<Id>
<OrgId>
<AnyBIC>
anybic01
</AnyBIC>
</OrgId>
</Id>
</Dbtr>
<DbtrAgt>
<FinInstnId>
<BIC>
77777777777
</BIC>
<PstlAdr>
<AdrLine>
adr789
</AdrLine>
</PstlAdr>
<Nm>
nm333333
</Nm>
</FinInstnId>
</DbtrAgt>
<IntrmyAgt1>
<FinInstnId>
<BIC>
77777777777
</BIC>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
<Nm>
nm333333
</Nm>
<ClrSysMmbId>
<MmbId>
mmbid01
</MmbId>
<ClrSysId>
<Cd>
cd02
</Cd>
<Prtry>
prtry01
</Prtry>
</ClrSysId>
</ClrSysMmbId>
</FinInstnId>
</IntrmyAgt1>
<CdtrAgtAcct>
<Id>
<IBAN>
S15612345678012345
</IBAN>
<Othr>
<Id>
789465123132165
</Id>
<SchmeNm>
<Cd>
741852
</Cd>
</SchmeNm>
</Othr>
</Id>
</CdtrAgtAcct>
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<MmbId>
mmbid01
</MmbId>
<ClrSysId>
<Cd>
cd02
</Cd>
<Prtry>
prtry01
</Prtry>
</ClrSysId>
</ClrSysMmbId>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
<BIC>
88888888
</BIC>
<Nm>
uiopp
</Nm>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>
33333333
</Nm>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
</PstlAdr>
<Id>
<OrgId>
<AnyBIC>
anybic01
</AnyBIC>
</OrgId>
</Id>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>
S15612345678012345
</IBAN>
<Othr>
<Id>
789465123132165
</Id>
<SchmeNm>
<Cd>
741852
</Cd>
</SchmeNm>
</Othr>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>
1111
</Ustrd>
</RmtInf>
<InstdAmt
Ccy=
"USD"
>
393.17
</InstdAmt>
</UndrlygCstmrCdtTrf>
<PrvsInstgAgt>
<FinInstnId>
<BIC>
5555555
</BIC>
<Nm>
33333333
</Nm>
</FinInstnId>
</PrvsInstgAgt>
<Cdtr>
<FinInstnId>
<BIC>
9999999
</BIC>
</FinInstnId>
<Nm>
33333333
</Nm>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
</PstlAdr>
<Id>
<OrgId>
<AnyBIC>
anybic01
</AnyBIC>
</OrgId>
</Id>
</Cdtr>
<CdtrAgt>
<FinInstnId>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
<BIC>
88888888
</BIC>
<Nm>
uiopp
</Nm>
</FinInstnId>
</CdtrAgt>
<PmtId>
<EndToEndId>
end456
</EndToEndId>
</PmtId>
<IntrBkSttlmAmt
Ccy=
"USD"
>
120274.34
</IntrBkSttlmAmt>
<IntrBkSttlmDt>
2022-04-02+08:00
</IntrBkSttlmDt>
<SttlmTmIndctn>
<DbtDtTm>
2022-04-02T13:35:04.807+08:00
</DbtDtTm>
<CdtDtTm>
2022-04-02T13:35:04.807+08:00
</CdtDtTm>
</SttlmTmIndctn>
<SttlmTmReq>
<CLSTm>
13:35:04.807+08:00
</CLSTm>
</SttlmTmReq>
<IntrmyAgt1>
<FinInstnId>
<BIC>
77777777777
</BIC>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
</FinInstnId>
<ClrSysMmbId>
<MmbId>
mmbid01
</MmbId>
<ClrSysId>
<Cd>
cd02
</Cd>
<Prtry>
prtry01
</Prtry>
</ClrSysId>
</ClrSysMmbId>
</IntrmyAgt1>
<IntrmyAgt1Acct>
<Id>
<IBAN>
S15612345678012345
</IBAN>
<Othr>
<Id>
789465123132165
</Id>
<SchmeNm>
<Cd>
741852
</Cd>
</SchmeNm>
</Othr>
</Id>
</IntrmyAgt1Acct>
<Dbtr>
<FinInstnId>
<BIC>
789456
</BIC>
<Nm>
uiopp
</Nm>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
</FinInstnId>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>
S15612345678012345
</IBAN>
<Othr>
<Id>
789465123132165
</Id>
<SchmeNm>
<Cd>
741852
</Cd>
</SchmeNm>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>
7777777777777777777
</BIC>
<PstlAdr>
<AdrLine>
11
</AdrLine>
<AdrLine>
22
</AdrLine>
<AdrLine>
33
</AdrLine>
<AdrLine>
44
</AdrLine>
<AdrLine>
55
</AdrLine>
</PstlAdr>
</FinInstnId>
</DbtrAgt>
<DbtrAgtAcct>
<Id>
<IBAN>
S15612345678012345
</IBAN>
<Othr>
<Id>
789465123132165
</Id>
<SchmeNm>
<Cd>
741852
</Cd>
</SchmeNm>
</Othr>
</Id>
</DbtrAgtAcct>
<InstrForCdtrAgt>
<Cd>
PHOB
</Cd>
<InstrInf>
456
</InstrInf>
</InstrForCdtrAgt>
<InstrForNxtAgt>
<Cd>
TELA
</Cd>
<InstrInf>
ins123
</InstrInf>
</InstrForNxtAgt>
<RmtInf>
<Ustrd>
1111
</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</FinInstnCdtTrf>
</Document>
src/main/resources/template/swift_mt_202cov.vm
0 → 100644
View file @
bd4d2a15
{1:F01${vm.receiverBic}0001000001}{2:${vm.isCov}${vm.createTime}${vm.createDate}${vm.senderBic}0002000001${vm.outDate}${vm.outTime}N}{3:{108:178908658RSC1}{111:001}{121:9bc16ba2-76e0-4651-b225-3bae8552f17a}}{4:
:20:$vm.field20
:21:$vm.field21
#if(!$null.isNull($vm.filed13CList) && $vm.filed13CList.size()!=0)
#foreach($field13C in $vm.filed13CList)
:13C:$field13C
#end
#end
:32A:$vm.field32A
#if($vm.field52Key=='A')
:52A:$vm.field52A
#if($vm.field52Account)
$vm.field52Account
#end
#elseif($vm.field52Key == 'D')
#if($vm.field52DAdr)
:52D:$vm.field52DAdr
#end
#if($vm.field52Account)
$vm.field52Account
#end
#end
#if($vm.field53AKey=='A')
#if($vm.field53A)
:53A:$vm.field53A
#end
#if($vm.field53Account)
$vm.field53Account
#end
#elseif($vm.field53BKey == 'B')
#if($vm.field53Account)
:53B:$vm.field53Account
#end
#elseif($vm.field53DKey == 'D')
#if($vm.field53Adr)
:53D:$vm.field53Adr
#if($vm.field53Account)
$vm.field53Account
#end
#end
#end
#if($vm.field54AKey=='A')
:54A:$vm.field54A
#if($vm.field54Account)
$vm.field54Account
#end
#elseif($vm.field54DKey == 'D')
#if($vm.field54Adr)
:54D:$vm.field54Adr
#end
#if($vm.field54Account)
$vm.field54Account
#end
#end
#if($vm.field56AKey=='A')
:56A:$vm.field56A
#if($vm.field56Account)
$vm.field56Account
#end
#elseif($vm.field56DKey == 'D')
#if($vm.field56Adr)
:56D:$vm.field56Adr
#end
#if($vm.field56Account)
$vm.field56Account
#end
#end
#if($vm.field57AKey=='A')
:57A:$vm.field57A
#if($vm.field57Account)
$vm.field57Account
#end
#elseif($vm.field57DKey == 'D')
#if($vm.field57Adr)
:57D:$vm.field57Adr
#end
#if($vm.field57Account)
$vm.field57Account
#end
#end
#if($vm.field58AKey=='A')
:58A:$vm.field58A
#if($vm.field58Account)
$vm.field58Account
#end
#elseif($vm.field58DKey == 'D')
#if($vm.field58Adr)
:58D:$vm.field58Adr
#end
#if($vm.field58Account)
$vm.field58Account
#end
#end
#if(!$null.isNull($vm.filed72) && $vm.filed72.length()>0)
:72:$vm.filed72
#end
#if($vm.fieldB50Option=='A')
#if($vm.field50A)
:B\50A:$vm.fieldB50A
#end
#if($vm.fieldB50Account)
$vm.fieldB50Account
#end
#elseif($vm.fieldB50Option == 'F')
#if($vm.fieldB50F)
:B\50F:$vm.fieldB50F
#end
#if($vm.fieldB50Account)
$vm.fieldB50Account
#end
#elseif($vm.fieldB50Option == 'K')
#if($vm.fieldB50K)
:B\50K:$vm.fieldB50K
#end
#if($vm.fieldB50Account)
$vm.fieldB50Account
#end
#end
#if($vm.fieldB52Option=='A')
:B\52A:$vm.fieldB52A
#if($vm.fieldB52Account)
$vm.fieldB52Account
#end
#elseif($vm.fieldB52Option == 'D')
#if($vm.fieldB52D)
:B\52D:$vm.fieldB52D
#end
#if($vm.fieldB52Account)
$vm.fieldB52Account
#end
#end
#if($vm.fieldB56Option=='A')
#if($vm.fieldB56A)
:B\56A:$vm.fieldB56A
#end
#if($vm.fieldB56Account)
$vm.fieldB56Account
#end
#elseif($vm.fieldB56Option == 'C')
#if($vm.fieldB50Account)
:B\56C:$vm.fieldB50Account
#end
#elseif($vm.fieldB56Option == 'D')
#if($vm.fieldB56D)
:B\56K:$vm.fieldB56D
#end
#if($vm.fieldB56Account)
$vm.fieldB56Account
#end
#end
#if($vm.fieldB57Option=='A')
#if($vm.fieldB57)
:B\57A:$vm.fieldB57
#end
#if($vm.fieldB57Account)
$vm.fieldB57Account
#end
#elseif($vm.fieldB57Option == 'C')
#if($vm.fieldB57Account)
:B\57C:$vm.fieldB57Account
#end
#elseif($vm.fieldB57Option == 'D')
#if($vm.fieldB57D)
:B\57D:$vm.fieldB57D
#end
#if($vm.fieldB57Account)
$vm.fieldB57Account
#end
#end
#if($vm.fieldB59Option=='')
:B\59:$vm.fieldB59
#if($vm.fieldB59Account)
$vm.fieldB59Account
#end
#elseif($vm.fieldB59Option == 'A')
#if($vm.fieldB59A)
:B\59A:$vm.fieldB59A
#end
#if($vm.fieldB59Account)
$vm.fieldB59Account
#end
#end
#if(!$null.isNull($vm.field70) && $vm.field70.length()>0)
:70:$vm.field70
#end
#if(!$null.isNull($vm.field33B) && $vm.field33B.length()>0)
:33B:$vm.field33B
#end
-}{5:{MAC:6342F3D2}{CHK:C412E5AF7797}{DLM:}}
\ No newline at end of file
src/test/java/com/brilliance/mt103/TestMx2MtFor103.java
0 → 100644
View file @
bd4d2a15
package
com
.
brilliance
.
mt103
;
import
com.prowidesoftware.brilliance.mx2mt.Mx2MtCreateManager
;
import
java.io.File
;
public
class
TestMx2MtFor103
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Mx2MtCreateManager
mx2MtCreateManager
=
new
Mx2MtCreateManager
();
String
mt103
=
mx2MtCreateManager
.
mx2mt
(
new
File
(
System
.
getProperty
(
"user.dir"
)+
"\\src\\main\\resources\\swiftXml\\MxPacs00800102.xml"
),
"f:/test/MT900.txt"
);
System
.
out
.
println
(
mt103
);
}
}
src/test/java/com/brilliance/mt202/TestMx2MtFor202.java
0 → 100644
View file @
bd4d2a15
package
com
.
brilliance
.
mt202
;
import
com.prowidesoftware.brilliance.mx2mt.Mx2MtCreateManager
;
import
java.io.File
;
public
class
TestMx2MtFor202
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
Mx2MtCreateManager
mx2MtCreateManager
=
new
Mx2MtCreateManager
();
String
mt202
=
mx2MtCreateManager
.
mx2mt
(
new
File
(
System
.
getProperty
(
"user.dir"
)+
"\\src\\main\\resources\\swiftXml\\MxPacs00900102.xml"
),
"f:/test/MT202.txt"
);
System
.
out
.
println
(
mt202
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment