Commit 9d5fe65f by niewei

Merge remote-tracking branch 'origin/develop' into develop

parents 338abdd9 d2f8575b
package com.brilliance.isc.bo.model;
import com.brilliance.isc.bo.Cbb;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Fxacbs extends AbstractCommonVo {
private Cbb max;
private Cbb nom1;
private Cbb opn1;
private Cbb opn2;
@Override
public void reset() {
super.reset();
if (max == null) {
max = new Cbb();
}
if (nom1 == null) {
nom1 = new Cbb();
}
if (opn1 == null) {
opn1 = new Cbb();
}
if (opn2 == null) {
opn2 = new Cbb();
}
}
}
package com.brilliance.isc.bo.model;
import com.brilliance.isc.bo.Fxd;
import com.brilliance.isc.bo.Fxt;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.brilliance.isc.common.vo.PtsptaVo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* @program: isc-core
* @ClassName: Fxdgrp
* @description: fxdgrp bo
* @author: huangshunlin
* @create: 2024-10-09 11:23
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Fxdgrp extends AbstractCommonVo {
private Fxd rec;
private Fxt blk;
private Fxacbs cbs;
private PtsptaVo apl;
private PtsptaVo act;
private PtsptaVo age;
private PtsptaVo acc;
@Override
public void reset() {
super.reset();
if (rec == null) {
rec = new Fxd();
}
if (blk == null) {
blk = new Fxt();
}
if (cbs == null) {
cbs = new Fxacbs();
}
cbs.reset();
if (apl == null) {
apl = new PtsptaVo();
}
apl.reset();
if (act == null) {
act = new PtsptaVo();
}
act.reset();
if (age == null) {
age = new PtsptaVo();
}
age.reset();
if (acc == null) {
acc = new PtsptaVo();
}
acc.reset();
}
}
package com.brilliance.isc.bo.model;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;
/**
*
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Fxtp extends AbstractCommonVo {
private static Logger log = LoggerFactory.getLogger(Fxtp.class);
//Amount Label (max=30)
private String amtlab = NULLSTR;
//Amount LabelCNY (max=30)
private String cnylab = NULLSTR;
//Quote Flag (max=1)
private String quoflg = NULLSTR;
//钞汇标志 (max=1)
private String cshflg = NULLSTR;
//Calculate (max=1)
private String calflg = NULLSTR;
//外币 (max=1)
private String frgchk = NULLSTR;
//人民币 (max=1)
private String cnychk = NULLSTR;
@Override
public void reset() {
super.reset();
}
}
\ No newline at end of file
package com.brilliance.isc.vo.funds;
import com.brilliance.isc.common.vo.BizInfoVo;
import lombok.Data;
/**
* @program: isc-core
* @ClassName: FxdBizAmdInfoVo
* @description: fxd 修改业务数据
* @author: huangshunlin
* @create: 2024-10-09 17:40
*/
@Data
public class FxdBizAmdInfoVo extends BizInfoVo {
}
package com.brilliance.isc.vo.funds;
import com.brilliance.isc.common.vo.BizInfoVo;
import com.brilliance.mda.runtime.mda.util.Decimals;
import lombok.Data;
import java.math.BigDecimal;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;
/**
* @program: isc-core
* @ClassName: FxdBizInfoVo
* @description: fxd业务数据
* @author: huangshunlin
* @create: 2024-10-09 17:40
*/
@Data
public class FxdBizInfoVo extends BizInfoVo {
//结售汇类型 fxdgrp.rec.fxtyp
private String fxtyp = NULLSTR;
/**
* fxdgrp.rec.dsp 结售汇业务的外币的记账账号类型
* LO客户往来账户以及SP国际结算过渡账户2个选项
*/
private String dsp = NULLSTR;
// 结售汇业务的外币的记账账号 fxdgrp.rec.acc
private String acc = NULLSTR;
//fxdgrp.rec.dsp2
private String dsp2 = NULLSTR;
;
//结售汇业务的本币的记账账号 fxdgrp.rec.acc2
private String acc2 = NULLSTR;
//Rate
private BigDecimal rat = Decimals.ZERO_SCALE6;
//交易主体
private String trnman = NULLSTR;
//TRADE IN
private String trdint = NULLSTR;
//TRADE OUT
private String trdout = NULLSTR;
}
......@@ -37,7 +37,7 @@ srvnam0=account
mode0=s
code0=7759
fgf0=|
open0=Y
open0=S
[RBACCOUNT]
srvnam0=account
......@@ -63,7 +63,7 @@ srvnam0=account
mode0=s
code0=8760
fgf0=|
open0=Y
open0=S
[RBQIN]
srvnam0=account
......
......@@ -163,7 +163,7 @@
<select id="selectRefByTrninr" resultType="java.lang.String">
select
concat(INIFRM ,'-',OWNREF) REF
concat(INIFRM ,'-',OWNREF) "REF"
from trn
where inr in (select prvinr from tro where TRNINR= #{trninr} )
and relflg != 'R' and relflg != 'F' and relflg != 'A'
......@@ -173,7 +173,7 @@
<select id="selectRefByPrvinr" resultType="java.lang.String">
select
concat(INIFRM ,'-',OWNREF) REF
concat(INIFRM ,'-',OWNREF) "REF"
from trn
where inr in (select trninr from tro where prvinr= #{trninr} )
and relflg != 'R'
......
......@@ -187,8 +187,11 @@
AND objinr = #{objinr,jdbcType=VARCHAR}
</select>
<select id="selectAllUsrByTrninr" resultType="String">
SELECT GROUP_CONCAT(DISTINCT usr) usrs FROM trs where objtyp='TRN' AND objinr =#{objinr,jdbcType=VARCHAR} GROUP BY objinr
SELECT LISTAGG(DISTINCT usr,',') usrs FROM trs where objtyp='TRN' AND objinr =#{objinr,jdbcType=VARCHAR} GROUP BY objinr
</select>
<!--<select id="selectAllUsrByTrninr" resultType="String">
SELECT GROUP_CONCAT(DISTINCT usr) usrs FROM trs where objtyp='TRN' AND objinr =#{objinr,jdbcType=VARCHAR} GROUP BY objinr
</select>-->
<select id="selectByObjtypAndObjinrAndSigidx" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
......
......@@ -126,4 +126,6 @@ public interface SetglgService {
String calcMaceog(SetmodVo setmodVo);
Set<String> getFixDspflagSet();
void setSettlementDetails(SetglgVo setglg, String setTyp,String rol,String trnMan,String trdTyp);
}
......@@ -159,4 +159,8 @@ public interface SysmodService {
boolean sptIsPenLoaded(String sptState);
boolean sptIsCorLoaded(String sptState);
String getRef(String stRnTbl, int nLen);
void getPtyAccMng(String ptyinr, String argPtspta, String rol, String fileds, Argument<String> accmng, Argument<String> hdbch);
}
......@@ -176,14 +176,14 @@ public class SysmodServiceImpl implements SysmodService {
Evt evt = new Evt();
evt.setInr(counterService.dbCounterFormat("EVT"));
// evt.setSsninr( SettleContext.getUserSession().getSsn().getInr());
evt.setObjtyp( argTyp);
evt.setObjinr( argInr);
evt.setFrm( SettleContext.getTransName());
evt.setDattim( Dates.now());
evt.setUsr( SettleContext.getUserSession().getUsr().getExtkey());
evt.setRtn( argRtn);
evt.setTxt( argTxt);
evt.setArcflg( "N");
evt.setObjtyp(argTyp);
evt.setObjinr(argInr);
evt.setFrm(SettleContext.getTransName());
evt.setDattim(Dates.now());
evt.setUsr(SettleContext.getUserSession().getUsr().getExtkey());
evt.setRtn(argRtn);
evt.setTxt(argTxt);
evt.setArcflg("N");
evtMapper.insert(evt);
// send a notify and or inform about the event via other channels
//
......@@ -210,7 +210,7 @@ public class SysmodServiceImpl implements SysmodService {
}
public boolean sptIsAnyLoaded(String sta){
public boolean sptIsAnyLoaded(String sta) {
// //取得上下文
// IContext ctx = MdaEnv.getContext();
// ctx.setErrorCode(NO_ERROR);
......@@ -225,11 +225,11 @@ public class SysmodServiceImpl implements SysmodService {
return rtn;
}
public boolean sptIsIncLoaded(String sptState){
if(sptIsLoaded("INC",sptState)){
public boolean sptIsIncLoaded(String sptState) {
if (sptIsLoaded("INC", sptState)) {
return true;
}else{
return sptIsLoaded("STP",sptState);
} else {
return sptIsLoaded("STP", sptState);
}
}
......@@ -260,6 +260,66 @@ public class SysmodServiceImpl implements SysmodService {
return sptIsLoaded(SptAfterSentToRepair, sptState);
}
/**
* source:sysmod.0244.script
*/
@Override
public String getRef(String stRnTbl, int nLen) {
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//! 1: STrnTbl: 参考号前2位
//! 2: $Dbjgtxt :代办机构号
//! 3: $DatTxt1 :时间(年)
//! 4: $Ywssjgh :业务所属机构号(5位)\\
//! 5: Length: 流水号长度
//!
//!规则(14位 15位 16为)
//
//!1:不含进口LC 业务品种(2位) + 代办机构号(2位) + 时间(2位)+业务所属机构号(4位)+ 流水号(5),共计15位
//!1:含国内信用证 业务品种(2位) + 代办机构号(2位) + 时间(2位)+业务所属机构号(4位)+ 流水号(4)+到单次数(2),共计16位
//hnxtiaozheng
//!2:不含进口LC 业务品种(2位) + 时间(2位)+业务所属机构号(5位)+ 流水号(5),共计14位
//!2:含国内信用证 业务品种(2位) + 时间(2位)+业务所属机构号(5位)+ 流水号(4)+到单次数(2),共计15位
//
//!重新调整为
//!3:不含进口LC 业务所属机构号(5位)+业务品种(2位) + 时间(2位) + 代办机构号(2位) + 流水号(5),共计16位
//!3:含信用证 业务所属机构号(5位)+业务品种(2位) + 时间(2位)+ 代办机构号(2位) + 流水号(3)+到单次数(2),共计16
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
String ref = "";
String datTxt1 = Formats.format(Dates.today(), "YY");
String dbjgtxt = SettleContext.getUserSession().getBch().getBchflg();
String ywssjgh = SettleContext.getUserSession().getWrkbch().getBranch();
ref = ywssjgh + stRnTbl + datTxt1 + dbjgtxt + MdaUtils.toString(counterService.dbCounter(stRnTbl + ywssjgh + datTxt1), -nLen);
return ref;
}
@Override
public void getPtyAccMng(String ptyinr, String argPtspta, String rol, String fileds, Argument<String> accmng, Argument<String> hdbch) {
//!获取对应的rol对象的ID数据
//!=====================================================
//!根据客户信息返回客户的客户经理编号及客户经理所在部门
//!变量:
//!accmng 客户经理编号
//!hdbch 客户经理所属部门
//!=====================================================
String resusr = "";
String vhdbch = "";
String sql = NULLSTR;
int err = 0;
if (!MdaUtils.isEmpty(ptyinr)) {
// sql = "SELECT resusr,hdbch FROM PTY WHERE INR = '" + Strings.trim(ptyinr) + "'";
Pty pty = ptyCacheService.getPtyById(Strings.trim(ptyinr));
if (Objects.nonNull(pty)) {
resusr = pty.getResusr();
// vhdbch = pty.gethdbch();
}
}
accmng.value = resusr;
hdbch.value = vhdbch;
}
public boolean sptIsLoaded(String arg, String sptState) {
//! Function to check whether one of the passed SPT status is loaded
//! Arg holds a single SPT status or a blank delimited list of multiple SPT status to be checked
......@@ -397,7 +457,7 @@ public class SysmodServiceImpl implements SysmodService {
// argSpt.setSsninr(SettleContext.getUserSession().getSsn().getInr());
if (MdaUtils.isEmpty(argSpt.getObjtyp())) {
if(!MdaUtils.isEmpty(rec)) {
if (!MdaUtils.isEmpty(rec)) {
argSpt.setObjtyp(Utils.recGetObj(rec));
argSpt.setObjinr(Utils.recGetInr(rec));
}
......@@ -428,7 +488,7 @@ public class SysmodServiceImpl implements SysmodService {
// Utils.setFieldValue(storeObj, "spt", argSpt); //不用存入SPT到交易BO下面,影响收单行spt更新操作
streamSaveInSubDir(storeObj, "delete", argSpt.getInr() + ".bak");
// update/create que before SPT is cleared
sptQueUpdate( argSpt );
sptQueUpdate(argSpt);
}
/**
......@@ -447,7 +507,6 @@ public class SysmodServiceImpl implements SysmodService {
}
/**
* source:sysmod.0137.script
*/
......@@ -457,8 +516,8 @@ public class SysmodServiceImpl implements SysmodService {
int ignore = 0;
IStream sptStm = new StreamImpl();
String sptInr = NULLSTR;
if( ! MdaUtils.isEmpty(argSpt.getInr()) ) {
sptWriteLog(argSpt,"D");
if (!MdaUtils.isEmpty(argSpt.getInr())) {
sptWriteLog(argSpt, "D");
sptMapper.deleteByPrimaryKey(argSpt);
// delete .BAK-File if available
......@@ -473,8 +532,8 @@ public class SysmodServiceImpl implements SysmodService {
// DB-Transaction gets commited
sptInr = argSpt.getInr();
argSpt = new Spt();
argSpt.setInr( sptInr);
queUpdate("SPT",sptInr," ","D");
argSpt.setInr(sptInr);
queUpdate("SPT", sptInr, " ", "D");
} else {
SettleExceptionUtils.sysDump("Delete of non existing SPT-Record with empty INR");
}
......@@ -482,7 +541,7 @@ public class SysmodServiceImpl implements SysmodService {
@Override
public void sptQueUpdate(Spt argSpt) {
Date today =new Date();
Date today = new Date();
Que que = queMapper.selectByObjTypeInrSubId("SPT", argSpt.getInr(), null);
if (que == null) {
que = new Que();
......@@ -520,18 +579,18 @@ public class SysmodServiceImpl implements SysmodService {
que.setTardattim(today);
que.setBranchinr(argSpt.getBranchinr());
que.setBchkeyinr(argSpt.getBchkeyinr());
Bch accBch=SettleContext.getUserSession().getBch();
que.setAccbchinr(accBch!=null?accBch.getInr():"");
Ord ord =ordMapper.selectByOrdInr(argSpt.getOrdinr());
if(ord!=null) {
Bch accBch = SettleContext.getUserSession().getBch();
que.setAccbchinr(accBch != null ? accBch.getInr() : "");
Ord ord = ordMapper.selectByOrdInr(argSpt.getOrdinr());
if (ord != null) {
que.setSdhflg(ord.getSdhflg());
que.setOrdinr(ord.getInr());
}
Bch bch =bchService.getByBranch("1000");//总行机构
if(StringUtils.isEmpty(que.getBchkeyinr())){
Bch bch = bchService.getByBranch("1000");//总行机构
if (StringUtils.isEmpty(que.getBchkeyinr())) {
que.setBchkeyinr(bch.getInr());
}
if(StringUtils.isEmpty(que.getBranchinr())){
if (StringUtils.isEmpty(que.getBranchinr())) {
que.setBranchinr(que.getBchkeyinr());
}
que.setObjref(argSpt.getObjref());
......@@ -539,18 +598,18 @@ public class SysmodServiceImpl implements SysmodService {
que.setUpdateTime(today);
que.setUsrcon(argSpt.getUsr());
que.setCtmnam(argSpt.getCtmnam());
if("Y".equals(argSpt.getHldflg())){//隐藏
if ("Y".equals(argSpt.getHldflg())) {//隐藏
que.setStatus(TaskStatus.NEW.getValue());
que.setCla("RIM"); //注册中心
que.setHldflg("D");
que.setFlowstatus(TaskFlowStatus.HEADQUARTER_SDH_HANDLE.getValue());
}else{
} else {
que.setStatus(TaskStatus.PENDING.getValue());
que.setCla("PEN");
Bch orgBch=SettleContext.getUserSession().getOrgBch();
if("1000".equals(orgBch.getBranch())) {
Bch orgBch = SettleContext.getUserSession().getOrgBch();
if ("1000".equals(orgBch.getBranch())) {
que.setFlowstatus(TaskFlowStatus.HEADQUARTER_HANDLE.getValue());
}else{
} else {
que.setFlowstatus(TaskFlowStatus.BRANCH_HANDLE.getValue());
}
}
......@@ -590,7 +649,7 @@ public class SysmodServiceImpl implements SysmodService {
que.setCortyp(argSpt.getCortyp());
que.setFrontchannel(argSpt.getFrontchannel());
queMapper.insert(que);
if(!Objects.equals(que.getHldflg(),"D") && !Objects.equals(que.getCla(), QueClaStatus.PEN.getValue())) {
if (!Objects.equals(que.getHldflg(), "D") && !Objects.equals(que.getCla(), QueClaStatus.PEN.getValue())) {
//HLDFLG为D时不需要调用
taskDistService.handleTaskEnqueue(que);
}
......@@ -600,50 +659,50 @@ public class SysmodServiceImpl implements SysmodService {
}
public String getChannelFromSta(String sta){
String channel="";
switch (sta){
public String getChannelFromSta(String sta) {
String channel = "";
switch (sta) {
case "INC":
channel="SWT";
channel = "SWT";
break;
case "YPT":
channel="YPT";
channel = "YPT";
break;
case "EJS":
channel="EJS";
channel = "EJS";
break;
}
return channel;
}
public String getChannelFromSta(Spt spt){
String channel="";
switch (spt.getSta()){
public String getChannelFromSta(Spt spt) {
String channel = "";
switch (spt.getSta()) {
case "INC":
if(!"SWT".equals(spt.getChannel())){
channel=spt.getChannel();
}else {
if (!"SWT".equals(spt.getChannel())) {
channel = spt.getChannel();
} else {
channel = "SWT";
}
break;
case "YPT":
channel="YPT";
channel = "YPT";
break;
case "EJS":
channel="EJS";
channel = "EJS";
break;
}
if(StringUtils.isEmpty(channel) && !StringUtils.isEmpty(spt.getTxt()) && spt.getTxt().length()==3 ){
channel=spt.getTxt();
if (StringUtils.isEmpty(channel) && !StringUtils.isEmpty(spt.getTxt()) && spt.getTxt().length() == 3) {
channel = spt.getTxt();
}
if(StringUtils.isEmpty(channel)){
channel=spt.getChannel();
if (StringUtils.isEmpty(channel)) {
channel = spt.getChannel();
}
return channel;
}
public boolean isIncomingSptsta(String sta){
if("-INC-EJS-YPT-FMT-HVP-HVQ-HVR-BEP-BEQ-BES-CIU-CIV-CIW".indexOf(sta)>0){
public boolean isIncomingSptsta(String sta) {
if ("-INC-EJS-YPT-FMT-HVP-HVQ-HVR-BEP-BEQ-BES-CIU-CIV-CIW".indexOf(sta) > 0) {
return true;
}
return false;
......@@ -653,10 +712,11 @@ public class SysmodServiceImpl implements SysmodService {
String lin = argSpt.getObjtyp() + TAB + Strings.mid(argSpt.getObjinr(), 1, 16) + TAB + argSpt.getInr() + TAB + argFu + TAB + argSpt.getSta() + TAB + argSpt.getHldflg() + TAB + Formats.format(Dates.now(), "YY-MM-DD hh:mm:ss",/*Systems.getLang()*/"CN", tdContextTZSYSTEM) + TAB + "" + TAB + SettleContext.getTransName() + TAB + argSpt.getObjnam();
log.info("sptWriteLog:{}", lin);
}
@Override
@Override
public void streamSaveInSubDir(Object storeObj, String argDir, String argFil) {
if("true".equals(appEnv.getFileLocalFlag())){
this.streamSaveInSubDirLocal(storeObj,argDir,argFil);
if ("true".equals(appEnv.getFileLocalFlag())) {
this.streamSaveInSubDirLocal(storeObj, argDir, argFil);
return;
}
argDir += "/" + getSubDirByFileName(argFil); //修改该长度时,注意argFile是带后缀的文件名xxx.dat
......@@ -665,58 +725,59 @@ public class SysmodServiceImpl implements SysmodService {
//filPath = Strings.convertPrefix(filPath);
File file = Files.mkdirs(filPath);
String json = Utils.toPrettyJson(storeObj);
boolean bool=objectStroeToolService.saveObjectFileByString(json,filPath,"");
if(!bool) {
boolean bool = objectStroeToolService.saveObjectFileByString(json, filPath, "");
if (!bool) {
throw new CommonServiceException("文件存储失败!");
}
}
public void saveObjectJson(String argDir,String filePath, String json) {
public void saveObjectJson(String argDir, String filePath, String json) {
String filPath = appEnv.getSubDataPath(argDir, filePath);
boolean bool = objectStroeToolService.saveObjectFileByString(json, filPath, "");
}
public String loadObjectJson(String argDir,String fileName) {
public String loadObjectJson(String argDir, String fileName) {
String fulFileName = appEnv.getSubDataPath(argDir, fileName);
byte[] fileByte = objectStroeToolService.readObjectFile(fulFileName);
if(MdaUtils.isEmpty(fileByte))
if (MdaUtils.isEmpty(fileByte))
return "";
return new String(fileByte);
}
@Override
public void streamSaveInDir(Object storeObj, String argDir, String argFil) {
if("true".equals(appEnv.getFileLocalFlag())){
this.streamSaveInDirLocal(storeObj,argDir,argFil);
if ("true".equals(appEnv.getFileLocalFlag())) {
this.streamSaveInDirLocal(storeObj, argDir, argFil);
return;
}
String filPath = appEnv.getSubDataPath(argDir, argFil);
//filPath = Strings.convertPrefix(filPath);
String json = "";
if ((storeObj instanceof IStream)){
List<String> rows=((IStream) storeObj).getRows();
for(int i=0;i<rows.size();i+=2){
if(StringUtils.isEmpty(rows.get(i)))
if ((storeObj instanceof IStream)) {
List<String> rows = ((IStream) storeObj).getRows();
for (int i = 0; i < rows.size(); i += 2) {
if (StringUtils.isEmpty(rows.get(i)))
continue;
if(StringUtils.isEmpty(json)){
json =rows.get(i);
}else{
json =json+"\n"+rows.get(i);
if (StringUtils.isEmpty(json)) {
json = rows.get(i);
} else {
json = json + "\n" + rows.get(i);
}
json=json+"\n"+rows.get(i+1);
json = json + "\n" + rows.get(i + 1);
}
}else{
json=Utils.toPrettyJson(storeObj);
} else {
json = Utils.toPrettyJson(storeObj);
}
boolean bool=objectStroeToolService.saveObjectFileByString(json,filPath,"");
if(!bool) {
boolean bool = objectStroeToolService.saveObjectFileByString(json, filPath, "");
if (!bool) {
throw new CommonServiceException("文件存储失败!");
}
}
/**
* 是否存在spt文件
*
* @param argDir
* @param argFil
* @return
......@@ -729,8 +790,8 @@ public class SysmodServiceImpl implements SysmodService {
}
public <T> T streamLoadInSubDir(Class<T> clazz, String argDir, String argFil) {
if("true".equals(appEnv.getFileLocalFlag())){
return this.streamLoadInSubDirLocal(clazz,argDir,argFil);
if ("true".equals(appEnv.getFileLocalFlag())) {
return this.streamLoadInSubDirLocal(clazz, argDir, argFil);
}
try {
argDir += "/" + getSubDirByFileName(argFil);
......@@ -744,8 +805,8 @@ public class SysmodServiceImpl implements SysmodService {
}
public <T> T streamLoadInDir(Class<T> clazz, String argDir, String argFil) {
if("true".equals(appEnv.getFileLocalFlag())){
return this.streamLoadInDirLocal(clazz,argDir,argFil);
if ("true".equals(appEnv.getFileLocalFlag())) {
return this.streamLoadInDirLocal(clazz, argDir, argFil);
}
try {
......@@ -759,7 +820,6 @@ public class SysmodServiceImpl implements SysmodService {
}
/**
* source:sysmod.0805.script
*/
......@@ -783,6 +843,7 @@ public class SysmodServiceImpl implements SysmodService {
}
return objnam;
}
public String getProcessBranchinr() {
SettleSession session = SettleContext.getUserSession();
if (session.getBch() != null) {
......@@ -835,7 +896,7 @@ public class SysmodServiceImpl implements SysmodService {
// Utils.setFieldValue(argRec, "inr", counterService.dbCounterFormat(Utils.getBoType(argRec)));
// Utils.setFieldValue(argRec, "etyextkey", SettleContext.getUserEty().getExtkey());
// Utils.setFieldValue(argRec, "etgextkey", SettleContext.getUserEtg().getExtkey());
log.info("准备删除的对象,{} = {}",argRec.getClass().getSimpleName(),argRec);
log.info("准备删除的对象,{} = {}", argRec.getClass().getSimpleName(), argRec);
dyncDaoService.dyncDeleteByPrimaryKey(argRec);
sdbSlgWrite(argRec, "D");
}
......@@ -843,9 +904,9 @@ public class SysmodServiceImpl implements SysmodService {
public void sdbInsertWithLog(Object argRec) {
String objType = Utils.getBoType(argRec);
//NID用GID的Counter
if("NID".equalsIgnoreCase(objType)){
if ("NID".equalsIgnoreCase(objType)) {
objType = "GID";
}else if("NCD".equalsIgnoreCase(objType)){
} else if ("NCD".equalsIgnoreCase(objType)) {
objType = "GCD";
}
Utils.setFieldValue(argRec, "inr", counterService.dbCounterFormat(objType));
......@@ -862,7 +923,7 @@ public class SysmodServiceImpl implements SysmodService {
if (StringUtils.isNotEmpty(ver)) {
version = Integer.parseInt(ver);
}
Utils.setFieldValue(argRec, "ver", String.format("%04d",version+1));
Utils.setFieldValue(argRec, "ver", String.format("%04d", version + 1));
Utils.setFieldValue(argRec, "etyextkey", SettleContext.getUserEty().getExtkey());
Utils.setFieldValue(argRec, "etgextkey", SettleContext.getUserEtg().getExtkey());
dyncDaoService.dyncInsert(argRec);
......@@ -871,16 +932,17 @@ public class SysmodServiceImpl implements SysmodService {
public void sdbUpdateWithLog(Object argRec) {
String ver = Utils.getFieldValue(argRec, "ver");
if(org.apache.commons.lang3.StringUtils.isBlank(ver))
ver="0000";
if (org.apache.commons.lang3.StringUtils.isBlank(ver))
ver = "0000";
int version = Integer.parseInt(ver);
Utils.setFieldValue(argRec, "ver", String.format("%04d",version+1));
Utils.setFieldValue(argRec, "ver", String.format("%04d", version + 1));
dyncDaoService.dyncUpdateByPrimaryKeySelective(argRec);
sdbSlgWrite(argRec, "U");
}
/**
* 用于回滚业务数据 不需要更改版本号
*
* @param argRec
*/
public void sdbUpdateWithLog2(Object argRec) {
......@@ -894,11 +956,11 @@ public class SysmodServiceImpl implements SysmodService {
}
public Object sdbRead(Object obj) {
String inr =Utils.getFieldValue(obj,"inr");
String inr = Utils.getFieldValue(obj, "inr");
try {
Class clazz = Class.forName(obj.getClass().getName());
return dyncDaoService.dyncReadByInr(clazz, inr);
}catch(ClassNotFoundException e){
} catch (ClassNotFoundException e) {
throw new CommonServiceException("找不到对应的类!");
}
}
......@@ -951,12 +1013,12 @@ public class SysmodServiceImpl implements SysmodService {
// Systems.setContext("SAVEDATASKIPEMPTY",false);
Slg slg = new Slg();
slg.setLoginr(Utils.getFieldValue(logMod,"inr"));
slg.setLoginr(Utils.getFieldValue(logMod, "inr"));
slg.setLogtyp(Utils.getBoType(logMod));
slg.setVer( Utils.getFieldValue(logMod,"ver"));
slg.setDattim( Dates.now());
slg.setUsr( SettleContext.getUserSession().getUsr().getExtkey());
slg.setFct( fct);
slg.setVer(Utils.getFieldValue(logMod, "ver"));
slg.setDattim(Dates.now());
slg.setUsr(SettleContext.getUserSession().getUsr().getExtkey());
slg.setFct(fct);
slg.setInr(counterService.dbCounterFormat("SLG"));
dyncDaoService.dyncInsert(slg);
......@@ -971,9 +1033,9 @@ public class SysmodServiceImpl implements SysmodService {
// ptyfileds: 要查的PTY表的字段名称
// ptyval: 输出该ptyfileds字段的值
//<<< ZL-------------------------------------------
String name = Strings.mid(SettleContext.getTransName(),1,2);
String name = Strings.mid(SettleContext.getTransName(), 1, 2);
//进口保函和出口保函用同一个GID表------------------
if( MdaUtils.compareTo(name,"GE") == 0 ) {
if (MdaUtils.compareTo(name, "GE") == 0) {
name = "GI";
}
//----DZTEST----
......@@ -1019,10 +1081,11 @@ public class SysmodServiceImpl implements SysmodService {
}
return null;
}
/**
* source:sysmod.0178.script
*/
public void queUpdate(String argOBJTYP,String argOBJINR,String argOBJSUBID,String argHLDFLG) {
public void queUpdate(String argOBJTYP, String argOBJINR, String argOBJSUBID, String argHLDFLG) {
//! Release or (logically) delete specified QUE entry / entries
//! if argOBJSUBID ="*" entries for all OBJSUBIDs are deleted/released
Que que = new Que();
......@@ -1033,7 +1096,7 @@ public class SysmodServiceImpl implements SysmodService {
que.setObjinr(argOBJINR);
que.setOldstatus(que.getStatus());
que.setStatus(CommonContants.QUE_STATUS_PENDING);
if( MdaUtils.compareTo(argOBJSUBID,"*") == 0 ) {
if (MdaUtils.compareTo(argOBJSUBID, "*") == 0) {
//Platform.dbExecuteSQL( "UPDATE QUE SET HLDFLG=?, HLDSSNINR=?, HLDDATTIM=? where OBJTYP = ? and OBJINR = ?", argHLDFLG, $\\sysmod\\ssn\\inr.getValue(), Platform.now(), argOBJTYP, argOBJINR );
queMapper.updateHlddattimbyObjInr(que);
} else {
......@@ -1042,6 +1105,7 @@ public class SysmodServiceImpl implements SysmodService {
queMapper.updateHlddattimbyObjInr(que);
}
}
/**
* source:sysmod.0258.script
*/
......@@ -1052,7 +1116,7 @@ public class SysmodServiceImpl implements SysmodService {
// arginr SPT\\INR
//如果读到记录说明此业务源头为清算报文
Swe swe = null;
if( ! MdaUtils.isEmpty(trninr) ) {
if (!MdaUtils.isEmpty(trninr)) {
swe = sweMapper.getSweByTrninr(trninr);
} else {
swe = sweMapper.getSweBySptinr(sptinr);
......@@ -1061,36 +1125,37 @@ public class SysmodServiceImpl implements SysmodService {
log.warn("读不到swe表信息");
return;
}
swe.setSta( argSta);
swe.setIniusr( SettleContext.getUserSession().getUsr().getExtkey());
switch( argSta ) {
swe.setSta(argSta);
swe.setIniusr(SettleContext.getUserSession().getUsr().getExtkey());
switch (argSta) {
case "PEN":
swe.setOwnref( spt.getOwnref());
swe.setOwnref(spt.getOwnref());
break;
case "SAV":
swe.setObjtyp( trn.getObjtyp());
swe.setObjinr( trn.getObjinr());
swe.setOwnref( trn.getOwnref());
swe.setTrninr( trn.getInr());
swe.setSptinr( "");
swe.setObjtyp(trn.getObjtyp());
swe.setObjinr(trn.getObjinr());
swe.setOwnref(trn.getOwnref());
swe.setTrninr(trn.getInr());
swe.setSptinr("");
break;
case "DON":
case "REL":
break;
case "COR":
case "REJ":
swe.setTrninr( "");
swe.setSptinr( sptinr);
swe.setTrninr("");
swe.setSptinr(sptinr);
break;
case "DEL":
break;
}
sweMapper.updateByPrimaryKeySelective(swe);
}
/**
* source:sysmod.0304.script
*/
public void msgSaveEntry(Trn trn, Spt spt,String argSta, String sptinr, String trninr) {
public void msgSaveEntry(Trn trn, Spt spt, String argSta, String sptinr, String trninr) {
//break 或者 repair 或者 save时更新swe表
//仅针对清算报文进行处理
......@@ -1098,7 +1163,7 @@ public class SysmodServiceImpl implements SysmodService {
// arginr SPT\\INR
//如果读到记录说明此业务源头为清算报文
Msg msg = null;
if( ! MdaUtils.isEmpty(trninr) ) {
if (!MdaUtils.isEmpty(trninr)) {
msg = msgMapper.getMsgByTrninr(trninr);
} else {
msg = msgMapper.getMsgBySptinr(sptinr);
......@@ -1107,25 +1172,25 @@ public class SysmodServiceImpl implements SysmodService {
log.warn("读不到msg表信息");
return;
}
msg.setSta( argSta);
switch( argSta ) {
msg.setSta(argSta);
switch (argSta) {
case "PEN":
msg.setOwnref( spt.getOwnref());
msg.setOwnref(spt.getOwnref());
break;
case "SAV":
// msg\\OBJTYP = GetContent( "\\\\TRNMOD\\\\TRN\\\\objtyp" )
// msg\\OBJINR = GetContent( "\\\\TRNMOD\\\\TRN\\\\objinr" )
msg.setOwnref( trn.getOwnref());
msg.setTrninr( trn.getInr());
msg.setSptinr( "");
msg.setOwnref(trn.getOwnref());
msg.setTrninr(trn.getInr());
msg.setSptinr("");
break;
case "DON":
case "REL":
break;
case "COR":
case "REJ":
msg.setTrninr( "");
msg.setSptinr( sptinr);
msg.setTrninr("");
msg.setSptinr(sptinr);
break;
case "DEL":
break;
......@@ -1171,13 +1236,13 @@ public class SysmodServiceImpl implements SysmodService {
//! Date effictive of the update is 18th November 2018
// DO5DOS.010108
// DNGDEV.000291 für SR2018
String sftTxt = Utils.cacheGetIniStr(AppIniFile,"System","SwiftRelNov2018Activation");
String sftTxt = Utils.cacheGetIniStr(AppIniFile, "System", "SwiftRelNov2018Activation");
Date sftRelDat = null;
if (sftTxt != null) {
sftRelDat = Utils.parseDate(sftTxt, "yyyy-MM-dd");
}
if( MdaUtils.isEmpty(sftRelDat) ) {
if (MdaUtils.isEmpty(sftRelDat)) {
sftRelDat = Utils.parseDate("2018-11-18");
}
return Dates.diff(sftRelDat, Dates.today()) <= 0;
......@@ -1190,7 +1255,7 @@ public class SysmodServiceImpl implements SysmodService {
//! Function to check whether the Swift Release November 2020 is active
//! Date effictive of the update is November 16, 2020.
// DNGDEV.001899 f眉r SR2020
String sftTxt = Utils.cacheGetIniStr(AppIniFile,"System","SwiftRelNov2020Activation");
String sftTxt = Utils.cacheGetIniStr(AppIniFile, "System", "SwiftRelNov2020Activation");
Date sftRelDat = null;
if (sftTxt != null) {
sftRelDat = Utils.parseDate(sftTxt, "yyyy-MM-dd");
......@@ -1213,11 +1278,11 @@ public class SysmodServiceImpl implements SysmodService {
}
public boolean isRamSptLoaded() {
if (SettleContext.getUserSession()==null || SettleContext.getUserSession().getSpt() == null) {
if (SettleContext.getUserSession() == null || SettleContext.getUserSession().getSpt() == null) {
return false;
}
String smhinr = SettleContext.getUserSession().getSpt().getSmhinr();
if(org.apache.commons.lang3.StringUtils.isEmpty(smhinr)) {
if (org.apache.commons.lang3.StringUtils.isEmpty(smhinr)) {
return false;
}
......@@ -1319,12 +1384,12 @@ public class SysmodServiceImpl implements SysmodService {
return streamLoadInSubDir(clazz, "delete", fileName);
}
public<T> T streamGetNameInSubDir(Class<T> clazz, String trninr) {
public <T> T streamGetNameInSubDir(Class<T> clazz, String trninr) {
String fileName = trninr + ".dsp";
return streamLoadInSubDir(clazz, "display", fileName);
}
public<T> T streamGetDataFromDir(Class<T> clazz, String prefix,String argInr) {
public <T> T streamGetDataFromDir(Class<T> clazz, String prefix, String argInr) {
String fileName = argInr + ".dat";
return streamLoadInSubDir(clazz, prefix, fileName);
}
......@@ -1350,47 +1415,47 @@ public class SysmodServiceImpl implements SysmodService {
}
public boolean isSdhBusiness(){
public boolean isSdhBusiness() {
return SettleContext.getUserSession().isSdhTransaction();
}
public boolean isSdhBusiness(String inifrm){
Bch bch =SettleContext.getUserSession().getBch();
Bch orgBch =SettleContext.getUserSession().getOrgBch();
String branch="";
if("1000".equals(orgBch.getBranch())){
public boolean isSdhBusiness(String inifrm) {
Bch bch = SettleContext.getUserSession().getBch();
Bch orgBch = SettleContext.getUserSession().getOrgBch();
String branch = "";
if ("1000".equals(orgBch.getBranch())) {
return false;
}
if(bch!=null){
branch=bch.getBranch();
if (bch != null) {
branch = bch.getBranch();
}
Atpbch atpbch=atpbchMapper.selectByBranchAndInifrm(branch,inifrm);
if(atpbch!=null && Objects.equals(atpbch.getNegflg(),"X")){
Atpbch atpbch = atpbchMapper.selectByBranchAndInifrm(branch, inifrm);
if (atpbch != null && Objects.equals(atpbch.getNegflg(), "X")) {
return true;
}
return false;
}
public boolean isSdhBusiness(String inifrm,String branch){
Atpbch atpbch=atpbchMapper.selectByBranchAndInifrm(branch,inifrm);
if(atpbch!=null && Objects.equals(atpbch.getNegflg(),"X")){
public boolean isSdhBusiness(String inifrm, String branch) {
Atpbch atpbch = atpbchMapper.selectByBranchAndInifrm(branch, inifrm);
if (atpbch != null && Objects.equals(atpbch.getNegflg(), "X")) {
return true;
}
return false;
}
@Override
public boolean isCenterTaken(){
public boolean isCenterTaken() {
// 通过Registration进交易
// 判断交易是否是单证中心Take收单行的业务
boolean bool = false;
Spt spt =SettleContext.getUserSession().getSpt();
Bch bch =SettleContext.getUserSession().getBch();
List<Trn> trnList=null;
List<String> inrList=null;
Trn seltrn =new Trn();
Spt spt = SettleContext.getUserSession().getSpt();
Bch bch = SettleContext.getUserSession().getBch();
List<Trn> trnList = null;
List<String> inrList = null;
Trn seltrn = new Trn();
//&& StringUtils.isNotEmpty(bch.getCorflg() )
if ("RIM".equals(spt.getSta())){
if ("RIM".equals(spt.getSta())) {
Bch selbch = new Bch();
// selbch.setUpbchkey(bch.getBranch());
// List<Bch> bchList = bchMapper.selectByConditionList(selbch);
......@@ -1403,18 +1468,18 @@ public class SysmodServiceImpl implements SysmodService {
seltrn.setObjinr(spt.getObjinr());
seltrn.setObjtyp(spt.getObjtyp());
seltrn.setInifrm(spt.getFrm());
trnList = trnMapper.selectByConditionListBchkeyinr(seltrn,inrList);
trnList = trnMapper.selectByConditionListBchkeyinr(seltrn, inrList);
}
//判断满足是否为单证中心处理
Assert.notNull(trnList);
for(Trn item: trnList) {
for (Trn item : trnList) {
if ("A".equals(item.getRelflg())) {
bool = true;
break;
}
}
if(bool)
if (bool)
return true;
else
return false;
......@@ -1430,6 +1495,7 @@ public class SysmodServiceImpl implements SysmodService {
// + bch.getBranch() + "')";
// }
}
/**
* source:sysmod.0283.script
*
......@@ -1441,27 +1507,27 @@ public class SysmodServiceImpl implements SysmodService {
//int lin = Systems.getAttribute(argField,tdAttrLines);
//int len = Systems.getAttribute(argField,tdAttrLength);
String txt = argField;
int len1 = Strings.len(Strings.convertBlock(txt,11));
int len2 = Strings.len(Strings.convertBlock(txt,13));
int lenChinese = ( len2 - len1 );
int len1 = Strings.len(Strings.convertBlock(txt, 11));
int len2 = Strings.len(Strings.convertBlock(txt, 13));
int lenChinese = (len2 - len1);
int num = 0;
IStream txtStm = new StreamImpl();
String line = NULLSTR;
int p = 0;
if( lenChinese == 0 ) {
if (lenChinese == 0) {
num = 0;
if( ! MdaUtils.isEmpty(txt) ) {
Streams.streamSet(txtStm,txt);
if (!MdaUtils.isEmpty(txt)) {
Streams.streamSet(txtStm, txt);
num = Streams.streamCount(txtStm);
}
if( num > 0 ) {
for(int i = 1;i <= num;i++) {
line = Strings.getLine(txtStm,i);
if( ! MdaUtils.isEmpty(line) ) {
for(int j = 1;j <= Strings.len(line);j++) {
p = Strings.pos("[}|~$`^]#%&*=@",Strings.mid(line,j,1));
if( p > 0 ) {
resultMap.put(String.valueOf(argField),MdaUtils.getI18NString("sysmod","CT000655"));
if (num > 0) {
for (int i = 1; i <= num; i++) {
line = Strings.getLine(txtStm, i);
if (!MdaUtils.isEmpty(line)) {
for (int j = 1; j <= Strings.len(line); j++) {
p = Strings.pos("[}|~$`^]#%&*=@", Strings.mid(line, j, 1));
if (p > 0) {
resultMap.put(String.valueOf(argField), MdaUtils.getI18NString("sysmod", "CT000655"));
//if(1==1) return resultMap;
}
}
......@@ -1470,7 +1536,7 @@ public class SysmodServiceImpl implements SysmodService {
}
}
} else {
resultMap.put(String.valueOf(argField),MdaUtils.getI18NString("sysmod","CT000666"));
resultMap.put(String.valueOf(argField), MdaUtils.getI18NString("sysmod", "CT000666"));
MdaUtils.exitRule();
}
return resultMap;
......@@ -1525,25 +1591,25 @@ public class SysmodServiceImpl implements SysmodService {
}
}
public Bch getUpperBch(Bch argBch){
if(argBch==null)
argBch=SettleContext.getUserSession().getOrgBch();
public Bch getUpperBch(Bch argBch) {
if (argBch == null)
argBch = SettleContext.getUserSession().getOrgBch();
return bchService.getDirectParentBch(argBch.getBranch());
}
public String getNextFrame(String inifrm){
Atpbch atpbch =atpbchMapper.selecDistinctByInifrm(inifrm);
if(atpbch!=null) {
public String getNextFrame(String inifrm) {
Atpbch atpbch = atpbchMapper.selecDistinctByInifrm(inifrm);
if (atpbch != null) {
return atpbch.getFrmtyp();
}else{
} else {
return inifrm;
}
}
public String getPreFrame(String inifrm,String branch){
if("1000".equals(branch)){
public String getPreFrame(String inifrm, String branch) {
if ("1000".equals(branch)) {
return this.getNextFrame(inifrm);
}else {
} else {
Atpbch atpbch = atpbchMapper.selectByFrmtypAndBranchAndFlg(inifrm, branch, "X");
if (atpbch == null) {
return inifrm;
......@@ -1555,6 +1621,7 @@ public class SysmodServiceImpl implements SysmodService {
/**
* 通过文件名长度截取子目录,文件名为inr,in扩长为16后截取前12位
*
* @param argFil 文件名
* @return 子目录 4位或12位
*/
......@@ -1567,19 +1634,20 @@ public class SysmodServiceImpl implements SysmodService {
public String midObjinr(String objInr) {
if (objInr.trim().length() == 16) {
return Strings.mid(objInr,1,16);
return Strings.mid(objInr, 1, 16);
}
return Strings.mid(objInr,1,8);
return Strings.mid(objInr, 1, 8);
}
/**
* 接口开关API【默认打开】
*
* @param srv 接口名(对应STB表的cod字段)
* @return true表示接口开关打开
*/
public boolean isInterfaceOpen(String srv){
Stb stb = stbMapper.selectByTblAndCodAndUil("INTACE",srv,"CN");
if(stb!=null){
public boolean isInterfaceOpen(String srv) {
Stb stb = stbMapper.selectByTblAndCodAndUil("INTACE", srv, "CN");
if (stb != null) {
return "Y".equals(stb.getTxt()) ? true : false;
}
return true;
......@@ -1587,12 +1655,13 @@ public class SysmodServiceImpl implements SysmodService {
/**
* 接口上云开关API【默认打开】
*
* @param srv 接口名(对应STB表的cod字段)
* @return true表示接口上云开关打开
*/
public boolean isInterfaceSyOpen(String srv){
Stb stb = stbMapper.selectByTblAndCodAndUil("INTACE_SY",srv,"CN");
if(stb!=null){
public boolean isInterfaceSyOpen(String srv) {
Stb stb = stbMapper.selectByTblAndCodAndUil("INTACE_SY", srv, "CN");
if (stb != null) {
return "Y".equals(stb.getTxt()) ? true : false;
}
return true;
......@@ -1600,21 +1669,22 @@ public class SysmodServiceImpl implements SysmodService {
/**
* 交易开关API【默认打开】
*
* @param switchCod 开关码
* @return true表示交易开关打开
*/
public boolean isBusinessOpen(String switchCod){
public boolean isBusinessOpen(String switchCod) {
Offcfg offcfg = new Offcfg();
offcfg.setSwitchcode(switchCod);
Offcfg result = offcfgMapper.selectBySwitchcode(offcfg);
if(result != null){
if (result != null) {
return "Y".equals(result.getSwitchflg()) ? true : false;
}
return true;
}
public boolean isStartBusiness() {
String transName=SettleContext.getTransName();
String transName = SettleContext.getTransName();
if ("OPN".equalsIgnoreCase(transName.substring(3, transName.length()))) {
return true;
}
......@@ -1650,10 +1720,10 @@ public class SysmodServiceImpl implements SysmodService {
public boolean isShangYun(String tbl) {
String languageSTB = "EN";
String valReturn = "";
List<CodetableItem> dbCodeTable = codetableService.selectList(tbl.toUpperCase(),languageSTB);
if (dbCodeTable != null && !dbCodeTable.isEmpty()){
List<CodetableItem> dbCodeTable = codetableService.selectList(tbl.toUpperCase(), languageSTB);
if (dbCodeTable != null && !dbCodeTable.isEmpty()) {
valReturn = dbCodeTable.get(0).getValue();
}else{
} else {
log.warn("找不到上云开关{}对应的码值", tbl);
}
return "Y".equals(valReturn) ? true : false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment