package com.bonus.settlement.calc; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import com.bonus.settlement.beans.SettlementDetailsBean; public class BalanceAgreementModelCodeGroup { private Logger logger = Logger.getLogger(BalanceAgreementModelCodeGroup.class); private List collars; private List backs; public BalanceAgreementModelCodeGroup(List collars, List backs) { super(); this.collars = collars; this.backs = backs; } public List groupByModelIdCode(){ Map maps = new HashMap(); for (SettlementDetailsBean collarBean : collars) { String agreementCode = collarBean.getAgreementCode(); String maModelId = collarBean.getTypeId(); boolean isCount = collarBean.isCount();//是否计数 String maCode = collarBean.getDeviceCode(); String key = agreementCode; key += ":"; key += maModelId; key += maCode; BalanceAgreementModelBean bean = maps.get(key); if(bean == null){ bean = new BalanceAgreementModelBean(); bean.setAgreementCode(agreementCode); bean.setMaModelId(maModelId); bean.setMaCode(maCode);; bean.setCount(isCount);//是否计数 } bean.addCollar(collarBean); maps.put(key, bean); } for (SettlementDetailsBean backBean : backs) { String agreementCode = backBean.getAgreementCode(); String maModelId = backBean.getTypeId(); String maCode = backBean.getDeviceCode(); boolean isCount = backBean.isCount();//是否计数 String key = agreementCode; key += ":"; key += maModelId; key += maCode; BalanceAgreementModelBean bean = maps.get(key); if(bean == null){ bean = new BalanceAgreementModelBean(); bean.setAgreementCode(agreementCode); bean.setMaModelId(maModelId); bean.setMaCode(maCode); bean.setCount(isCount);//是否计数 } bean.addBack(backBean); maps.put(key, bean); } List beans = new ArrayList(); beans.addAll(maps.values()); return beans; } }