交换机-交换端口级联更新

This commit is contained in:
tangpeng 2019-06-14 10:51:18 +08:00
parent defc83aedb
commit 3fc72d6842
8 changed files with 704 additions and 605 deletions

View File

@ -25,13 +25,15 @@
</div> </div>
</div> </div>
<!--端口类型字典-->
<div class="form-group" th:with="type=${@dict.getType('dict_port_type')}"> <div class="form-group" th:with="type=${@dict.getType('dict_port_type')}">
<div class="col-sm-6" th:each="dict : ${type}"> <div class="col-sm-6" th:each="dict : ${type}">
<div class="col-md-12"> <div class="col-md-12">
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label" th:text="${dict.dictLabel}"></label> <label class="col-sm-6 control-label" th:text="${dict.dictLabel}"></label>
<div class="col-sm-9"> <div class="col-sm-5">
<input type="number" value="" th:name="${dict.dictCode}" class="form-control switchPort" <input type="number" min="0" max="100" th:id="${dict.dictCode}"
class="form-control switchPort"
placeholder="单位(个)"> placeholder="单位(个)">
</div> </div>
</div> </div>
@ -70,7 +72,7 @@
var data = $('#form-tmplSwitch-add').serializeArray(); var data = $('#form-tmplSwitch-add').serializeArray();
var params = []; var params = [];
$(".switchPort").each(function () { $(".switchPort").each(function () {
params.push({"id": $(this).attr("name"), "value": $(this).val()}); params.push({"id": $(this).attr("id"), "value": $(this).val()});
}); });
var obj = { var obj = {
"name": "foreignKeyInfo", "name": "foreignKeyInfo",

View File

@ -25,10 +25,26 @@
<input id="powerNum" name="powerNum" th:field="*{powerNum}" class="form-control" type="text"> <input id="powerNum" name="powerNum" th:field="*{powerNum}" class="form-control" type="text">
</div> </div>
</div> </div>
<!--端口类型字典-->
<div class="form-group" th:with="type=${@dict.getType('dict_port_type')}">
<div class="col-sm-6" th:each="dict : ${type}">
<div class="col-md-12">
<div class="form-group">
<label class="col-sm-6 control-label" th:text="${dict.dictLabel}"></label>
<div class="col-sm-5">
<input type="number" min="0" max="100" th:id="${dict.dictCode}"
class="form-control switchPort"
placeholder="单位(个)">
</div>
</div>
</div>
</div>
</div>
</form> </form>
</div> </div>
<div th:include="include::footer"></div> <div th:include="include::footer"></div>
<script type="text/javascript"> <script type="text/javascript" th:inline="javascript">
var prefix = ctx + "template/tmplSwitch"; var prefix = ctx + "template/tmplSwitch";
$("#form-tmplSwitch-edit").validate({ $("#form-tmplSwitch-edit").validate({
onkeyup: false, onkeyup: false,
@ -54,9 +70,29 @@
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-tmplSwitch-edit').serialize()); var data = $('#form-tmplSwitch-edit').serializeArray();
var params = [];
$(".switchPort").each(function () {
params.push({"id": $(this).attr("id"), "value": $(this).val()});
});
var obj = {
"name": "foreignKeyInfo",
"value": JSON.stringify(params)
};
data.push(obj);
$.operate.save(prefix + "/edit", data);
} }
} }
/*
* 修改时手动回显SwitchPortNum
*/
$(function () {
var switchPorts = [[${tmplSwitch}]].switchPorts;
$.each(switchPorts, function (index, port) {
$("#" + port.switchPortType).val(port.switchPortNum);
});
});
</script> </script>
</body> </body>
</html> </html>

View File

@ -21,10 +21,11 @@
<li> <li>
交换机电源数量:<input type="text" name="powerNum"/> 交换机电源数量:<input type="text" name="powerNum"/>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a> class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li> </li>
</ul> </ul>
</div> </div>
@ -35,10 +36,12 @@
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="template:tmplSwitch:add"> <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="template:tmplSwitch:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary btn-edit disabled" onclick="$.operate.edit()" shiro:hasPermission="template:tmplSwitch:edit"> <a class="btn btn-primary btn-edit disabled" onclick="$.operate.edit()"
shiro:hasPermission="template:tmplSwitch:edit">
<i class="fa fa-edit"></i> 修改 <i class="fa fa-edit"></i> 修改
</a> </a>
<a class="btn btn-danger btn-del btn-del disabled" onclick="$.operate.removeAll()" shiro:hasPermission="template:tmplSwitch:remove"> <a class="btn btn-danger btn-del btn-del disabled" onclick="$.operate.removeAll()"
shiro:hasPermission="template:tmplSwitch:remove">
<i class="fa fa-remove"></i> 删除 <i class="fa fa-remove"></i> 删除
</a> </a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="template:tmplSwitch:export"> <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="template:tmplSwitch:export">
@ -71,24 +74,45 @@
{ {
field: 'switchId', field: 'switchId',
title: '交换机模板编号', title: '交换机模板编号',
visible: false visible: false,
align: 'center'
}, },
{ {
field: 'switchBrand', field: 'switchBrand',
title: '交换机品牌', title: '交换机品牌',
sortable: true sortable: true,
align: 'center'
}, },
{ {
field: 'switchType', field: 'switchType',
title: '交换机型号', title: '交换机型号',
sortable: true sortable: true,
align: 'center'
}, },
{ {
field: 'powerNum', field: 'powerNum',
title: '交换机电源数量', title: '交换机电源数量',
sortable: true sortable: true,
}, align: 'center'
{ }
]
};
$.each([[${@dict.getType('dict_port_type')}]], function (index, dict) {
options.columns.push({
field: dict.dictCode,
title: dict.dictLabel+"(个)",
align: 'center',
formatter: function (value, row, index) {
$.each(row.switchPorts, function (index, switchPort) {
if (switchPort.switchPortType == dict.dictCode) {
value = switchPort.switchPortNum;
}
});
return value;
}
});
});
options.columns.push({
title: '操作', title: '操作',
align: 'center', align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {
@ -97,8 +121,7 @@
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.switchId + '\')"><i class="fa fa-remove"></i>删除</a>'); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.switchId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join(''); return actions.join('');
} }
}] })
};
$.table.init(options); $.table.init(options);
}); });
</script> </script>

View File

@ -4,10 +4,9 @@ import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/** /**
* Entity基类 * Entity基类

View File

@ -36,38 +36,38 @@ public class TmplSwitch extends BaseEntity {
*/ */
private List<TmplSwitchPort> switchPorts; private List<TmplSwitchPort> switchPorts;
public void setSwitchId(Integer switchId) {
this.switchId = switchId;
}
public Integer getSwitchId() { public Integer getSwitchId() {
return switchId; return switchId;
} }
public void setSwitchBrand(String switchBrand) { public void setSwitchId(Integer switchId) {
this.switchBrand = switchBrand; this.switchId = switchId;
} }
public String getSwitchBrand() { public String getSwitchBrand() {
return switchBrand; return switchBrand;
} }
public void setSwitchType(String switchType) { public void setSwitchBrand(String switchBrand) {
this.switchType = switchType; this.switchBrand = switchBrand;
} }
public String getSwitchType() { public String getSwitchType() {
return switchType; return switchType;
} }
public void setPowerNum(Integer powerNum) { public void setSwitchType(String switchType) {
this.powerNum = powerNum; this.switchType = switchType;
} }
public Integer getPowerNum() { public Integer getPowerNum() {
return powerNum; return powerNum;
} }
public void setPowerNum(Integer powerNum) {
this.powerNum = powerNum;
}
public List<TmplSwitchPort> getSwitchPorts() { public List<TmplSwitchPort> getSwitchPorts() {
return switchPorts; return switchPorts;
} }
@ -87,3 +87,5 @@ public class TmplSwitch extends BaseEntity {
.toString(); .toString();
} }
} }

View File

@ -10,8 +10,7 @@ import java.util.List;
* @author TP * @author TP
* @date 2019-06-12 * @date 2019-06-12
*/ */
public interface TmplSwitchPortMapper public interface TmplSwitchPortMapper {
{
/** /**
* 查询交换机端口类型信息 * 查询交换机端口类型信息
* *
@ -20,6 +19,15 @@ public interface TmplSwitchPortMapper
*/ */
public TmplSwitchPort selectTmplSwitchPortById(Integer switchPortId); public TmplSwitchPort selectTmplSwitchPortById(Integer switchPortId);
/**
* * 查询交换机端口类型信息
*
* @param switchId 交换机ID
* @param switchPortType 交换机端口类型
* @return 交换机端口类型信息
*/
public TmplSwitchPort selectBySwitchIdAndPortType(Integer switchId, Integer switchPortType);
/** /**
* 查询交换机端口类型列表 * 查询交换机端口类型列表
* *
@ -52,6 +60,15 @@ public interface TmplSwitchPortMapper
*/ */
public int deleteTmplSwitchPortById(Integer switchPortId); public int deleteTmplSwitchPortById(Integer switchPortId);
/**
* 通过交换机ID批量删除交换机端口类型
*
* @param switchId 交换机ID
* @return 结果
*/
public int deleteTmplSwitchPortBySwitchId(Integer switchId);
/** /**
* 批量删除交换机端口类型 * 批量删除交换机端口类型
* *

View File

@ -65,8 +65,14 @@ public class TmplSwitchServiceImpl implements ITmplSwitchService {
*/ */
@Override @Override
public int insertTmplSwitch(TmplSwitch tmplSwitch) { public int insertTmplSwitch(TmplSwitch tmplSwitch) {
return saveOrUpdate(tmplSwitch);
}
private int saveOrUpdate(TmplSwitch tmplSwitch) {
JSONArray jsonArray = JSONArray.parseArray(tmplSwitch.getForeignKeyInfo()); JSONArray jsonArray = JSONArray.parseArray(tmplSwitch.getForeignKeyInfo());
int affectRow = tmplSwitchMapper.insertTmplSwitch(tmplSwitch); int affectRow = tmplSwitchMapper.selectTmplSwitchById(tmplSwitch.getSwitchId()) != null
? tmplSwitchMapper.updateTmplSwitch(tmplSwitch)
: tmplSwitchMapper.insertTmplSwitch(tmplSwitch);
if (affectRow > 0) { if (affectRow > 0) {
List<TmplSwitchPort> list = new ArrayList<>(); List<TmplSwitchPort> list = new ArrayList<>();
jsonArray.forEach((i) -> { jsonArray.forEach((i) -> {
@ -95,11 +101,14 @@ public class TmplSwitchServiceImpl implements ITmplSwitchService {
* 修改交换机模板 * 修改交换机模板
* *
* @param tmplSwitch 交换机模板信息 * @param tmplSwitch 交换机模板信息
* @return 结果 * @return 更新后数据库中存在的值个数
*/ */
@Override @Override
public int updateTmplSwitch(TmplSwitch tmplSwitch) { public int updateTmplSwitch(TmplSwitch tmplSwitch) {
return tmplSwitchMapper.updateTmplSwitch(tmplSwitch); //1.清空数据库中已存的值
tmplSwitchPortMapper.deleteTmplSwitchPortBySwitchId(tmplSwitch.getSwitchId());
//2.更新主表
return insertTmplSwitch(tmplSwitch);
} }
/** /**

View File

@ -30,6 +30,13 @@
where switch_port_id = #{switchPortId} where switch_port_id = #{switchPortId}
</select> </select>
<select id="selectBySwitchIdAndPortType" parameterType="Integer" resultMap="TmplSwitchPortResult">
<include refid="selectTmplSwitchPortVo"/>
where switch_id = #{switchPortId}
and switch_port_type = #{switchPortType}
</select>
<insert id="insertTmplSwitchPort" parameterType="TmplSwitchPort"> <insert id="insertTmplSwitchPort" parameterType="TmplSwitchPort">
insert into tmpl_switch_port insert into tmpl_switch_port
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -46,6 +53,13 @@
</trim> </trim>
</insert> </insert>
<insert id="batchTmplSwitchPort">
insert into tmpl_switch_port(switch_id, switch_port_type,switch_port_num) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.switchId},#{item.switchPortType},#{item.switchPortNum})
</foreach>
</insert>
<update id="updateTmplSwitchPort" parameterType="TmplSwitchPort"> <update id="updateTmplSwitchPort" parameterType="TmplSwitchPort">
update tmpl_switch_port update tmpl_switch_port
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
@ -60,6 +74,10 @@
delete from tmpl_switch_port where switch_port_id = #{switchPortId} delete from tmpl_switch_port where switch_port_id = #{switchPortId}
</delete> </delete>
<delete id="deleteTmplSwitchPortBySwitchId" parameterType="Integer">
delete from tmpl_switch_port where switch_id = #{switchId}
</delete>
<delete id="deleteTmplSwitchPortByIds" parameterType="String"> <delete id="deleteTmplSwitchPortByIds" parameterType="String">
delete from tmpl_switch_port where switch_port_id in delete from tmpl_switch_port where switch_port_id in
<foreach item="switchPortId" collection="array" open="(" separator="," close=")"> <foreach item="switchPortId" collection="array" open="(" separator="," close=")">
@ -67,11 +85,4 @@
</foreach> </foreach>
</delete> </delete>
<insert id="batchTmplSwitchPort">
insert into tmpl_switch_port(switch_id, switch_port_type,switch_port_num) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.switchId},#{item.switchPortType},#{item.switchPortNum})
</foreach>
</insert>
</mapper> </mapper>