| | |
| | | if (task == null) {
|
| | | return R.error("任务不存在!!");
|
| | | }
|
| | | log.info("容器到达接收,任务号:{},当前状态:{},上报状态:{}",task.getTaskNo(),task.getTaskSts$(),TaskStsType.WCS_CONTAINER_RECEIVE.desc);
|
| | | log.info("容器到达接收,任务号:{},当前状态:{},上报状态:{}, 接收参数:{}",task.getTaskNo(),task.getTaskSts$(),TaskStsType.WCS_CONTAINER_RECEIVE.desc, JSONObject.toJSONString(arrivedParam));
|
| | |
|
| | | taskType = task.getTaskType() > 100 ? "outStock":"inStock";
|
| | |
|
| | |
| | | if (task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT_ARRIVED.id
|
| | | || task.getTaskSts() == TaskStsType.WCS_EXECUTE_OUT_TASK_DONE.id ) {
|
| | | // 到达拣选位,控制播种墙亮灯
|
| | | List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getBarcode, task.getBarcode()));
|
| | | if(cacheSites.size() == 0) {
|
| | | CacheSite cacheSite = cacheSiteService.getOne(new LambdaQueryWrapper<CacheSite>()
|
| | | .eq(CacheSite::getChannel, task.getTargetSite())
|
| | | .isNull(CacheSite::getOrderId).orderByAsc(CacheSite::getId));
|
| | | // List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>()
|
| | | // .eq(CacheSite::getBarcode, task.getBarcode()));
|
| | | if(Objects.isNull(cacheSite)) {
|
| | | log.error("条码:{},未找到播种墙亮灯",task.getBarcode());
|
| | | throw new CoolException("未找到播种墙");
|
| | | }
|
| | | for (CacheSite cacheSite:cacheSites) {
|
| | | // 获取任务明细数量
|
| | | List<TaskDetl> taskDetlByTaskId = taskDetlService.getTaskDetlByTaskId(task.getId());
|
| | | double sum = taskDetlByTaskId.stream().mapToDouble(TaskDetl::getAnfme).sum();
|
| | | SlapLightControlParam slapLightControlParam = new SlapLightControlParam();
|
| | | slapLightControlParam
|
| | | .setControllerCode(cacheSite.getMemo())
|
| | | .setTagCode(cacheSite.getSiteNo())
|
| | | .setColor("GREEN")
|
| | | .setMode("LIGHT")
|
| | | .setDisplay(String.valueOf(sum));
|
| | | // 发起亮灯请求
|
| | | log.info("任务{}到达拣选位,播种墙亮灯下发",task.getTaskNo(), JSONObject.toJSONString(slapLightControlParam));
|
| | | CommonReponse response = HttpEssUtils.post("到达拣选位,播种墙亮灯", HttpEssUtils.PLT_SEND_COMMAND, slapLightControlParam);
|
| | | if (response.getCode().equals(0)) {
|
| | | log.info("任务{}到达拣选位,播种墙{}亮灯成功",task.getTaskNo(),cacheSite.getSiteNo());
|
| | | } else {
|
| | | log.info("任务{}到达拣选位,播种墙{}亮灯失败",task.getTaskNo(),cacheSite.getSiteNo());
|
| | | }
|
| | | }
|
| | |
|
| | | // 获取任务明细数量
|
| | | List<TaskDetl> taskDetlByTaskId = taskDetlService.getTaskDetlByTaskId(task.getId());
|
| | | int sum = (int)taskDetlByTaskId.stream().mapToDouble(TaskDetl::getAnfme).sum();
|
| | | SlapLightControlParam slapLightControlParam = new SlapLightControlParam();
|
| | | slapLightControlParam
|
| | | .setControllerCode(cacheSite.getMemo())
|
| | | .setTagCode(cacheSite.getSiteNo())
|
| | | .setColor("GREEN")
|
| | | .setIndex(cacheSite.getIndex())
|
| | | .setMode("LIGHT")
|
| | | .setDisplay(sum + "");
|
| | | // 发起亮灯请求
|
| | | log.info("任务{}到达拣选位,播种墙亮灯下发",task.getTaskNo(), JSONObject.toJSONString(slapLightControlParam));
|
| | | CommonReponse response = HttpEssUtils.post("到达拣选位,播种墙亮灯", HttpEssUtils.PLT_SEND_COMMAND, slapLightControlParam);
|
| | | if (response.getCode().equals(0)) {
|
| | | log.info("任务{}到达拣选位,播种墙{}亮灯成功",task.getTaskNo(),cacheSite.getSiteNo());
|
| | | } else {
|
| | | log.info("任务{}到达拣选位,播种墙{}亮灯失败",task.getTaskNo(),cacheSite.getSiteNo());
|
| | | }
|
| | |
|
| | | boolean update = taskService.update(new LambdaUpdateWrapper<Task>()
|
| | | .set(Task::getTaskSts, TaskStsType.WAVE_SEED.id)
|
| | | .set(Task::getOriginSite, arrivedParam.getSlotCode())
|
| | |
| | | if (!update) {
|
| | | throw new CoolException("容器到达任务更新失败!!");
|
| | | }
|
| | |
|
| | | } else if(task.getTaskSts().equals(TaskStsType.UPDATED_OUT.id)) {
|
| | | ConveyorStarParam conveyorStarParam = new ConveyorStarParam();
|
| | | conveyorStarParam.setSlotCode(task.getOriginSite())
|
| | |
| | | public R slapLightLogic(Map<String, Object> request) {
|
| | | String taskNo = request.get("taskNo").toString();
|
| | | String orderNo = request.get("orderNo").toString();
|
| | |
|
| | | String siteNo = Objects.isNull(request.get("siteNo")) ? null : request.get("siteNo").toString();
|
| | | List<CacheSite> performs = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, orderNo));
|
| | | if (Objects.isNull(performs.stream().findFirst().get().getPlatformId())) {
|
| | | throw new CoolException("请打印明细,并绑定目标集货区");
|
| | |
| | | // }).collect(Collectors.toList());
|
| | |
|
| | | //判断数量是否与订单明细的需求量相同,相同则订单完成
|
| | | if (one.getPickStatus() == OrderPickStatus.ORDER_PICK_STATUS_DONE.val) {
|
| | | //播种完成,释放绑定站点
|
| | | List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, orderNo));
|
| | | for (CacheSite cacheSite : cacheSites) {
|
| | | if (!cacheSite.getSiteStatus().equals(CacheSiteStatusType.O.id)) {
|
| | | cacheSite.setSiteStatus(CacheSiteStatusType.O.id);
|
| | | cacheSite.setOrderId(null);
|
| | | cacheSite.setBarcode(null);
|
| | | cacheSite.setOrderNo(null);
|
| | | cacheSite.setPlatformId(null);
|
| | | cacheSite.setPlatformNo(null);
|
| | | cacheSite.setUpdateTime(new Date());
|
| | | if (!cacheSiteService.updateById(cacheSite)) {
|
| | | throw new CoolException("播种站点更新失败");
|
| | | }
|
| | | //播种完成,释放绑定站点
|
| | | List<CacheSite> cacheSites = cacheSiteService.list(new LambdaQueryWrapper<CacheSite>()
|
| | | .eq(!Objects.isNull(siteNo), CacheSite::getSiteNo, siteNo)
|
| | | .eq(CacheSite::getOrderNo, orderNo));
|
| | | for (CacheSite cacheSite : cacheSites) {
|
| | | if (!cacheSite.getSiteStatus().equals(CacheSiteStatusType.O.id)) {
|
| | | cacheSite.setSiteStatus(CacheSiteStatusType.O.id);
|
| | | cacheSite.setOrderId(null);
|
| | | cacheSite.setBarcode(null);
|
| | | cacheSite.setOrderNo(null);
|
| | | cacheSite.setPlatformId(null);
|
| | | cacheSite.setPlatformNo(null);
|
| | | cacheSite.setUpdateTime(new Date());
|
| | | if (!cacheSiteService.updateById(cacheSite)) {
|
| | | throw new CoolException("播种站点更新失败");
|
| | | }
|
| | | }
|
| | | }
|