| | |
| | | package com.zy.asrs.wms.apis.wcs.controller; |
| | | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.zy.asrs.framework.common.R; |
| | | import com.zy.asrs.framework.exception.CoolException; |
| | | import com.zy.asrs.wms.apis.wcs.entity.request.ContainerArrivedParam; |
| | | import com.zy.asrs.wms.apis.wcs.entity.request.RfidSingalRequest; |
| | | import com.zy.asrs.wms.apis.wcs.entity.request.TasksStatusCallbackParam; |
| | | import com.zy.asrs.wms.apis.wcs.services.WcsApiService; |
| | | import com.zy.asrs.wms.asrs.entity.CacheSite; |
| | | import com.zy.asrs.wms.asrs.entity.Task; |
| | | import com.zy.asrs.wms.asrs.entity.param.BindPlatformParam; |
| | | import com.zy.asrs.wms.asrs.service.CacheSiteService; |
| | | import com.zy.asrs.wms.asrs.service.PlatformService; |
| | | import com.zy.asrs.wms.asrs.service.TaskService; |
| | | import com.zy.asrs.wms.system.controller.BaseController; |
| | | import io.netty.util.internal.StringUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private WcsApiService wcsApiService; |
| | | |
| | | @Autowired |
| | | private PlatformService platformService; |
| | | |
| | | @Resource |
| | | private CacheSiteService cacheSiteService; |
| | | |
| | | @Resource |
| | | private TaskService taskService; |
| | | |
| | | |
| | | /** |
| | | * 出库任务-接收回调状态接口 |
| | |
| | | } |
| | | |
| | | /** |
| | | * ESS 播种墙拍灯回调 |
| | | * 播种墙拍灯,ESS调用 |
| | | */ |
| | | @PostMapping("/light/off") |
| | | public R lightOff(@RequestBody Map<String, Object> request) { |
| | | if (Objects.isNull(request)) { |
| | | throw new CoolException("参数不能为空!!"); |
| | | } |
| | | if (Objects.isNull(request.get("tagCode"))) { |
| | | throw new CoolException("电子标签编号不能为空!!"); |
| | | } |
| | | if (Objects.isNull(request.get("eventCode"))){ |
| | | throw new CoolException("事件名称不能为空!!"); |
| | | } |
| | | |
| | | log.info("播种墙拍灯,请求参数:{}", JSONObject.toJSONString(request)); |
| | | |
| | | // 根据站点编码查播种站点信息 |
| | | CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getSiteNo, request.get("tagCode"))); |
| | | if (Objects.isNull(cacheSite)) { |
| | | throw new CoolException("当前站点不存在!!"); |
| | | } |
| | | // 根据播种站点信息条码,查任务 |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, cacheSite.getBarcode())); |
| | | if (Objects.isNull(task)) { |
| | | throw new CoolException("当前站点任务不存在!!"); |
| | | } |
| | | |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("taskNo", task.getTaskNo()); |
| | | param.put("orderNo",cacheSite.getOrderNo()); |
| | | |
| | | wcsApiService.slapLightLogic(param); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 容器流动通知(当前物料播种完成) |
| | | * //fixme 此接口将不再单独调用 |
| | | * 1. 更新当前任务物料信息 |
| | |
| | | * @return |
| | | */ |
| | | @GetMapping("/container/converyor/{code}") |
| | | public R containerConveyor(@PathVariable String code) { |
| | | public R containerConveyor(@PathVariable String code) throws Exception { |
| | | if (StringUtil.isNullOrEmpty(code)) { |
| | | return R.error("容器编码不能为空!!!"); |
| | | } |
| | |
| | | if (Objects.isNull(request.get("taskNo"))) { |
| | | throw new CoolException("任务号不能为空!!"); |
| | | } |
| | | if (Objects.isNull(request.get("orderNO"))){ |
| | | if (Objects.isNull(request.get("orderNo"))){ |
| | | throw new CoolException("当前任务订单号不能为空!!"); |
| | | } |
| | | |
| | | wcsApiService.slapLightLogic(request); |
| | | |
| | | return R.ok(); |
| | | return wcsApiService.slapLightLogic(request); |
| | | } |
| | | |
| | | |
| | |
| | | /** |
| | | * 信号回传接口,回传电子标签状态变化内容给上游系统。 |
| | | * 当人为操作(比如拍灯,更改数字,放箱等)导致电子标签的状态和信号等发生变化、或设备本身发生异常时,ESS接收到信号后,通过该接口将信号回传给上游系统。 |
| | | * |
| | | * RFID回调接口 |
| | | * |
| | | * @param request |
| | | * @return |
| | | */ |
| | | @PostMapping("/") |
| | | public R rfidCallback(@RequestBody RfidSingalRequest request) { |
| | | if (Objects.isNull(request)) { |
| | | throw new CoolException("参数不能为空!!"); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取所有集货区 |
| | | * @return |
| | | */ |
| | | @GetMapping("/all/platforms") |
| | | public R getPlatforms() { |
| | | return wcsApiService.getPlatforms(); |
| | | } |
| | | |
| | | // /** |
| | | // * 绑定订单与集货区关系 |
| | | // * @param platform |
| | | // * @return |
| | | // */ |
| | | // @PostMapping("/bind/shipping/platform") |
| | | // public R bindShippingAndPlatform(@RequestBody BindPlatformParam platform) { |
| | | // return platformService.bindShippingPlatform(platform); |
| | | // } |
| | | // |
| | | |
| | | |
| | | } |