我想做个月底结算的功能,比如有个按钮叫“月结”,我点击后就可以算出这一个月的数据之和,我不知道怎么算,因为每个月的天数都是活的。我的项目前台是JSP,后台用SSH实现,求实现思路~~谢谢!

解决方案 »

  1.   

    数据库的数据有保存日期吧
      获取Date  用日期处理类处理为("yyyy-mm");
      用个bean的属性保存这个日期;
      带到dao去
      比较数据库中保存日期的字段 ,数据库中的字段to_day或to_char(数据库中的字段,"yyyy-mm")
      以这个条件查询就可以拿到本月的所有数据了
      
      
      

  2.   

    谢谢arikara大叔给的思路,但关键的sql语句能描述下吗??
      

  3.   

    我是这样写的:select * from t_user where to_char(userdate,'mm')='10'好像可以,但不知道怎么转换成HQL语句,t_user是表明,userdate是字段名。10表示10月份。
      

  4.   

    你用的hibernate直接用string 参数 会出错....
    select * from t_user where to_char(userdate,'yyyy-mm')=?;
      ? 是在action中处理过的日期(string类型)带进来的, 然后给就set...(1,string 参数);
         要带yyyy,要不然所有年份的同一个月都会算进去的
      

  5.   

    写个job,规定每个月第一天凌晨结算上月数据,放到月结报表表中,上班就可以用了
      

  6.   

    用spring 的定时器来负责定时结算,也就是月底自动调用一个类。
    结算的方法可以写一个sql的存储过程,只需要定时器的类调用一下这个东西就OK了。
    这个思路很好吧,加油哦,lz
      

  7.   

    一条SQL就搞定了呀
    where里写这个月1日到下个月1日
    select里写sum(工资)
      

  8.   

    还是arikara兄弟的答案比较靠谱,lmx1989219的回答也很好但不具体,我先想想,谢谢大家了!
      

  9.   

    很简单啊 首先你的花费里肯定有个字段是存时间的 我估计是2011-11-02 这种格式的,首先查询数据库,把所有时间字段取出来,存入集合,然后截取字符串,竭诚201111这种格式的 在把这个格式的bean从集合里取出来然后把钱数加一起就的了被
      

  10.   

    不应该只到月吧,不然不同年份的数据不是都加起来了。
    如果是算金额,假设cost是要合计金额的字段select sum(to_number(t.cost)) from t_user t where to_char(t.userdate,'yyyy-mm') = ?计数的话就select count咯。
      

  11.   

    woaidoudoue回答最靠谱啦!谢谢大家!