ErpStockPdaController.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.jeesite.modules.mes.web;
  2. import com.jeesite.common.lang.StringUtils;
  3. import com.jeesite.common.web.BaseController;
  4. import com.jeesite.modules.mes.erp.ErpPdaRespHelper;
  5. import com.jeesite.modules.mes.erp.ErpStockPdaService;
  6. import com.jeesite.modules.mes.resp.CommonResp;
  7. import com.jeesite.modules.mes.service.MesLogService;
  8. import org.apache.shiro.authz.annotation.Logical;
  9. import org.apache.shiro.authz.annotation.RequiresPermissions;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RequestMethod;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.util.Map;
  16. /**
  17. * ERP 仓库 / 仓位 PDA 公共接口(来料检、生产入库、直接调拨等统一调用,避免各模块重复与权限不一致)。
  18. * <p>
  19. * 推荐 PDA 固定使用本 Controller,勿再按业务模块分别调 erpInStock / erpPrdInStock / erpTransferDirect 下的 stockList。
  20. */
  21. @Controller
  22. @RequestMapping(value = "${adminPath}/mes/erpStockPda")
  23. public class ErpStockPdaController extends BaseController {
  24. private final ErpStockPdaService erpStockPdaService;
  25. private final MesLogService mesLogService;
  26. public ErpStockPdaController(ErpStockPdaService erpStockPdaService, MesLogService mesLogService) {
  27. this.erpStockPdaService = erpStockPdaService;
  28. this.mesLogService = mesLogService;
  29. }
  30. /**
  31. * 可用仓库列表。
  32. */
  33. @RequiresPermissions(value = {
  34. "mes:erpInStock:view",
  35. "mes:erpPrdInStock:view",
  36. "mes:erpTransferDirect:view"
  37. }, logical = Logical.OR)
  38. @RequestMapping(value = "stockList", method = {RequestMethod.GET, RequestMethod.POST})
  39. @ResponseBody
  40. public CommonResp<Map<String, Object>> stockList(HttpServletRequest request) {
  41. mesLogService.apisave(request);
  42. return ErpPdaRespHelper.ok("成功", erpStockPdaService.buildStockListData());
  43. }
  44. /**
  45. * 指定仓库的仓位选项;切换仓库后须重新调用。
  46. */
  47. @RequiresPermissions(value = {
  48. "mes:erpInStock:view",
  49. "mes:erpPrdInStock:view",
  50. "mes:erpTransferDirect:view"
  51. }, logical = Logical.OR)
  52. @RequestMapping(value = "stockLocOptions", method = {RequestMethod.GET, RequestMethod.POST})
  53. @ResponseBody
  54. public CommonResp<Map<String, Object>> stockLocOptions(String stockNumber, HttpServletRequest request) {
  55. mesLogService.apisave(request);
  56. if (StringUtils.isBlank(stockNumber)) {
  57. return ErpPdaRespHelper.fail("仓库编码不能为空");
  58. }
  59. return ErpPdaRespHelper.ok("成功", erpStockPdaService.buildStockLocOptionsData(stockNumber));
  60. }
  61. /**
  62. * PDA 别名,与 stockLocOptions 相同。
  63. */
  64. @RequiresPermissions(value = {
  65. "mes:erpInStock:view",
  66. "mes:erpPrdInStock:view",
  67. "mes:erpTransferDirect:view"
  68. }, logical = Logical.OR)
  69. @RequestMapping(value = "pda/stockLocOptions", method = {RequestMethod.GET, RequestMethod.POST})
  70. @ResponseBody
  71. public CommonResp<Map<String, Object>> pdaStockLocOptions(String stockNumber, HttpServletRequest request) {
  72. return stockLocOptions(stockNumber, request);
  73. }
  74. /**
  75. * 初始化:仓库列表 + 默认仓库(或 stockNumber 参数)的仓位预览。
  76. */
  77. @RequiresPermissions(value = {
  78. "mes:erpInStock:view",
  79. "mes:erpPrdInStock:view",
  80. "mes:erpTransferDirect:view"
  81. }, logical = Logical.OR)
  82. @RequestMapping(value = "init", method = {RequestMethod.GET, RequestMethod.POST})
  83. @ResponseBody
  84. public CommonResp<Map<String, Object>> init(String stockNumber, HttpServletRequest request) {
  85. mesLogService.apisave(request);
  86. return ErpPdaRespHelper.ok("成功", erpStockPdaService.buildInitData(stockNumber));
  87. }
  88. }