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

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 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-3 control-label" th:text="${dict.dictLabel}"></label>
<div class="col-sm-9">
<input type="number" value="" th:name="${dict.dictCode}" class="form-control switchPort"
<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>
@ -70,7 +72,7 @@
var data = $('#form-tmplSwitch-add').serializeArray();
var params = [];
$(".switchPort").each(function () {
params.push({"id": $(this).attr("name"), "value": $(this).val()});
params.push({"id": $(this).attr("id"), "value": $(this).val()});
});
var obj = {
"name": "foreignKeyInfo",

View File

@ -25,10 +25,26 @@
<input id="powerNum" name="powerNum" th:field="*{powerNum}" class="form-control" type="text">
</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>
</div>
<div th:include="include::footer"></div>
<script type="text/javascript">
<script type="text/javascript" th:inline="javascript">
var prefix = ctx + "template/tmplSwitch";
$("#form-tmplSwitch-edit").validate({
onkeyup: false,
@ -54,9 +70,29 @@
function submitHandler() {
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>
</body>
</html>

View File

@ -21,10 +21,11 @@
<li>
交换机电源数量:<input type="text" name="powerNum"/>
</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-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
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>
</ul>
</div>
@ -35,10 +36,12 @@
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="template:tmplSwitch:add">
<i class="fa fa-plus"></i> 添加
</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> 修改
</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> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="template:tmplSwitch:export">
@ -71,24 +74,45 @@
{
field: 'switchId',
title: '交换机模板编号',
visible: false
visible: false,
align: 'center'
},
{
field: 'switchBrand',
title: '交换机品牌',
sortable: true
sortable: true,
align: 'center'
},
{
field: 'switchType',
title: '交换机型号',
sortable: true
sortable: true,
align: 'center'
},
{
field: 'powerNum',
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: '操作',
align: 'center',
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>');
return actions.join('');
}
}]
};
})
$.table.init(options);
});
</script>

View File

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

View File

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

View File

@ -10,8 +10,7 @@ import java.util.List;
* @author TP
* @date 2019-06-12
*/
public interface TmplSwitchPortMapper
{
public interface TmplSwitchPortMapper {
/**
* 查询交换机端口类型信息
*
@ -20,6 +19,15 @@ public interface TmplSwitchPortMapper
*/
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);
/**
* 通过交换机ID批量删除交换机端口类型
*
* @param switchId 交换机ID
* @return 结果
*/
public int deleteTmplSwitchPortBySwitchId(Integer switchId);
/**
* 批量删除交换机端口类型
*

View File

@ -65,8 +65,14 @@ public class TmplSwitchServiceImpl implements ITmplSwitchService {
*/
@Override
public int insertTmplSwitch(TmplSwitch tmplSwitch) {
return saveOrUpdate(tmplSwitch);
}
private int saveOrUpdate(TmplSwitch tmplSwitch) {
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) {
List<TmplSwitchPort> list = new ArrayList<>();
jsonArray.forEach((i) -> {
@ -95,11 +101,14 @@ public class TmplSwitchServiceImpl implements ITmplSwitchService {
* 修改交换机模板
*
* @param tmplSwitch 交换机模板信息
* @return 结果
* @return 更新后数据库中存在的值个数
*/
@Override
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}
</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 into tmpl_switch_port
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -46,6 +53,13 @@
</trim>
</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 tmpl_switch_port
<trim prefix="SET" suffixOverrides=",">
@ -60,6 +74,10 @@
delete from tmpl_switch_port where switch_port_id = #{switchPortId}
</delete>
<delete id="deleteTmplSwitchPortBySwitchId" parameterType="Integer">
delete from tmpl_switch_port where switch_id = #{switchId}
</delete>
<delete id="deleteTmplSwitchPortByIds" parameterType="String">
delete from tmpl_switch_port where switch_port_id in
<foreach item="switchPortId" collection="array" open="(" separator="," close=")">
@ -67,11 +85,4 @@
</foreach>
</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>