📄 file_load.jsp
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
%>
<%@page contentType="text/html;charset=gb2312"%>
<%@page language = "java"%>
<%@page import = "java.lang.*"%>
<%@page import = "publib.*"%>
<jsp:useBean id="DbBean" class="publib.OperDbBean" scope="page"></jsp:useBean>
<%
if((session.getValueNames()).length==0)
{
out.println("<SCRIPT language='JavaScript'>");
out.println("self.location='/sysmang/loginagain.html';");
out.println("</SCRIPT>");
return;
}
//定义区
Pub_file pf = new Pub_file();
Pub_parameter pp = new Pub_parameter();
java.sql.ResultSet rs = null;
String [][] fmf = null; //[file][mc][flag]:文件名,标志0/1 /2 文件不存在/存在已导入/存在未导入
//[....][..][....]
String [][] fmf_fy = null; //费用文件的
String [] filelist = null; //目录下实际存在的数据文件
String [] filelist_fy = null; //目录下实际存在的费用文件
String filepath = "";
String dqgzr = "";
String dqgzr_filter = "";//当前工作日期的后缀形式:年+月+日
String dqgzr_fyjk_filter = ""; //当前工作日期的费用文件后缀形式:年+月+01
String f_dqgzr = ""; //费用类文件的当前工作日期形式:年/月/01
String resultZZ = "<TR><TD align='right' ><input type='checkbox' name='check' value='zzfilelist' ></TD><TD align='left' colspan='3'> 总帐类数据文件</TD></TR>"; //总帐文件的显示结果
String resultFH = "<TR><TD align='right' ><input type='checkbox' name='check' value='fhfilelist' ></TD><TD align='left' colspan='3' > 分户类数据文件</TD></TR>"; //分户文件的显示结果
String resultMX = "<TR><TD align='right' ><input type='checkbox' name='check' value='mxfilelist' ></TD><TD align='left' colspan='3' > 明细类数据文件</TD></TR>"; //明细文件的显示结果
String resultFY = "<TR><TD align='right' ><input type='checkbox' name='check' value='fyfilelist' ></TD><TD align='left' colspan='3' > 费用类数据文件</TD></TR>"; //费用文件的显示结果
String resultJX = "<TR><TD align='right' ><input type='checkbox' name='check' value='jxfilelist'></TD><TD align='left' colspan='3' > 结息清单类数据文件</TD></TR>"; //结息文件的显示结果
String resultGL = "<TR><TD align='right' ><input type='checkbox' name='check' value='glfilelist' ></TD><TD align='left' colspan='3' > 管理人员费用类数据文件</TD></TR>"; //管理文件的显示结果
String resultGY = "<TR><TD align='right' ><input type='checkbox' name='check' value='gyfilelist' ></TD><TD align='left' colspan='3' > 柜员指标类数据文件</TD></TR>"; //柜员文件的显示结果
String resultYY = "<TR><TD align='right' ><input type='checkbox' name='check' value='yyfilelist' ></TD><TD align='left' colspan='3' > 营业费用类数据文件</TD></TR>"; //营业费用文件的显示结果
Integer Toint = new Integer(0);
int num = 0;
//得到参数字典的文件定义
try
{
rs = DbBean.sqlQuery("select count(*) from CSZD where substring(CSBM,1,4) = 'file' and substring(BZ,1,1) not in ( '4','7') ");
rs.next();
fmf = new String[rs.getInt(1)][4];
rs.close();
rs = DbBean.sqlQuery("select CSZ,CSMC,BZ from CSZD where substring(CSBM,1,4) = 'file' and substring(BZ,1,1) not in ( '4','7') ");
for ( int i = 0 ; rs.next() ; i++ )
{
//给数组赋值
fmf[i][0] = rs.getString("CSZ").trim();//数据文件名前缀
fmf[i][1] = rs.getString("CSMC").trim();//数据文件说明
fmf[i][2] = "0";
fmf[i][3] = rs.getString("BZ").trim();//数据文件的类型
/* 0 总帐文件
1 分户文件
2 明细文件
3 结息文件
5 管理人员文件
6 柜员文件*/
}
rs.close();
//得到费用文件数组fmf_fy
rs = DbBean.sqlQuery("select count(*) from CSZD where substring(CSBM,1,4) = 'file' and substring(BZ,1,1) in ( '4','7') ");
rs.next();
fmf_fy = new String[rs.getInt(1)][4];
rs.close();
rs = DbBean.sqlQuery("select CSZ,CSMC,BZ from CSZD where substring(CSBM,1,4) = 'file' and substring(BZ,1,1) in ( '4','7') ");
for ( int i = 0 ; rs.next() ; i++ )
{
//给数组赋值
fmf_fy[i][0] = rs.getString("CSZ").trim();//数据文件名前缀
fmf_fy[i][1] = rs.getString("CSMC").trim();//数据文件说明
fmf_fy[i][2] = "0";
fmf_fy[i][3] = rs.getString("BZ").trim();//数据文件的类型
/*
4 费用文件
7 营业费用文件
*/
}
rs.close();
filepath = pp.getCSZ("SJWJML").trim();
dqgzr = pp.getCSZ("DQGZR").trim();
//得到当前工作日期的文件名后缀形式
dqgzr_filter = dqgzr.substring(0,4)+dqgzr.substring(5,7)+dqgzr.substring(8,10);//将日期字符串去'/'
//得到当前工作日期的费用文件名后缀形式
dqgzr_fyjk_filter = dqgzr.substring(0,4)+dqgzr.substring(5,7)+"01";//将日期字符串去'/'
//得到费用类文件的当前工作日期形式
f_dqgzr = dqgzr.substring(0,8)+"01";
//设置数据文件路径
//pf.setFilePath(filepath);
//getFileList(String)方法暂时无法使用??????原因不明
//filelist = pf.getFileList();得到含当日日期的数据文件列表
//实现得到含当日日期的数据文件列表 的处理;
filelist = new String[50];
filelist_fy = new String[20];
String [] list = null;
java.io.File ff = null;
list = pf.getFileList();
if ((list == null)||(list.length == 0))
{
System.out.println("file_load.jsp:文件列表为空");
out.println("文件列表为空");
return;
}
int sm = 0;
//得到filelist数组,存放数据文件目录下的当日数据文件,不含本月费用文件
//隐含条件:费用类文件的后缀日期为当月+01,而该费用文件的提供时间一般为月末,所以当前日期为01日时,本月的费用类文件不存在;可保证不选入费用类文件
for ( int i = 0 ; i <= list.length-1 ; i++ )
{
ff = new java.io.File(filepath,list[i]);
if ( (list[i].indexOf(dqgzr_filter)!=-1)&&ff.isFile())
{
filelist[sm+1] = list[i];
sm++;
}
}
filelist[0] = ""+sm; //数组filelist[0]存放文件个数
//不多余,因为对文件的过滤应封装在一个方法中,文件的个数通过数组的第一个元素传递出来
num = Toint.parseInt(filelist[0]);
//查找当日存在的数据文件,得到fmf数组的第一列[0],存放当日数据文件的全名;得到fmf数组的第三列[2],存放状态
for ( int i = 0 ; i <= fmf.length-1 ; i++ )
{
for ( int n = 1 ; n <= num ; n++ )
{
//将当日数据文件名的前缀名与参数字典中的前缀名相比较,如相同,则将数据文件全名赋给fmf
if ( filelist[n].substring(0,filelist[n].indexOf(dqgzr_filter)).equals(fmf[i][0]))
{
fmf[i][0] = filelist[n];
fmf[i][2] = "2";
}
}
}
sm = 0;
//得到filelist_fy数组,存放数据文件目录下的本月费用文件
for ( int i = 0 ; i <= list.length-1 ; i++ )
{
ff = new java.io.File(filepath,list[i]);
if ( list[i].indexOf( dqgzr_fyjk_filter)!=-1 &&( list[i].substring(0,3).equals("130") || list[i].substring(0,4).equals("yyfy") )&&ff.isFile())
{
filelist_fy[sm+1] = list[i];
sm++;
}
}
filelist_fy[0] = ""+sm; //数组filelist_fy[0]存放文件个数
//不多余,因为对文件的过滤应封装在一个方法中,文件的个数通过数组的第一个元素传递出来
num = Toint.parseInt(filelist_fy[0]);
//查找当月的费用文件,得到fmf_fy数组的第一列[0],存放当月费用文件全名;得到fmf_fy数组的第三列[2],存放状态
for ( int i = 0 ; i <= fmf_fy.length-1 ; i++ )
{
for ( int n = 1 ; n <= num ; n++ )
{
//将费用文件名的前缀名与参数字典中的前缀名相比较,如相同,则将文件全名赋给fmf_fy
if ( filelist_fy[n].substring(0,filelist_fy[n].indexOf(dqgzr_fyjk_filter)).equals(fmf_fy[i][0]))
{
fmf_fy[i][0] = filelist_fy[n];
fmf_fy[i][2] = "2";
}
}
}
//判断文件是否已导入
for ( int i = 0 ; i <= fmf.length-1 ; i++ )
{
//得到数据文件的对应阶段编码
// pf.setFileName(fmf[i][0]);
String jdbm = pf.getJDBM(fmf[i][0]);
ff = new java.io.File(filepath,fmf[i][0]);
//选择条件符合jdbm+jgbm+rq当日+zt成功 的纪录|||???应对zt 0/1分情况讨论,以后页面上有备注字段???
rs = DbBean.sqlQuery("select * from JCRZ where JGBM = '000000000' and JDBM = '"+jdbm+"' and Rq = '"+dqgzr+"' and ZT = '1' ");
if ( rs.next() )
{
if (ff.exists())
fmf[i][2] = "1" ;
}
}
//判断费用文件是否已导入
for ( int i = 0 ; i <= fmf_fy.length-1 ; i++ )
{
//得到费用文件的对应阶段编码
// pf.setFileName(fmf_fy[i][0]);
String jdbm = pf.getJDBM(fmf_fy[i][0]);
ff = new java.io.File(filepath,fmf_fy[i][0]);
//选择条件符合jdbm+jgbm+rq当日+zt成功 的纪录|||???应对zt 0/1分情况讨论,以后页面上有备注字段???
rs = DbBean.sqlQuery("select * from JCRZ where JGBM = '000000000' and JDBM = '"+jdbm+"' and Rq = '"+f_dqgzr+"' and ZT = '1' ");
if ( rs.next() )
{
if (ff.exists())
fmf_fy[i][2] = "1" ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -