周报-最佳报表期脚本示例

173
0

chestnut 数据领袖Lv6

发表于2024-4-24 16:43

楼主
周报任务,自定义最佳报表期,如果当日为周一以后,则最佳报表期为当周,否则为上周,用最佳报表期脚本实现。任务属性-报表期设置-最佳报表期脚本

  1. import  java.util.Calendar;   
  2. import  java.util.Date;   
  3. import  com.sanlink.util.StrFunc;   
  4.   String  formatStr( int  i,  int  len) {   
  5.     String o = String.valueOf(i);   
  6.     int  l = o.length();   
  7.     if  (l == len)   
  8.       return  o;   
  9.     else   if  (l > len)   
  10.       return  o.substring(0, len);   
  11.     else  {   
  12.       StringBuffer sb =  new  StringBuffer(len);   
  13.       for  ( int  k = l; k < len; k++, sb.append( '0' ))   
  14.         ;   
  15.       sb.append(o);   
  16.       return  sb.toString();   
  17.     }   
  18.   }   
  19.   
  20.   String formatbbq( int  y,  int  m,  int  d) {   
  21.     StringBuffer sb =  new  StringBuffer(8);   
  22.     sb.append(formatStr(y, 4)).append(formatStr(m, 2)).append(   
  23.         formatStr(d, 2));   
  24.     return  sb.toString();   
  25.   }   
  26.   
  27.   public   static  String getBestBbq(Date t) {   
  28.     Calendar d = Calendar.getInstance();   
  29.     d.setFirstDayOfWeek(Calendar.WEDNESDAY);   
  30.     d.setMinimalDaysInFirstWeek(1);   
  31.     d.setTime(t);   
  32.     int  y = d.get(d.YEAR);   
  33.     int  m = d.get(d.MONDAY) - d.JANUARY + 1;   
  34.     int  w = d.get(d.WEEK_OF_MONTH);   
  35.     return  formatbbq(y,m,w);   
  36.   }   
  37.   bestBbq=getBestBbq( new  Date());  
复制代码
脚本中可用变量:
1、变量:task,Task对象,可通过此变量知道当前任务。
2、变量:userid、btype、dataset:String对象,依次为当前的报表户ID、报表户类型、数据集名。
返回值要赋给变量bestBbq:类型是String,最终可以通过对此变量的赋值返回最佳报表期。


最近看过此主题的会员

esen_4VQDJ8W7BU

刘子瑜

fenglan

esen_4YNPQEX87K

lingzed

数据狗

wxw

429661127

张大猫

0个回答

只看楼主

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号