Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
isc-funds
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
isc-funds
Commits
1d6ab117
Commit
1d6ab117
authored
Oct 25, 2024
by
jianglong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增FXTLCN交易
parent
9698b046
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1028 additions
and
19 deletions
+1028
-19
FxtfcnTransactionServiceImpl.java
...sc/funds/fxtfcn/service/FxtfcnTransactionServiceImpl.java
+0
-19
FxtlcnValidator.java
...om/brilliance/isc/funds/fxtlcn/check/FxtlcnValidator.java
+87
-0
FxtlcnDocset.java
...om/brilliance/isc/funds/fxtlcn/document/FxtlcnDocset.java
+18
-0
FxtlcnDiasavRegister.java
...sc/funds/fxtlcn/register/dissav/FxtlcnDiasavRegister.java
+46
-0
FxtlcnDocumentRegister.java
...isc/funds/fxtlcn/register/doc/FxtlcnDocumentRegister.java
+44
-0
FxtlcnFeeRegister.java
...ance/isc/funds/fxtlcn/register/fee/FxtlcnFeeRegister.java
+39
-0
FxtlcnLiaallRegister.java
...sc/funds/fxtlcn/register/liaall/FxtlcnLiaallRegister.java
+28
-0
FxtlcnSettleRegister.java
...sc/funds/fxtlcn/register/settle/FxtlcnSettleRegister.java
+169
-0
FxtlcnWfeRegister.java
...ance/isc/funds/fxtlcn/register/wfe/FxtlcnWfeRegister.java
+17
-0
FxtlcnResource.java
.../brilliance/isc/funds/fxtlcn/resource/FxtlcnResource.java
+31
-0
FxtlcnTransactionServiceImpl.java
...sc/funds/fxtlcn/service/FxtlcnTransactionServiceImpl.java
+356
-0
FxtlcnStoreBo.java
...java/com/brilliance/isc/funds/bo/funds/FxtlcnStoreBo.java
+66
-0
FxtlcnStructMapper.java
...ce/isc/funds/transfer/transaction/FxtlcnStructMapper.java
+63
-0
FxtlcnStoreVo.java
...java/com/brilliance/isc/funds/vo/funds/FxtlcnStoreVo.java
+64
-0
No files found.
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtfcn/service/FxtfcnTransactionServiceImpl.java
View file @
1d6ab117
...
...
@@ -300,25 +300,6 @@ public class FxtfcnTransactionServiceImpl extends AbstractTransactionService<Fxt
//todo
//this.getNosmod().savNostro();
fxToolComponent
.
getref
(
bo
.
getFxdgrp
());
// 1. Create (rsp. update) Contract (incl. Texts)
bo
.
getFxdgrp
().
getRec
().
setCnfdat
(
Dates
.
today
());
if
(
MdaUtils
.
compareTo
(
bo
.
getFxdgrp
().
getCbs
().
getOpn2
().
getAmt
(),
0
)
==
0
)
{
bo
.
getFxdgrp
().
getRec
().
setClsdat
(
Dates
.
today
());
}
bo
.
getFxdgrp
().
setAcc
(
bo
.
getAplacc
());
fxToolComponent
.
sav
(
bo
.
getFxdgrp
(),
BigDecimal
.
ZERO
);
// 2. Build Transaction from FTDGRP
trnmodService
.
trnSetFromContract
(
trnmodVo
);
cbsSav
(
bo
,
trnmodVo
);
// save documents
//TODO
//记录116台账
//transactionVo.getNosmod().savNostro();
}
public
void
cbsSav
(
FxtfcnStoreBo
transactionVo
,
TrnmodVo
trnmodVo
)
{
...
...
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/check/FxtlcnValidator.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
check
;
import
com.brilliance.isc.bo.Act
;
import
com.brilliance.isc.common.transaction.newcheck.AbstractModuleValidator
;
import
com.brilliance.isc.common.transaction.newcheck.ValidResult
;
import
com.brilliance.isc.common.transaction.newcheck.Validate
;
import
com.brilliance.isc.common.util.Utils
;
import
com.brilliance.isc.funds.bo.funds.FxtlcnStoreBo
;
import
com.brilliance.isc.funds.bo.funds.FxtlopStoreBo
;
import
com.brilliance.isc.funds.vo.funds.FxtlcnStoreVo
;
import
com.brilliance.isc.funds.vo.funds.FxtfopStoreVo
;
import
com.brilliance.mda.runtime.mda.util.MdaUtils
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
brilliance
.
mda
.
runtime
.
mda
.
Constants
.
NULLSTR
;
/**
* @program: isc-funds
* @ClassName: FxtlcnValidator
* @description: 结售汇平盘确认 Fxtlcn 校验
* @author: 肖桐
* @create: 2024-10-11 11:28
*/
@Component
public
class
FxtlcnValidator
extends
AbstractModuleValidator
<
FxtlcnStoreBo
>{
@Override
@PostConstruct
public
void
register
(){
super
.
register
();;
}
@Override
public
Map
<
String
,
String
>
validate
(
FxtlcnStoreBo
vo
)
{
Map
<
String
,
String
>
maps
=
new
HashMap
<>();
maps
.
putAll
(
super
.
validate
(
vo
));
return
maps
;
}
/**
* source:fxtlcn.0007.script
*/
@Validate
(
path
=
"canamt"
)
public
ValidResult
checkCanamtN1000
(
FxtlcnStoreBo
bo
){
if
(
"LB"
.
equals
(
bo
.
getFxdgrp
().
getRec
().
getFxtyp
())
&&
MdaUtils
.
compareTo
(
bo
.
getCanamt
(),
bo
.
getFxdgrp
().
getCbs
().
getNom1
().
getAmt
())>
0
)
{
return
ValidResult
.
build
(
false
,
"实际销账金额不能大于待销账金额!"
);
}
return
null
;
}
/**
* source:fxtlcn.0011.script
*/
@Validate
(
path
=
"fxdgrp.act.pts.extkey"
)
public
ValidResult
checkActN1000
(
FxtlcnStoreBo
bo
){
if
(
MdaUtils
.
compareTo
(
bo
.
getFxdgrp
().
getAct
().
getPts
().
getPtyinr
(),
bo
.
getOldactinr
())
!=
0
)
{
if
(
MdaUtils
.
compareTo
(
bo
.
getOldactinr
(),
"NONE"
)
==
0
&&
MdaUtils
.
isEmpty
(
bo
.
getFxdgrp
().
getAct
().
getPts
().
getPtyinr
())
)
{
}
else
{
return
ValidResult
.
build
(
false
,
"账户行不一致,无法销账!"
);
}
}
return
null
;
}
//TODO
//收报才会有relcur, relamt,先去除此校验
@Validate
(
path
=
"fxdgrp.cbs.nom1.amt"
)
public
ValidResult
checkNom1AmtN1000
(
FxtlcnStoreBo
bo
){
// if( ( MdaUtils.compareTo(bo.getRelcur(),bo.getFxdgrp().getCbs().getNom1().getCur()) != 0 || MdaUtils.compareTo(bo.getRelamt(),bo.getFxdgrp().getCbs().getNom1().getAmt()) != 0 ) )
// {
// return ValidResult.build(false, "金额不一致或没有绑定报文,无法销账!");
// }
return
null
;
}
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/document/FxtlcnDocset.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
document
;
import
com.brilliance.isc.common.trndoc.vo.DoceotVo
;
import
com.brilliance.isc.doc.handle.impl.AbstractTransactionDocSet
;
import
com.brilliance.isc.funds.bo.funds.FxtlcnStoreBo
;
import
com.brilliance.mda.runtime.mda.util.MdaUtils
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
import
java.util.Map
;
@Component
(
"fxtlcn.docset"
)
public
class
FxtlcnDocset
extends
AbstractTransactionDocSet
<
FxtlcnStoreBo
>
{
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/register/dissav/FxtlcnDiasavRegister.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
register
.
dissav
;
import
com.brilliance.isc.common.register.diasav.IDiasavRegister
;
import
com.brilliance.isc.common.register.diasav.common.DftcreDiasavRegister
;
import
com.brilliance.isc.common.register.diasav.common.LiaallDiasavRegister
;
import
com.brilliance.isc.common.register.diasav.common.LiaallDiasavZZZRegister
;
import
com.brilliance.isc.common.register.diasav.common.TrtcreDiasavRegister
;
import
com.brilliance.isc.common.trndia.service.TrndiaService
;
import
com.brilliance.isc.common.trndia.vo.TrndiaVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @program: isc-funds
* @ClassName: FxtlcnDiasavRegister
* @description: 结售汇平盘确认 Fxtlcn 备忘录注册
* @author: Lenovo
* @create: 2024-10-11 17:30
*/
@Component
(
"fxtlcn.diasavRegister"
)
public
class
FxtlcnDiasavRegister
implements
IDiasavRegister
{
@Autowired
private
TrndiaService
trndiaService
;
@Autowired
private
LiaallDiasavRegister
liaallDiasavRegister
;
@Autowired
private
LiaallDiasavZZZRegister
liaallDiasavZZZRegister
;
@Autowired
private
TrtcreDiasavRegister
trtcreDiasavRegister
;
@Autowired
private
DftcreDiasavRegister
dftcreDiasavRegister
;
@Override
public
void
diasav
(
TrndiaVo
trndia
)
{
trnDiasav
(
trndia
);
liaallDiasavRegister
.
diasav
(
trndia
);
liaallDiasavZZZRegister
.
diasav
(
trndia
);
trtcreDiasavRegister
.
diasav
(
trndia
);
dftcreDiasavRegister
.
diasav
(
trndia
);
}
private
void
trnDiasav
(
TrndiaVo
trndiaVo
)
{
}
}
\ No newline at end of file
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/register/doc/FxtlcnDocumentRegister.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
register
.
doc
;
import
com.brilliance.isc.common.component.PtsptaToolComponent
;
import
com.brilliance.isc.common.register.document.IDocumentRegister
;
import
com.brilliance.isc.common.register.document.common.SetmodDocumentRegister
;
import
com.brilliance.isc.common.trndoc.service.TrndocService
;
import
com.brilliance.isc.common.trndoc.vo.TrndocVo
;
import
com.brilliance.isc.common.vo.PtsptaVo
;
import
com.brilliance.isc.vo.funds.FxdBizInfoVo
;
import
com.brilliance.mda.runtime.mda.util.MdaUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
/**
* @program: isc-funds
* @ClassName: FxtlcnDocumentRegister
* @description: 结售汇平盘确认 Fxtlcn 报文注册
* @author: Lenovo
* @create: 2024-10-11 17:47
*/
@Component
(
"fxtlcn.documentRegister"
)
public
class
FxtlcnDocumentRegister
implements
IDocumentRegister
{
@Autowired
TrndocService
trndocService
;
@Resource
PtsptaToolComponent
ptsptaToolComponent
;
@Autowired
private
SetmodDocumentRegister
setmodDocumentRegister
;
@Override
public
void
registerDocument
(
TrndocVo
trndoc
)
{
doRegister
(
trndoc
);
setmodDocumentRegister
.
registerDocument
(
trndoc
);
//entmodDocumentRegister.registerDocument(trndoc);
}
public
void
doRegister
(
TrndocVo
trndoc
){
}
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/register/fee/FxtlcnFeeRegister.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
register
.
fee
;
import
com.brilliance.isc.common.register.fee.AbstractFeeRegister
;
import
com.brilliance.isc.common.register.fee.common.DocumentFeeRegister
;
import
com.brilliance.isc.common.register.fee.common.LiaallFeeRegister
;
import
com.brilliance.isc.common.register.fee.common.SetmodFeeRegister
;
import
com.brilliance.isc.common.setfeg.service.SetfegService
;
import
com.brilliance.isc.common.setmod.vo.SetmodVo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @program: isc-funds
* @ClassName: FxtlcnFeeRegister
* @description: 结售汇平盘确认 Fxtlcn 费用注册
* @author: Lenovo
* @create: 2024-10-11 17:36
*/
@Component
(
"fxtlcn.feeRegister"
)
public
class
FxtlcnFeeRegister
extends
AbstractFeeRegister
{
@Autowired
private
SetfegService
setfegService
;
@Autowired
private
DocumentFeeRegister
documentFeeRegister
;
@Autowired
private
LiaallFeeRegister
liaallFeeRegister
;
@Autowired
private
SetmodFeeRegister
setmodFeeRegister
;
@Override
public
void
registerSettlement
(
SetmodVo
setmodVo
)
{
setmodFeeRegister
.
registerSettlement
(
setmodVo
);
documentFeeRegister
.
registerSettlement
(
setmodVo
);
liaallFeeRegister
.
registerSettlement
(
setmodVo
);
}
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/register/liaall/FxtlcnLiaallRegister.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
register
.
liaall
;
import
com.brilliance.isc.common.liaall.vo.LiaallVo
;
import
com.brilliance.isc.common.register.fee.AbstractFeeRegister
;
import
com.brilliance.isc.common.register.liaall.ILiaallRegister
;
import
com.brilliance.isc.common.register.liaall.common.LiaallRegister
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @program: isc-funds
* @ClassName: FxtlcnLiaallRegister
* @description: 结售汇平盘确认 Fxtlcn 表外注册
* @author: Lenovo
* @create: 2024-10-11 17:41
*/
@Component
(
"fxtlcn.liaallSetTransaction"
)
public
class
FxtlcnLiaallRegister
implements
ILiaallRegister
{
@Autowired
private
LiaallRegister
liaallRegister
;
@Override
public
void
liaallSetTransaction
(
LiaallVo
liaallVo
)
{
liaallRegister
.
liaallSetTransaction
(
liaallVo
);
}
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/register/settle/FxtlcnSettleRegister.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
register
.
settle
;
import
com.brilliance.isc.bo.model.Fxdgrp
;
import
com.brilliance.isc.common.cbsmod.service.XrtmodService
;
import
com.brilliance.isc.common.context.SettleContext
;
import
com.brilliance.isc.common.glemod.service.GlemodService
;
import
com.brilliance.isc.common.register.settle.DefaultSettleRegister
;
import
com.brilliance.isc.common.register.settle.ISettleRegister
;
import
com.brilliance.isc.common.setglg.service.SetglgService
;
import
com.brilliance.isc.common.setglg.vo.SetglgVo
;
import
com.brilliance.isc.common.setmod.service.SetmodService
;
import
com.brilliance.isc.common.setmod.vo.SetmodVo
;
import
com.brilliance.isc.funds.common.component.FxToolComponent
;
import
com.brilliance.isc.vo.funds.FxdBizInfoVo
;
import
com.brilliance.mda.runtime.mda.util.Decimals
;
import
com.brilliance.mda.runtime.mda.util.MdaUtils
;
import
com.brilliance.mda.runtime.mda.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
com.brilliance.isc.common.component.PtsptaToolComponent
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
static
com
.
brilliance
.
mda
.
runtime
.
mda
.
Constants
.
NO_ERROR
;
import
static
com
.
brilliance
.
mda
.
runtime
.
mda
.
Constants
.
NULLSTR
;
@Component
(
"fxtlcn.settleRegister"
)
public
class
FxtlcnSettleRegister
implements
ISettleRegister
{
@Autowired
private
SetmodService
setmodService
;
@Autowired
private
SetglgService
setglgService
;
@Autowired
private
DefaultSettleRegister
defaultSettleRegister
;
@Autowired
private
GlemodService
glemodService
;
@Resource
private
SettleContext
settleContext
;
@Resource
private
XrtmodService
xrtmodService
;
@Resource
private
FxToolComponent
fxToolComponent
;
@Resource
private
PtsptaToolComponent
ptsptaToolComponent
;
@Override
public
void
registerSettlement
(
SetmodVo
setmodVo
)
{
transRegister
(
setmodVo
);
defaultSettleRegister
.
registerSettlement
(
setmodVo
);
}
private
void
transRegister
(
SetmodVo
setmodVo
)
{
FxdBizInfoVo
rec
=
(
FxdBizInfoVo
)
setmodVo
.
getRec
();
Fxdgrp
fxdgrp
=
fxToolComponent
.
getFxdgrpByInr
(
rec
.
getObjinr
());
//取得上下文
setmodVo
.
setDoccur
(
rec
.
getCancur
());
setmodVo
.
setDocamt
(
rec
.
getCanamt
());
SetglgVo
setglg
=
setmodVo
.
getSetglg
();
setglgService
.
setglgClrAmount
(
setglg
,
"TRN"
);
setglgService
.
setglgClrAmount
(
setglg
,
"TRN1"
);
setglgService
.
setglgClrAmount
(
setglg
,
"SET1"
);
//!===============================================
//!BOOKING:
//!买入:D: 114(或116)外币 C:13903外币
//!卖出:13903人民币的销账在核心处理
//!===============================================
String
dbtKey1
=
NULLSTR
;
String
act1
=
NULLSTR
;
String
cbtKey1
=
NULLSTR
;
String
act4
=
NULLSTR
;
String
dbtKey2
=
NULLSTR
;
String
act5
=
NULLSTR
;
String
cbtKey2
=
NULLSTR
;
String
acctyp
=
NULLSTR
;
String
cdtKey
=
NULLSTR
;
String
act2
=
NULLSTR
;
String
dbtKey
=
NULLSTR
;
if
(
MdaUtils
.
compareTo
(
Strings
.
mid
(
rec
.
getFxtyp
(),
2
,
1
),
"S"
)
==
0
)
{
//! 20190529增加卖出平盘销账
dbtKey1
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"OWN"
,
fxdgrp
.
getCbs
().
getNom1
().
getCur
(),
fxdgrp
.
getCbs
().
getNom1
().
getAmt
(),
""
,
"DTC"
,
"C"
,
this
.
getAccountByEntity
(),
"SET"
);
act1
=
glemodService
.
getAvailAcc
(
"FT-FCR"
,
"CNY"
,
""
,
setmodVo
.
getSetamt
()
);
cbtKey1
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"OWN"
,
fxdgrp
.
getCbs
().
getNom1
().
getCur
(),
fxdgrp
.
getCbs
().
getNom1
().
getAmt
().
negate
(),
""
,
"FTD"
,
"A"
,
act1
,
""
);
act4
=
glemodService
.
getAvailAcc
(
"FX-SLQ"
,
"CNY"
,
""
,
setmodVo
.
getSetamt
()
);
dbtKey2
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"OWN"
,
fxdgrp
.
getCbs
().
getNom1
().
getCur
(),
fxdgrp
.
getCbs
().
getNom1
().
getAmt
(),
""
,
"FXC"
,
"A"
,
act4
,
""
);
act5
=
glemodService
.
getAvailAcc
(
"FX-ZJJ"
,
"CNY"
,
""
,
setmodVo
.
getSetamt
()
);
cbtKey2
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"OWN"
,
"CNY"
,
fxdgrp
.
getCbs
().
getNom1
().
getAmt
().
negate
(),
""
,
"FXD"
,
"C"
,
act5
,
""
);
}
else
{
//如果ACT角色未赋值,则APL为我行账户行
if
(
ptsptaToolComponent
.
ptsIsRolSet
(
fxdgrp
.
getAct
())
)
{
//D: 114(或116)外币
if
(
ptsptaToolComponent
.
IsDemestic
(
fxdgrp
.
getAct
())
)
{
acctyp
=
"DB-CLR"
;
act1
=
glemodService
.
getAvailAcc
(
acctyp
,
setmodVo
.
getDoccur
(),
fxdgrp
.
getAct
().
getPts
().
getPtyinr
(),
setmodVo
.
getSetamt
()
);
cdtKey
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"APL"
,
setmodVo
.
getDoccur
(),
setmodVo
.
getSetamt
(),
""
,
"DBD"
,
"C"
,
act1
,
""
);
}
else
{
acctyp
=
"DB-FOG"
;
act2
=
glemodService
.
getAvailAcc
(
acctyp
,
setmodVo
.
getDoccur
(),
fxdgrp
.
getAct
().
getPts
().
getPtyinr
(),
setmodVo
.
getSetamt
()
);
cdtKey
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"APL"
,
setmodVo
.
getDoccur
(),
setmodVo
.
getSetamt
(),
""
,
"DBD"
,
"C"
,
act2
,
""
);
}
}
else
{
//D: 114(或116)外币
if
(
ptsptaToolComponent
.
IsDemestic
(
fxdgrp
.
getApl
())
)
{
acctyp
=
"DB-CLR"
;
act1
=
glemodService
.
getAvailAcc
(
acctyp
,
setmodVo
.
getDoccur
(),
fxdgrp
.
getApl
().
getPts
().
getPtyinr
(),
setmodVo
.
getSetamt
()
);
cdtKey
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"APL"
,
setmodVo
.
getDoccur
(),
setmodVo
.
getSetamt
(),
""
,
"DBD"
,
"C"
,
act1
,
""
);
}
else
{
acctyp
=
"DB-FOG"
;
act2
=
glemodService
.
getAvailAcc
(
acctyp
,
setmodVo
.
getDoccur
(),
fxdgrp
.
getApl
().
getPts
().
getPtyinr
(),
setmodVo
.
getSetamt
()
);
cdtKey
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"APL"
,
setmodVo
.
getDoccur
(),
setmodVo
.
getSetamt
(),
""
,
"DBD"
,
"C"
,
act2
,
""
);
}
}
//C:13903外币
/**
$Act2 = SETMOD\\GLEMOD.GetAvailAcc ( "FT-FXR", SETMOD\\DOCCUR, "", self, SETMOD\\SETAMT )
**/
act2
=
glemodService
.
getAvailAcc
(
"FT-FCR"
,
setmodVo
.
getDoccur
(),
""
,
setmodVo
.
getSetamt
()
);
cdtKey
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"OWN"
,
setmodVo
.
getDoccur
(),
setmodVo
.
getSetamt
().
negate
(),
""
,
"FTC"
,
"C"
,
act2
,
""
);
//D:281114 CNY 自营
act5
=
glemodService
.
getAvailAcc
(
"FX-ZJJ"
,
"CNY"
,
""
,
setmodVo
.
getSetamt
()
);
dbtKey
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN1"
,
"OWN"
,
"CNY"
,
fxdgrp
.
getCbs
().
getNom1
().
getAmt
(),
""
,
"FTD"
,
"C"
,
act5
,
""
);
act4
=
glemodService
.
getAvailAcc
(
"FX-SLQ"
,
"CNY"
,
""
,
setmodVo
.
getSetamt
()
);
dbtKey2
=
setglgService
.
setglgAddAmount
(
setglg
,
"TRN"
,
"OWN"
,
fxdgrp
.
getCbs
().
getNom1
().
getCur
(),
fxdgrp
.
getCbs
().
getNom1
().
getAmt
().
negate
(),
""
,
"FTC"
,
"F"
,
act4
,
""
);
}
setmodService
.
setglgAllValDat
(
setmodVo
,
fxdgrp
.
getRec
().
getValdat
(),
"D"
);
}
public
String
getAccountByEntity
(){
//#!根据实体获取结售汇平盘相关账号
String
etyExtkey
=
SettleContext
.
getUserEty
().
getExtkey
();
switch
(
etyExtkey
){
case
"HCJB"
:
return
"140010122000224093"
;
case
"HRCB"
:
return
"6799901262116000010054"
;
default
:
return
""
;
}
}
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/register/wfe/FxtlcnWfeRegister.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
register
.
wfe
;
import
com.brilliance.isc.common.trnism.service.IWfeRegister
;
import
com.brilliance.isc.common.trnmod.vo.TrnmodVo
;
import
com.brilliance.isc.common.wfmmod.service.WfmmodService
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
@Component
(
"fxtlcn"
+
"."
+
IWfeRegister
.
REGISTER_NAME
)
public
class
FxtlcnWfeRegister
implements
IWfeRegister
{
@Override
public
void
wfeRegister
(
TrnmodVo
trnmodVo
){
}
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/resource/FxtlcnResource.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
resource
;
import
com.brilliance.isc.common.transaction.controller.AbstractTransactionController
;
import
com.brilliance.isc.funds.bo.funds.FxtlcnStoreBo
;
import
com.brilliance.isc.funds.transfer.transaction.FxtlcnStructMapper
;
import
com.brilliance.isc.funds.vo.funds.FxtlcnStoreVo
;
import
com.brilliance.isc.transfer.IStructMapper
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
/**
* @program: isc-funds
* @ClassName: FxtlcnResource
* @description: 结售汇平盘确认 Fxtlcn 请求入口
* @author: xiaotong
* @create: 2024-10-11 17:09
*/
@RestController
@RequestMapping
(
"/fxtlcn"
)
public
class
FxtlcnResource
extends
AbstractTransactionController
<
FxtlcnStoreVo
>
{
@Resource
private
FxtlcnStructMapper
fxtlcnStructMapper
;
public
IStructMapper
getStructMapper
()
{
return
fxtlcnStructMapper
;
}
}
isc-funds-business/src/main/java/com/brilliance/isc/funds/fxtlcn/service/FxtlcnTransactionServiceImpl.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
fxtlcn
.
service
;
import
com.brilliance.isc.bo.Act
;
import
com.brilliance.isc.bo.Fxd
;
import
com.brilliance.isc.bo.model.Fxdgrp
;
import
com.brilliance.isc.bo.Smh
;
import
com.brilliance.isc.bo.Pty
;
import
com.brilliance.isc.common.api.bch.service.BchService
;
import
com.brilliance.isc.common.cache.pta.PtaCacheService
;
import
com.brilliance.isc.common.cbsmod.service.CbsmodService
;
import
com.brilliance.isc.common.cbsmod.service.XrtmodService
;
import
com.brilliance.isc.common.contants.CommonContants
;
import
com.brilliance.isc.common.context.SettleContext
;
import
com.brilliance.isc.common.liaall.service.LiaallService
;
import
com.brilliance.isc.common.setmod.service.SetmodService
;
import
com.brilliance.isc.common.sysmod.SysmodService
;
import
com.brilliance.isc.common.transaction.AbstractTransactionService
;
import
com.brilliance.isc.common.transaction.help.TransactionHelpService
;
import
com.brilliance.isc.common.transaction.help.TransactionServiceSet
;
import
com.brilliance.isc.common.trnmod.service.TrnmodService
;
import
com.brilliance.isc.common.trnmod.vo.TrnmodVo
;
import
com.brilliance.isc.common.util.I18nUtil
;
import
com.brilliance.isc.common.vo.BizAmdInfoVo
;
import
com.brilliance.isc.common.vo.BizInfoVo
;
import
com.brilliance.isc.funds.bo.funds.FxtlcnStoreBo
;
import
com.brilliance.isc.funds.common.component.FxToolComponent
;
import
com.brilliance.isc.funds.fxtlcn.check.FxtlcnValidator
;
import
com.brilliance.isc.funds.fxtlop.service.FxtpService
;
import
com.brilliance.isc.funds.vo.funds.FxtlcnStoreVo
;
import
com.brilliance.isc.mda.dao.PtyratMapper
;
import
com.brilliance.isc.mda.dao.SmhMapper
;
import
com.brilliance.isc.vo.funds.FxdBizInfoVo
;
import
com.brilliance.mda.runtime.mda.util.Dates
;
import
com.brilliance.mda.runtime.mda.util.Decimals
;
import
com.brilliance.mda.runtime.mda.util.MdaUtils
;
import
com.brilliance.mda.runtime.mda.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.brilliance.isc.mda.dao.ActMapper
;
import
com.brilliance.isc.mda.dao.PtyMapper
;
import
com.brilliance.isc.common.component.SptDataComponent
;
import
com.brilliance.isc.common.component.PtsptaToolComponent
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
brilliance
.
mda
.
runtime
.
mda
.
Constants
.
NULLSTR
;
/**
* @program: isc-funds
* @ClassName: FxtlcnTransactionServiceImpl
* @description: 结售汇平盘确认 Fxtlcn 业务处理
* @author: xiaotong
* @create: 2024-10-11 15:20
*/
@Service
(
"fxtlcn.transaction"
)
public
class
FxtlcnTransactionServiceImpl
extends
AbstractTransactionService
<
FxtlcnStoreBo
>
{
@Resource
private
FxtlcnValidator
fxtlcnValidator
;
// @Autowired
// private FxtlcnService fxtlcnService;
@Resource
private
FxToolComponent
fxToolComponent
;
@Resource
private
TrnmodService
trnmodService
;
@Resource
private
XrtmodService
xrtmodService
;
@Resource
private
TransactionHelpService
transactionHelpService
;
@Resource
private
CbsmodService
cbsmodService
;
@Resource
private
LiaallService
liaallService
;
@Resource
private
SettleContext
settleContext
;
@Autowired
private
PtaCacheService
ptaCacheService
;
@Resource
private
BchService
bchService
;
@Resource
private
PtyratMapper
ptyratMapper
;
@Resource
private
SmhMapper
smhMapper
;
@Resource
private
ActMapper
actMapper
;
@Resource
private
PtyMapper
ptyMapper
;
@Resource
private
SetmodService
setmodService
;
@Resource
private
FxtpService
fxtpService
;
@Resource
private
SysmodService
sysmodService
;
@Autowired
SptDataComponent
sptDataComponent
;
@Autowired
PtsptaToolComponent
ptsptaToolComponent
;
@PostConstruct
public
void
regisertService
()
{
serviceRegisterMaps
.
put
(
CommonContants
.
SETMOD_SERVICE
,
"Y"
);
serviceRegisterMaps
.
put
(
CommonContants
.
TRNDOC_SERVICE
,
"Y"
);
serviceRegisterMaps
.
put
(
CommonContants
.
GLEMOD_SERVICE
,
"Y"
);
serviceRegisterMaps
.
put
(
CommonContants
.
TRNDIA_SERVICE
,
"Y"
);
serviceRegisterMaps
.
put
(
CommonContants
.
TRNMOD_SERVICE
,
"Y"
);
// serviceRegisterMaps.put(CommonContants.UMDMOD_SERVICE, "N");
// serviceRegisterMaps.put(CommonContants.LIMMOD_SERVICE, "Y");
// serviceRegisterMaps.put(CommonContants.BOPSET_RMB_SERVICE, "Y");
// serviceRegisterMaps.put(CommonContants.BOPSET_SZSB_BOPREM_SERVICE, "Y");
// serviceRegisterMaps.put(CommonContants.BOPSET_CFABOP_SERVICE, "Y");
// serviceRegisterMaps.put(CommonContants.FANXIQIAN_SERVICE, "Y");
}
@Override
protected
void
txnSave
(
FxtlcnStoreBo
transactionVo
)
{
ruleMtabutSavN500
(
transactionVo
);
}
@Override
protected
Map
<
String
,
String
>
txnCheck
(
FxtlcnStoreBo
transactionVo
)
{
return
fxtlcnValidator
.
validate
(
transactionVo
);
}
@Override
protected
BizInfoVo
buildBizInfo
(
FxtlcnStoreBo
bo
)
{
FxdBizInfoVo
bizInfoVo
=
new
FxdBizInfoVo
();
bizInfoVo
.
setObjtyp
(
"FXD"
);
Fxd
rec
=
bo
.
getFxdgrp
().
getRec
();
bizInfoVo
.
setObjinr
(
rec
.
getInr
());
bizInfoVo
.
setOwnref
(
rec
.
getOwnref
());
bizInfoVo
.
setFxtyp
(
rec
.
getFxtyp
());
bizInfoVo
.
setAcc1
(
bo
.
getAcc1
());
bizInfoVo
.
setAcc2
(
bo
.
getAcc2
());
bizInfoVo
.
setDsp
(
rec
.
getDsp
());
bizInfoVo
.
setDsp2
(
rec
.
getDsp2
());
bizInfoVo
.
setTrdint
(
rec
.
getTrdint
());
bizInfoVo
.
setTrdout
(
rec
.
getTrdout
());
bizInfoVo
.
setTrnman
(
rec
.
getTrnman
());
bizInfoVo
.
setRat
(
rec
.
getRat
());
bizInfoVo
.
setCancur
(
bo
.
getCancur
());
bizInfoVo
.
setCanamt
(
bo
.
getCanamt
());
return
bizInfoVo
;
}
@Override
protected
BizAmdInfoVo
buildBizAmdInfo
(
FxtlcnStoreBo
transactionVo
)
{
return
null
;
}
@Override
public
FxtlcnStoreBo
init
(
FxtlcnStoreBo
fxtlcnStoreBo
)
{
fxtlcnStoreBo
.
reset
();
String
fxdinr
=
fxtlcnStoreBo
.
getFxdgrp
().
getRec
().
getInr
();
if
(
sptDataComponent
.
needMergeSptData
(
fxtlcnStoreBo
))
{
fxdinr
=
fxtlcnStoreBo
.
getSpt
().
getObjinr
();
}
Fxdgrp
fxdgrpVo
=
fxToolComponent
.
getFxdgrpByInr
(
fxdinr
);
fxtlcnStoreBo
.
setFxdgrp
(
fxdgrpVo
);
init950
(
fxtlcnStoreBo
);
init1000
(
fxtlcnStoreBo
);
return
fxtlcnStoreBo
;
}
private
void
init950
(
FxtlcnStoreBo
fxtlcnStoreBo
)
{
Fxdgrp
fxdgrp
=
fxtlcnStoreBo
.
getFxdgrp
();
if
(
!
fxtlcnStoreBo
.
isModified
(
"canamt"
)){
fxtlcnStoreBo
.
setCanamt
(
fxdgrp
.
getCbs
().
getOpn2
().
getAmt
());
}
if
(
!
fxtlcnStoreBo
.
isModified
(
"cancur"
)){
fxtlcnStoreBo
.
setCancur
(
fxdgrp
.
getCbs
().
getOpn2
().
getCur
());
}
if
(
MdaUtils
.
isEmpty
(
fxdgrp
.
getRec
().
getOpndat
())){
fxdgrp
.
getRec
().
setOpndat
(
Dates
.
today
());
}
}
private
void
init1000
(
FxtlcnStoreBo
fxtlcnStoreBo
)
{
if
(
MdaUtils
.
isEmpty
(
fxtlcnStoreBo
.
getOldactinr
())
)
{
if
(
!
MdaUtils
.
isEmpty
(
fxtlcnStoreBo
.
getFxdgrp
().
getAct
().
getPts
().
getPtyinr
())
)
{
fxtlcnStoreBo
.
setOldactinr
(
fxtlcnStoreBo
.
getFxdgrp
().
getAct
().
getPts
().
getPtyinr
());
}
else
{
fxtlcnStoreBo
.
setOldactinr
(
"NONE"
);
}
}
String
extKey
=
NULLSTR
;
String
relCur
=
NULLSTR
;
BigDecimal
relAmt
=
Decimals
.
ZERO_SCALE2
;
String
f21
=
NULLSTR
;
String
inr
=
NULLSTR
;
if
(
sysmodService
.
sptIsIncLoaded
(
fxtlcnStoreBo
.
getSpt
().
getSta
())
)
{
Smh
smh
=
smhMapper
.
getSmhInfoBySptSmhinr
(
fxtlcnStoreBo
.
getSpt
().
getSmhinr
());
// 通过报文进来,读取报文发报行
if
(
smh
!=
null
){
extKey
=
smh
.
getSndkey
();
relCur
=
smh
.
getRelcur
();
relAmt
=
smh
.
getRelamt
();
//todo
//f21 =smh.getF21();
}
fxtlcnStoreBo
.
setRelcur
(
relCur
);
fxtlcnStoreBo
.
setRelamt
(
relAmt
);
fxtlcnStoreBo
.
setF21
(
f21
);
if
(
!
MdaUtils
.
isEmpty
(
extKey
)
)
{
if
(
Strings
.
len
(
extKey
)
==
12
)
{
extKey
=
Strings
.
mid
(
extKey
,
1
,
8
)
+
Strings
.
mid
(
extKey
,
10
);
}
Pty
pty
=
ptyMapper
.
selectByExtkey
(
extKey
);
inr
=
""
;
inr
=
pty
.
getInr
();
if
(
!
MdaUtils
.
isEmpty
(
inr
)
&&
MdaUtils
.
compareTo
(
fxtlcnStoreBo
.
getOldactinr
(),
inr
)
!=
0
)
{
fxtlcnStoreBo
.
getFxdgrp
().
setAct
(
ptsptaToolComponent
.
getPtsptaFromPtyINR
(
inr
));
}
}
}
fxtlcnStoreBo
.
setAplacc
(
fxtlcnStoreBo
.
getFxdgrp
().
getAcc
());
}
@Override
public
void
beforeSave
(
FxtlcnStoreBo
transactionVo
)
{
transactionVo
.
reset
();
Fxdgrp
fxdgrp
=
transactionVo
.
getFxdgrp
();
TransactionServiceSet
transactionServiceSet
=
transactionHelpService
.
getTransactionStoreSet
();
transactionServiceSet
.
setRec
(
fxdgrp
.
getRec
());
transactionServiceSet
.
setBlk
(
fxdgrp
.
getBlk
());
transactionServiceSet
.
setTransactionVo
(
transactionVo
);
fxToolComponent
.
collectCbsMap
(
transactionServiceSet
,
""
,
fxdgrp
.
getCbs
(),
"max"
,
"nom1"
,
"opn1"
,
"opn2"
);
fxToolComponent
.
collectPtsList
(
transactionServiceSet
,
fxdgrp
,
null
);
settleContext
.
loadSettleSession
(
transactionVo
.
getTransName
(),
transactionVo
.
getUserId
(),
buildBizInfo
(
transactionVo
),
transactionServiceSet
.
getPtsList
());
}
@Override
protected
void
updateBizInfoVo
(
BizInfoVo
bizInfoVo
,
FxtlcnStoreBo
transactionVo
)
{
bizInfoVo
.
setObjinr
(
transactionVo
.
getFxdgrp
().
getRec
().
getInr
());
}
public
void
ruleMtabutSavN500
(
FxtlcnStoreBo
bo
)
{
TrnmodVo
trnmodVo
=
transactionHelpService
.
getTransactionStoreSet
().
getTrnmodVo
();
fxToolComponent
.
getref
(
bo
.
getFxdgrp
());
// 1. Create (rsp. update) Contract (incl. Texts)
bo
.
getFxdgrp
().
getRec
().
setCnfdat
(
Dates
.
today
());
if
(
MdaUtils
.
compareTo
(
bo
.
getFxdgrp
().
getCbs
().
getOpn1
().
getAmt
(),
0
)
==
0
&&
MdaUtils
.
compareTo
(
bo
.
getCanamt
(),
bo
.
getFxdgrp
().
getCbs
().
getOpn2
().
getAmt
())
==
0
)
{
bo
.
getFxdgrp
().
getRec
().
setClsdat
(
Dates
.
today
());
}
fxToolComponent
.
sav
(
bo
.
getFxdgrp
(),
Decimals
.
ZERO_SCALE2
);
// 2. Build Transaction from FTDGRP
trnmodService
.
trnSetFromContract
(
trnmodVo
);
cbsSav
(
bo
,
trnmodVo
);
// save documents
//记录116台账
//todo
//this.getNosmod().savNostro();
}
public
void
cbsSav
(
FxtlcnStoreBo
transactionVo
,
TrnmodVo
trnmodVo
)
{
String
trninr
=
transactionHelpService
.
getTrninr
();
cbsmodService
.
cbsTrnSetNew
(
"TRN"
,
trninr
);
trnmodService
.
cbsTrnStore
(
"OPNAMT"
,
"AMT1"
,
Dates
.
today
(),
transactionVo
.
getCancur
(),
transactionVo
.
getCanamt
().
negate
(),
"Liquidation"
,
transactionVo
.
getFxdgrp
().
getRec
(),
trninr
);
//liaallService.storeAll(transactionHelpService.getTransactionStoreSet().getLiaall());
}
public
List
<
String
>
defaultAcc2N1000
(
FxtlcnStoreVo
vo
){
vo
.
reset
();
Fxd
rec
=
vo
.
getFxdgrp
().
getRec
();
List
<
String
>
actLst
=
new
ArrayList
<>();
if
(
!
MdaUtils
.
isEmpty
(
vo
.
getFxdgrp
().
getCbs
().
getMax
().
getCur
())
&&
!
MdaUtils
.
isEmpty
(
vo
.
getAplacc
().
getPts
().
getPtyinr
())
)
{
String
sql
=
"WHERE CUR = '"
+
vo
.
getFxdgrp
().
getCbs
().
getMax
().
getCur
()
+
"' AND SERPTYINR = '"
+
vo
.
getAplacc
().
getPts
().
getPtyinr
()
+
"' AND TYP = 'DB'"
;
List
<
String
>
actList
=
actMapper
.
getSerAccByConditionSql
(
sql
);
if
(
!
vo
.
isModified
(
"acc2"
)
&&
actLst
.
size
()>
0
)
{
vo
.
setAcc2
(
actLst
.
get
(
1
));
}
}
else
{
vo
.
setAcc2
(
NULLSTR
);
}
return
actLst
;
}
/**
* source:fxtlcn.0009.script
*/
public
List
<
String
>
defaultAcc1N1000
(
FxtlcnStoreVo
vo
){
vo
.
reset
();
Fxd
rec
=
vo
.
getFxdgrp
().
getRec
();
List
<
String
>
actLst
=
new
ArrayList
<>();
if
(
!
MdaUtils
.
isEmpty
(
vo
.
getFxdgrp
().
getCbs
().
getMax
().
getCur
())
&&
!
MdaUtils
.
isEmpty
(
vo
.
getFxdgrp
().
getAct
().
getPts
().
getPtyinr
())
)
{
String
sql
=
"WHERE CUR = '"
+
vo
.
getFxdgrp
().
getCbs
().
getMax
().
getCur
()
+
"' AND SERPTYINR = '"
+
vo
.
getFxdgrp
().
getAct
().
getPts
().
getPtyinr
()
+
"' AND TYP = 'DB'"
;
List
<
String
>
actList
=
actMapper
.
getSerAccByConditionSql
(
sql
);
if
(
!
vo
.
isModified
(
"acc1"
)
&&
actLst
.
size
()>
0
)
{
vo
.
setAcc1
(
actLst
.
get
(
1
));
}
}
else
{
vo
.
setAcc1
(
NULLSTR
);
}
return
actLst
;
}
}
isc-funds-entity/src/main/java/com/brilliance/isc/funds/bo/funds/FxtlcnStoreBo.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
bo
.
funds
;
import
com.brilliance.isc.bo.model.Fxdgrp
;
import
com.brilliance.isc.bo.model.Fxtp
;
import
com.brilliance.isc.common.transaction.vo.BaseTransactionVo
;
import
com.brilliance.isc.common.vo.PtsptaVo
;
import
com.brilliance.mda.runtime.mda.util.Decimals
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
static
com
.
brilliance
.
mda
.
runtime
.
mda
.
Constants
.
NULLSTR
;
/**
* @program: isc-funds
* @ClassName: FxtlcnStoreBo
* @description: 结售汇平盘确认bo
* @author: xiaotong
* @create: 2024-10-11 11:42
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
FxtlcnStoreBo
extends
BaseTransactionVo
{
//Cancel Amount
private
BigDecimal
canamt
=
Decimals
.
ZERO_SCALE2
;
//Cancel Currency
private
String
cancur
=
NULLSTR
;
//Old Account Bank Inr
private
String
oldactinr
=
NULLSTR
;
//Related Currency
private
String
relcur
=
NULLSTR
;
//Related Amount
private
BigDecimal
relamt
=
Decimals
.
ZERO_SCALE2
;
//Reference
private
String
f21
=
NULLSTR
;
//APLACC's Account
private
String
acc2
=
NULLSTR
;
//OWNACC's Account
private
String
acc1
=
NULLSTR
;
private
Fxdgrp
fxdgrp
;
//private Fxtmod fxtmod;
private
Fxtp
fxtp
;
private
PtsptaVo
aplacc
;
@Override
public
void
reset
()
{
super
.
reset
();
if
(
fxdgrp
==
null
)
{
fxdgrp
=
new
Fxdgrp
();
}
fxdgrp
.
reset
();
if
(
fxtp
==
null
)
{
fxtp
=
new
Fxtp
();
}
fxtp
.
reset
();
}
}
isc-funds-entity/src/main/java/com/brilliance/isc/funds/transfer/transaction/FxtlcnStructMapper.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
transfer
.
transaction
;
import
com.brilliance.isc.funds.bo.funds.FxtlcnStoreBo
;
import
com.brilliance.isc.funds.vo.funds.FxtlcnStoreVo
;
import
com.brilliance.isc.transfer.IBaseStructMapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.MappingTarget
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
/**
* @program: isc-funds
* @ClassName: FxtlcnStructMapper
* @description:
* @author: xiaotong
* @create: 2024-10-11 17:17
*/
@Mapper
(
componentModel
=
"spring"
)
public
interface
FxtlcnStructMapper
extends
IBaseStructMapper
<
FxtlcnStoreBo
,
FxtlcnStoreVo
>
{
/**
* 此行语句一定要写,StructMapper需要
*/
FxtlcnStructMapper
INSTANCE
=
Mappers
.
getMapper
(
FxtlcnStructMapper
.
class
);
/**
* Vo转为Bo
*
* @param vo
* @return 返回业务Bo
*/
@Override
FxtlcnStoreBo
voTransferToBo
(
FxtlcnStoreVo
vo
);
/**
* Vo追加更新至Bo
*
* @param vo
* @param bo
*/
@Override
@Mappings
({
})
void
voUpdateToBo
(
FxtlcnStoreVo
vo
,
@MappingTarget
FxtlcnStoreBo
bo
);
/**
* Bo转为Vo
*
* @param bo
* @return 返回Vo
*/
@Override
FxtlcnStoreVo
boTransferToVo
(
FxtlcnStoreBo
bo
);
/**
* bo追加更新至Bo
*
* @param bo
* @param vo
*/
@Override
void
boUpdateToVo
(
FxtlcnStoreBo
bo
,
@MappingTarget
FxtlcnStoreVo
vo
);
}
isc-funds-entity/src/main/java/com/brilliance/isc/funds/vo/funds/FxtlcnStoreVo.java
0 → 100644
View file @
1d6ab117
package
com
.
brilliance
.
isc
.
funds
.
vo
.
funds
;
import
com.brilliance.isc.bo.model.Fxdgrp
;
import
com.brilliance.isc.bo.model.Fxtp
;
import
com.brilliance.isc.common.transaction.vo.BaseTransactionVo
;
import
com.brilliance.isc.common.vo.PtsptaVo
;
import
com.brilliance.mda.runtime.mda.util.Decimals
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
static
com
.
brilliance
.
mda
.
runtime
.
mda
.
Constants
.
NULLSTR
;
/**
* @program: isc-funds
* @ClassName: FxtlcnStoreVo
* @description: 结售汇平盘确认bo
* @author: xiaotong
* @create: 2024-10-11 11:42
*/
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
class
FxtlcnStoreVo
extends
BaseTransactionVo
{
//Cancel Amount
private
BigDecimal
canamt
=
Decimals
.
ZERO_SCALE2
;
//Cancel Currency
private
String
cancur
=
NULLSTR
;
//Old Account Bank Inr
private
String
oldactinr
=
NULLSTR
;
//Related Currency
private
String
relcur
=
NULLSTR
;
//Related Amount
private
BigDecimal
relamt
=
Decimals
.
ZERO_SCALE2
;
//Reference
private
String
f21
=
NULLSTR
;
//APLACC's Account
private
String
acc2
=
NULLSTR
;
//OWNACC's Account
private
String
acc1
=
NULLSTR
;
private
Fxdgrp
fxdgrp
;
//private Fxtmod fxtmod;
private
Fxtp
fxtp
;
private
PtsptaVo
aplacc
;
@Override
public
void
reset
()
{
super
.
reset
();
if
(
fxdgrp
==
null
)
{
fxdgrp
=
new
Fxdgrp
();
}
fxdgrp
.
reset
();
if
(
fxtp
==
null
)
{
fxtp
=
new
Fxtp
();
}
fxtp
.
reset
();
}
}
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