-
yangqh 数据老手Lv5
发表于2019-12-25 15:36
楼主
需求场景:日报填报任务,希望填报时报表期只能看到当前年月日的报表期,其他报表期不显示,即使是之前填过的报表期也不允许查看。
看到这个需求,可能第一反应是任务属性中设置成只允许填报最佳报表期即可,但是呢,这样会有个问题,当前用户之前填报过的报表期仍然还是可以看到的,所以还是不符合需求,怎么办呢?
聪明的我灵机一动~通过报表期显示脚本控制只显示当前期,设置入口如下:
完整脚本:
复制代码PS:
如果是年报,希望只显示当前年,最后一句改成bbqs.add(yy + '----');
如果是月报,希望只显示当前月,最后一句改成bbqs.add(yy + formatMonth + '--');
看到这个需求,可能第一反应是任务属性中设置成只允许填报最佳报表期即可,但是呢,这样会有个问题,当前用户之前填报过的报表期仍然还是可以看到的,所以还是不符合需求,怎么办呢?
聪明的我灵机一动~通过报表期显示脚本控制只显示当前期,设置入口如下:
完整脚本:
- bbqs.clear();
- Calendar d = Calendar.getInstance();
- int yy = d.get(Calendar.YEAR); // 获取年
- int mm = d.get(Calendar.MONTH) - Calendar.JANUARY + 1; // 获取月
- int dd = d.get(Calendar.DAY_OF_MONTH); // 获取这个月的第几天
- String formatMonth = mm < 10 ? ("0" + mm) : ("" + mm);
- String formatdd = dd < 10 ? ("0" + dd) : ("" + dd);
- bbqs.add(yy + formatMonth + formatdd);
如果是年报,希望只显示当前年,最后一句改成bbqs.add(yy + '----');
如果是月报,希望只显示当前月,最后一句改成bbqs.add(yy + formatMonth + '--');