服务器内存类型-添加

This commit is contained in:
tangpeng 2019-06-17 10:30:59 +08:00
parent aecf9e2c0b
commit a17ccccff5
8 changed files with 346 additions and 5 deletions

View File

@ -30,6 +30,25 @@
<input id="cpuNum" name="cpuNum" class="form-control" min=1 type="number"> <input id="cpuNum" name="cpuNum" class="form-control" min=1 type="number">
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label">内存类型:</label>
<div class="col-sm-8">
<select name="memoryType" th:with="type=${@dict.getType('dict_memory_type')}">
<option value="">请选择单根内存大小</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictCode}">
</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">内存个数:</label>
<div class="col-sm-8">
<input name="memoryNum" type="number"
class="form-control"
placeholder="单位(个)">
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">IPMI端口</label> <label class="col-sm-3 control-label">IPMI端口</label>
<div class="col-sm-8"> <div class="col-sm-8">
@ -108,6 +127,15 @@
minlength: 1, minlength: 1,
maxlength: 2 maxlength: 2
}, },
memoryType: {
required: true
},
memoryNum: {
required: true,
minlength: 1,
maxlength: 2,
min: 1
},
ipmiPort: { ipmiPort: {
required: true, required: true,
minlength: 1, minlength: 1,
@ -138,11 +166,18 @@
$(".serverDisk").each(function () { $(".serverDisk").each(function () {
serverDisks.push({"id": $(this).attr("id"), "value": $(this).val()}); serverDisks.push({"id": $(this).attr("id"), "value": $(this).val()});
}); });
var serverMemorys = [];
serverMemorys.push({
"id": $("select[name='memoryType']").val(),
"value": $("input[name='memoryNum']").val()
});
var obj = { var obj = {
"name": "foreignKeyInfo", "name": "foreignKeyInfo",
"value": JSON.stringify({ "value": JSON.stringify({
"serverNetcards": serverNetcards, "serverNetcards": serverNetcards,
"serverDisks": serverDisks "serverDisks": serverDisks,
"serverMemorys": serverMemorys
}) })
}; };
data.push(obj); data.push(obj);

View File

@ -95,7 +95,7 @@
}, },
{ {
field: 'serverBrand', field: 'serverBrand',
title: '服务器品牌', title: '品牌',
sortable: true sortable: true
}, },
{ {
@ -110,7 +110,12 @@
}, },
{ {
field: 'cpuNum', field: 'cpuNum',
title: 'CPU数量', title: 'CPU(核)',
sortable: true
},
{
field: 'memoryTotal',
title: '总内存(G)',
sortable: true sortable: true
}, },
{ {
@ -120,7 +125,7 @@
}, },
{ {
field: 'powerNum', field: 'powerNum',
title: '电源数量', title: '电源(个)',
sortable: true sortable: true
}, },
{ {

View File

@ -55,6 +55,10 @@ public class TmplServer extends BaseEntity {
* 服务器硬盘类型 * 服务器硬盘类型
*/ */
private List<TmplServerDisk> serverDisks; private List<TmplServerDisk> serverDisks;
/**
* 服务器内存类型
*/
private List<TmplServerMemory> serverMemorys;
public Integer getServerId() { public Integer getServerId() {
return serverId; return serverId;
@ -136,6 +140,14 @@ public class TmplServer extends BaseEntity {
this.serverDisks = serverDisks; this.serverDisks = serverDisks;
} }
public List<TmplServerMemory> getServerMemorys() {
return serverMemorys;
}
public void setServerMemorys(List<TmplServerMemory> serverMemorys) {
this.serverMemorys = serverMemorys;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

View File

@ -0,0 +1,90 @@
package com.ruoyi.template.domain;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.beans.Transient;
/**
* 服务器内存类型表 tmpl_server_memory
*
* @author TP
* @date 2019-06-16
*/
public class TmplServerMemory extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 服务器内存编号
*/
private Integer serverMemoryId;
/**
* 服务器编号
*/
private Integer serverId;
/**
* 服务器内存类型
*/
private Long serverMemoryType;
/**
* 服务器内存数量
*/
private Integer serverMemoryNum;
/**
* 服务器内存总数 @Transient
*/
private Integer serverMemoryTotal;
public Integer getServerMemoryId() {
return serverMemoryId;
}
public void setServerMemoryId(Integer serverMemoryId) {
this.serverMemoryId = serverMemoryId;
}
public Integer getServerId() {
return serverId;
}
public void setServerId(Integer serverId) {
this.serverId = serverId;
}
public Long getServerMemoryType() {
return serverMemoryType;
}
public void setServerMemoryType(Long serverMemoryType) {
this.serverMemoryType = serverMemoryType;
}
public Integer getServerMemoryNum() {
return serverMemoryNum;
}
public void setServerMemoryNum(Integer serverMemoryNum) {
this.serverMemoryNum = serverMemoryNum;
}
@Transient
public Integer getServerMemoryTotal() {
return serverMemoryTotal;
}
public void setServerMemoryTotal(Integer serverMemoryTotal) {
this.serverMemoryTotal = serverMemoryTotal;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("serverMemoryId", getServerMemoryId())
.append("serverId", getServerId())
.append("serverMemoryType", getServerMemoryType())
.append("serverMemoryNum", getServerMemoryNum())
.toString();
}
}

View File

@ -0,0 +1,79 @@
package com.ruoyi.template.mapper;
import com.ruoyi.template.domain.TmplServerMemory;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 服务器内存类型 数据层
*
* @author TP
* @date 2019-06-16
*/
public interface TmplServerMemoryMapper {
/**
* 查询服务器内存类型信息
*
* @param serverMemoryId 服务器内存类型ID
* @return 服务器内存类型信息
*/
public TmplServerMemory selectTmplServerMemoryById(Integer serverMemoryId);
/**
* 查询服务器内存类型信息
*
* @param serverId 服务器ID
* @return 服务器内存类型信息
*/
public TmplServerMemory selectByServerId(@Param("serverId") Integer serverId);
/**
* 查询服务器内存类型列表
*
* @param tmplServerMemory 服务器内存类型信息
* @return 服务器内存类型集合
*/
public List<TmplServerMemory> selectTmplServerMemoryList(TmplServerMemory tmplServerMemory);
/**
* 新增服务器内存类型
*
* @param tmplServerMemory 服务器内存类型信息
* @return 结果
*/
public int insertTmplServerMemory(TmplServerMemory tmplServerMemory);
/**
* 修改服务器内存类型
*
* @param tmplServerMemory 服务器内存类型信息
* @return 结果
*/
public int updateTmplServerMemory(TmplServerMemory tmplServerMemory);
/**
* 删除服务器内存类型
*
* @param serverMemoryId 服务器内存类型ID
* @return 结果
*/
public int deleteTmplServerMemoryById(Integer serverMemoryId);
/**
* 批量删除服务器内存类型
*
* @param serverMemoryIds 需要删除的数据ID
* @return 结果
*/
public int deleteTmplServerMemoryByIds(String[] serverMemoryIds);
/**
* 批量新增服务器内存类型信息
*
* @param tmplServerMemoryList 服务器内存类型列表
* @return 结果
*/
public int batchTmplServerMemory(List<TmplServerMemory> tmplServerMemoryList);
}

View File

@ -8,9 +8,11 @@ import com.ruoyi.system.domain.SysDictData;
import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.mapper.SysDictDataMapper;
import com.ruoyi.template.domain.TmplServer; import com.ruoyi.template.domain.TmplServer;
import com.ruoyi.template.domain.TmplServerDisk; import com.ruoyi.template.domain.TmplServerDisk;
import com.ruoyi.template.domain.TmplServerMemory;
import com.ruoyi.template.domain.TmplServerNetcard; import com.ruoyi.template.domain.TmplServerNetcard;
import com.ruoyi.template.mapper.TmplServerDiskMapper; import com.ruoyi.template.mapper.TmplServerDiskMapper;
import com.ruoyi.template.mapper.TmplServerMapper; import com.ruoyi.template.mapper.TmplServerMapper;
import com.ruoyi.template.mapper.TmplServerMemoryMapper;
import com.ruoyi.template.mapper.TmplServerNetcardMapper; import com.ruoyi.template.mapper.TmplServerNetcardMapper;
import com.ruoyi.template.service.ITmplServerService; import com.ruoyi.template.service.ITmplServerService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -37,6 +39,8 @@ public class TmplServerServiceImpl implements ITmplServerService {
@Autowired @Autowired
private TmplServerDiskMapper tmplServerDiskMapper; private TmplServerDiskMapper tmplServerDiskMapper;
@Autowired @Autowired
private TmplServerMemoryMapper tmplServerMemoryMapper;
@Autowired
private SysDictDataMapper sysDictDataMapper; private SysDictDataMapper sysDictDataMapper;
/** /**
@ -87,6 +91,10 @@ public class TmplServerServiceImpl implements ITmplServerService {
if (jsonObject.containsKey("serverDisks")) { if (jsonObject.containsKey("serverDisks")) {
saveServerDisk(tmplServer.getServerId(), jsonObject.getJSONArray("serverDisks")); saveServerDisk(tmplServer.getServerId(), jsonObject.getJSONArray("serverDisks"));
} }
//保存内存信息
if (jsonObject.containsKey("serverMemorys")) {
saveServerMemory(tmplServer.getServerId(), jsonObject.getJSONArray("serverMemorys"));
}
} }
} }
return affectRow; return affectRow;
@ -136,7 +144,7 @@ public class TmplServerServiceImpl implements ITmplServerService {
TmplServerDisk tmplServerDisk = new TmplServerDisk(); TmplServerDisk tmplServerDisk = new TmplServerDisk();
tmplServerDisk.setServerId(id); tmplServerDisk.setServerId(id);
tmplServerDisk.setServerDiskType(Convert.toLong(dictData.getDictCode())); tmplServerDisk.setServerDiskType(Convert.toLong(dictData.getDictCode()));
tmplServerDisk.setServerDiskNum(num); tmplServerDisk.setServerDiskNum(num);
list.add(tmplServerDisk); list.add(tmplServerDisk);
} }
}); });
@ -146,6 +154,33 @@ public class TmplServerServiceImpl implements ITmplServerService {
} }
} }
/**
* 新增内存
*
* @param id
* @param jsonArray
*/
private void saveServerMemory(Integer id, JSONArray jsonArray) {
List<TmplServerMemory> list = new ArrayList<>();
jsonArray.forEach((i) -> {
JSONObject jsonObject = (JSONObject) i;
String valueStr = jsonObject.getString("value");
int num = 0;
if (StringUtils.isNotBlank(valueStr) && (num = Convert.toInt(valueStr)) > 0) {
SysDictData dictData = sysDictDataMapper.selectDictDataById(Convert.toLong(jsonObject.getString("id")));
TmplServerMemory tmplServerMemory = new TmplServerMemory();
tmplServerMemory.setServerId(id);
tmplServerMemory.setServerMemoryType(Convert.toLong(dictData.getDictCode()));
tmplServerMemory.setServerMemoryNum(num);
list.add(tmplServerMemory);
}
});
int serverDiskNums = list.size() > 0 ? tmplServerMemoryMapper.batchTmplServerMemory(list) : 0;
if (serverDiskNums == 0) {
throw new BusinessException("至少输入一个内存数量");
}
}
/** /**
* 修改交换机模板 * 修改交换机模板
* *

View File

@ -20,6 +20,9 @@
<collection property="serverDisks" column="server_id" <collection property="serverDisks" column="server_id"
select="com.ruoyi.template.mapper.TmplServerDiskMapper.selectByServerId"> select="com.ruoyi.template.mapper.TmplServerDiskMapper.selectByServerId">
</collection> </collection>
<collection property="serverMemorys" column="server_id"
select="com.ruoyi.template.mapper.TmplServerMemoryMapper.selectByServerId">
</collection>
</resultMap> </resultMap>
<sql id="selectTmplServerVo"> <sql id="selectTmplServerVo">

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.template.mapper.TmplServerMemoryMapper">
<resultMap type="TmplServerMemory" id="TmplServerMemoryResult">
<result property="serverMemoryId" column="server_memory_id"/>
<result property="serverId" column="server_id"/>
<result property="serverMemoryType" column="server_memory_type"/>
<result property="serverMemoryNum" column="server_memory_num"/>
</resultMap>
<sql id="selectTmplServerMemoryVo">
select server_memory_id, server_id, server_memory_type, server_memory_num from tmpl_server_memory
</sql>
<select id="selectTmplServerMemoryList" parameterType="TmplServerMemory" resultMap="TmplServerMemoryResult">
<include refid="selectTmplServerMemoryVo"/>
<where>
<if test="serverMemoryId != null ">and server_memory_id = #{serverMemoryId}</if>
<if test="serverId != null ">and server_id = #{serverId}</if>
<if test="serverMemoryType != null ">and server_memory_type = #{serverMemoryType}</if>
<if test="serverMemoryNum != null ">and server_memory_num = #{serverMemoryNum}</if>
</where>
</select>
<select id="selectTmplServerMemoryById" parameterType="Integer" resultMap="TmplServerMemoryResult">
<include refid="selectTmplServerMemoryVo"/>
where server_memory_id = #{serverMemoryId}
</select>
<select id="selectByServerId" parameterType="java.lang.Integer"
resultMap="TmplServerMemoryResult">
<include refid="selectTmplServerMemoryVo"/>
where server_id=#{serverId};
</select>
<insert id="insertTmplServerMemory" parameterType="TmplServerMemory" useGeneratedKeys="true"
keyProperty="serverMemoryId">
insert into tmpl_server_memory
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="serverId != null ">server_id,</if>
<if test="serverMemoryType != null ">server_memory_type,</if>
<if test="serverMemoryNum != null ">server_memory_num,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="serverId != null ">#{serverId},</if>
<if test="serverMemoryType != null ">#{serverMemoryType},</if>
<if test="serverMemoryNum != null ">#{serverMemoryNum},</if>
</trim>
</insert>
<insert id="batchTmplServerMemory">
insert into tmpl_server_memory(server_id, server_memory_type,server_memory_num) values
<foreach item="item" index="index" collection="list" separator=",">
(#{item.serverId},#{item.serverMemoryType},#{item.serverMemoryNum})
</foreach>
</insert>
<update id="updateTmplServerMemory" parameterType="TmplServerMemory">
update tmpl_server_memory
<trim prefix="SET" suffixOverrides=",">
<if test="serverId != null ">server_id = #{serverId},</if>
<if test="serverMemoryType != null ">server_memory_type = #{serverMemoryType},</if>
<if test="serverMemoryNum != null ">server_memory_num = #{serverMemoryNum},</if>
</trim>
where server_memory_id = #{serverMemoryId}
</update>
<delete id="deleteTmplServerMemoryById" parameterType="Integer">
delete from tmpl_server_memory where server_memory_id = #{serverMemoryId}
</delete>
<delete id="deleteTmplServerMemoryByIds" parameterType="String">
delete from tmpl_server_memory where server_memory_id in
<foreach item="serverMemoryId" collection="array" open="(" separator="," close=")">
#{serverMemoryId}
</foreach>
</delete>
</mapper>