报表公式字典123.docx
《报表公式字典123.docx》由会员分享,可在线阅读,更多相关《报表公式字典123.docx(72页珍藏版)》请在冰豆网上搜索。
报表公式字典123
报表公式
系统报表公式
页码公式(分组批打页码)
全局变量:
intpage_num=0
公式名
公式(值)类型
函数参数
计算点
格式
描述
get_this_page
Integer
分页前
#,###
累加页数,并返回当前页码值
v_page_num++;
returnv_page_num;
get_group_page
Integer
分组后:
*+
#,###
返回组的总页码数,并将全局变量清零
intgroup_page=v_page_num;
v_page_num=0;
returngroup_page;
合计公式(页计金额)
全局变量:
doublepage_money=0
公式名
公式(值)类型
函数参数
计算点
格式
描述
set_page_money_sum
Integer
_MONEY
每条记录+
#,###
累加每条记录的金额数
v_page_money+=_MONEY.doubleValue();
return0;
get_page_money_sum
Double
分页后
¥#,##0.00
获取当前页金额累加值,并清零
Doublepage_money_sum=v_page_money;
v_page_money=0;
returnpage_money_sum;
组末页判定公式
全局变量:
booleangroup_flag=false
公式名
公式(值)类型
函数参数
计算点
格式
描述
Set_group_flag
Integer
分组后:
*+
#,###
当到组尾时设置组尾标志为真
v_group_flag=true;
return0;
clear_group_flag
Integer
分页前
#,###
每一页开始时初始化设置组尾标志为假
v_group_flag=false;
return0;
is_group_money_visiable
Bit
分页后
True/False
返回是否已经到组尾的判定
returnv_group_flag;
is_page_money_visiable
Bit
分页后
True/False
返回是否还未到组尾的判定
return!
v_group_flag;
日期公式
全局变量:
Stringyear="",Stringmonth="",Stringday=""
公式名
公式(值)类型
函数参数
计算点
格式
描述
set_print_date
Varchar
_PRINT_DATE
分页前
XXXXXX
将日期拆分成年月日,并分别保存
v_year="";
v_month="";
v_day="";
StringprintDate="";
if(_PRINT_DATE_IsNull){
printDate=_sysFetchDate.toString();
}else{
printDate=_PRINT_DATE;
}
StringTokenizerdate=newStringTokenizer(printDate,"-");
if(date.countTokens()==3){
v_year=date.nextToken();
v_month=date.nextToken();
v_day=date.nextToken();
}
return"";
get_year
Varchar
分页后
XXXXXX
获取年
returnv_year;
get_month
Varchar
分页后
XXXXXX
获取月
returnv_month;
get_day
Varchar
分页后
XXXXXX
获取日
returnv_day;
金额公式(金额大小写)
公式名
公式(值)类型
函数参数
计算点
格式
描述
get_money_cn
varchar
_MONEY
每天记录+
XXXXXX
金额大写转化函数
说明:
ChineseUtil.formatMoney(参数1,参数2)
参数1为小写金额;参数2为是否小数点前的0也翻译出来.例如:
30.10
false则翻译为叁拾元壹角整
true则翻译为叁拾元零壹角整
if(_MONEY.doubleValue()>=0){
returnChineseUtil.formatMoney(_MONEY.doubleValue(),false);
}elseif(_MONEY.doubleValue()<0){
return"负"+ChineseUtil.formatMoney(MathUtil.abs(_MONEY.doubleValue()),false);
}else
return"";
get_money_1
varchar
_MONEY
每天记录+
XXXXXX
获取小写金额的右数第1位
if(_MONEY!
=null){
Strings="¥"+_MONEY;
if(s.indexOf(".")!
=-1){
if(s.substring(s.indexOf(".")+1,s.length()).length()==1){
return"0";
}else{
inti=s.length()-1;
returns.substring(i,i+1);
}
}
else{
return"0";
}
}else{
return"";
}
get_money_2
Varchar
_MONEY
每天记录+
XXXXXX
获取小写金额的右数第2位
if(_MONEY!
=null){
Strings="¥"+_MONEY;
if(MathUtil.abs(_MONEY.doubleValue())<0.1){
return"¥";
}
inti=0;
if(s.indexOf(".")!
=-1){
if(s.substring(s.indexOf(".")+1,s.length()).length()==1){
returns.substring(s.indexOf(".")+1,s.length());
}else{
returns.substring(s.indexOf(".")+1,s.length()-1);
}
}else{
return"0";
}
}else{
return"";
}
get_money_3
Varchar
_MONEY
每天记录+
XXXXXX
获取小写金额的右数第3位
if(_MONEY!
=null){
Strings="¥"+_MONEY;
if(MathUtil.abs(_MONEY.doubleValue())<0.1)
return"";
if(MathUtil.abs(_MONEY.doubleValue())>=0.1&MathUtil.abs(_MONEY.doubleValue())<1)
return"¥";
if(s.indexOf(".")!
=-1){
if(s.substring(s.indexOf(".")+1,s.length()).length()==1){
s=s+"0";
inti=s.length()-4;
if(i<0)
return"";
else
returns.substring(i,i+1);
}else{
s=s;
inti=s.length()-4;
if(i<0)
return"";
else
returns.substring(i,i+1);
}
}else{
s=s+".00";
inti=s.length()-4;
if(i<0)
return"";
else
returns.substring(i,i+1);
}
}else{
return"";
}
get_money_4
Varchar
_MONEY
每天记录+
XXXXXX
获取小写金额的右数第4位
if(_MONEY!
=null){
Strings="¥"+_MONEY;
if(MathUtil.abs(_MONEY.doubleValue())<1)
return"";
if(s.indexOf(".")!
=-1){
if(s.substring(s.indexOf(".")+1,s.length()).length()==1){
s=s+"0";
inti=s.length()-5;
if(i<0)
return"";
else
returns.substring(i,i+1);
}else{
s=s;
inti=s.length()-5;
if(i<0)
return"";
else
returns.substring(i,i+1);
}
}else{
s=s+".00";
inti=s.length()-5;
if(i<0)
return"";
else
returns.substring(i,i+1);
}
}else{
return"";
}
get_money_5
Varchar
_MONEY
每天记录+
XXXXXX
获取小写金额的右数第5位
if(_MONEY!
=null){
Strings="¥"+_MONEY;
if(s.indexOf(".")!
=-1){
if(s.substring(s.indexOf(".")+1,s.length()).length()==1){
s=s+"0";
inti=s.length()-6;
if(i<0)
return"";
else
returnStringUtil.encode(s.substring(i,i+1),"GBK");
}else{
s=s;
inti=s.length()-6;
if(i<0)
return"";
else
returnStringUtil.encode(s.substring(i,i+1),"GBK");
}
}else{
s=s+".00";
inti=s.length()-6;
if(i<0)
return"";
else
returnStringUtil.encode(s.substring(i,i+1),"GBK");
}
}else{
return"";
}
get_money_n
varchar
_MONEY
每天记录+
XXXXXX
获取小写金额的右数第n位
if(_MONEY!
=null){
Strings="¥"+_MONEY;
if(s.indexOf(".")!
=-1){
if(s.substring(s.indexOf(".")+1,s.length()).length()==1){
s=s+"0";
inti=s.length()–(n+1);
if(i<0)
return"";
else
returnStringUtil.encode(s.substring(i,i+1),"GBK");
}else{
s=s;
inti=s.length()-(n+1);
if(i<0)
return"";
else
returnStringUtil.encode(s.substring(i,i+1),"GBK");
}
}else{
s=s+".00";
inti=s.length()-(n+1);
if(i<0)
return"";
else
returnStringUtil.encode(s.substring(i,i+1),"GBK");
}
}else{
return"";
}
统计公式(支出查询报表)
全局变量:
doublegroup_pk001=0;
doublegroup_pk002=0;
doublegroup_pk003=0;
doublegroup_pk004=0;
doublegroup_pk005=0;
doublegroup_indirect=0;
Stringname_pk001=null;
Stringname_pk002=null;
Stringname_pk003=null;
Stringname_pk004=null;
Stringname_pk005=null;
doubleitem_pk001=0;
doubleitem_pk002=0;
doubleitem_pk003=0;
doubleitem_pk004=0;
doubleitem_pk005=0;
doubleitem_indirect=0;
公式名
公式(值)类型
函数参数
计算点
格式
描述
add_value
varchar
PAYOFF_KIND_CODE;
PAYOFF_KIND_NAME;
MONEY;
PL_CODE
每条记录+
逐条扫描(处理)所有记录
if(_PAYOFF_KIND_CODE.equals("001001001")){
v_name_pk001=_PAYOFF_KIND_NAME;
v_item_pk001+=_f_getMoney;
v_group_pk001+=_f_getMoney;
if(_PL_CODE.equals("001")){
v_totle_pk001+=_f_getMoney;
}elseif(_PL_CODE.equals("002")){
v_totle_pk001-=_f_getMoney;
}elseif(_PL_CODE.equals("003")){
v_totle_pk001-=_f_getMoney;
}elseif(_PL_CODE.equals("004")){
v_totle_pk001+=_f_getMoney;
}
}elseif(_PAYOFF_KIND_CODE.equals("001001002")){
v_name_pk002=_PAYOFF_KIND_NAME;
v_item_pk002+=_f_getMoney;
v_group_pk002+=_f_getMoney;
if(_PL_CODE.equals("001")){
v_totle_pk002+=_f_getMoney;
}elseif(_PL_CODE.equals("002")){
v_totle_pk002-=_f_getMoney;
}elseif(_PL_CODE.equals("003")){
v_totle_pk002-=_f_getMoney;
}elseif(_PL_CODE.equals("004")){
v_totle_pk002+=_f_getMoney;
}
}elseif(_PAYOFF_KIND_CODE.equals("001001003")){
v_name_pk003=_PAYOFF_KIND_NAME;
v_item_pk003+=_f_getMoney;
v_group_pk003+=_f_getMoney;
if(_PL_CODE.equals("001")){
v_totle_pk003+=_f_getMoney;
}elseif(_PL_CODE.equals("002")){
v_totle_pk003-=_f_getMoney;
}elseif(_PL_CODE.equals("003")){
v_totle_pk003-=_f_getMoney;
}elseif(_PL_CODE.equals("004")){
v_totle_pk003+=_f_getMoney;
}
}elseif(_PAYOFF_KIND_CODE.equals("001001004")){
v_name_pk004=_PAYOFF_KIND_NAME;
v_item_pk004+=_f_getMoney;
v_group_pk004+=_f_getMoney;
if(_PL_CODE.equals("001")){
v_totle_pk004+=_f_getMoney;
}elseif(_PL_CODE.equals("002")){
v_totle_pk004-=_f_getMoney;
}elseif(_PL_CODE.equals("003")){
v_totle_pk004-=_f_getMoney;
}elseif(_PL_CODE.equals("004")){
v_totle_pk004+=_f_getMoney;
}
}elseif(_PAYOFF_KIND_CODE.equals("001001005")){
v_name_pk005=_PAYOFF_KIND_NAME;
v_item_pk005+=_f_getMoney;
v_group_pk005+=_f_getMoney;
if(_PL_CODE.equals("001")){
v_totle_pk005+=_f_getMoney;
}elseif(_PL_CODE.equals("002")){
v_totle_pk005-=_f_getMoney;
}elseif(_PL_CODE.equals("003")){
v_totle_pk005-=_f_getMoney;
}elseif(_PL_CODE.equals("004")){
v_totle_pk005+=_f_getMoney;
}
}elseif(_PAYOFF_KIND_CODE.equals("001002001")){
v_item_indirect+=_f_getMoney;
v_group_indirect+=_f_getMoney;
if(_PL_CODE.equals("001")){
v_totle_indirect+=_f_getMoney;
}elseif(_PL_CODE.equals("002")){
v_totle_indirect-=_f_getMoney;
}elseif(_PL_CODE.equals("003")){
v_totle_indirect-=_f_getMoney;
}elseif(_PL_CODE.equals("004")){
v_totle_indirect+=_f_getMoney;
}
}
return"";
clearGroupAll
Integer
分组前:
*+
组前初始化各个累加器(清零)
v_group_pk001=0;
v_group_pk002=0;
v_group_pk003=0;
v_group_pk004=0;
v_group_pk005=0;
v_group_indirect=0;
return0;
getGroup001
double
分组后:
*+
#,##0.00
组后获取各个累加器值
(直接支付的细化支出类型)
returnv_group_pk001;
getGroup002
double
分组后:
*+
#,##0.00
returnv_group_pk002;
getGroup003
double
分组后:
*+
#,##0.00
returnv_group_pk003;
getGroup004
double
分组后:
*+
#,##0.00
returnv_group_pk004;
getGroup005
double
分组后:
*+
#,##0.00
returnv_group_pk005;
getSumGroupDirect
double
分组后:
*+
#,##0.00
获取直接支付总合值
return_f_getGroup001+_f_getGroup002+_f_getGroup003+_f_getGroup004+_f_getGroup005;
getGroupIndirect
double
分组后:
*+
#,##0.00
获取授权支付值
returnv_group_indirect;
getGroupPay
double
分组后:
*+
#,##0.00
获取所有支付值
return_f_getSumGroupDirect+_f_getGroupIndirect;
getName001
double
分页后
#,##0.00
获取直接支付的细化支出类型名称
returnv_name_pk001;
getName002
double
分页后
#,##0.00
returnv_name_pk002;
getName003
double
分页后
#,##0.00
returnv_name_pk003;
g