1.增加区域管控校验,不可重复 2.IP复用配置表单从group_area_info表中获取分组
This commit is contained in:
@@ -54,7 +54,7 @@ public class IpMultiplexPoolCfgController extends BaseController {
|
||||
}
|
||||
|
||||
//查询ip复用地址池配置的policyGroup列表
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(3);
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(3);
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
model.addAttribute("_cfg", cfg);
|
||||
return "/cfg/maintenance/ipMultiplexPool/form";
|
||||
@@ -160,7 +160,7 @@ public class IpMultiplexPoolCfgController extends BaseController {
|
||||
}
|
||||
|
||||
//查询ip复用地址池配置的policyGroup列表
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(2);
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(2);
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
model.addAttribute("_cfg", cfg);
|
||||
return "/cfg/maintenance/ipMultiplexPool/snatform";
|
||||
|
||||
@@ -133,19 +133,9 @@ public class IpMultiplexController extends CommonController {
|
||||
@RequiresPermissions(value={"snat_policy:config"})
|
||||
public String snatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
|
||||
this._ipForm(cfgName,model, ids, functionId, entity);
|
||||
SysDataDictionaryItem dict=null;
|
||||
List<SysDataDictionaryItem> dictList= DictUtils.getDictList("GROUP_TYPE");
|
||||
for(SysDataDictionaryItem di:dictList){
|
||||
if("2".equals(di.getItemCode())){
|
||||
dict=di;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(dict!=null){
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode()));
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
}
|
||||
|
||||
// 获取拥有区域信息的策略分组
|
||||
List<PolicyGroupInfo> policyGroups = policyGroupInfoService.getHasAreaPolicyGroups(2);
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
||||
return "/cfg/manipulation/ipmulitiplex/snatPolicyForm";
|
||||
}
|
||||
@@ -182,19 +172,9 @@ public class IpMultiplexController extends CommonController {
|
||||
@RequiresPermissions(value={"dnat_policy:config"})
|
||||
public String dnatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
|
||||
this._ipForm(cfgName,model, ids, functionId, entity);
|
||||
SysDataDictionaryItem dict=null;
|
||||
List<SysDataDictionaryItem> dictList= DictUtils.getDictList("GROUP_TYPE");
|
||||
for(SysDataDictionaryItem di:dictList){
|
||||
if("3".equals(di.getItemCode())){
|
||||
dict=di;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(dict!=null){
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode()));
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
}
|
||||
|
||||
// 获取拥有区域信息的策略分组
|
||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(3);
|
||||
model.addAttribute("policyGroups", policyGroups);
|
||||
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
||||
return "/cfg/manipulation/ipmulitiplex/dnatPolicyForm";
|
||||
}
|
||||
|
||||
@@ -18,4 +18,5 @@ public interface PolicyGroupInfoDao extends CrudDao<PolicyGroupInfo> {
|
||||
List<PolicyGroupInfo> findNatPolicyGroups();
|
||||
|
||||
PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo);
|
||||
List<PolicyGroupInfo> getHasAreaPolicyGroups(int groupType);
|
||||
}
|
||||
@@ -176,4 +176,17 @@
|
||||
</if>
|
||||
</trim>
|
||||
</select>
|
||||
|
||||
<select id="getHasAreaPolicyGroups" resultType="com.nis.domain.basics.PolicyGroupInfo">
|
||||
SELECT
|
||||
<include refid="PolicyGroupInfoColumns"/>
|
||||
FROM
|
||||
policy_group_info r
|
||||
WHERE
|
||||
r.is_valid = 1 AND
|
||||
r.group_type = #{groupType,jdbcType=INTEGER} AND
|
||||
r.group_id IN (
|
||||
SELECT ga.group_id FROM group_area_info ga WHERE ga.is_valid != -1
|
||||
)
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -145,8 +145,12 @@ public class PolicyGroupInfoService extends BaseService{
|
||||
return policyGroupInfoDao.getInfoByAsnNo(policyGroupInfo);
|
||||
}
|
||||
|
||||
public void getByIds(String ids) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
/**
|
||||
* IP复用配置表单-获取拥有区域信息的策略分组
|
||||
* @param groupType
|
||||
* @return
|
||||
*/
|
||||
public List<PolicyGroupInfo> getHasAreaPolicyGroups(int groupType) {
|
||||
return policyGroupInfoDao.getHasAreaPolicyGroups(groupType);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,18 @@
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
|
||||
setSelectIndex();
|
||||
$("#addAreaIsp").on("click",function(){
|
||||
setSelectIndex();
|
||||
});
|
||||
});
|
||||
|
||||
var setSelectIndex = function(){
|
||||
$("select[areaIsp='area']").each(function(index,item){
|
||||
var name = this.name;
|
||||
var index = name.substring(name.indexOf("[")+1,name.indexOf("]"));
|
||||
$(this).attr("index",index);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<p class="border-top border-top-blue-sharp"></p>
|
||||
<h3 class="form-section"><spring:message code="effect_range"/></h3>
|
||||
@@ -44,7 +53,7 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden" id="areaIsp">
|
||||
<h4 class="form-section"><spring:message code="area"/> <%-- <spring:message code="isp"/> --%><small><span class="glyphicon glyphicon-plus" title="add"></span></small></h4>
|
||||
<h4 id="addAreaIsp" class="form-section"><spring:message code="area"/> <%-- <spring:message code="isp"/> --%><small><span class="glyphicon glyphicon-plus" title="add"></span></small></h4>
|
||||
<div class="container-fluid hidden row">
|
||||
<div class="row">
|
||||
<div class="pull-right">
|
||||
@@ -54,9 +63,9 @@ $(function(){
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="area"/></label>
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="area"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="areaCode" class="form-control required" data-live-search="true" data-live-search-placeholder="search" >
|
||||
<select name="areaCode" areaIsp="area" class="form-control required areaUnique" data-live-search="true" data-live-search-placeholder="search" >
|
||||
<option value="" ><spring:message code="select"/></option>
|
||||
<c:forEach items="${areas}" var="area">
|
||||
<option value="${area.itemCode}">${area.itemValue}</option>
|
||||
@@ -77,6 +86,7 @@ $(function(){
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div for="ispCode"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -91,9 +101,9 @@ $(function(){
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><spring:message code="area"/></label>
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="area"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="areaIsp[${status.index}].area" class="selectpicker form-control required" data-live-search="true" data-live-search-placeholder="search" >
|
||||
<select name="areaIsp[${status.index}].area" areaIsp="area" class="selectpicker form-control required areaUnique" data-live-search="true" data-live-search-placeholder="search" >
|
||||
<option value="" ><spring:message code="select"/></option>
|
||||
<c:forEach items="${areas}" var="area">
|
||||
<option value="${area.itemCode}"
|
||||
@@ -123,7 +133,8 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
|
||||
<!-- <div for="ispArea" ><label class="error">Area already exists.</label></div> -->
|
||||
<%--<span id="rangeError" style="display:none"><spring:message code="area_existed"/></span> --%>
|
||||
</div>
|
||||
<%-- <div class="hidden" id="areaIp">
|
||||
<h4 class="form-section"><spring:message code="area"/> ip<small><span class="glyphicon glyphicon-plus" title="add"></span></small></h4>
|
||||
|
||||
@@ -958,4 +958,20 @@ jQuery.validator.addMethod("asnNoUnique",function(value, element) {
|
||||
}
|
||||
});
|
||||
return result;
|
||||
});
|
||||
|
||||
jQuery.validator.addMethod("areaUnique",function(value,element) {
|
||||
var flag = true;
|
||||
var array = new Array();
|
||||
var index = $(element).attr("index");
|
||||
$("select[areaIsp='area']").each(function(){
|
||||
var code = $(this).val();
|
||||
if($(this).attr("index") < index){
|
||||
array.push(code);
|
||||
}
|
||||
});
|
||||
if($.inArray(value,array) != -1){
|
||||
flag = false;
|
||||
}
|
||||
return flag;
|
||||
});
|
||||
@@ -77,6 +77,7 @@
|
||||
protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0",
|
||||
netAddress:"The class C type of IP addresses must has the same network number bit field",
|
||||
ipUnique:"IP already exists.",
|
||||
asnNoUnique:"ASN already exists."
|
||||
asnNoUnique:"ASN already exists.",
|
||||
areaUnique:"Area already exists."
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0",
|
||||
netAddress:"C类IP地址网络位必须相同",
|
||||
ipUnique:"IP already exists.",
|
||||
asnNoUnique:"ASN already exists."
|
||||
asnNoUnique:"ASN already exists.",
|
||||
areaUnique:"Area already exists."
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
@@ -78,5 +78,6 @@
|
||||
netAddress:"C类IP地址网络位必须相同",
|
||||
ipUnique:"IP已存在",
|
||||
asnNoUnique:"ASN号已存在",
|
||||
areaUnique:"该区域已存在"
|
||||
});
|
||||
}(jQuery));
|
||||
|
||||
Reference in New Issue
Block a user