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
2018-09-27 16:21:05 +08:00

1052 lines
36 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}