package com.wgcloud.controller;
|
|
import com.github.pagehelper.PageInfo;
|
import com.wgcloud.config.CommonConfig;
|
import com.wgcloud.entity.AccountInfo;
|
import com.wgcloud.entity.Equipment;
|
import com.wgcloud.service.AccountInfoService;
|
import com.wgcloud.service.EquipmentService;
|
import com.wgcloud.service.LogInfoService;
|
import com.wgcloud.util.HostUtil;
|
import com.wgcloud.util.PageUtil;
|
import com.wgcloud.util.staticvar.StaticKeys;
|
import org.apache.commons.lang3.StringUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* @version v3.3
|
* @ClassName:EquipmentController.java
|
* @author: http://www.wgstart.com
|
* @date: 2021年1月16日
|
* @Description: 资产管理
|
* @Copyright: 2019-2021 wgcloud. All rights reserved.
|
*/
|
@Controller
|
@RequestMapping("/equipment")
|
public class EquipmentController {
|
|
|
private static final Logger logger = LoggerFactory.getLogger(EquipmentController.class);
|
|
@Resource
|
private EquipmentService equipmentService;
|
@Resource
|
private AccountInfoService accountInfoService;
|
@Resource
|
private LogInfoService logInfoService;
|
@Autowired
|
private CommonConfig commonConfig;
|
|
|
/**
|
* 根据条件查询设备列表
|
*
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "list")
|
public String equipmentList(Equipment equipment, Model model, HttpServletRequest request) {
|
Map<String, Object> params = new HashMap<String, Object>();
|
try {
|
|
StringBuffer url = new StringBuffer();
|
String hostname = null;
|
if (!StringUtils.isEmpty(equipment.getName())) {
|
hostname = equipment.getName();
|
params.put("name", hostname.trim());
|
url.append("&name=").append(hostname);
|
}
|
if (!StringUtils.isEmpty(equipment.getAccount())) {
|
params.put("account", equipment.getAccount());
|
url.append("&account=").append(equipment.getAccount());
|
}
|
|
//校验是否需要添加过滤用户查询条件
|
HostUtil.addAccountquery(request, params);
|
|
PageInfo pageInfo = equipmentService.selectByParams(params, equipment.getPage(), equipment.getPageSize());
|
PageUtil.initPageNumber(pageInfo, model);
|
|
//设置用户列表
|
HostUtil.addAccountListModel(model);
|
|
model.addAttribute("pageUrl", "/equipment/list?1=1" + url.toString());
|
model.addAttribute("page", pageInfo);
|
model.addAttribute("equipment", equipment);
|
} catch (Exception e) {
|
logger.error("查询资产信息错误", e);
|
logInfoService.save("查询资产信息错误", e.toString(), StaticKeys.LOG_XTCZ);
|
|
}
|
return "equipment/list";
|
}
|
|
|
/**
|
* 保存设备信息
|
*
|
* @param Equipment
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "save")
|
public String saveEquipment(Equipment Equipment, Model model, HttpServletRequest request) {
|
try {
|
if (StringUtils.isEmpty(Equipment.getId())) {
|
AccountInfo accountInfo = HostUtil.getAccountByRequest(request);
|
if (null != accountInfo) {
|
if (!StaticKeys.ROLE_ADMIN.equals(accountInfo.getRole())) {
|
Equipment.setAccount(accountInfo.getAccount());
|
}
|
}
|
equipmentService.save(Equipment);
|
equipmentService.saveLog(request, StaticKeys.LOG_ADD, Equipment);
|
} else {
|
equipmentService.updateById(Equipment);
|
equipmentService.saveLog(request, StaticKeys.LOG_UPDATE, Equipment);
|
}
|
} catch (Exception e) {
|
logger.error("保存资产错误", e);
|
logInfoService.save("保存资产错误", e.toString(), StaticKeys.LOG_XTCZ);
|
}
|
return "redirect:/equipment/list";
|
}
|
|
/**
|
* 添加
|
*
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "edit")
|
public String edit(Model model, HttpServletRequest request) {
|
String errorMsg = "添加资产";
|
String id = request.getParameter("id");
|
Equipment Equipment = new Equipment();
|
try {
|
if (StringUtils.isEmpty(id)) {
|
model.addAttribute("equipment", Equipment);
|
|
return "equipment/add";
|
}
|
Equipment = equipmentService.selectById(id);
|
model.addAttribute("equipment", Equipment);
|
} catch (Exception e) {
|
logger.error(errorMsg, e);
|
logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ);
|
}
|
return "equipment/add";
|
}
|
|
|
/**
|
* 查看该应用统计图
|
*
|
* @param model
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "view")
|
public String viewChart(Model model, HttpServletRequest request) {
|
String errorMsg = "查看资产信息错误";
|
String id = request.getParameter("id");
|
Equipment Equipment = new Equipment();
|
try {
|
Equipment = equipmentService.selectById(id);
|
model.addAttribute("equipment", Equipment);
|
} catch (Exception e) {
|
logger.error(errorMsg, e);
|
logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ);
|
}
|
return "equipment/view";
|
}
|
|
|
/**
|
* 删除设备
|
*
|
* @param id
|
* @param model
|
* @param request
|
* @param redirectAttributes
|
* @return
|
*/
|
@RequestMapping(value = "del")
|
public String delete(Model model, HttpServletRequest request, RedirectAttributes redirectAttributes) {
|
String errorMsg = "删除资产信息错误";
|
Equipment Equipment = new Equipment();
|
try {
|
if (!StringUtils.isEmpty(request.getParameter("id"))) {
|
String[] ids = request.getParameter("id").split(",");
|
for (String id : ids) {
|
Equipment = equipmentService.selectById(id);
|
equipmentService.saveLog(request, StaticKeys.LOG_DEL, Equipment);
|
}
|
equipmentService.deleteById(ids);
|
}
|
} catch (Exception e) {
|
logger.error(errorMsg, e);
|
logInfoService.save(errorMsg, e.toString(), StaticKeys.LOG_XTCZ);
|
}
|
return "redirect:/equipment/list";
|
}
|
|
}
|