This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nms-nmsweb/src/nis/nms/web/actions/serverManager/ServerManagerAction.java

1052 lines
36 KiB
Java
Raw Normal View History

2018-09-27 16:21:05 +08:00
package nis.nms.web.actions.serverManager;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.struts2.config.Result;
import org.apache.struts2.config.Results;
import nis.nms.domains.ServerIpSegment;
import nis.nms.domains.ServerTable;
import nis.nms.service.CommonService;
import nis.nms.util.BaseAction;
import nis.nms.util.Constant;
import nis.nms.util.ExportUtils;
import nis.nms.util.IpCovert;
import nis.nms.util.Page;
@SuppressWarnings("unchecked")
@Results( {
@Result(name="queryServerInfo", value = "/page/systemManage/server/serverInfoList.jsp"),
@Result(name="openAddServerInfo", value = "/page/systemManage/server/addServerInfo.jsp"),
@Result(name="openUpdateServerInfo", value = "/page/systemManage/server/updateServerInfo.jsp"),
@Result(name="showDetail", value = "/page/systemManage/server/detailServerInfo.jsp"),
@Result(name="showError", value = "/showImportError.jsp")
})
public class ServerManagerAction extends BaseAction {
/**
*
*/
private Logger logger = Logger.getLogger(ServerManagerAction.class);
private static final long serialVersionUID = 1L;
private CommonService commonService;
private int pageNo = 1;
private int pageSize = this.getDefaultPageSize(); // 每页显示的记录条数
private Page page;
private String action;// 系统操作
private String position;
private List<ServerTable> stList;
private List<ServerIpSegment> sisList;
private List objsList;
private ServerTable serverTable;
private String sn;
private String si;
private Long serverId;
private Long[] ids;//业务系统id集合
private String dids;
// 导入节点文件
private File myFile;
private String myFileFileName;
private File myFileUpdate;
private String myFileUpdateFileName;
private String operate;
public String getOperate() {
return operate;
}
public void setOperate(String operate) {
this.operate = operate;
}
public File getMyFileUpdate() {
return myFileUpdate;
}
public void setMyFileUpdate(File myFileUpdate) {
this.myFileUpdate = myFileUpdate;
}
public String getMyFileUpdateFileName() {
return myFileUpdateFileName;
}
public void setMyFileUpdateFileName(String myFileUpdateFileName) {
this.myFileUpdateFileName = myFileUpdateFileName;
}
public File getMyFile() {
return myFile;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
public String getMyFileFileName() {
return myFileFileName;
}
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
public String getDids() {
return dids;
}
public void setDids(String dids) {
this.dids = dids;
}
public Long[] getIds() {
return ids;
}
public void setIds(Long[] ids) {
this.ids = ids;
}
@Override
public String executeAction() throws Exception {
String returnPage = "";
try {
// NMSServer管理
if ("query".equals(this.action)) {// 查看NMSServer列表
returnPage = queryServerInfo();
}else
if ("openAdd".equals(this.action)) {//打开添加页面
returnPage = openAdd();
}else
if ("doAdd".equals(this.action)) {//保存添加信息
returnPage = doAdd();
}else
if ("openUpdate".equals(this.action)) {//打开修改页面
returnPage = openUpdate();
}else
if ("doUpdate".equals(this.action)) {//保存修改信息
returnPage = doUpdate();
}else
if ("start".equals(this.action)) {//保存修改信息
returnPage = start();
}else
if ("stop".equals(this.action)) {//保存修改信息
returnPage = stop();
}else
if ("detail".equals(this.action)) {//保存修改信息
returnPage = showDetail();
}else
if ("delete".equals(this.action)) {//保存修改信息
//returnPage = deleteIpSegment();
}else
if ("downloadExample".equals(this.action)) {
returnPage = downloadExample();
}else
if ("importXls".equals(this.action)) {
returnPage = importXls();
}else
if ("emportCurrentXls".equals(this.action)) {
returnPage = emportCurrentXls();
}else
if ("emportAllXls".equals(this.action)) {
returnPage = emportAllXls();
}else
if ("importXlsUpdate".equals(this.action)) {
returnPage = importXlsUpdate();
}else
if ("emportXlsUpdate".equals(this.action)) {
returnPage = emportXlsUpdate();
}else
if ("downloadExampleUpdate".equals(this.action)) {
returnPage = downloadExampleUpdate();
}else if("AjaxCheck".equals(this.action)){
ajaxCheck();
return null;
}else if("checkUpdate".equals(this.action)){
checkUpdate();
return null;
}else{
returnPage = queryServerInfo();
}
} catch (Exception e) {
e.printStackTrace();
}
return returnPage;
}
// 模板下载 程辉 2013-5-8新增
public String downloadExample() {
try {
String hql = "select serverName,serverIp,serverDesc from ServerTable ";
page = this.commonService.findByPage(hql, 1,3);
List<ServerTable> st = (List<ServerTable>)page.getResult();
String[] title = { getI18nText("i18n_ServerManagerAction.downloadExample.title.serverName_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.title.serverIp_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.title.serverDesc_n81i") };
String[] colu = { "0", "1","2" };
ExportUtils m = new ExportUtils();
m.setAutoSizeColumn(true);
m.exportExcel(getI18nText("i18n_ServerManagerAction.downloadExample.serverInfoTable_n81i"), st, title, colu,"downloadExample");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 导入 程辉 2013-5-8新增
public String importXls() {
String errorInfo = "";
try {
List<String> headerList = new ArrayList<String>();
List<List<String>> rowList = new ArrayList<List<String>>();
Workbook workbook = null;
if (myFileFileName.endsWith(".xlsx")) {
workbook = new XSSFWorkbook(new FileInputStream(myFile));
} else {
// 创建对Excel工作簿文件的引用
workbook = new HSSFWorkbook(new FileInputStream(myFile));
}
// 创建对工作表的引用,得到表的第一页
Sheet sheet = workbook.getSheetAt(0);
// 读取左上端单元
// 记录存储数据条数
int count = 0;
// 记录读入excel数据条数
int sum = (sheet.getLastRowNum());
for (short i = 1; i <= sheet.getLastRowNum(); i++) {
ServerTable serverTable = new ServerTable();
List<String> errorList = new ArrayList<String>();
Row row = sheet.getRow(i);
Cell cell_1 = row.getCell((short) 0);
Cell cell_2 = row.getCell((short) 1);
Cell cell_3 = row.getCell((short) 2);
if ((null == cell_1 || 3 == cell_1.getCellType())
&& (null == cell_2 || 3 == cell_2.getCellType())
&& (null == cell_3 || 3 == cell_3.getCellType())){
sum--;
}else {
// 服务器名称
if (null == cell_1) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo1_n81i",i+"");
} else if (cell_1.getCellType() == Cell.CELL_TYPE_STRING) {
if ("".equals(cell_1.getStringCellValue())) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo1_n81i",i+"");
} else {
String serverName = cell_1.getStringCellValue().trim();
serverTable.setServerName(serverName);
}
} else {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo2_n81i",i+"");
}
// 服务器IP
if (null == cell_2) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo3_n81i",i+"");
} else if (cell_2.getCellType() == Cell.CELL_TYPE_STRING) {
if ("".equals(cell_2.getStringCellValue())) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo3_n81i",i+"");
} else {
String serverIp = cell_2.getStringCellValue()
.trim();
serverTable.setServerIp(serverIp);
Pattern patt = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
Matcher mat = patt.matcher(serverIp);
if (!mat.matches()) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo4_n81i",i+"");
}
}
} else {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo5_n81i",i+"");
}
// 服务器描述
if(null == cell_3){
}else if (cell_3.getCellType() == Cell.CELL_TYPE_STRING) {
String serverDesc = cell_3.getStringCellValue()
.trim();
if(serverDesc.length()>256){
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo6_n81i",i+"");
}else{
serverTable.setServerDesc(serverDesc);
}
}
if ("".equals(errorInfo)) {// 保存节点
errorInfo = this.saveNode(serverTable);
}
if ("".equals(errorInfo)) {
count++;
} else {
errorList.add(serverTable.getServerName());
errorList.add(serverTable.getServerIp());
errorList.add(serverTable.getServerDesc());
errorList.add(errorInfo);
rowList.add(errorList);
errorInfo = "";
}
}
}
headerList.add(getI18nText("i18n_ServerManagerAction.downloadExample.serverName_n81i"));
headerList.add(getI18nText("i18n_ServerManagerAction.downloadExample.serverIp_n81i"));
headerList.add(getI18nText("i18n_ServerManagerAction.downloadExample.serverDesc_n81i"));
headerList.add(getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo_n81i"));
this.getRequest().setAttribute("rowList", rowList);
this.getRequest().setAttribute("headerList", headerList);
if (count == sum && sum > 0) {
// this.getRequest().setAttribute("MSG", 1);
// return this.queryServerInfo();
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.success_n81i');this.location='serverManager.do?action=query'</script>");
return null;
} else if (sum == 0) {
this
.outHtmlString("<script>alert('i18n_ServerManagerAction.downloadExample.selectFileIsNull_n81i');history.back();</script>");
return null;
}
} catch (Exception e) {
e.printStackTrace();
}
return "showError";
}
private String saveNode(ServerTable serverTable) {
String desc = "";
try {
// 保存节点信息
serverTable.setCreateTime(new Date());
serverTable.setServerState(0L);
serverTable.setServerIpn(IpCovert.ipToLong(serverTable.getServerIp()));
//判断服务器名称是否已存在
List serverNameList = this.commonService.find(
"from ServerTable where serverName=?", serverTable.getServerName());
if (serverNameList != null && serverNameList.size() > 0) {
return getI18nText("i18n_ServerManagerAction.downloadExample.serverNameExists_n81i");
}
List serverIpList = this.commonService.find(
"from ServerTable where serverIp=?", serverTable.getServerIp());
if (serverIpList != null && serverIpList.size() > 0) {
return getI18nText("i18n_ServerManagerAction.downloadExample.serverIpExists_n81i");
}
this.commonService.save(serverTable);
} catch (Exception e) {
e.printStackTrace();
desc = getI18nText("i18n_ServerManagerAction.downloadExample.nodeInfoImportErr_n81i");
}
return desc;
}
// 当前页导出 程辉 2013-5-8新增
public String emportCurrentXls() {
try {
String hql = "from ServerTable where 1=1 ";
String sqlCondition = "where 1=1";// 将查询条件记录到操作日志中
if (StringUtils.isNotEmpty(sn)) {
hql += " and Upper(serverName) like '%" + sn.toUpperCase() + "%'";
sqlCondition += " and Upper(serverName) like '%" + sn.toUpperCase() + "%'";
}
if (StringUtils.isNotEmpty(si)) {
hql += " and serverIp like '%" + si + "%'";
sqlCondition += " and serverIp like '%" + si + "%'";
}
hql += "order by serverState";
page = this.commonService.findByPage(hql, pageNo,pageSize);
List<ServerTable> stList = (ArrayList<ServerTable>)page.getResult();
for(int i=0;i<stList.size();i++){
if(stList.get(i).getServerState()==0){
stList.get(i).setServerDesc(getI18nText("i18n_ServerManagerAction.downloadExample.Y_n81i"));
}
if(stList.get(i).getServerState()==1){
stList.get(i).setServerDesc(getI18nText("i18n_ServerManagerAction.downloadExample.N_n81i"));
}
}
String[] title = { getI18nText("i18n_ServerManagerAction.downloadExample.serverName_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.serverIp_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.title1.createTime_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.title1.isOnline_n81i") };
String[] colu = { "serverName", "serverIp","createTime","serverDesc"};
String url = "serverManager.do?action=query&sn="+sn+"&si="+si+"&pageSize="+pageSize+"&pageNo="+pageNo;
ExportUtils m = new ExportUtils();
m.setAutoSizeColumn(true);
m.exportExcel(url,getI18nText("i18n_ServerManagerAction.downloadExample.serverInfoTable_n81i"), stList, title, colu);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 导出全部 程辉 2013-5-8新增
public String emportAllXls() {
try {
String hql = "from ServerTable where 1=1 ";
String sqlCondition = "where 1=1";// 将查询条件记录到操作日志中
if (StringUtils.isNotEmpty(sn)) {
hql += " and Upper(serverName) like '%" + sn.toUpperCase() + "%'";
sqlCondition += " and Upper(serverName) like '%" + sn.toUpperCase() + "%'";
}
if (StringUtils.isNotEmpty(si)) {
hql += " and serverIp like '%" + si + "%'";
sqlCondition += " and serverIp like '%" + si + "%'";
}
hql += "order by serverState";
List<ServerTable> stList = this.commonService.find(hql);
for(int i=0;i<stList.size();i++){
if(stList.get(i).getServerState()==0){
stList.get(i).setServerDesc(getI18nText("i18n_ServerManagerAction.downloadExample.Y_n81i"));
}
if(stList.get(i).getServerState()==1){
stList.get(i).setServerDesc(getI18nText("i18n_ServerManagerAction.downloadExample.N_n81i"));
}
}
String[] title = { getI18nText("i18n_ServerManagerAction.downloadExample.serverName_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.serverIp_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.title1.createTime_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.title1.isOnline_n81i") };
String[] colu = { "serverName", "serverIp","createTime","serverDesc"};
String url = "serverManager.do?action=query&sn="+sn+"&si="+si+"&pageSize="+pageSize+"&pageNo="+pageNo;
ExportUtils m = new ExportUtils();
m.setAutoSizeColumn(true);
m.exportExcel(url,getI18nText("i18n_ServerManagerAction.downloadExample.serverInfoTable_n81i"), stList, title, colu);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 修改页面导入 程辉 2013-5-9新增
public String importXlsUpdate() {
String errorInfo = "";
try {
List<String> headerList = new ArrayList<String>();
List<List<String>> rowList = new ArrayList<List<String>>();
List iplist = this.commonService.executeSQL("select * from server_ip_segment where server_id="+serverId);
if(null!=iplist&&iplist.size()>0&&operate.equals("all")){
this.commonService.executeSQLDelete("delete from server_ip_segment where server_id="+serverId);
}
Workbook workbook = null;
if (myFileUpdateFileName.endsWith(".xlsx")) {
workbook = new XSSFWorkbook(new FileInputStream(myFileUpdate));
} else {
// 创建对Excel工作簿文件的引用
workbook = new HSSFWorkbook(new FileInputStream(myFileUpdate));
}
// 创建对工作表的引用,得到表的第一页
Sheet sheet = workbook.getSheetAt(0);
// 读取左上端单元
// 记录存储数据条数
int count = 0;
// 记录读入excel数据条数
int sum = (sheet.getLastRowNum());
for (short i = 1; i <= sheet.getLastRowNum(); i++) {
ServerIpSegment serverIpSegment = new ServerIpSegment();
List<String> errorList = new ArrayList<String>();
Row row = sheet.getRow(i);
Cell cell_1 = row.getCell((short) 0);
Cell cell_2 = row.getCell((short) 1);
if ((null == cell_1 || 3 == cell_1.getCellType())
&& (null == cell_2 || 3 == cell_2.getCellType())) {
sum--;
}else {
// 起始IP
if (null == cell_1) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo7_n81i",i+"");
} else if (cell_1.getCellType() == Cell.CELL_TYPE_STRING) {
if ("".equals(cell_1.getStringCellValue())) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo7_n81i",i+"");
} else {
String startIp = cell_1.getStringCellValue()
.trim();
serverIpSegment.setStartIp(startIp);
Pattern patt = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
Matcher mat = patt.matcher(startIp);
if (!mat.matches()) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo8_n81i",i+"");
}
}
} else {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo9_n81i",i+"");
}
// 结束IP
if (null == cell_2) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo10_n81i",i+"");
} else if (cell_2.getCellType() == Cell.CELL_TYPE_STRING) {
if ("".equals(cell_2.getStringCellValue())) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo10_n81i",i+"");
} else {
String endIp = cell_2.getStringCellValue()
.trim();
serverIpSegment.setEndIp(endIp);
Pattern patt = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
Matcher mat = patt.matcher(endIp);
if (!mat.matches()) {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo11_n81i",i+"");
}
}
} else {
errorInfo += getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo12_n81i",i+"");
}
if ("".equals(errorInfo)) {// 保存节点
errorInfo = this.saveNodeUpdate(serverIpSegment);
}
if ("".equals(errorInfo)) {
count++;
} else {
errorList.add(serverIpSegment.getStartIp());
errorList.add(serverIpSegment.getEndIp());
errorList.add(errorInfo);
rowList.add(errorList);
errorInfo = "";
}
}
}
headerList.add(getI18nText("i18n_ServerManagerAction.downloadExample.startIp_n81i"));
headerList.add(getI18nText("i18n_ServerManagerAction.downloadExample.endIp_n81i"));
headerList.add(getI18nText("i18n_ServerManagerAction.downloadExample.errorInfo_n81i"));
this.getRequest().setAttribute("rowList", rowList);
this.getRequest().setAttribute("headerList", headerList);
if (count == sum && sum > 0) {
// this.getRequest().setAttribute("MSG", 1);
// return this.queryServerInfo();
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.success_n81i');this.location='serverManager.do?action=query'</script>");
return null;
} else if (sum == 0) {
this
.outHtmlString("<script>alert('i18n_ServerManagerAction.downloadExample.selectFileIsNull_n81i');history.back();</script>");
return null;
}
} catch (Exception e) {
e.printStackTrace();
}
return "showError";
}
private String saveNodeUpdate(ServerIpSegment serverIpSegment) {
String desc = "";
try {
// 保存节点信息
serverIpSegment.setStartIpn(IpCovert.ipToLong(serverIpSegment.getStartIp()));
serverIpSegment.setEndIpn(IpCovert.ipToLong(serverIpSegment.getEndIp()));
ServerTable serverTable = new ServerTable();
serverTable.setId(serverId);
serverIpSegment.setServerTable(serverTable);
if(serverIpSegment.getStartIpn()>serverIpSegment.getEndIpn()){
return getI18nText("i18n_ServerManagerAction.downloadExample.inputIpErr_n81i");
}
List objsList = commonService.executeSQL("select st.server_name,sis.start_ipn,sis.end_ipn from server_ip_segment sis left join server_table st on st.id = sis.server_id");
for(Object object : objsList){
Object[] obj =(Object[])object;
if(serverIpSegment.getStartIpn()>Long.parseLong(obj[2].toString())||serverIpSegment.getEndIpn()<Long.parseLong(obj[1].toString())){
}else{
return getI18nText("i18n_ServerManagerAction.downloadExample.serverIpRepeat_n81i")+":"+obj[0];
}
}
this.commonService.save(serverIpSegment);
} catch (Exception e) {
e.printStackTrace();
desc = getI18nText("i18n_ServerManagerAction.downloadExample.nodeInfoImportErr_n81i");
}
return desc;
}
// 修改页面导出 程辉 2013-5-9新增
public String emportXlsUpdate() {
try {
String sql = "select sis.start_ip,sis.end_ip from server_ip_segment sis left join server_table st on st.id = sis.server_id where st.server_state = 0 order by st.server_name desc";
List<ServerTable> st = this.commonService.executeSQL(sql);
String[] title = { getI18nText("i18n_ServerManagerAction.downloadExample.startIp_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.endIp_n81i") };
String[] colu = { "0", "1" };
ExportUtils m = new ExportUtils();
m.setAutoSizeColumn(true);
m.exportExcel(getI18nText("i18n_ServerManagerAction.downloadExample.serverDetecateInfo_n81i"), st, title, colu);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 修改页面模板下载 程辉 2013-5-9新增
public String downloadExampleUpdate() {
try {
/*String sql = "select sis.start_ip,sis.end_ip from server_ip_segment sis left join server_table st on st.id = sis.server_id where st.server_state = 0 and rownum<4 order by st.server_name desc";*/
String sql = "select sis.start_ip,sis.end_ip from server_ip_segment sis left join server_table st on st.id = sis.server_id where st.server_state = 0 ";
//@2018年4月10日18:45:00 fang 修改rownum 适配 mysql
if(Constant.IS_MYSQL){
sql = sql + " order by st.server_name desc limit 3";
}else{
sql = sql + " and rownum<4 order by st.server_name desc";
}
List<ServerTable> st = this.commonService.executeSQL(sql);
String[] title = { getI18nText("i18n_ServerManagerAction.downloadExample.startIp_n81i"),
getI18nText("i18n_ServerManagerAction.downloadExample.endIp_n81i") };
String[] colu = { "0", "1"};
ExportUtils m = new ExportUtils();
m.setAutoSizeColumn(true);
m.exportExcel(getI18nText("i18n_ServerManagerAction.downloadExample.serverDetecateInfo_n81i"), st, title, colu,"downloadExample");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public String stop(){
try {
if(ids !=null && ids.length>0){
for(int i= 0;i<ids.length;i++){
List serverList = this.commonService.find(
"from ServerTable where id=?", ids[i]);
if(serverList!=null && serverList.size()>0){
ServerTable st = (ServerTable)serverList.get(0);
st.setServerState(1l);
this.commonService.update(st);
//将更新操作写到操作日志中
this.addDBOperationRpt(commonService, "Server_Table", "UPDATE", st.getId());
ServerTable serverTable = (ServerTable) commonService.get(ServerTable.class, ids[i]);
//将DC变更发送到DC
this.sendDataControllerReset(ids[i], serverTable.getServerIp(), commonService);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.success_n81i');" +
"this.location='serverManager.do?action=query&pageNo=" + pageNo +
"&pageSize=" + pageSize + "'</script>");
return null;
}
public String start(){
try {
if(ids !=null && ids.length>0){
for(int i= 0;i<ids.length;i++){
List serverList = this.commonService.find(
"from ServerTable where id=?", ids[i]);
if(serverList!=null && serverList.size()>0){
ServerTable st = (ServerTable)serverList.get(0);
st.setServerState(0l);
this.commonService.update(st);
//将更新操作写到操作日志中
this.addDBOperationRpt(commonService, "Server_Table", "UPDATE", st.getId());
ServerTable serverTable = (ServerTable) commonService.get(ServerTable.class, ids[i]);
//将DC变更发送到DC
this.sendDataControllerReset(ids[i], serverTable.getServerIp(), commonService);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.success_n81i');" +
"this.location='serverManager.do?action=query&pageNo=" + pageNo +
"&pageSize=" + pageSize + "'</script>");
return null;
}
public String showDetail(){
if(serverId ==null){
if(ids!=null && ids.length>0){
serverId = ids[0];
}else{
this.outHtmlString("<script>alert('i18n_ServerManagerAction.downloadExample.dataIdInvalid_n81i');history.back();</script>");
return null;
}
}
try {
// objsList = commonService.executeSQL("select sis.id,sis.server_id,st.server_name,st.server_state,sis.start_ip,sis.start_ipn,sis.end_ip,sis.end_ipn from server_ip_segment sis left join server_table st on st.id = sis.server_id where sis.server_id <> "+serverId);
objsList = commonService.executeSQL("select sis.id,sis.server_id,st.server_name,st.server_state,sis.start_ip,sis.start_ipn,sis.end_ip,sis.end_ipn from server_ip_segment sis left join server_table st on st.id = sis.server_id where sis.server_id = "+serverId);
// getRequest().setAttribute("objsList1", objsList1);
serverTable = (ServerTable) commonService.get(ServerTable.class, serverId);
} catch (Exception e) {
e.printStackTrace();
}
return "showDetail";
}
public String queryServerInfo(){
try {
String hql = "from ServerTable where 1=1 ";
String sqlCondition = "where 1=1";// 将查询条件记录到操作日志中
if (StringUtils.isNotEmpty(sn)) {
hql += " and Upper(serverName) like '%" + sn.toUpperCase() + "%'";
sqlCondition += " and Upper(serverName) like '%" + sn.toUpperCase() + "%'";
}
if (StringUtils.isNotEmpty(si)) {
hql += " and serverIp like '%" + si + "%'";
sqlCondition += " and serverIp like '%" + si + "%'";
}
hql += "order by serverState";
page = this.commonService.findByPage(hql, pageNo,pageSize);
stList = (ArrayList<ServerTable>)page.getResult();
// 将查询请求记入到操作日志表中
this.addDBOperationRpt(commonService, sqlCondition, "ServerTable");
} catch (Exception e) {
e.printStackTrace();
}
return "queryServerInfo";
}
public String openAdd(){
try {
objsList = commonService.executeSQL("select sis.id,sis.server_id,st.server_name,st.server_state,sis.start_ip,sis.start_ipn,sis.end_ip,sis.end_ipn from server_ip_segment sis left join server_table st on st.id = sis.server_id");
} catch (Exception e) {
e.printStackTrace();
}
return "openAddServerInfo";
}
public void ajaxCheck(){
List list;
try {
list = commonService.find("from ServerTable where serverIp = ? or serverName = ? ", serverTable.getServerIp(),serverTable.getServerName());
if(list!=null && list.size()>0){
this.outString("error");
return ;
}
} catch (Exception e) {
e.printStackTrace();
logger.info("新增DC范围配置校验异常", e);
this.outString("exception");
}
this.outString("success");
}
public String doAdd(){
try {
/*List list = commonService.find("from ServerTable where serverIp = ? or serverName = ? ", serverTable.getServerIp(),serverTable.getServerName());
if(list!=null && list.size()>0){
this.outHtmlString("<script>alert('服务器名称或IP已存在不可重复请修改');history.back();</script>");
return null;
}*/
serverTable.setServerState(0l);
serverTable.setCreateTime(new Date());
serverTable.setServerIpn(IpCovert.ipToLong(serverTable.getServerIp()));
commonService.save(serverTable);
// 将新增操作写到操作日志中
this.addDBOperationRpt(commonService,"server_table", "INSERT", serverTable.getId());
if(sisList!=null){
for(ServerIpSegment segment : sisList){
if(segment!=null){
System.out.println(segment.getStartIp()+" "+segment.getEndIp());
segment.setServerTable(serverTable);
segment.setStartIpn(IpCovert.ipToLong(segment.getStartIp()));
segment.setEndIpn(IpCovert.ipToLong(segment.getEndIp()));
commonService.save(segment);
// 将新增操作写到操作日志中
this.addDBOperationRpt(commonService,"server_ip_segment", "INSERT", segment.getId());
}
}
}
//将DC变更发送到DC
this.sendDataControllerReset(serverTable.getId(), serverTable.getServerIp(), commonService);
} catch (Exception e) {
e.printStackTrace();
logger.info("DC范围配置新增失败", e);
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.faild_n81i');" +
"this.location='serverManager!executeAction.do?action=openAdd&pageNo=" + pageNo +
"&pageSize=" + pageSize + "'</script>");
}
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.success_n81i');" +
"this.location='serverManager.do?action=query&pageNo=" + pageNo +
"&pageSize=" + pageSize + "'</script>");
return null;
}
public String openUpdate(){
if(serverId ==null){
if(ids!=null && ids.length>0){
serverId = ids[0];
}else{
this.outHtmlString("<script>alert('i18n_ServerManagerAction.downloadExample.dataIdInvalid_n81i');history.back();</script>");
return null;
}
}
try {
objsList = commonService.executeSQL("select sis.id,sis.server_id,st.server_name,st.server_state,sis.start_ip,sis.start_ipn,sis.end_ip,sis.end_ipn from server_ip_segment sis left join server_table st on st.id = sis.server_id where sis.server_id <> "+serverId);
List objsList1 = commonService.executeSQL("select sis.id,sis.server_id,st.server_name,st.server_state,sis.start_ip,sis.start_ipn,sis.end_ip,sis.end_ipn from server_ip_segment sis left join server_table st on st.id = sis.server_id where sis.server_id = "+serverId);
getRequest().setAttribute("objsList1", objsList1);
serverTable = (ServerTable) commonService.get(ServerTable.class, serverId);
} catch (Exception e) {
e.printStackTrace();
}
return "openUpdateServerInfo";
}
// public String deleteIpSegment(){
// try {
// String dids = getRequest().getParameter("dids");
// String sid = getRequest().getParameter("sid");
// List<ServerTable> serverTableList =commonService.find("from ServerTable where id in (select sis.serverTable.id from ServerIpSegment sis where sis.id in("+dids+"))");
//
// if(StringUtils.isNotBlank(dids)){
// commonService.delete("delete from ServerIpSegment sis where sis.id in ("+dids+")");
// }
//
// for(ServerTable table :serverTableList){
// //将DC变更发送到DC
// this.sendDataControllerReset(table.getId(), table.getServerIp(), commonService);
// }
// } catch (Exception e) {
// e.printStackTrace();
// outHtmlString("1");
// return null;
// }
// outHtmlString("0");
// return null;
// }
public void checkUpdate(){
List list;
try {
list = commonService.find("from ServerTable where (serverIp = ? or serverName = ?) and id <> ?", serverTable.getServerIp(),serverTable.getServerName(),serverTable.getId());
if(list!=null && list.size()>0){
this.outString("error");
return ;
}
} catch (Exception e) {
e.printStackTrace();
logger.info("修改DC范围配置校验异常",e);
this.outString("exception");
}
this.outString("success");
}
public String doUpdate(){
try {
/*List list = commonService.find("from ServerTable where (serverIp = ? or serverName = ?) and id <> ?", serverTable.getServerIp(),serverTable.getServerName(),serverTable.getId());
if(list!=null && list.size()>0){
this.outHtmlString("<script>alert('服务器名称或IP已存在不可重复请修改');history.back();</script>");
return null;
}*/
//判断前台有无删除操作 若有在提交时删除数据
if (null != dids && !dids.equals("")) {
List<ServerTable> serverTableList = commonService
.find("from ServerTable where id in (select sis.serverTable.id from ServerIpSegment sis where sis.id in("
+ dids + "))");
if (StringUtils.isNotBlank(dids)) {
commonService
.delete("delete from ServerIpSegment sis where sis.id in ("
+ dids + ")");
System.out
.println("删除sql语句"
+ "delete from ServerIpSegment sis where sis.id in ("
+ dids + ")");
}
for (ServerTable table : serverTableList) {
// 将DC变更发送到DC
this.sendDataControllerReset(table.getId(), table
.getServerIp(), commonService);
}
}
ServerTable table = (ServerTable) commonService.get(ServerTable.class,serverTable.getId());
table.setServerName(serverTable.getServerName());
table.setServerDesc(serverTable.getServerDesc());
table.setServerState(serverTable.getServerState());
String oldIP = table.getServerIp();
String newIP = serverTable.getServerIp();
table.setServerIp(serverTable.getServerIp());
table.setServerIpn(IpCovert.ipToLong(serverTable.getServerIp()));
commonService.update(table);
// 将更新操作写到操作日志中
this.addDBOperationRpt(commonService,"server_table", "UPDATE", table.getId());
// System.out.println("sisList length is "+ sisList.size());
if(sisList!=null){
for(ServerIpSegment segment : sisList){
if(segment!=null){
System.out.println("新增元素:"+segment.getStartIp()+" "+segment.getEndIp());
segment.setServerTable(serverTable);
segment.setStartIpn(IpCovert.ipToLong(segment.getStartIp()));
segment.setEndIpn(IpCovert.ipToLong(segment.getEndIp()));
commonService.save(segment);
// 将新增操作写到操作日志中
this.addDBOperationRpt(commonService,"server_ip_segment", "INSERT", segment.getId());
}
}
}
//待完善web 控制DC的业务
if(oldIP!= null && oldIP.equals(newIP)){
//将DC变更发送到DC
this.sendDataControllerReset(table.getId(), newIP, commonService);
}else{
//将DC变更发送到DC
this.sendDataControllerReset(table.getId(), newIP, commonService);
//将DC变更发送到DC
// this.sendDataControllerReset(table.getId(), oldIP, commonService);
}
} catch (Exception e) {
e.printStackTrace();
logger.info("DC范围配置修改失败",e);
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.faild_n81i');" +
"this.location='serverManager.do?action=query&pageNo=" + pageNo +
"&pageSize=" + pageSize + "'</script>");
return null;
}
outHtmlString("<script type=\"text/javascript\">alert('i18n_ServerManagerAction.downloadExample.success_n81i');" +
"this.location='serverManager.do?action=query&pageNo=" + pageNo +
"&pageSize=" + pageSize + "'</script>");
return null;
}
public CommonService getCommonService() {
return commonService;
}
public void setCommonService(CommonService commonService) {
this.commonService = commonService;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public Page getPage() {
return page;
}
public void setPage(Page page) {
this.page = page;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public ServerTable getServerTable() {
return serverTable;
}
public void setServerTable(ServerTable serverTable) {
this.serverTable = serverTable;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getSi() {
return si;
}
public void setSi(String si) {
this.si = si;
}
public List<ServerTable> getStList() {
return stList;
}
public void setStList(List<ServerTable> stList) {
this.stList = stList;
}
public List<ServerIpSegment> getSisList() {
return sisList;
}
public void setSisList(List<ServerIpSegment> sisList) {
this.sisList = sisList;
}
public Long getServerId() {
return serverId;
}
public void setServerId(Long serverId) {
this.serverId = serverId;
}
public List getObjsList() {
return objsList;
}
public void setObjsList(List objsList) {
this.objsList = objsList;
}
}