📄 balanceservice.java
字号:
package cn.com.sdcncsi.lunch.balance.service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import cn.com.sdcncsi.lunch.balance.dao.IAccountBookDao;
import cn.com.sdcncsi.lunch.balance.domain.AccountBook;
import cn.com.sdcncsi.lunch.balance.domain.AccountDetail;
import cn.com.sdcncsi.lunch.balance.form.AccountForm;
import cn.com.sdcncsi.lunch.dao.IUserDao;
import cn.com.sdcncsi.lunch.domain.User;
import cn.com.sdcncsi.lunch.utils.Constants;
import cn.com.sdcncsi.lunch.utils.NumberUtil;
public class BalanceService{
private static Log logger = LogFactory.getLog(BalanceService.class.getName());
private IUserDao iUserDao ;
private IAccountBookDao iAccountBookDao;
/**
* @param userDao the iUserDao to set
*/
public void setUserDao(IUserDao userDao) {
this.iUserDao = userDao;
}
/**
* @param accountBookDao the iAccountBookDao to set
*/
public void setAccountBookDao(IAccountBookDao accountBookDao) {
this.iAccountBookDao = accountBookDao;
}
public Collection getBalance(){
Collection balances = new ArrayList();
Collection users = iUserDao.getUserList();
Collection accountBooks = iAccountBookDao.getAccountBooksByPaid(Constants.NOPAID);
Iterator itUsers = users.iterator();
while(itUsers.hasNext()){
User user = (User)itUsers.next();
Iterator itBooks = accountBooks.iterator();
AccountForm accountForm = new AccountForm();
accountForm.setId(user.getId());
accountForm.setUserName(user.getUserName());
accountForm.setPaid(new Double(0));
accountForm.setNopaid(new Double(0));
accountForm.setRealPaid(new Double(0));
int count = 0;
//accountForm.setCount(count);
double nopaid = 0;
while(itBooks.hasNext()){
AccountBook accountBook = (AccountBook)itBooks.next();
if (user.getId().equals(accountBook.getUser().getId())){
accountForm.setPaid(NumberUtil.reducePrecision(accountBook.getAccountBill()));
}
Iterator itDetails = accountBook.getAccountDetails().iterator();
while(itDetails.hasNext()){
AccountDetail accountDetail = (AccountDetail)itDetails.next();
if (user.getId().equals(accountDetail.getUser().getId())){
nopaid += accountDetail.getAvgAccountBill();
count++;
}
}
}
accountForm.setNopaid(NumberUtil.reducePrecision(nopaid));
accountForm.setRealPaid(NumberUtil.reducePrecision(accountForm.getPaid() - nopaid));
accountForm.setCount(count);
//logger.debug("dPaid:"+accountForm.getPaid());
//logger.debug("nodPaid:"+accountForm.getNopaid());
//logger.debug("realPadi:"+accountForm.getRealPaid());
balances.add(accountForm);
}
return balances;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -