更新
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
PACKAGE=com.murong.ctg.util
|
||||
CLASS=ZipUtils
|
||||
@@ -0,0 +1,143 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Tran>
|
||||
<Transaction code="BAT_GET_DISK_RESULT" log_switch='1' desc="获取批量回盘">
|
||||
<Attributes>
|
||||
<Attribute name="nodatabase" value="2"/> <!--数据库长连接-->
|
||||
</Attributes>
|
||||
<DynSentence name="QryBatLst">
|
||||
<Sentence>
|
||||
select dsk_nam from
|
||||
(select dsk_nam,sum(unfinished_num) unfinished_num,sum(finish_num) finish_num
|
||||
from (select dsk_nam,(case when BAT_STS!= '4' then 1 else 0 end)
|
||||
unfinished_num ,(case when BAT_STS= '4' then 1 else 0 end) finish_num
|
||||
from CAPBATINF b where b.dsk_nam in
|
||||
(select DSK_NAM from CAPDSKINF a where a.dsk_sts = '1')) group by dsk_nam) c
|
||||
where c.unfinished_num = 0 and c.finish_num > 0
|
||||
</Sentence>
|
||||
<Fields>|</Fields>
|
||||
</DynSentence>
|
||||
<DynSentence name="UpdCapdskinf">
|
||||
<Sentence>
|
||||
UPDATE CAPDSKINF SET dsk_sts = '4',END_DT=?, END_TM=?, MD5_RESULT=? WHERE DSK_NAM = ?
|
||||
</Sentence>
|
||||
<Fields>END_DT|END_TM|MD5_RESULT|DSK_NAM|</Fields>
|
||||
</DynSentence>
|
||||
<DynSentence name="QRY_CAPDSKINF_DSK_NAM">
|
||||
<Sentence>
|
||||
SELECT DSK_STS ,END_DT,END_TM ,ORN_CNT ,ORN_AMT,SUC_CNT,SUC_AMT,FAL_CNT,FAL_AMT,
|
||||
FILE_PATH,MD5_RESULT,TM_SMP FROM CAPDSKINF
|
||||
WHERE DSK_NAM = ?
|
||||
</Sentence>
|
||||
<Fields>DSK_NAM|</Fields>
|
||||
</DynSentence>
|
||||
|
||||
|
||||
<FlowCtrl>
|
||||
<!---test结束-->
|
||||
<Quote name="Init_CAP01"/> <!--交易初始化-->
|
||||
<Exec func="PUB:OpenCursor" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="QryBatLst"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod != 0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=打开游标失败</Set>
|
||||
<Exec func="PUB:RollbackWork"/>
|
||||
<Return/>
|
||||
</If>
|
||||
<While>
|
||||
<Exec func="PUB:FetchCursor" error="IGNORE"/>
|
||||
<If condition="~RetCod=2">
|
||||
<Exec func="PUB:CloseCursor"/>
|
||||
<Break/>
|
||||
</If>
|
||||
<ElseIf condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=循环游标失败</Set>
|
||||
<Exec func="PUB:RollbackWork"/>
|
||||
<Return/>
|
||||
</ElseIf>
|
||||
<!--所有参数由节点RTR_IN传进路由-->
|
||||
<Set>RTR_IN.DSK_NAM=$DSK_NAM</Set>
|
||||
<!--生成文件-->
|
||||
<Call package="DISKRESULLT" function="GET_DISK_RESULT_FILE">
|
||||
<Input>RTR_IN</Input>
|
||||
<Output>MSG_CD|RTR_OUT</Output>
|
||||
</Call>
|
||||
<If condition="SUBSTR(@O.MSG_CD,4,5)!=00000">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=文件生成失败</Set>
|
||||
<Break/>
|
||||
</If>
|
||||
<Set>MD5_RESULT=@O.RTR_OUT.MD5</Set>
|
||||
<Set>END_TM=GETDATETIME(HHMISS)</Set> <!-- 交易时间 -->
|
||||
<Set>END_DT=GETDATE()</Set> <!-- 交易日期 -->
|
||||
|
||||
<!--调用文件上传接口-->
|
||||
|
||||
<!--更新批次状态为已完成(终态)-->
|
||||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="UpdCapdskinf"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod<0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg="数据库错误"</Set>
|
||||
<Break/>
|
||||
</If>
|
||||
<Exec func="PUB:CommitWork"/>
|
||||
|
||||
<!--调用HRO送盘接口-->
|
||||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="QRY_CAPDSKINF_DSK_NAM"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=批次不存在</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
|
||||
<Set>DISK_STS=$DSK_STS</Set>
|
||||
<Set>DISK_MESSAGE=$DISK_MESSAGE</Set>
|
||||
<Set>LAST_DATE=SUBSTR($TM_SMP,0,8)</Set>
|
||||
<Set>LAST_TIME=SUBSTR($TM_SMP,9,6)</Set>
|
||||
<Set>TOTAL_COUNT=$ORN_CNT</Set>
|
||||
<Set>TOTAL_AMOUNT=FMUL($ORN_AMT,100,0)</Set>
|
||||
<Set>SUCC_COUNT=$SUC_CNT</Set>
|
||||
<Set>SUCC_AMOUNT=FMUL($SUC_AMT,100,0)</Set>
|
||||
<Set>FAIL_COUNT=$FAL_CNT</Set>
|
||||
<Set>FAIL_AMOUNT=FMUL($FAL_AMT,100,0)</Set>
|
||||
<Set>FILE_PATH=$FILE_PATH</Set>
|
||||
<Set>MD5=$MD5_RESULT</Set>
|
||||
<!-- <!–调用HRO送盘接口–>
|
||||
<Exec func="PUB:CallThirdComm" error="IGNORE">
|
||||
<Arg name="HTxnCd" value="diskNotify"/>
|
||||
<Arg name="ObjSvr" value="STHDHRO1"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=发送文件送盘失败</Set>
|
||||
</If>-->
|
||||
|
||||
<!--删除关键域避免重复-->
|
||||
<Delete>DSK_NAM</Delete>
|
||||
<Delete>DISK_STS</Delete>
|
||||
<Delete>DISK_MESSAGE</Delete>
|
||||
<Delete>LAST_DATE</Delete>
|
||||
<Delete>LAST_TIME</Delete>
|
||||
<Delete>TOTAL_COUNT</Delete>
|
||||
<Delete>TOTAL_AMOUNT</Delete>
|
||||
<Delete>SUCC_COUNT=</Delete>
|
||||
<Delete>SUCC_AMOUNT</Delete>
|
||||
<Delete>FAIL_COUNT</Delete>
|
||||
<Delete>FAIL_AMOUNT</Delete>
|
||||
<Delete>FILE_PATH</Delete>
|
||||
<Delete>MD5</Delete>
|
||||
<Delete>MD5_RESULT</Delete>
|
||||
<Delete>END_TM</Delete>
|
||||
<Delete>END_DT</Delete>
|
||||
</While>
|
||||
|
||||
<Set>Rsp_Cd=00</Set>
|
||||
<Set>Rsp_Msg=交易成功</Set>
|
||||
</FlowCtrl>
|
||||
</Transaction>
|
||||
</Tran>
|
||||
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Package>
|
||||
<Function name="GET_DISK_RESULT_FILE">
|
||||
<Input>RTR_IN</Input>
|
||||
<Output>MSG_CD|RTR_OUT</Output>
|
||||
<!--查询文件是否入库 -->
|
||||
<DynSentence name="QRY_CAPDSKINF">
|
||||
<Sentence>
|
||||
SELECT DSK_STS,ORN_CNT TOTAL_COUNT,ORN_AMT TOTAL_AMOUNT,SUC_CNT SUCC_COUNT,SUC_AMT SUCC_AMOUNT,FAL_CNT
|
||||
FAIL_COUNT,FAL_AMT FAIL_AMOUNT,TITLE_ID,CUSTOMER_ID FROM CAPDSKINF
|
||||
WHERE DSK_NO = ?
|
||||
</Sentence>
|
||||
<Fields>DSK_NAM|</Fields>
|
||||
</DynSentence>
|
||||
<DynSentence name="QRY_CAPBATINF">
|
||||
<Sentence>
|
||||
SELECT count(1) BAT_NUM FROM CAPBATINF
|
||||
WHERE DSK_NAM = ? AND (BAT_STS <4 OR BAT_STS >4)
|
||||
</Sentence>
|
||||
<Fields>DSK_NAM|</Fields>
|
||||
</DynSentence>
|
||||
<DynSentence name="QRY_CAPTXNJNL">
|
||||
<Sentence>
|
||||
select AC_TYP ACCT_TYPE,AC_NO ACCT_NO,CUS_NAM ACCT_NAME,CAP_ORD_NO TRANS_ID,
|
||||
MERC_ORD_NO REF_ID,CORG_JRN_NO BANK_REF_ID, TXN_AMT AMOUNT,BNK_TYP BANK_TYPE,POSTSCRIPT,
|
||||
TAC_NO PAYER_ACCT_NO,TAC_NAM PAYER_ACCT_NAME, CORG_NO ORG_NO,'' REMARK ,
|
||||
TXN_STS TRANS_STS,RSP_MSG RESP_MESSAGE
|
||||
from CAPTXNJNL t where t.dsk_nam = '%s'
|
||||
</Sentence>
|
||||
<Fields>DSK_NAM|</Fields>
|
||||
</DynSentence>
|
||||
|
||||
<Process>
|
||||
<Set>DSK_NAM=$RTR_IN.DSK_NAM</Set>
|
||||
<!--查询大批批次表-->
|
||||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="QRY_CAPDSKINF"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=批次不存在</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
<!--<If condition="IS_NOEQUAL_STRING($DSK_STS,4)">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=批次未完成</Set>
|
||||
<Return/>
|
||||
</If>-->
|
||||
<!--查询小批是否处理完成-->
|
||||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="QRY_CAPBATINF"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=系统异常</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
<If condition="IS_NOEQUAL_STRING($BAT_NUM,0)">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=批次未完成</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
|
||||
<!--生成文件-->
|
||||
<Set>FIL_PTH=STRCAT(GETENV(WORKDIR),/dat/cap/send/)</Set>
|
||||
<Set>FIL_NAM=STRCAT($DSK_NAM,RESULT)</Set>
|
||||
<!--导出文件-->
|
||||
<Exec func="PUB:ExportFromDB">
|
||||
<Arg name="FormatName" value="HroFmt02"></Arg>
|
||||
<Arg name="FileName" value="STRCAT($FIL_PTH,$FIL_NAM)"></Arg>
|
||||
<Arg name="TableName" value="CAPTXNJNL"></Arg>
|
||||
<Arg name="SqlName" value="QRY_CAPTXNJNL"></Arg>
|
||||
</Exec>
|
||||
<If condition="~RetCod=-1">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=失败</Set>
|
||||
<Exec func="PUB:GWASetMsg">
|
||||
<Arg name="MsgCd" value="CAP99999"/>
|
||||
</Exec>
|
||||
<Return/>
|
||||
</If>
|
||||
<If condition="~RetCod=1">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=数据不存在</Set>
|
||||
<Exec func="PUB:GWASetMsg">
|
||||
<Arg name="MsgCd" value="CAP88888"/>
|
||||
</Exec>
|
||||
<Return/>
|
||||
</If>
|
||||
<ElseIf condition="~RetCod!=0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=生成文件失败</Set>
|
||||
<Exec func="PUB:GWASetMsg">
|
||||
<Arg name="MsgCd" value="CAP88888"/>
|
||||
</Exec>
|
||||
<Return/>
|
||||
</ElseIf>
|
||||
|
||||
<!--文件压缩-->
|
||||
|
||||
|
||||
<Set>TGZ_PATH=STRCAT(GETENV(WORKDIR),/dat/cap/send/)</Set>
|
||||
<Set>TGZ_FILE=STRCAT($TGZ_PATH,$FIL_NAM)</Set>
|
||||
<Set>TGZ_NAME=STRCAT($TGZ_FILE,.tar.gz)</Set>
|
||||
<Exec func="PUB:SystemAndWait">
|
||||
<Arg name="cmd" value="tar"/>
|
||||
<Arg name="arg1" value="cvzf"/>
|
||||
<Arg name="arg2" value="$TGZ_NAME"/>
|
||||
<Arg name="arg3" value="-C"/>
|
||||
<Arg name="arg4" value="$FIL_PTH"/>
|
||||
<Arg name="arg5" value="$FIL_NAM" />
|
||||
</Exec>
|
||||
<!--判断文件是否存在-->
|
||||
<Exec func="PUB:IsValidFile" error="IGNORE">
|
||||
<Arg name="FileName" value="$TGZ_NAME"/>
|
||||
</Exec>
|
||||
<If condition="OR( INTCMP($FIL_BYT,3,0), INTCMP(~RetCod,4,0) )">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg=文件压缩失败</Set>
|
||||
<Return/>
|
||||
</If>
|
||||
|
||||
<!--生成MD5值-->
|
||||
<Exec func="ENC:EncryptFilByMD5" error="IGNORE">
|
||||
<Arg name="fileName" value="$TGZ_NAME"/>
|
||||
<Arg name="nodeName" value="BSIG_VAL"/>
|
||||
</Exec>
|
||||
<Set>RTR_OUT.MD5=$BSIG_VAL</Set><!--文件校验值-->
|
||||
<Exec func="PUB:CmpSetMsg">
|
||||
<Arg name="MsgCd" value="AGW00000"/>
|
||||
</Exec>
|
||||
|
||||
</Process>
|
||||
</Function>
|
||||
</Package>
|
||||
@@ -0,0 +1,41 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Tran>
|
||||
<Transaction code="TRANS_STS_SYNC" log_switch='1' desc="业务状态同步">
|
||||
|
||||
<!--修改交易流水状态 -->
|
||||
<DynSentence name="UpdCapTxnJnl">
|
||||
<Sentence>
|
||||
UPDATE CAPTXNJNL SET TXN_STS = ?, RMK = ? WHERE MERC_ORD_NO = ?
|
||||
</Sentence>
|
||||
<Fields>TRANS_STS|REMARK|REF_ID|</Fields>
|
||||
</DynSentence>
|
||||
|
||||
|
||||
<FlowCtrl>
|
||||
<Quote name="Init_CAP01"/> <!--交易初始化-->
|
||||
<!-- 组合一些关键信息 -->
|
||||
<Set>DSK_NO=$DISK_NO</Set>
|
||||
<Set>APPLY_DATE=$APPLY_DATE</Set>
|
||||
<Set>MAKE_FILE=$MAKE_FILE</Set>
|
||||
<If condition="IS_NOEQUAL_STRING($TRANS_STS,S,F,R)">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg="交易状态有误"</Set>
|
||||
<Break/>
|
||||
</If>
|
||||
|
||||
<!-- 更新交易状态 -->
|
||||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||||
<Arg name="SqlCmd" value="UpdCapTxnJnl"/>
|
||||
</Exec>
|
||||
<If condition="~RetCod<0">
|
||||
<Set>Rsp_Cd=80</Set>
|
||||
<Set>Rsp_Msg="数据库错误"</Set>
|
||||
<Break/>
|
||||
</If>
|
||||
|
||||
|
||||
<Set>Rsp_Cd=00</Set>
|
||||
<Set>Rsp_Msg=交易成功</Set>
|
||||
</FlowCtrl>
|
||||
</Transaction>
|
||||
</Tran>
|
||||
Reference in New Issue
Block a user