diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index fc15818cb..46d0b209e 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -1720,7 +1720,14 @@ public class BaseController { //处理config_group_info和asn_group_info asnIpCfgService.processGroup(serviceDict,asnNoMaps,asnOrgList,isSend,isImportAll.get(0).getItemCode()); if(!asnIpMaps.isEmpty()){ + //未下发过的组织下asn ip信息 + Map> newAsnIpMap=Maps.newConcurrentMap(); + int newAsnIpIndex=0; + //下发过的组织下asn ip信息 + Map> oldAsnIpMap=Maps.newConcurrentMap(); + int oldAsnIpIndex=0; int index=0; + List asnIpCfgs=Lists.newArrayList(); String asnIds=""; List regionIds=Lists.newArrayList(); @@ -1765,7 +1772,7 @@ public class BaseController { asnIpCfg.setAsnIpGroup(asnNoMaps.get(2).get(Long.parseLong(asnIpCfg.getUserRegion1())).getGroupId()); asnIpCfg.setCompileId(asnNoMaps.get(2).get(Long.parseLong(asnIpCfg.getUserRegion1())).getCompileId()); if(isSend.equals("1")) { - /*//已下发 + //已下发 if(asnNoMaps.get(3).keySet().contains(Long.valueOf(asnIpCfg.getUserRegion1()))){ //groupId已经在了 if(oldAsnIpMap.keySet().contains(Long.valueOf(asnIpCfg.getAsnIpGroup()))){ @@ -1789,20 +1796,6 @@ public class BaseController { newAsnIpIndex++; } } - *//**********************新的asn ip达到最大量后发送一次***********************//* - //未下发过的asnGroup - if(newAsnIpIndex==Constants.MAAT_JSON_SEND_SIZE){ - asnIpCfgService.auditAsnIp(newAsnIpMap,asnNoMaps,"maat",newAsnIpIndex); - newAsnIpMap.clear(); - newAsnIpIndex=0; - } - *//**********************新的asn ip达到最大量后发送一次***********************//* - //已下发过的asnGroup - if(oldAsnIpIndex==Constants.MAAT_JSON_SEND_SIZE){ - asnIpCfgService.auditAsnIp(oldAsnIpMap,asnNoMaps,"common",oldAsnIpIndex); - oldAsnIpMap.clear(); - oldAsnIpIndex=0; - }*/ }else{ asnIpCfgs.add(asnIpCfg); @@ -1816,44 +1809,68 @@ public class BaseController { isNullIndex++; } } - // - if(!StringUtil.isEmpty(asnIpCfgs) && asnIpCfgs.size()>Constants.MAAT_JSON_SEND_SIZE ){ - if(!StringUtil.isEmpty(asnIds)){ - asnIds=asnIds.substring(0,asnIds.length()-1); - } - asnIpCfgService.saveAsnIp(asnIpCfgs,asnIds); - asnIds=""; - asnIpCfgs.clear(); - } - /*if(isSend.equals("1")) { + //处理ASN IP时分组处理,当处理完某一组的asnip量达到maat下发最大值时,保存已处理的asn ip,isSend=1(并下发) + if(isSend.equals("1")) { //未下发过的asnGroup - if(!newAsnIpMap.isEmpty()){ + if(!newAsnIpMap.isEmpty() && newAsnIpIndex >= Constants.MAAT_JSON_SEND_SIZE){ + if(!StringUtil.isEmpty(asnIpCfgs) && !StringUtil.isEmpty(asnIds)){ + asnIds=asnIds.substring(0,asnIds.length()-1); + asnIpCfgService.saveAsnIp(asnIpCfgs,asnIds,isImportAll.get(0).getItemCode()); + asnIds=""; + asnIpCfgs.clear(); + } + asnIpCfgService.auditAsnIp(newAsnIpMap,asnNoMaps,"maat",newAsnIpIndex); newAsnIpMap.clear(); newAsnIpIndex=0; } //已下发过的asnGroup - if(!oldAsnIpMap.isEmpty()){ + if(!oldAsnIpMap.isEmpty() && oldAsnIpIndex >= Constants.MAAT_JSON_SEND_SIZE){ + + if(!StringUtil.isEmpty(asnIpCfgs) && !StringUtil.isEmpty(asnIds)){ + asnIds=asnIds.substring(0,asnIds.length()-1); + asnIpCfgService.saveAsnIp(asnIpCfgs,asnIds,isImportAll.get(0).getItemCode()); + asnIds=""; + asnIpCfgs.clear(); + } + asnIpCfgService.auditAsnIp(oldAsnIpMap,asnNoMaps,"common",oldAsnIpIndex); oldAsnIpMap.clear(); oldAsnIpIndex=0; } + }else { + if(!StringUtil.isEmpty(asnIpCfgs) && asnIpCfgs.size()>Constants.MAAT_JSON_SEND_SIZE ){ + if(!StringUtil.isEmpty(asnIds)){ + asnIds=asnIds.substring(0,asnIds.length()-1); + asnIpCfgService.saveAsnIp(asnIpCfgs,asnIds,isImportAll.get(0).getItemCode()); + asnIds=""; + asnIpCfgs.clear(); + } + } } - //仅仅需要保存的数 - if(!StringUtil.isEmpty(asnIpCfgs)){ - asnIpCfgService.saveAsnIp(asnIpCfgs); - asnIpCfgs.clear(); - } - _ipPortCfgs.clear(); - logger.error("ASN NO:"+e.getKey()+" :value"+e.getValue().size());*/ } - if(!StringUtil.isEmpty(asnIpCfgs) ){ - if(!StringUtil.isEmpty(asnIds)){ - asnIds=asnIds.substring(0,asnIds.length()-1); - } - asnIpCfgService.saveAsnIp(asnIpCfgs,asnIds); - asnIpCfgs.clear(); + + //处理ASN IP时最后一批未达到maat提交总量时,也需要保存。 + if(!StringUtil.isEmpty(asnIpCfgs) && !StringUtil.isEmpty(asnIds)){ + asnIds=asnIds.substring(0,asnIds.length()-1); + asnIpCfgService.saveAsnIp(asnIpCfgs,asnIds,isImportAll.get(0).getItemCode()); asnIds=""; + asnIpCfgs.clear(); + } + if(isSend.equals("1")) { + + //未下发过的asnGroup + if(!newAsnIpMap.isEmpty() ){ + asnIpCfgService.auditAsnIp(newAsnIpMap,asnNoMaps,"maat",newAsnIpIndex); + newAsnIpMap.clear(); + newAsnIpIndex=0; + } + //已下发过的asnGroup + if(!oldAsnIpMap.isEmpty() ){ + asnIpCfgService.auditAsnIp(oldAsnIpMap,asnNoMaps,"common",oldAsnIpIndex); + oldAsnIpMap.clear(); + oldAsnIpIndex=0; + } } } //是否全量下发所有的asn info信息 diff --git a/src/main/webapp/WEB-INF/views/basics/asnGroupForm.jsp b/src/main/webapp/WEB-INF/views/basics/asnGroupForm.jsp index 3344ea492..6b99b38e5 100644 --- a/src/main/webapp/WEB-INF/views/basics/asnGroupForm.jsp +++ b/src/main/webapp/WEB-INF/views/basics/asnGroupForm.jsp @@ -81,7 +81,7 @@ $(function(){
- +