根据树的根节点递归获取所有叶子节点

/**
* 根据树的根节点递归获取所有叶子节点
*
* @param pid
* @return
*/
public static void getleafGenericvalue(Delegator delegator, String pid) {
List<GenericValue> partys;
GenericValue party;
try {
partys = delegator.findByAnd("PartyGroup", UtilMisc.toMap("parentId", pid));
party = delegator.findByPrimaryKey("PartyGroup", UtilMisc.toMap("partyId", pid));
if (partys.size()<=0) {
map2.put(pid, party);
}
if (partys.size()>0) {
map.put(pid, party);
}
if (map.size() != 0) {
getGv(delegator);
}
} catch (GenericEntityException e) {
ServiceUtil.returnError(e.getMessage());
}

}

public static void getGv(Delegator delegator) {
List<GenericValue> partys;
GenericValue party;
List l = new ArrayList();
try {
for (Map.Entry<String, GenericValue> entry : map.entrySet()) {
partys = delegator.findByAnd("PartyGroup", UtilMisc.toMap("parentId", entry.getKey()));//找子级中没有结算权限的商户,直到叶子
party = delegator.findByPrimaryKey("PartyGroup", UtilMisc.toMap("partyId", entry.getKey()));
if (partys.size()<=0 && !"Y".equals(party.getString("isSettlement"))) {
map2.put(entry.getKey(), party);
}
if (partys.size()>0) {
map.put(entry.getKey(), party);
for(GenericValue pt : partys){
if(!"Y".equals(pt.getString("isSettlement"))){
map.put(pt.getString("partyId").toString(), delegator.findByPrimaryKey("PartyGroup", UtilMisc.toMap("partyId", pt.getString("partyId").toString())));
}
}
}
l.add(entry.getKey());
}
if (l.size() != 0) {
for (int p = 0; p < l.size(); p++) {
map.remove(l.get(p));
}
}
if (map.size() != 0) {
getGv(delegator);
}
} catch (GenericEntityException e) {
ServiceUtil.returnError(e.getMessage());
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值