递归测试
/**
*
* @Title: 根据税务机关代码单户提取同步申报业务数据
* @Description: TODO
* @param swjgDm 税务机关代码
*/
public void zzsybnsrqchdxxtq(String swjgDm) {
//存放传入的税务机关下所有下属税务机关代码,包括其自身
List<String> swjgDmList = new ArrayList<String>();
getSubSwjgs(v.getSwjgDm(), swjgDmList);
}
//遍历税务机关列表,提取和同步对应机关下用户的申报业务数据
ResultVo sbVo = null;
for (String swjg : swjgDmList) {
sbVo = sbywsjtqService.zzsybnsrqchdxxtq(swjg);
if (!sbVo.isSuccess()) {
log.error("税务机关代码为[" + swjg + "]的税务机关,在同步该税务机关下的申报业务数据时失败:" + sbVo.getMessage());
}
}
}
/**
*
* @Title: 递归获取某个税务机关的下属税务机关
* @Description: TODO
* @param swjgDm 税务机关代码
* @param swjgDmList 税务机关代码列表
*/
private void getSubSwjgs(String swjgDm, List<String> swjgDmList) {
swjgDmList.add(swjgDm);
List<SwjgVo> list = SwjgUtil.getXjSwjg(swjgDm);
for (SwjgVo v : list) {
getSubSwjgs(v.getSwjgDm(), swjgDmList);
}
}