📄 rc_init1.jsp
字号:
out.println("本日未进行报表生成,无集成日志");
}
/*集成日志检查完毕*/
/*判断当前日期与下日日期(用户输入)的关系,若跨旬,则检查报表生成标志*/
flag_xun = pp.campareRq(crq , nrq); //得到crq与nrq之间的关系
if ( flag_xun == 0 ) //若crq>nrq
{
out.println("<SCRIPT language='JavaScript'>");
out.println("window.alert('下一工作日期比当前工作日期小,请重新输入');");
out.println("history.back();");
out.println("</SCRIPT>");
return;
}
else if ( flag_xun == 3 ) //若crq与nrq之间跨度太大:crq与nrq之间跨度不可超过一旬
{
out.println("<SCRIPT language='JavaScript'>");
out.println("window.alert('下一工作日期与当前工作日期之间跨度太大,请重新输入');");
out.println("history.back();");
out.println("</SCRIPT>");
return;
}
else if ( flag_xun == 2 || flag_xun == 4 || flag_xun == 5 ) //若crq,nrq是顺序跨旬
{
if ( !flag_bb.trim().equals("11") ) //如果flag_bb 不等于 11
{
out.println("<SCRIPT language='JavaScript'>");
out.println("window.alert('未生成旬末报表!请先生成报表或将下一工作日期调调至本旬末');");
out.println("history.back();");
out.println("</SCRIPT>");
return;
}
}
/*结束日期切换准备:检查结束*/
out.println("<BR>");
out.println("日期检查完成");
out.flush();
//判断本日是否进行数据采集
if (sjcjbz.equals("1")) //本日进行了数据采集
{
/*开始备份当日数据文件*/
Pub_file pf = new Pub_file();
String filepath = pp.getCSZ("SJWJML");
//得到全部文件的列表
String [] list = pf.getFileList();
if ((list == null)||(list.length == 0))
{
System.out.println("rc_init1.jsp:文件列表为空");
return;
}
//过滤,得到当日的文件列表,包含费用类文件
String dqgzr_filter = cyear+cmon+cday;
String dqgzr_fyjk_filter = cyear+cmon+"01";
System.out.println(dqgzr_filter);
System.out.println(dqgzr_fyjk_filter);
String [] filelist = new String[list.length];
File ff = null;
for (int i = 0 ; i< list.length ; i++ )
{
ff = new java.io.File(filepath,list[i]);
//隐含条件:费用类文件的后缀日期为当月+01,而该费用文件的提供时间一般为月末,所以当前日期为01日时,本月的费用类文件不存在;可保证不选入费用类文件
if ( (list[i].indexOf(dqgzr_filter)!=-1)&&ff.isFile())
{
filelist[i] = list[i];
}
else 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[i] = list[i];
}
}
if ( !pf.getZipOfFile(filelist) )
{
System.out.println("rc_init1.jsp:得到数据文件zip包失败");
out.println("<BR>");
out.println("数据备份失败!");
return ;
}
pf.getZipOfFile(filelist);
pf.moveFileList(filelist);
/*当日数据文件备份结束*/
out.println("<BR>");
out.println("数据文件备份完成");
out.flush();
}
else //本日未进行数据采集
{
out.println("<BR>");
out.println("本日未进行数据采集,无相应数据文件");
out.flush();
}
/*日期切换开始:修改总帐和分户的积数;对特殊日期进行修改年初,月初值;修改参数字典的相关值*/
java.util.Date crq_date = new java.util.Date(crq);
java.util.Date tomon = new java.util.Date(nrq);
//计算当前日期与下一日期的间隔天数,必大于0
long jgts = (tomon.getTime() - crq_date.getTime())/(1000*60*60*24);
String dq_tmp = crq; //临时当前日期(dq_tmp) 初始值为当前日期crq
for ( int i = 1 ; i <=jgts ;i++)
{
DbBean.prepare();
//得到临时日期的字符串形式,临时日期是临时当前日期的下一日
crq_date.setTime(crq_date.getTime()+1000*60*60*24);
year_tmp = ""+(crq_date.getYear()+1900);
if ( crq_date.getMonth() < 9 )
{
month_tmp = "0"+(crq_date.getMonth()+1);
}
else
{
month_tmp = ""+(crq_date.getMonth()+1);
}
if ( crq_date.getDate() < 10 )
{
date_tmp = "0"+crq_date.getDate();
}
else
{
date_tmp = ""+crq_date.getDate();
}
//得到临时日期
String rq_tmp = year_tmp+"/"+month_tmp+"/"+date_tmp;
if ( pp.campareRq(dq_tmp,rq_tmp) == 5 ) // 临时当前日期为12/31 临时日期为01/01 赋年初值,月初值,改报表生成标志,费用导入标志,
{
//赋年初值
sqlstr = "update ZZJBXXB set NCYE = DQYE ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update FHJBXXB set NCYE = DQYE ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update ZZJBXXB set YCYE = DQYE ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update FHJBXXB set YCYE = DQYE ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '00' where CSBM = 'BBSCBZ' " ;
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '0' where CSBM = 'FYDRBZ' ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '0' where CSBM = 'YYFYDRBZ' ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update ZZJBXXB set BNLJS = 0.00 ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update FHJBXXB set BNLJS = 0.00 , BNLLX = 0.00 ";
DbBean.insertUpdate(sqlstr);
out.println("<BR>");
out.println("跨年切换完成");
out.flush();
}
if ( pp.campareRq(dq_tmp,rq_tmp) == 4 ) //临时当前日期为月末,临时日期为月初 赋月初值,改报表生成标志,费用导入标志
{
sqlstr = "update ZZJBXXB set YCYE = DQYE ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update FHJBXXB set YCYE = DQYE ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '00' where CSBM = 'BBSCBZ' " ;
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '0' where CSBM = 'FYDRBZ' ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '0' where CSBM = 'YYFYDRBZ' ";
DbBean.insertUpdate(sqlstr);
out.println("<BR>");
out.println("跨月切换完成");
out.flush();
}
if ( pp.campareRq(dq_tmp,rq_tmp) == 2 )
{
sqlstr = "update CSZD set CSZ = '00' where CSBM = 'BBSCBZ' " ;
DbBean.insertUpdate(sqlstr);
}
//对于顺序切换日期的情况,i只可等于1
if ( i>=2 )
{
sqlstr = "update ZZJBXXB set BNLJS = BNLJS + DQYE ";
DbBean.insertUpdate(sqlstr);
sqlstr = "update FHJBXXB set BNLJS = BNLJS + DQYE ";
DbBean.insertUpdate(sqlstr);
}
DbBean.exeInsert();
dq_tmp = rq_tmp;
}
/*日期切换结束:*/
/*开始修改参数字典的DQGZR,SYGZR,XYGZR*/
//得到下一工作日期+1的日期
time = tomon.getTime();
tomon.setTime(time+1000*60*60*24);
nyear = ""+(tomon.getYear()+1900);
if ( tomon.getMonth() < 9 )
{
nmon = "0"+(tomon.getMonth()+1);
}
else
{
nmon = ""+(tomon.getMonth()+1);
}
if ( tomon.getDate() < 10 )
{
nday = "0"+tomon.getDate();
}
else
{
nday = ""+tomon.getDate();
}
DbBean.prepare();
sqlstr = "update CSZD set CSZ = '"+crq+"' where CSBM = 'SYGZR'";
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '"+nrq+"' where CSBM = 'DQGZR'";
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '"+nyear+"/"+nmon+"/"+nday+"' where CSBM = 'XYGZR'";
DbBean.insertUpdate(sqlstr);
sqlstr = "update CSZD set CSZ = '0' where CSBM = 'SJDRBZ'";
DbBean.insertUpdate(sqlstr);
DbBean.insertUpdate("update CSZD set CSZ = '0' where CSBM = 'SJCJBZ' ");
DbBean.insertUpdate("update CSZD set CSZ = '0' where CSBM = 'ZFJCBZ' ");
//删除集成日志
sqlstr = "delete from JCRZ where RQ = '"+crq+"' ";
DbBean.insertUpdate(sqlstr);
DbBean.exeInsert();
out.println("<BR>");
out.println("日期切换成功!");
out.println("</BODY>");
out.println("</HTML>");
}
catch ( Throwable e )
{
DbBean.clear();
out.println("<BR>");
out.println("日期切换出现异常。系统提示:"+e.getMessage());
out.flush();
return;
}
finally
{
System.gc();
}
%>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -