MesMaterialController.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.jeesite.modules.mes.web;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import com.alibaba.fastjson.JSONValidator;
  6. import com.jeesite.common.codec.EncodeUtils;
  7. import com.jeesite.common.lang.DateUtils;
  8. import com.jeesite.common.utils.excel.ExcelExport;
  9. import org.apache.shiro.authz.annotation.RequiresPermissions;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.ui.Model;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.ModelAttribute;
  15. import org.springframework.web.bind.annotation.PostMapping;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import com.jeesite.common.config.Global;
  19. import com.jeesite.common.entity.Page;
  20. import com.jeesite.common.web.BaseController;
  21. import com.jeesite.modules.mes.entity.MesMaterial;
  22. import com.jeesite.modules.mes.service.MesMaterialService;
  23. /**
  24. * 物料表Controller
  25. * @author mes
  26. * @version 2024-03-29
  27. */
  28. @Controller
  29. @RequestMapping(value = "${adminPath}/mes/mesMaterial")
  30. public class MesMaterialController extends BaseController {
  31. @Autowired
  32. private MesMaterialService mesMaterialService;
  33. /**
  34. * 获取数据
  35. */
  36. @ModelAttribute
  37. public MesMaterial get(String id, boolean isNewRecord) {
  38. return mesMaterialService.get(id, isNewRecord);
  39. }
  40. /**
  41. * 查询列表
  42. */
  43. @RequiresPermissions("mes:mesMaterial:view")
  44. @RequestMapping(value = {"list", ""})
  45. public String list(MesMaterial mesMaterial, Model model) {
  46. model.addAttribute("mesMaterial", mesMaterial);
  47. return "modules/mes/mesMaterialList";
  48. }
  49. /**
  50. * 查询列表数据
  51. */
  52. @RequiresPermissions("mes:mesMaterial:view")
  53. @RequestMapping(value = "listData")
  54. @ResponseBody
  55. public Page<MesMaterial> listData(MesMaterial mesMaterial, HttpServletRequest request, HttpServletResponse response) {
  56. mesMaterial.setPage(new Page<>(request, response));
  57. Page<MesMaterial> page = mesMaterialService.findPage(mesMaterial);
  58. return page;
  59. }
  60. /**
  61. * 查看编辑表单
  62. */
  63. @RequiresPermissions("mes:mesMaterial:view")
  64. @RequestMapping(value = "form")
  65. public String form(MesMaterial mesMaterial, Model model) {
  66. model.addAttribute("mesMaterial", mesMaterial);
  67. return "modules/mes/mesMaterialForm";
  68. }
  69. /**
  70. * 保存数据
  71. */
  72. @RequiresPermissions("mes:mesMaterial:edit")
  73. @PostMapping(value = "save")
  74. @ResponseBody
  75. public String save(@Validated MesMaterial mesMaterial) {
  76. mesMaterialService.save(mesMaterial);
  77. return renderResult(Global.TRUE, text("保存物料表成功!"));
  78. }
  79. /**
  80. * 停用数据
  81. */
  82. @RequiresPermissions("mes:mesMaterial:edit")
  83. @RequestMapping(value = "disable")
  84. @ResponseBody
  85. public String disable(MesMaterial mesMaterial) {
  86. mesMaterial.setStatus(MesMaterial.STATUS_DISABLE);
  87. mesMaterialService.updateStatus(mesMaterial);
  88. return renderResult(Global.TRUE, text("停用物料表成功"));
  89. }
  90. /**
  91. * 启用数据
  92. */
  93. @RequiresPermissions("mes:mesMaterial:edit")
  94. @RequestMapping(value = "enable")
  95. @ResponseBody
  96. public String enable(MesMaterial mesMaterial) {
  97. mesMaterial.setStatus(MesMaterial.STATUS_NORMAL);
  98. mesMaterialService.updateStatus(mesMaterial);
  99. return renderResult(Global.TRUE, text("启用物料表成功"));
  100. }
  101. /**
  102. * 删除数据
  103. */
  104. @RequiresPermissions("mes:mesMaterial:edit")
  105. @RequestMapping(value = "delete")
  106. @ResponseBody
  107. public String delete(MesMaterial mesMaterial) {
  108. mesMaterialService.delete(mesMaterial);
  109. return renderResult(Global.TRUE, text("删除物料表成功!"));
  110. }
  111. /**
  112. * 导出数据
  113. */
  114. @RequiresPermissions("mes:mesMaterial:view")
  115. @RequestMapping(value = "exportData")
  116. public void exportData(MesMaterial mesMaterial, HttpServletResponse response) {
  117. List<MesMaterial> list = mesMaterialService.findList(mesMaterial);
  118. String fileName = "物料表" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
  119. try(ExcelExport ee = new ExcelExport("物料表", MesMaterial.class)){
  120. ee.setDataList(list).write(response, fileName);
  121. }
  122. }
  123. @RequiresPermissions("mes:mesMaterial:view")
  124. @RequestMapping(value = "preventSelect")
  125. public String userSelect(MesMaterial mesMaterial, String selectData, Model model) {
  126. String selectDataJson = EncodeUtils.decodeUrl(selectData);
  127. if (selectDataJson != null && JSONValidator.from(selectDataJson).validate()){
  128. model.addAttribute("selectData", selectDataJson);
  129. }
  130. model.addAttribute("warehouse", mesMaterial);
  131. return "modules/mes/mesMaterialSelect";
  132. }
  133. }