MesWarehouseOutController.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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.JSON;
  6. import com.jeesite.common.lang.DateUtils;
  7. import com.jeesite.common.utils.excel.ExcelExport;
  8. import com.jeesite.modules.mes.entity.MesWarehouse;
  9. import com.jeesite.modules.mes.entity.MesWarehouseInItems;
  10. import org.apache.shiro.authz.annotation.RequiresPermissions;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.ui.Model;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.web.bind.annotation.ModelAttribute;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.ResponseBody;
  19. import com.jeesite.common.config.Global;
  20. import com.jeesite.common.entity.Page;
  21. import com.jeesite.common.web.BaseController;
  22. import com.jeesite.modules.mes.entity.MesWarehouseOut;
  23. import com.jeesite.modules.mes.entity.MesWarehouseOutItems;
  24. import com.jeesite.modules.mes.service.MesWarehouseOutService;
  25. /**
  26. * 出库记录Controller
  27. * @author hzd
  28. * @version 2023-06-28
  29. */
  30. @Controller
  31. @RequestMapping(value = "${adminPath}/mes/mesWarehouseOut")
  32. public class MesWarehouseOutController extends BaseController {
  33. @Autowired
  34. private MesWarehouseOutService mesWarehouseOutService;
  35. /**
  36. * 获取数据
  37. */
  38. @ModelAttribute
  39. public MesWarehouseOut get(String id, boolean isNewRecord) {
  40. return mesWarehouseOutService.get(id, isNewRecord);
  41. }
  42. /**
  43. * 查询列表
  44. */
  45. @RequiresPermissions("mes:mesWarehouseOut:view")
  46. @RequestMapping(value = {"list", ""})
  47. public String list(MesWarehouseOut mesWarehouseOut, Model model) {
  48. model.addAttribute("mesWarehouseOut", mesWarehouseOut);
  49. return "modules/mes/mesWarehouseOutList";
  50. }
  51. /**
  52. * 查询列表数据
  53. */
  54. @RequiresPermissions("mes:mesWarehouseOut:view")
  55. @RequestMapping(value = "listData")
  56. @ResponseBody
  57. public Page<MesWarehouseOut> listData(MesWarehouseOut mesWarehouseOut, HttpServletRequest request, HttpServletResponse response) {
  58. mesWarehouseOut.setPage(new Page<>(request, response));
  59. Page<MesWarehouseOut> page = mesWarehouseOutService.findPage(mesWarehouseOut);
  60. return page;
  61. }
  62. @RequiresPermissions("mes:mesWarehouseOut:view")
  63. @RequestMapping(value = {"items"})
  64. public String items(MesWarehouseOutItems mesWarehouseOutItems, Model model) {
  65. model.addAttribute("mesWarehouseOutItems", mesWarehouseOutItems);
  66. return "modules/mes/mesWarehouseOutItems";
  67. }
  68. /**
  69. * 查询子表数据
  70. */
  71. @RequiresPermissions("mes:mesWarehouseOut:view")
  72. @RequestMapping(value = "mesWarehouseOutItemsListData")
  73. @ResponseBody
  74. public Page<MesWarehouseOutItems> subListData(MesWarehouseOutItems mesWarehouseOutItems, HttpServletRequest request, HttpServletResponse response) {
  75. mesWarehouseOutItems.setPage(new Page<>(request, response));
  76. Page<MesWarehouseOutItems> page = mesWarehouseOutService.findSubPage(mesWarehouseOutItems);
  77. return page;
  78. }
  79. /**
  80. * 查看编辑表单
  81. */
  82. @RequiresPermissions("mes:mesWarehouseOut:view")
  83. @RequestMapping(value = "form")
  84. public String form(MesWarehouseOut mesWarehouseOut, Model model) {
  85. logger.info(JSON.toJSONString(mesWarehouseOut));
  86. logger.info(JSON.toJSONString(mesWarehouseOut.getMesWarehouseOutItemsList()));
  87. model.addAttribute("mesWarehouseOut", mesWarehouseOut);
  88. return "modules/mes/mesWarehouseOutForm";
  89. }
  90. @RequiresPermissions("mes:mesWarehouseOut:view")
  91. @RequestMapping(value = "info")
  92. public String info(MesWarehouseOut mesWarehouseOut, Model model) {
  93. model.addAttribute("mesWarehouseOut", mesWarehouseOut);
  94. return "modules/mes/mesWarehouseOutInfo";
  95. }
  96. /**
  97. * 保存数据
  98. */
  99. @RequiresPermissions("mes:mesWarehouseOut:edit")
  100. @PostMapping(value = "save")
  101. @ResponseBody
  102. public String save(@Validated MesWarehouseOut mesWarehouseOut) {
  103. mesWarehouseOutService.save(mesWarehouseOut);
  104. return renderResult(Global.TRUE, text("保存出库单成功!"));
  105. }
  106. /**
  107. * 删除数据
  108. */
  109. @RequiresPermissions("mes:mesWarehouseOut:edit")
  110. @RequestMapping(value = "delete")
  111. @ResponseBody
  112. public String delete(MesWarehouseOut mesWarehouseOut) {
  113. mesWarehouseOutService.delete(mesWarehouseOut);
  114. return renderResult(Global.TRUE, text("删除出库单成功!"));
  115. }
  116. /**
  117. * 导出数据
  118. */
  119. @RequiresPermissions("mes:mesWarehouseOut:view")
  120. @RequestMapping(value = "exportData")
  121. public void exportData(MesWarehouseOutItems mesWarehouseOutItems, HttpServletResponse response) {
  122. List<MesWarehouseOutItems> list = mesWarehouseOutService.findSubList(mesWarehouseOutItems);
  123. String fileName = "物料出库记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
  124. try(ExcelExport ee = new ExcelExport("物料出库记录", MesWarehouseOutItems.class)){
  125. ee.setDataList(list).write(response, fileName);
  126. }
  127. }
  128. }