package com.zy.asrs.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.core.annotations.AppAuth; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.mes.*; import com.zy.asrs.service.MesService; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @RestController @Slf4j public class MesController extends BaseController { @Resource private MesService mesService; private void auth(String appkey, Object obj, HttpServletRequest request) { log.info("{}接口被访问;appkey:{};请求数据:{}", request.getRequestURI(), appkey, JSON.toJSONString(obj)); request.setAttribute("cache", obj); } // 物料信息同步 @PostMapping("/api/mes/synMatInfo") @AppAuth(memo = "物料信息同步") public MesReturn synMatInfo(@RequestHeader(required = false) String appkey,@RequestBody MesMatRecvForm param, HttpServletRequest request){ auth(appkey, param, request); MesReturn mesReturn = new MesReturn(); try { mesReturn = mesService.matInfoAndInBound(param); } catch (Exception e) { mesReturn.setSuccess("2"); mesReturn.setMessage("物料信息同步失败"); } return mesReturn; } // 出库申请 @PostMapping("/api/mes/outBoundOrder") public MesReturn outBoundOrder(@RequestBody MesOutApply param){ MesReturn mesReturn = new MesReturn(); mesReturn.setSuccess(mesService.outBoundOrder(param) == 1 ? "1" : "2"); return mesReturn; } // 出库申请(叫料),装配库、滑块库 @PostMapping("/api/mes/callOutBoundOrder") public MesReturn callOutBoundOrder(@RequestBody MesCallOutApply param){ MesReturn mesReturn = new MesReturn(); mesReturn.setSuccess(mesService.callOutBoundOrder(param) == 1 ? "1" : "2"); return mesReturn; } // 入库申请 @PostMapping("/api/mes/inBoundOrder") public MesReturn inBoundOrder(@RequestBody MesInApply param){ MesReturn mesReturn = new MesReturn(); mesReturn.setSuccess(mesService.inBoundOrder(param) == 1 ? "1" : "2"); return mesReturn; } // 入站允许 @PostMapping("/api/mes/allowInStation") public MesReturn allowInStation(@RequestBody TransInOutStationAllow param){ return mesService.allowInStation(param); } // 离站允许,装配库、滑块库 @PostMapping("/api/mes/allowOutStation") public MesReturn allowOutStation(@RequestBody TransInOutStationAllow param){ return mesService.allowOutStation(param); } // 下发运输任务 @PostMapping("/api/mes/submitTask") public JSONObject submitTask(@RequestBody TransTask param){ return mesService.submitTask(param); } // region 临时测试 @GetMapping("/api/mes/testInFeedback") public int test(@RequestParam String orderNo){ return mesService.inFeedback(orderNo); } @GetMapping("/api/mes/testInFeedback2") public int test(@RequestParam String orderNo, @RequestParam String zapplet){ return mesService.recvFeedback(orderNo, zapplet); } // endregion // 库存查询接口 // 按 物料编码+oderNo @PostMapping("/api/mes/queryInventory") public MesReturn queryInventory(@RequestBody JSONObject param){ MesReturn mesReturn = new MesReturn(); String itemno = param.getString("itemno"); String orderNo = param.getString("orderNo"); if(Cools.isEmpty(itemno,orderNo)) { mesReturn.setSuccess("2"); mesReturn.setMessage("参数不能为空"); return mesReturn; } return mesService.queryInventory(itemno,orderNo); } }