List<MonthQuotaChange> monthQuotaChangeList = new ArrayList<MonthQuotaChange>();
List<MonthQuotaChange> monthQuotaChangeList1 = new ArrayList<MonthQuotaChange>();
monthQuotaChangeList = iPersonalExpDao.queryExpChange(userId,year);
for(int i=0;i<monthQuotaChangeList.size();i++) {
MonthQuotaChange monthQuotaChange = (MonthQuotaChange)monthQuotaChangeList.get(i);
newMonthQuota = monthQuotaChange.getNewMonthQuota();
oldMonthQuota = monthQuotaChange.getOldMonthQuota();
Calendar cal = Calendar.getInstance();
cal.setTime(monthQuotaChange.getChangeTime());
int year2 = cal.get(Calendar.YEAR);
if(year == year2) {
monthQuotaChangeList1.add(monthQuotaChange);
}
}
for(int i=0;i<monthQuotaChangeList1.size();i++) {
MonthQuotaChange monthQuotaChange = (MonthQuotaChange)monthQuotaChangeList1.get(i);
Calendar cal1 = Calendar.getInstance();
cal1.setTime(monthQuotaChange.getChangeTime());
month = cal1.get(Calendar.MONTH);
}
//MonthQuotaChange是一个对象,存着三个我要用到的关键值,一个是newMonthQuota(最新的月度金额)oldMonthQuota(旧的月度金额),changetime(职位变更时间),我现在向要做的是根据用户输入的id和年份,计算该用户这一年也就是12个月金额是多少,我现在做出来的进度是,我可以按顺序排列出他是哪几个月变更的,想要按照区间计算,但是写到这不会写了,语言表达的不太好,有什么问题我在补充,
用户这一年也就是12个月金额 是怎么计算出来的? 按照区间计算是不是应该拿到sql语句里去做?
用户只算某年得,比方说 用户选择 2017年 那你得条件 就是 2016年 12月 31日 23:59:59<date< 2018 1 月 1日 23:59:59
这就是一年得 你只要变动年份即可。喔看到你上面得第一个循环 干嘛不直接用那个时间去作为条件查询呢 (直接 改变得时间和那个year相等 即可) 搞那么麻烦干啥