package com.jeesite.modules.tianHong.web; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.jeesite.common.entity.Page; import com.jeesite.common.web.BaseController; import com.jeesite.modules.tianHong.entity.MachineAttrState; import com.jeesite.modules.tianHong.service.MachineAttrStateService; /** * 设备实时属性Controller * 对应 bzh 库 machine_attr_state 表,关联温度/压力/电量等实时表 * @author ljr * @version 2026-07-07 */ @Controller @RequestMapping(value = "${adminPath}/tianHong/machineAttrState") public class MachineAttrStateController extends BaseController { @Autowired private MachineAttrStateService machineAttrStateService; /** * 获取数据 * @param id 设备号(eqp_id),仅 form 表单请求时传入 */ @ModelAttribute public MachineAttrState get(String id, boolean isNewRecord) { // listData 等列表请求不传 id,直接返回空对象,避免在 @ModelAttribute 阶段执行不必要的查询 if (isNewRecord || id == null || id.isEmpty()) { return new MachineAttrState(); } MachineAttrState query = new MachineAttrState(); query.setEqpId(id); MachineAttrState entity = machineAttrStateService.get(query); if (entity == null) { entity = new MachineAttrState(); entity.setEqpId(id); } return entity; } /** * 查询列表页面 */ @RequiresPermissions("tianHong:machineAttrState:view") @RequestMapping(value = { "list", "" }) public String list(MachineAttrState machineAttrState, Model model) { model.addAttribute("machineAttrState", machineAttrState); return "modules/tianHong/machineAttrStateList"; } /** * 查询列表数据(按 eqp_id 聚合) */ @RequiresPermissions("tianHong:machineAttrState:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MachineAttrState machineAttrState, HttpServletRequest request, HttpServletResponse response) { machineAttrState.setPage(new Page<>(request, response)); Page page = machineAttrStateService.findPage(machineAttrState); return page; } /** * 查询指定设备的所有属性明细(用于详情模态框) */ @RequiresPermissions("tianHong:machineAttrState:view") @RequestMapping(value = "attrListData") @ResponseBody public List attrListData(String eqpId) { MachineAttrState query = new MachineAttrState(); query.setEqpId(eqpId); return machineAttrStateService.findAttrList(query); } /** * 查看详情页面 */ @RequiresPermissions("tianHong:machineAttrState:view") @RequestMapping(value = "form") public String form(MachineAttrState machineAttrState, Model model) { model.addAttribute("machineAttrState", machineAttrState); return "modules/tianHong/machineAttrStateForm"; } }