⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 balanceservice.java

📁 因为许多人出去吃饭都一个人付帐
💻 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 + -