MesProcessAlarmController.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. package com.jeesite.modules.mes.web;
  2. import java.util.List;
  3. import java.util.Map;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import com.jeesite.common.collect.ListUtils;
  7. import com.jeesite.common.collect.MapUtils;
  8. import com.jeesite.common.lang.ObjectUtils;
  9. import com.jeesite.common.lang.StringUtils;
  10. import com.jeesite.common.mybatis.mapper.query.QueryType;
  11. import com.jeesite.modules.file.entity.FileUpload;
  12. import com.jeesite.modules.file.service.FileUploadService;
  13. import com.jeesite.modules.mes.entity.*;
  14. import com.jeesite.modules.mes.resp.CommonResp;
  15. import com.jeesite.modules.mes.service.MesIconsService;
  16. import com.jeesite.modules.mes.service.MesLineProcessService;
  17. import com.jeesite.modules.mes.util.CommonUitl;
  18. import com.jeesite.modules.sys.utils.DictUtils;
  19. import com.jeesite.modules.sys.utils.UserUtils;
  20. import org.apache.shiro.authz.annotation.RequiresPermissions;
  21. import org.apache.shiro.subject.Subject;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.stereotype.Controller;
  24. import org.springframework.ui.Model;
  25. import org.springframework.validation.annotation.Validated;
  26. import org.springframework.web.bind.annotation.ModelAttribute;
  27. import org.springframework.web.bind.annotation.PostMapping;
  28. import org.springframework.web.bind.annotation.RequestMapping;
  29. import org.springframework.web.bind.annotation.ResponseBody;
  30. import com.jeesite.common.config.Global;
  31. import com.jeesite.common.entity.Page;
  32. import com.jeesite.common.web.BaseController;
  33. import com.jeesite.modules.mes.service.MesProcessAlarmService;
  34. /**
  35. * 报警记录Controller
  36. * @author hzd
  37. * @version 2025-05-12
  38. */
  39. @Controller
  40. @RequestMapping(value = "${adminPath}/mes/mesProcessAlarm")
  41. public class MesProcessAlarmController extends BaseController {
  42. @Autowired
  43. private MesProcessAlarmService mesProcessAlarmService;
  44. @Autowired
  45. private MesLineProcessService mesLineProcessService;
  46. @Autowired
  47. private FileUploadService fileUploadService;
  48. @Autowired
  49. private MesIconsService mesIconsService;
  50. /**
  51. * 获取数据
  52. */
  53. @ModelAttribute
  54. public MesProcessAlarm get(String id, boolean isNewRecord) {
  55. return mesProcessAlarmService.get(id, isNewRecord);
  56. }
  57. /**
  58. * 查询列表
  59. */
  60. @RequiresPermissions("mes:mesProcessAlarm:view")
  61. @RequestMapping(value = {"list", ""})
  62. public String list(MesProcessAlarm mesProcessAlarm, Model model) {
  63. model.addAttribute("mesProcessAlarm", mesProcessAlarm);
  64. return "modules/mes/mesProcessAlarmList";
  65. }
  66. /**
  67. * 查询列表数据
  68. */
  69. @RequiresPermissions("mes:mesProcessAlarm:view")
  70. @RequestMapping(value = "listData")
  71. @ResponseBody
  72. public Page<MesProcessAlarm> listData(MesProcessAlarm mesProcessAlarm, HttpServletRequest request, HttpServletResponse response) {
  73. mesProcessAlarm.setPage(new Page<>(request, response));
  74. Page<MesProcessAlarm> page = mesProcessAlarmService.findPage(mesProcessAlarm);
  75. return page;
  76. }
  77. /**
  78. * 查看编辑表单
  79. */
  80. @RequiresPermissions("mes:mesProcessAlarm:view")
  81. @RequestMapping(value = "form")
  82. public String form(MesProcessAlarm mesProcessAlarm, Model model) {
  83. model.addAttribute("mesProcessAlarm", mesProcessAlarm);
  84. return "modules/mes/mesProcessAlarmForm";
  85. }
  86. /**
  87. * 保存数据
  88. */
  89. @RequiresPermissions("mes:mesProcessAlarm:edit")
  90. @PostMapping(value = "save")
  91. @ResponseBody
  92. public String save(@Validated MesProcessAlarm mesProcessAlarm) {
  93. mesProcessAlarmService.save(mesProcessAlarm);
  94. return renderResult(Global.TRUE, text("保存报警记录成功!"));
  95. }
  96. @PostMapping(value = "add")
  97. @ResponseBody
  98. public String add(@Validated MesProcessAlarm mesProcessAlarm, HttpServletRequest request) {
  99. String ucode = CommonUitl.resolveUserCode(request.getParameter("ucode"));
  100. mesProcessAlarm.setCreateBy(ucode);
  101. mesProcessAlarm.setUpdateBy(ucode);
  102. mesProcessAlarm.setRemark("设备报警");
  103. if(CommonUitl.formatOprno(mesProcessAlarm.getOprno()).equals("OP180") || CommonUitl.formatOprno(mesProcessAlarm.getOprno()).equals("OP190")){
  104. String stop = Global.getConfig("mes.device.stop");
  105. if(stop.equals("1")){
  106. // CNC报警设备停机,PDA确认后才能扫下一件
  107. MesLineProcess mesLineProcess = new MesLineProcess();
  108. mesLineProcess.setOprno(mesProcessAlarm.getOprno());
  109. mesLineProcess.setStatus("0");
  110. MesLineProcess mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
  111. if(!ObjectUtils.isEmpty(mesLineProcess1)){
  112. mesLineProcess1.setStop(4);
  113. mesLineProcessService.updateStatus(mesLineProcess1);
  114. }
  115. }
  116. }
  117. mesProcessAlarmService.save(mesProcessAlarm);
  118. return renderResult(Global.TRUE, text("操作成功!"));
  119. }
  120. // @RequiresPermissions("mes:mesProcessAlarm:api")
  121. @RequestMapping(value = "alarms")
  122. @ResponseBody
  123. public CommonResp alarms(HttpServletRequest request, HttpServletResponse response) {
  124. CommonResp<Page<MesProcessAlarm>> resp = new CommonResp<>();
  125. MesProcessAlarm mesLineProcess = new MesProcessAlarm();
  126. mesLineProcess.setPage(new Page<>(request, response));
  127. Page<MesProcessAlarm> page = mesProcessAlarmService.findPage(mesLineProcess);
  128. resp.setData(page);
  129. resp.setResult(Global.TRUE);
  130. return resp;
  131. }
  132. @RequestMapping(value = "wclCount")
  133. @ResponseBody
  134. public CommonResp wclCount(HttpServletRequest req) {
  135. CommonResp<String> resp = new CommonResp<>();
  136. MesProcessAlarm mesLineProcess = new MesProcessAlarm();
  137. mesLineProcess.setState("0");
  138. Long count = mesProcessAlarmService.findCount(mesLineProcess);
  139. resp.setData(count+"");
  140. resp.setResult(Global.TRUE);
  141. return resp;
  142. }
  143. // @RequiresPermissions("mes:mesProcessAlarm:api")
  144. @RequestMapping(value = "detail")
  145. @ResponseBody
  146. public CommonResp detail(MesProcessAlarm mesProcessAlarm, HttpServletRequest req) {
  147. CommonResp<MesProcessAlarm> resp = new CommonResp<>();
  148. if(org.springframework.util.ObjectUtils.isEmpty(mesProcessAlarm)){
  149. resp.setResult(Global.FALSE);
  150. resp.setMessage("记录不存在");
  151. return resp;
  152. }
  153. String host = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/js";
  154. FileUpload fu = new FileUpload();
  155. fu.setBizKey(mesProcessAlarm.getId());
  156. fu.setBizType("mesProcessAlarm_image");
  157. List<FileUpload> finfo = fileUploadService.findList(fu);
  158. List imgList = ListUtils.newArrayList();
  159. for (FileUpload fi:finfo){
  160. Map<String, Object> map1 = MapUtils.newHashMap();
  161. map1.put("id",fi.getFileEntity().getFileId());
  162. map1.put("url",host + fi.getFileUrl());
  163. map1.put("name",fi.getFileName());
  164. map1.put("size",fi.getFileEntity().getFileSize());
  165. imgList.add(map1);
  166. }
  167. mesProcessAlarm.setImgList(imgList);
  168. resp.setData(mesProcessAlarm);
  169. resp.setResult(Global.TRUE);
  170. return resp;
  171. }
  172. // @RequiresPermissions("mes:mesProcessAlarm:api")
  173. @PostMapping(value = "deal")
  174. @ResponseBody
  175. public String deal(@Validated MesProcessAlarm mesProcessAlarm) {
  176. if(StringUtils.isEmpty(mesProcessAlarm.getContent())){
  177. return renderResult(Global.FALSE, text("请输入处理说明!"));
  178. }
  179. mesProcessAlarm.setState("1");
  180. mesProcessAlarmService.save(mesProcessAlarm);
  181. return renderResult(Global.TRUE, text("操作成功!"));
  182. }
  183. @PostMapping(value = "alarmCount")
  184. @ResponseBody
  185. public CommonResp<String> alarmCount() {
  186. MesIcons mesIcons = new MesIcons();
  187. List<MesIcons> list = mesIconsService.findList(mesIcons);
  188. Subject subject = UserUtils.getSubject();
  189. String auth = "0";
  190. for (MesIcons mi : list) {
  191. if(mi.getMode().equals("58") && subject.isPermitted(mi.getAuth())){
  192. auth = "1";
  193. break;
  194. }
  195. }
  196. Long count = Long.valueOf("0");
  197. if(auth.equals("1")){
  198. MesProcessAlarm mesLineProcess = new MesProcessAlarm();
  199. mesLineProcess.setState("0");
  200. count = mesProcessAlarmService.findCount(mesLineProcess);
  201. }
  202. CommonResp<String> resp = new CommonResp<>();
  203. resp.setData(count+"");
  204. resp.setResult(Global.TRUE);
  205. resp.setMessage("成功");
  206. return resp;
  207. }
  208. }