package com.jeesite.modules.mes.web; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import com.jeesite.common.cache.CacheUtils; import com.jeesite.common.collect.ListUtils; import com.jeesite.common.collect.MapUtils; import com.jeesite.modules.file.entity.FileEntity; import com.jeesite.modules.file.entity.FileUpload; import com.jeesite.modules.file.service.FileUploadService; import com.jeesite.modules.mes.entity.MesProcessAlarm; import com.jeesite.modules.mes.entity.MesTemplateItems; import com.jeesite.modules.mes.resp.CommonResp; import com.jeesite.modules.mes.resp.MesIconsResp; import com.jeesite.modules.mes.service.MesProcessAlarmService; import com.jeesite.modules.sys.utils.UserUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.jeesite.common.config.Global; import com.jeesite.common.entity.Page; import com.jeesite.common.web.BaseController; import com.jeesite.modules.mes.entity.MesIcons; import com.jeesite.modules.mes.service.MesIconsService; /** * 功能模块Controller * @author hzd * @version 2023-07-05 */ @Controller @RequestMapping(value = "${adminPath}/mes/mesIcons") public class MesIconsController extends BaseController { @Autowired private MesIconsService mesIconsService; @Resource protected FileUploadService fileUploadService; @Autowired private MesProcessAlarmService mesProcessAlarmService; /** * 获取数据 */ @ModelAttribute public MesIcons get(String id, boolean isNewRecord) { return mesIconsService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("mes:mesIcons:view") @RequestMapping(value = {"list", ""}) public String list(MesIcons mesIcons, Model model) { model.addAttribute("mesIcons", mesIcons); return "modules/mes/mesIconsList"; } /** * 查询列表数据 */ @RequiresPermissions("mes:mesIcons:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MesIcons mesIcons, HttpServletRequest request, HttpServletResponse response) { mesIcons.setPage(new Page<>(request, response)); Page page = mesIconsService.findPage(mesIcons); return page; } @RequestMapping(value = "icons") @ResponseBody public CommonResp icons(MesIcons mesIcons,HttpServletRequest req) { String host = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/js"; List list = mesIconsService.findList(mesIcons); List> mapList = ListUtils.newArrayList(); Subject subject = UserUtils.getSubject(); for (MesIcons mi : list) { if(subject.isPermitted(mi.getAuth())){ Map map = MapUtils.newHashMap(); map.put("title", mi.getTitle()); map.put("mode", mi.getMode()); // 获取图片 FileUpload fu = new FileUpload(); fu.setBizKey(mi.getId()); fu.setBizType("mesIcons_image"); List finfo = fileUploadService.findList(fu); if(finfo!=null&&finfo.size()>0){ map.put("img", host + finfo.get(0).getFileUrl()); }else{ map.put("img", host + ""); } mapList.add(map); } } CommonResp>> resp = new CommonResp<>(); resp.setData(mapList); resp.setResult(Global.TRUE); return resp; } // @RequestMapping(value = "icons") // @ResponseBody // public CommonResp icons(MesIcons mesIcons,HttpServletRequest req) { // CommonResp> resp = new CommonResp<>(); // String icons = CacheUtils.get("mes_icons","icons",""); // if(icons != null && !icons.isEmpty()){ // List lists1 = JSON.parseArray(icons,MesIconsResp.class); // if(!ListUtils.isEmpty(lists1)){ // resp.setData(lists1); // resp.setResult(Global.TRUE); // return resp; // } // } // // List mapList = ListUtils.newArrayList(); // String host = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/js"; // List list = mesIconsService.findList(mesIcons); // Subject subject = UserUtils.getSubject(); // for (MesIcons mi : list) { // if(subject.isPermitted(mi.getAuth())){ // MesIconsResp map = new MesIconsResp(); // map.setTitle(mi.getTitle()); // map.setMode(mi.getMode()); // map.setImg(""); // // 获取图片 // FileUpload fu = new FileUpload(); // fu.setBizKey(mi.getId()); // fu.setBizType("mesIcons_image"); // List finfo = fileUploadService.findList(fu); // if(ListUtils.isNotEmpty(finfo)){ // map.setImg(finfo.get(0).getFileUrl()); // } // mapList.add(map); // } // } // if(!ListUtils.isEmpty(mapList)){ // CacheUtils.put("mes_icons","icons",JSON.toJSONString(mapList)); // } // // resp.setData(mapList); // resp.setResult(Global.TRUE); // return resp; // } /** * 查看编辑表单 */ @RequiresPermissions("mes:mesIcons:view") @RequestMapping(value = "form") public String form(MesIcons mesIcons, Model model) { model.addAttribute("mesIcons", mesIcons); return "modules/mes/mesIconsForm"; } /** * 保存数据 */ @RequiresPermissions("mes:mesIcons:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated MesIcons mesIcons) { mesIconsService.save(mesIcons); return renderResult(Global.TRUE, text("保存功能模块成功!")); } /** * 停用数据 */ @RequiresPermissions("mes:mesIcons:edit") @RequestMapping(value = "disable") @ResponseBody public String disable(MesIcons mesIcons) { mesIcons.setStatus(MesIcons.STATUS_DISABLE); mesIconsService.updateStatus(mesIcons); return renderResult(Global.TRUE, text("停用功能模块成功")); } /** * 启用数据 */ @RequiresPermissions("mes:mesIcons:edit") @RequestMapping(value = "enable") @ResponseBody public String enable(MesIcons mesIcons) { mesIcons.setStatus(MesIcons.STATUS_NORMAL); mesIconsService.updateStatus(mesIcons); return renderResult(Global.TRUE, text("启用功能模块成功")); } /** * 删除数据 */ @RequiresPermissions("mes:mesIcons:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(MesIcons mesIcons) { mesIconsService.delete(mesIcons); return renderResult(Global.TRUE, text("删除功能模块成功!")); } }