package edu.sjtu.infosec.ismp.manager.AM.web.actions;
import java.sql.Timestamp;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import edu.sjtu.infosec.ismp.manager.AIM.service.SendAlertService;
import edu.sjtu.infosec.ismp.manager.AM.model.AssetChangeLogBO;
import edu.sjtu.infosec.ismp.manager.AM.model.AssetDeviceBO;
import edu.sjtu.infosec.ismp.manager.AM.service.AssetChangeLogService;
import edu.sjtu.infosec.ismp.manager.AM.service.AssetDeviceService;
import edu.sjtu.infosec.ismp.manager.AM.web.form.AssetChangeLogForm;
import edu.sjtu.infosec.ismp.manager.comm.model.page.Page;
import edu.sjtu.infosec.ismp.manager.comm.model.page.PageResult;
import edu.sjtu.infosec.ismp.manager.comm.model.page.PageUtil;
import edu.sjtu.infosec.ismp.security.Domain;
public class AssetChangeLogAction extends DispatchAction {
private AssetChangeLogService assetChangeLogService;
private SendAlertService sendAlertService;
private AssetDeviceService assetDeviceService;
public void setSendAlertService(SendAlertService sendAlertService) {
this.sendAlertService = sendAlertService;
}
public void setAssetDeviceService(AssetDeviceService assetDeviceService) {
this.assetDeviceService = assetDeviceService;
}
public void setAssetChangeLogService(
AssetChangeLogService assetChangeLogService) {
this.assetChangeLogService = assetChangeLogService;
}
public ActionForward searchChangeLog(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String id = request.getParameter("chid");
request.setAttribute("locid", request.getParameter("locid"));
request.setAttribute("typeid", request.getParameter("typeid"));
request.setAttribute("chid", request.getParameter("chid"));
String scurpage = request.getParameter("curpage") == null ? "0"
: request.getParameter("curpage");
if(null!=request.getAttribute("curpage") && !("").equals(request.getAttribute("curpage"))){
scurpage=(String)request.getAttribute("curpage");
}
System.out.println("========="+scurpage);
AssetChangeLogBO bean = new AssetChangeLogBO();
Integer sid = null;
if (id != null&&!"".equals(id.trim()))
sid = Integer.valueOf(id);
else if (request.getAttribute("deviceId") != null) {
sid = Integer.valueOf((String) request.getAttribute("deviceId"));
request.setAttribute("deviceId", request.getParameter("deviceId"));
}
if (sid != null)
bean.setDeviceId(sid);
int count = assetChangeLogService.getListByAssetChangeLog(bean).size();
Page page = PageUtil.createPage(10, 1, count);
page.setCurrentPage(Integer.parseInt(scurpage));
// AssetChangeLogForm changeLogForm = (AssetChangeLogForm)form;
PageResult result = assetChangeLogService.getPageListByAssetChangeLog(
bean, page);
request.setAttribute("changelogList", result.getPageList());
request.setAttribute("page", result.getPage());
if (sid != null)
request.setAttribute("deviceId", sid);
return mapping.findForward("changelogList");
}
public ActionForward searchAll(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String id = null;
if (request.getParameter("id") != null) {
id = request.getParameter("id");
}
if (request.getAttribute("id") != null) {
id = request.getAttribute("id").toString();
}
request.setAttribute("id", id);
String scurpage = request.getParameter("curpage") == null ? "1"
: request.getParameter("curpage");
AssetChangeLogBO bean = new AssetChangeLogBO();
Integer sid = null;
if (id != null) {
sid = Integer.parseInt(id);
bean.setDeviceId(sid);
}
int count = assetChangeLogService.getListByAssetChangeLog(bean).size();
Page page = PageUtil.createPage(10, 1, count);
page.setCurrentPage(Integer.parseInt(scurpage));
// AssetChangeLogForm changeLogForm = (AssetChangeLogForm)form;
PageResult result = assetChangeLogService.getPageListByAssetChangeLog(
bean, page);
request.setAttribute("changelogList", result.getPageList());
request.setAttribute("page", result.getPage());
request.setAttribute("id", sid);
return mapping.findForward("changelog");
}
public ActionForward addChangeLog(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//System.out.print(WebConfigContent.mailAddress + ">>>" + WebConfigContent.mailFrom + ">>>" + WebConfigContent.mailPassword + ">>>" + WebConfigContent.mmsIp +">>>" + WebConfigContent.mmsPort);
String devId = request.getParameter("chid");
AssetChangeLogForm forms = (AssetChangeLogForm) form;
AssetChangeLogBO bean = new AssetChangeLogBO();
bean.setCreateTime(new Timestamp(System.currentTimeMillis()));
bean.setStatusAfter(forms.getStatusAfter());
bean.setStatusBefore(forms.getStatusBefore());
Integer deviceId = null;
if(devId != null && !"".equals(devId.trim()))
deviceId = Integer.valueOf(devId);
bean.setDeviceId(deviceId);
assetChangeLogService.saveAssetChangeLog(bean);
AssetDeviceBO device = assetDeviceService.findById(deviceId);
Domain department = new Domain();
if(device.getLocationId()!= null){
department.setId(device.getLocationId());
}
if(device != null && device.getName() != null && !"".equals(device.getName().trim()))
// sendAlertService.sendAlertService(1, "资产管理", "资产信息变动", null, device.getName()+"有新的资产变动信息!" + "变更后:" + bean.getStatusAfter(), null, null, "事件报告", WebConfigContent.mailAddress, WebConfigContent.mailFrom, WebConfigContent.mailPassword, WebConfigContent.mmsIp,WebConfigContent.mmsPort,department);
request.setAttribute("locid", request.getParameter("locid"));
request.setAttribute("typid", request.getParameter("typeid"));
request.setAttribute("chid", request.getParameter("chid"));
request.setAttribute("curpage", request.getParameter("curpage"));
return searchChangeLog(mapping, form, request, response);
}
// 删除变动信息
public ActionForward delChangeLog(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String logstr[] = request.getParameterValues("checkboxLog");
request.setAttribute("id", request.getParameter("id"));
if (null != logstr && logstr.length > 0) {
for (String string : logstr) {
Integer lid = Integer.parseInt(string);
AssetChangeLogBO asseclb = new AssetChangeLogBO();
asseclb.setId(lid);
AssetChangeLogBO aclb = assetChangeLogService
.getAssetChangeLog(lid);
if (null != aclb) {
assetChangeLogService.deleteAssetChangeLog(aclb);
}
}
}
String id = request.getParameter("deviceId");
String scurpage = request.getParameter("curpage") == null ? "0"
: request.getParameter("curpage");
AssetChangeLogBO bean = new AssetChangeLogBO();
Integer sid = null;
if (id != null)
sid = Integer.valueOf(id);
else if (request.getAttribute("devId") != null) {
sid = Integer.valueOf((String) request.getAttribute("devId"));
request.removeAttribute("devId");
}
if (sid != null)
bean.setDeviceId(sid);
int count = assetChangeLogService.getListByAssetChangeLog(bean).size();
Page page = PageUtil.createPage(10, 1, count);
page.setCurrentPage(Integer.parseInt(scurpage));
// AssetChangeLogForm changeLogForm = (AssetChangeLogForm)form;
PageResult result = assetChangeLogService.getPageListByAssetChangeLog(
bean, page);
request.setAttribute("changelogList", result.getPageList());
request.setAttribute("page", result.getPage());
if (sid != null)
request.setAttribute("deviceId", sid);
// return mapping.findForward("changelogList");
return searchAll(mapping, form, request, response);
}
public ActionForward delLog(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Integer chid = Integer.parseInt(request.getParameter("logId"));
if (chid != null)
assetChangeLogService.deleteAssetChangeLog(assetChangeLogService
.getAssetChangeLog(chid));
request.setAttribute("locid", request.getParameter("locid"));
request.setAttribute("typid", request.getParameter("typeid"));
request.setAttribute("chid", request.getParameter("chid"));
request.setAttribute("curpage", request.getParameter("curpage"));
return searchChangeLog(mapping, form, request, response);
}
}