ecap常见问题集锦

ecap常见问题集锦

1.交易不跳页面直接打印,有可能造成打印文件名变量重复累加的现象?

将输入输出属性设置为:输出

2.生成打印文件成功,客户端无法下载打印文件?
此问题与Fserver有关

查看相关进程
ps -ef |grep FS

查看端口是否监听
netstat -an |grep 12277

杀掉进程
kill -9 496120

启动Fserver
nohup fsvr.sh &



3.was启动停止脚本:

sh start.sh

/usr/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startNode.sh
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1

stop.sh

/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/stopNode.sh
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/stopServer.sh server1
/usr/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/stopManager.sh



4.凭证重打 用 200600 交易

5.补登折 用 000600 交易


将账号和凭证号码传入补登折界面

输入输出

accntNumber TS_F_account
passbookNo TS_F_vouno

补登折页面接收

值中的表达式

com.adtec.client.util.servlet.ServletTool.getRequestParam("accntNumber");
com.adtec.client.util.servlet.ServletTool.getRequestParam("passbookNo");

paymode TS_F_paymode
//补登折
var bdflag = document.@FormName@.paymode.value;
if(bdflag == '1')
{
alert('请到600交易补登折!');
openSubTran(document.@FormName@,'HZ_F2_921012_02','_B6_000600','_B6_000600_init');
}


6.刷折

AccountLinkage(document.@FormName@.textaccount.value,'1','@FormName@', '@PageName@');

AccountLinkage(document.@FormName@.textaccount.value,'1','@FormName@', '@PageName@');


readCZHMcrWithPayWay(devObject,document.@FormName@.textaccount,document.@FormName@.pingnum,'');
document.form2.textaccount.focus();


readCZHMcrWithPayWay(devObject,document.@FormName@.textaccount,document.@FormName@.pingnum,'');
document.form2.textaccount.focus();

com.adtec.client.accountlinkage.AccountLinkage.init("HB_DefaultString11","textname");

if(document.@FormName@.acct.value!='')
{

AccountLinkage(document.@FormName@.acct.value,'6','@FormName@', '@PageName@');

}

com.adtec.client.accountlinkage.AccountLinkage.init("HB_CustName|HB_custNo","accname|khno");



7.金额域校验技巧

var s1 = document.form2.number_price.value;
var s2 = Number(s1);

var s3 = s2 % 100;

alert(s3);
alert(s3 > 0);


if(s2 < 1000){
document.form2.number_price.value = '';

return '金额不能小于1000';
}
else if(s3 > 0)
{
document.form2.number_price.value = '';

return '金额只能是100的整数倍';
}


8.刷卡操作

刷卡
get37650Account_new(document.@FormName@.textaccount,document.@FormName@.textcardno,'A','K','1');

刷卡验密
get37650Account_new(document.form2.textaccount,document.form2.textcardno,'B','K','0');

不能手工输入
get37650Account_new(document.@FormName@.textbox2,document.@FormName@.textbox6,'B','B','0');

只能选主账号
get37650Account_new(document.form2.textaccount,document.form2.textcardno,'B','K','4');

9.截取下拉框的值发到后台

页面提交事件


var obj=document.form2.subjcode;
document.form2.businame.value = obj.options[obj.selectedIndex].text.substring(4,20);



10.柜员名称乱码问题解决:

/home/ecap/wasECAP/Template/foot.jsp
把字符编码改为gbk
<%@ page contentType="text/html; charset=gbk"

11.中文金额分开并补零

double amount=$TS_F_totalamount;
String[] map={ "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
int count=1;
String desStr="";
int tempAmount=(int)(amount*100);
desStr=map[tempAmount%10];
while((tempAmount/10)!=0){
count++;
tempAmount=tempAmount/10;
desStr=map[tempAmount%10]+" "+desStr;
}
while(count<=9){
desStr="零 "+desStr;
count++;
}
return desStr;



double amount=$TS_F_amount;
String[] map={ "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
int count=1;
String desStr="";
int tempAmount=(int)(amount/100000);
int temp=(int)((amount-tempAmount*100000)/10000);
desStr=map[temp];

return desStr+" ";


12.日期分开

com.adtec.client.util.DateUtil.dateStrFormate($BkPlatDate, "yyyyMMdd", "yyyy MM dd");


13.要求12位,不足前面补零

var billNo = document.@FormName@.textbox99.value;
var len = billNo.length;
if(len<12 && len>0) {
for(var i = 0; i < (12-len); i++) {
billNo = '0'+ billNo;
}
}
document.@FormName@.textbox99.value = billNo;


14.获取指定下标的值

com.adtec.client.util.DataPoolTool.getInfoFromDataPool("BkNum2",1);
com.adtec.client.util.DataPoolTool.getInfoFromDataPool("BkNum2",2);


15.返回上一页

history.back();

16.取机构名、核心日期

com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_Branch_Name",0);



return com.adtec.client.util.DateUtil.dateStrFormate(com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_Head_Date",0), "ddMMyyyy", "yyyyMMdd");


17.profile改变配置后生效


. .profile
env |grep Node



18.上传文件控件的使用

提交后事件
$ECAP_SEND_FILE = $TS_F_filename;

19.上传文件


onclick事件

DownLoadFile(document.@FormName@.filename.value);


隐含域

ECAP_RECE_FILE filename

页面初始事件
String retcode=$__ERR_RET;
if((retcode!=null)&&(retcode.equals("00000"))){
com.adtec.client.ftp.FtpProxy.downLoadFile();
}
//原始文件
String srcfile=com.adtec.client.ftp.FtpProxy.getLocalFile();
if((srcfile==null)||(srcfile.equals("")))
{
return false;
}else{
String filename=$TS_F_number;
filename=filename.trim();

//下载类方法参数
String recfile=filename+".txt";

//目标文件
String downfile=System.getenv("ECAPWORKDIR")+"/print/" + recfile;

java.io.FileInputStream fis = new java.io.FileInputStream(srcfile);

java.io.FileOutputStream fos = new java.io.FileOutputStream(downfile);
byte[] buff = new byte[1024];
int readed = -1;
while((readed = fis.read(buff)) > 0)
fos.write(buff, 0, readed);
fis.close();
fos.close();
$ECAP_RECE_FILE=recfile;
}


20.把其他下标的文件放到0下标,便于解析

if("00000".equals($__ERR_RET)){
if("".equals($HB_FTP_FILES)){
com.adtec.client.ftp.FtpProxy.downLoadFiles();
}
String Hb_ftp=com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getTpID(),"HB_FTP_FILES",1);
com.adtec.afc.datapool.EP.epPut(com.adtec.struct.ECAPTxRunInfo.getInstance().getTpID(),"HB_FTP_FILES", 0, Hb_ftp);

String downfile = com.adtec.client.ftp.FtpProxy.getLocalFile();


21.js计算一年后的日期

<script>
var year = '2011-03-01';

var date = new Date();

var OneMonth = year.substring(5,7);
var OneDay = year.substring(8);
var OneYear = year.substring(0,4);

date.setFullYear(OneYear,OneMonth-1,OneDay);
alert('date1: ' + date);

date.setFullYear(date.getFullYear()+1);
date.setDate(date.getDate()-1); //这里是改变的

alert('date: ' + date);

var TwoYear=String(date.getFullYear());//这里也是改变
var TwoMonth=String(date.getMonth()+1);
var TwoDay=String(date.getDate());

if(TwoMonth.length<2){
TwoMonth='0'+TwoMonth
}
if(TwoDay.length<2){
TwoDay='0'+TwoDay;
}

var res = TwoYear+'-'+TwoMonth+'-'+TwoDay;

alert(res);

</script>



22.内部帐回显户名

内部帐回显户名

021045

9开头,16位

HB_DefaultString90

$TS_F_taxpayername = $HB_DefaultString90;

getBGLAcctName('AccutNo','textbox95');

020400_JS

var acct = document.@FormName@.acct.value;
if(acct !='')
{
if(acct.substring(0,1) == '9' && acct.length == '16')
{
getBGLAcctName('acct','accname');
}
else
{
AccountLinkage(document.@FormName@.acct.value,'1','@FormName@', '@PageName@');
}
}


23.操作确认实现:OnSubmit事件中添加js代码

var opmode = document.form2.opmode.value;
if(opmode == '3')
{
return confirm('确认要删除吗?');
}


24.弹出窗口,可以调用其他业务的子交易,注意子交易名字的大小写

myOpenSubTranWin('_L1_630020','_L1_630032_init','_L1_63003201','form2','height=600,width=900,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no',rValue)

<script>
function myOpenSubTranWin(tranName,subTranName,pageName,formName,features,winValue)
{
var url = "TxRunAction.do?PageName="+pageName+"&FormName="+formName+"&TranName="+tranName+"&SubTranName="+subTranName+"&Rnd="+Math.round(Math.random()*100000000);
try{
openWin=window.showModalDialog(url,winValue, features);
}
catch(e){
}
}
</script>

//弹出窗口的值赋给父窗口
setCustomeValue('radio55', 'textbox82','textbox83');

<script>
function setCustomeValue(varadio,vlable,alable) {
var radios = document.getElementsByName(varadio);
if(radios.length == 1) {
var obj = document.getElementById(vlable);
var aaa = document.getElementById(alable);
try {
window.dialogArguments[0].value = obj.value;
window.dialogArguments[1].value = aaa.value;
window.close();
return;
} catch(e) { }
}
for(var i = 0; i < radios.length; i++) {
if(radios[i].checked == true) {
var obj = document.getElementById(vlable+'__'+i);
var aaa = document.getElementById(alable+'__'+i);
try {
window.dialogArguments[0].value = obj.value;
window.dialogArguments[1].value = aaa.value;
window.close();
return;
} catch(e){ }
}
}
}
</script>


getBankInfo3(document.@FormName@.textbox42,document.@FormName@.textbox43,'','','_E1_400064_init');

getBankInfo3(document.@FormName@.textbox42,document.@FormName@.textbox43,'','','_L1_630032_init');

<script>
function getBankInfo3(bankNumber,bankName,bankTel,bankAddress,subtransCode)
{
var obj = new Array();
var obj2=window.showModalDialog("TxRunAction.do?SubTranName=" + subtransCode + "&Rnd="+Math.round(Math.random()*100000000), obj, 'dialogWidth=800px;dialogHeight=600px,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no');
try{
if((undefined != obj2[0]) && (undefined != bankNumber) && ('' != bankNumber)){
bankNumber.value=obj2[0];
}
if((undefined != obj2[1]) && (undefined != bankName) && ('' != bankName)){
bankName.value=obj2[1];
}
if((undefined != obj2[2]) && (undefined != bankTel) && ('' != bankTel)){
bankName.value=obj2[2];
}
if((undefined != obj2[3]) && (undefined != bankAddress) && ('' != bankAddress)){
bankName.value=obj2[3];
}
}catch(e)
{}
}
</script>


25.取指定下标的值

int totalNum = com.adtec.client.util.DataPoolTool.getInfoSuffix("TS_F_Buff2");
if(totalNum > 3)
{
com.adtec.client.util.DataPoolTool.setInfoToDataPool("TS_F_thirdno", 0,com.adtec.client.util.DataPoolTool.getInfoFromDataPool("TS_F_Buff2",3));
}


26.多维数据元素分页打印

List pagelist=com.adtec.client.returncode.OutPutCodeDispose.dispose("JM_F17_91280600_01","JM_F17_91280600_01","JM_F17_91280600_init");
int totalNum = com.adtec.client.util.DataPoolTool.getInfoSuffix("TS_F_account1");
String[] aselementName ={"BkBankBkFlg","TS_F_optype","TS_F_messdate","TS_F_account1","TS_F_account2","TS_F_amount","TS_F_name","BkPlatDate","TS_F_brchno","BkHostSeq","HB_Authorization_Teller","TS_F_tellerno"};

String[] fmt_name={"FMT_HOST_CLI_Public_JM_F17_91280600_01"};
com.adtec.client.print.LocalPrintDataElementDispose.initPrintPool();

for(int i=0; i<totalNum;i++){
com.adtec.client.util.DataPoolTool.setInfoToDataPool("BkBankBkFlg", 0, i);
com.adtec.client.print.LocalPrintDataElementDispose.copyIPDataPool2PrintData(aselementName);
com.adtec.client.print.LocalPrintDataElementDispose.disposeLocalPrint(fmt_name,aselementName);
}

return pagelist;



<script type="text/JavaScript">

function print_selection_JM_F17_91280600()
{

var returnNo = document.@FormName@.returnNo.value;

var prtfilename = document.@FormName@.PrintDataLocalFileName.value.split("|");


if(returnNo=="00000")
{
//打印凭证

for(var i=0;i<prtfilename.length;i++){
FmtEngine('非税业务分成票据打印'+(i+1),'FMT_HOST_CLI_Public_JM_F17_91280600_01',prtfilename[i]);
}


}
return;
}

</script>


27.获取柜员机构类型

//获取柜员机构类型
String strBranNum = com.adtec.client.login.SessionTeller.tellerBranchNO();
com.adtec.client.bean.T_brhm tb = com.adtec.client.dao.T_brhmDao.load(strBranNum);
if(tb!=null){
String brchType = tb.getBranch_type();
$MNGY_SequenceNum = brchType;
}
else
{
String brchType = "";
}


28.多sheet打印用

//多sheet打印用
function printExcel2(obj)
{
//alert("just into printExcel2!");
var xlsApp = null;
try{
xlsApp = new ActiveXObject('Excel.Application'); }catch(e)
{
alert(e+', 原因分析: 浏览器安全级别较高导致不能创建Excel对象或者客户端没有安装Excel软件');
return;
}
var xlBook = xlsApp.Workbooks.Open('http://'+window.location.host+obj.value);

//alert("after open!");
var sheetNum= 1;
for(sheetNum=1;sheetNum<=xlBook.Sheets.Count;sheetNum++)
{
var xlsheet = xlBook.Worksheets(sheetNum);
xlsApp.Application.Visible = false;
xlsApp.visible = false;
xlsheet.Printout;
}
xlBook.Close(false);
// xlsApp.DisplayAlerts=false; // 如果关闭还会有提示,再加上这个
// xlsApp.Close(false);
xlsApp.Quit();
xlsApp=null;
}


29.服务器分页

服务器分页
子交易开始前事件
$ECAP_PAGESIZE=10;

服务码请求前事件
com.adtec.client.head.HeadManage.setPage();

组件
pagination_NotBase

序号
Integer.parseInt(com.adtec.txrun.dataelement.SuffixOper.getSuffix()) + 1;


30.复选框

String res = (String)com.adtec.afc.datapool.EP.epGet(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "BkFlag2",0);
String[] result = res.split("|");
int len = result.length;
if(len != 0){
//com.adtec.afc.datapool.EP.deleteDataElementValues(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "BkFlag2");
for(int i=0;i<len;i++){
if(result[i] != ""){
com.adtec.afc.datapool.EP.epPut(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "BkFlag2",i, result[i]);
}
}
}


31.多个账号回显户名

多个账号回显户名
get020400Account_new(document.@FormName@.textbox135.value,'1','form2','_V2_243118_init','0');

get020400Account_new(document.@FormName@.textbox138.value,'1','form2','_V2_243118_init','1');


com.adtec.client.accountlinkage.AccountLinkage.init_020400("HB_DefaultString2","textbox136");
com.adtec.client.accountlinkage.AccountLinkage.init_020400("HB_DefaultString2","textbox139");


32.列表多选

<script>
//复选框赋值
function Select_checkbox()
{
var m=0;
var t='';
var check = document.getElementsByName('checkbox91');
for(var i = 0; i < check.length; i++)
{
if(check[i].value=='1')
{
m = m + 1;
}
t = t + check[i].value;

}
//document.getElementById('Total_Records').value = check.length;
document.getElementById('Identified_num').value = m;
document.getElementById('Type_Flag').value = t;
}

//复选框全选和取消切换
function checkAll(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
{
aa[i].checked = e.checked;
if(aa[i].checked == true) aa[i].value = '1';
else aa[i].value = '0';
}
}
function checkItem(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked)
{
all.checked = false;
e.value = '0';
}
else
{
e.value = '1';
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}

}


</script>

checkbox90

RAD_SUFFIX
""

checkbox91

RAD_SUFFIX
"0"

checkAll(this, 'checkbox91');
checkItem(this, 'checkbox90');


33.获取交易名

com.adtec.struct.ECAPTxRunInfo.getInstance().getTran().getName();

String subtran=com.adtec.client.util.DataPoolTool.getInfoFromDataPool("ECAP_SUBTRAN_NAME",0);

String tranName= com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_TRAN_CODE",0);
if("_D1_037998".equals(tranName)){
return "交易名称:037998 取消卡与账户关联";
}

if(subtran.equals("_D1_037621")){
return "交易名称:037620 取消卡与账户关联";
}else if(subtran.equals("_D8_037621")){
return "交易名称:037999 取消卡与账户关联";
}


34.子窗口的值传到父窗口

var rValue = new Array(document.@FormName@.textbox174,document.@FormName@.custstat1);// new Array(客户号对象,客户号类型对象,证件号对象,证件号类型对象);
openTranWin('_PubTran_060482', 'height=600,width=800,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no',rValue);

getCustInfo();


35.清楚金额中的逗号

var _format = window.eval("/,/g");
var amt1 = '50,000.00';
alert(amt1);

var amt2 = amt1.replace(_format,"");

alert(amt2);


36.指定操作机构

if('00101' != document.form2.hidden_brch.value)
{
closeTran();
alert('此交易只能由省中心00101机构操作');
}

com.adtec.client.login.SessionTeller.tellerBranchNO();


37.选择弹出框信息

var returnValues =window.showModalDialog('TxRunAction.do?TranName=_E12_1614019_query&SubTranName=_E12_1614019_qu_init&Rnd='+Math.round(Math.random()*100000000), obj, 'dialogWidth=800px;dialogHeight=600px,toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no');

if(returnValues == null)
return;
document.@FormName@.textbox37.value = returnValues[0];
document.@FormName@.select40.value = returnValues[1];
document.@FormName@.select42.value = returnValues[2];
document.@FormName@.textbox44.value = returnValues[3];
document.@FormName@.textbox45.value = returnValues[4];
document.@FormName@.hidden47.value = returnValues[5];


<script type="text/JavaScript">
function returnVale()
{
window.returnValue = new Array();
var radioObj = document.getElementsByName('radio29');
if(undefined == radioObj.length){
window.returnValue[0] = document.getElementById('hidden40__'+radioObj.value).value;
window.returnValue[1] = document.getElementById('hidden43__'+radioObj.value).value;
window.returnValue[2] = document.getElementById('hidden44__'+radioObj.value).value;
window.returnValue[3] = document.getElementById('hidden45__'+radioObj.value).value;
window.returnValue[4] = document.getElementById('hidden46__'+radioObj.value).value;
window.returnValue[5] = document.getElementById('hidden47__'+radioObj.value).value;
window.close();

}else{
for (i=0; i < radioObj.length; i++){
if (radioObj[i].checked){
window.returnValue[0] = document.getElementById('hidden40__'+radioObj[i].value).value;
window.returnValue[1] = document.getElementById('hidden43__'+radioObj[i].value).value;
window.returnValue[2] = document.getElementById('hidden44__'+radioObj[i].value).value;
window.returnValue[3] = document.getElementById('hidden45__'+radioObj[i].value).value;
window.returnValue[4] = document.getElementById('hidden46__'+radioObj[i].value).value;
window.returnValue[5] = document.getElementById('hidden47__'+radioObj[i].value).value;
window.close();
}
}


}
}


</script>


38.清楚空值

com.adtec.client.util.NumberTool.elementFormatInt ("HB_GridCustNum");

int num = com.adtec.afc.datapool.EP.getSuffixNo(com.adtec.struct.ECAPTxRunInfo.getInstance().getIpID(), "HB_GridCustNum");
for(int i =0;i<num;i++){
String strNum = com.adtec.client.util.DataPoolTool.getInfoFromDataPool("HB_GridCustNum", i);
if ((!"".equals(strNum)) && (strNum != null)) {
com.adtec.client.util.DataPoolTool.setInfoToDataPool("HB_FundAgreementNo",i, strNum);
}
}


39.获取法人号

com.adtec.client.dao.T_brhmDao.getUnionCodeByBrachNo(com.adtec.afc.datapool.EP.epGetValue(com.adtec.struct.ECAPTxRunInfo.getInstance().getSpID(), "HB_Branch_Number",0));


40.js操作

根据已经输入的字符个数动态判断还可以输入多少
function chg_info()
{
var str = document.@FormName@.textbox30.value;
var num = 256;
var num2 = str.length
if(str.match(/[^\u0000-\u00ff]/g) != null)
{
num2 += str.match(/[^\u0000-\u00ff]/g).length;
}
document.getElementById('label34').innerHTML = '&nbsp&nbsp&nbsp&nbsp最多可输入<font color=red><B>256</B></font>个字符,您已输入<font color=red><B>' + num2 + '</B></font>个字符,还可输入<font color=red><B>' + (num - num2) + '</B></font>个字符。';
}

下拉框全选或取消
var num = document.@FormName@.select74.options.length;
if(this.checked==true)
{
for(var j=0;j<num;j++)
{
document.@FormName@.select74.options[j].selected=true;
}
}
else
{
for(var j=0;j<num;j++)
{
document.@FormName@.select74.options[j].selected = false;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值