| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package com.jeesite.modules.mes.web;
- import com.jeesite.common.lang.StringUtils;
- import com.jeesite.common.web.BaseController;
- import com.jeesite.modules.mes.erp.ErpPdaRespHelper;
- import com.jeesite.modules.mes.erp.ErpStockPdaService;
- import com.jeesite.modules.mes.resp.CommonResp;
- import com.jeesite.modules.mes.service.MesLogService;
- import org.apache.shiro.authz.annotation.Logical;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.ResponseBody;
- import javax.servlet.http.HttpServletRequest;
- import java.util.Map;
- /**
- * ERP 仓库 / 仓位 PDA 公共接口(来料检、生产入库、直接调拨等统一调用,避免各模块重复与权限不一致)。
- * <p>
- * 推荐 PDA 固定使用本 Controller,勿再按业务模块分别调 erpInStock / erpPrdInStock / erpTransferDirect 下的 stockList。
- */
- @Controller
- @RequestMapping(value = "${adminPath}/mes/erpStockPda")
- public class ErpStockPdaController extends BaseController {
- private final ErpStockPdaService erpStockPdaService;
- private final MesLogService mesLogService;
- public ErpStockPdaController(ErpStockPdaService erpStockPdaService, MesLogService mesLogService) {
- this.erpStockPdaService = erpStockPdaService;
- this.mesLogService = mesLogService;
- }
- /**
- * 可用仓库列表。
- */
- @RequiresPermissions(value = {
- "mes:erpInStock:view",
- "mes:erpPrdInStock:view",
- "mes:erpTransferDirect:view"
- }, logical = Logical.OR)
- @RequestMapping(value = "stockList", method = {RequestMethod.GET, RequestMethod.POST})
- @ResponseBody
- public CommonResp<Map<String, Object>> stockList(HttpServletRequest request) {
- mesLogService.apisave(request);
- return ErpPdaRespHelper.ok("成功", erpStockPdaService.buildStockListData());
- }
- /**
- * 指定仓库的仓位选项;切换仓库后须重新调用。
- */
- @RequiresPermissions(value = {
- "mes:erpInStock:view",
- "mes:erpPrdInStock:view",
- "mes:erpTransferDirect:view"
- }, logical = Logical.OR)
- @RequestMapping(value = "stockLocOptions", method = {RequestMethod.GET, RequestMethod.POST})
- @ResponseBody
- public CommonResp<Map<String, Object>> stockLocOptions(String stockNumber, HttpServletRequest request) {
- mesLogService.apisave(request);
- if (StringUtils.isBlank(stockNumber)) {
- return ErpPdaRespHelper.fail("仓库编码不能为空");
- }
- return ErpPdaRespHelper.ok("成功", erpStockPdaService.buildStockLocOptionsData(stockNumber));
- }
- /**
- * PDA 别名,与 stockLocOptions 相同。
- */
- @RequiresPermissions(value = {
- "mes:erpInStock:view",
- "mes:erpPrdInStock:view",
- "mes:erpTransferDirect:view"
- }, logical = Logical.OR)
- @RequestMapping(value = "pda/stockLocOptions", method = {RequestMethod.GET, RequestMethod.POST})
- @ResponseBody
- public CommonResp<Map<String, Object>> pdaStockLocOptions(String stockNumber, HttpServletRequest request) {
- return stockLocOptions(stockNumber, request);
- }
- /**
- * 初始化:仓库列表 + 默认仓库(或 stockNumber 参数)的仓位预览。
- */
- @RequiresPermissions(value = {
- "mes:erpInStock:view",
- "mes:erpPrdInStock:view",
- "mes:erpTransferDirect:view"
- }, logical = Logical.OR)
- @RequestMapping(value = "init", method = {RequestMethod.GET, RequestMethod.POST})
- @ResponseBody
- public CommonResp<Map<String, Object>> init(String stockNumber, HttpServletRequest request) {
- mesLogService.apisave(request);
- return ErpPdaRespHelper.ok("成功", erpStockPdaService.buildInitData(stockNumber));
- }
- }
|