类似于周报功能的实现过程

标签: 周报模块
20人阅读 评论(0) 收藏 举报
分类:

背景:最近用springmvc框架开发了一个展示周报的模块,其中牵涉到的功能还算是比较多的,所以针对周报汇总一下其中用到的具体技术和相应主要的代码。

1、数据清洗模块,主要由一个存储过程实现,

create or replace procedure proc_ids_weekly_report(i_date in varchar, o_resultCode out varchar,o_resultMsg out varchar

 ) is

    v_startdate varchar2(8);

    v_enddate varchar2(8);

begin 

     select  to_char( trunc (to_date(i_date,'yyyymmdd'), 'iw' ), 'yyyymmdd' ) into v_startdate  from dual; --所在周的周一
      select  to_char( trunc (to_date(i_date,'yyyymmdd'), 'iw' ) + 4, 'yyyymmdd' ) into v_startdate  from dual; --所在周的周五


    --添加业务逻辑

    如果中间有对小数进行格式化要求,可以参考:to_char(data,'fm99999990.00'),注意个位数要写0,这样如果遇到类似0.88这类数的时候,不会显示出“.00”,

    exception 

        when others then

            rollback;

            o_resultCode := '-1';

            o_resultMsg := sqlerrm(sqlcode);

        return;

end; 

2、数据清洗的定时任务功能。

      引入相应的jar包,在spring-mvc.xml中配置定时任务参数,

<!-- 周报数据定时任务 -->

<bean id="weeklyReportDataJob" class="com.iss.task.WeeklyReportDataJob">//要执行的Java类 包名.类名

<bean 

      id="weeklyReportJob"   class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  

        <!-- 指定任务类 -->  
        <property name="targetObject" ref="weeklyReportDataJob" />   //与第一行配置的bean名保持一致
        <!-- 指定任务方法 -->  
        <property name="targetMethod" value="weeklyReportData" />  
        <property name="concurrent" value="false" />  
    </bean>  
    <!-- 周报数据间隔触发器 -->  
    <bean id="weeklyReportJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  
        <property name="jobDetail" ref="weeklyReportJob"/>
        <property name="cronExpression" value="0 10 * * * ?"/> <!-- value="0 0 8 ? * MON" -->
    </bean>  
    <bean id="schedulerFactoryBean"  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
            <ref bean="weeklyReportJobTrigger" /> 
            </list>
        </property>
    </bean>

    

3、定时任务调用存储过程

    基本框架数据持久层用到的是mybites,所以在WeeklyReportDataJob类中要执行的是一个存储过程,直接引入Mapper类, 这里无需做其他连接数据库等配置,因为是mybits直接与数据库连接操作数据库。

       @Resource

private ReportWeeklyMapper reportWeeklyDao;

       public void weeklyReportData{//跟指定方法名一致

            Map<String,String> paramsMap = new HashMap<String,String>();

            paramsMap.put("i_date", indate);

            reportWeeklyDao.reportWeeklyProcedure(paramsMap);

    }

    在xml文件中调用存储过程:

   <!-- 定义存储过程 -->

    <select id="reportWeeklyProcedure" parameterType="java.util.Map" 

        statementType="CALLABLE" >//标记调用的是存储过程

      {
         call proc_ids_weekly_report(
               #{i_date,mode=IN,jdbcType=VARCHAR},//入参
               #{o_retCode,mode=OUT,jdbcType=VARCHAR},
               #{o_retMsg,mode=OUT,jdbcType=VARCHAR}
         )
      }  

  走到这一步,定时任务执行起来,会有数据清洗到目标中,接下来就是对数据的查询展示了。

4、数据的页面展示功能。此步骤结合框架查询出展示出来即可。省略了……


查看评论

mysql使用federated_实现类似oracle的dblink的功能

1.查看 federated 功能是否开启 命令: show engines; 如下:我查询我的已经开启了。如果没有开启,在mysql的配置文件my.ini(windows下) mysqld标签下添加...
  • shi_longyan
  • shi_longyan
  • 2015年11月02日 17:02
  • 263

周报——JavaBean

     最近写了一些关于JavaBean的代码,把 一些编码规则记录下来,供大家使用。每个属性必须有相对应的属性获取和设置方法,即每个属性必须要提供对应的getter和setter方法(简单方法:选...
  • zhouxi19880701
  • zhouxi19880701
  • 2010年10月07日 22:58
  • 666

最近实现一个类似于微信通讯录的功能//

首先,这个功能是根据大写首字母来分组的,这就来了,汉字是不好分组的,只能使用拼音,那么怎么将汉字转换成拼音呢?下面就有一个方法 例如: //初始化代码     NSString * str = @"...
  • georgehenrywilliam
  • georgehenrywilliam
  • 2016年09月26日 18:53
  • 296

sql日报周报月报季报年报

俗话说的好,三个臭皮匠顶个诸葛亮,可是在这个it行业菜鸟就是菜鸟,都需要一步一步走过。   作为菜鸟的我们不要灰心,加油。我们都懂得一个道理,那就是无论做什么都要有个过程。   分享一下sql日报...
  • qq_39877811
  • qq_39877811
  • 2018年01月26日 08:53
  • 116

第一周工作周报-5

部    门 理工大学 姓    名 邓辉波 入 职 时 间 7.18 本周已完成工作内容及总结 1.学习了HTM...
  • on_theway666
  • on_theway666
  • 2015年08月09日 20:40
  • 502

Java中实现类似于C语言的中函数指针的功能

1.什么是函数指针 如果在程序中定义了一个函数,在编译时,编译系统为函数代码分配了一段存储空间,这段存储空间的起始地址(有称入口地址)称为这个函数的指针。可以定义一个指向函数的指针变量,用来存放某一...
  • chenkaibsw
  • chenkaibsw
  • 2018年01月05日 21:24
  • 97

每周写周报每天写总结

毛XX,您好!  抄送       you**@**.com   本人根据情况制定了新员工学习周报,周报每周刷新。周报中黄色部分为学员填写,绿色部分为导师填写,周四反馈【主送我,抄送...
  • u010098331
  • u010098331
  • 2016年02月24日 11:01
  • 2066

前端开源项目周报0116

由OpenDigg 出品的前端开源项目周报第六期来啦。我们的前端开源周报集合了OpenDigg一周来新收录的优质的前端开发方面的开源项目,方便前端开发人员便捷的找到自己需要的项目工具等。ityped ...
  • opendigg
  • opendigg
  • 2017年01月16日 15:16
  • 336

小试牛刀——搭建一个周报管理系统

算是自己来公司的第一个工作。虽然自己很菜,但是还是独立地完成了这个任务。...
  • elec_gao
  • elec_gao
  • 2014年07月16日 16:44
  • 2628

测试周报模板

模板下载:http://download.csdn.net/detail/kaka1121/9562176  本周总结(项目负责人必填,成员选填) ...
  • kaka1121
  • kaka1121
  • 2016年06月28日 18:13
  • 3698
    个人资料
    等级:
    访问量: 44
    积分: 22
    排名: 215万+
    文章分类
    文章存档