From 7aab6b309089b948e39130ce6206038b229093b5 Mon Sep 17 00:00:00 2001 From: Comair <1464848666@qq.com> Date: Sat, 3 Aug 2024 08:32:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E8=A3=85=E6=94=BE=E8=A1=8C?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BusinPickupServiceImpl.java | 115 ++++-------------- 1 file changed, 25 insertions(+), 90 deletions(-) diff --git a/shkj-wms/src/main/java/com/shkj/wms/service/impl/BusinPickupServiceImpl.java b/shkj-wms/src/main/java/com/shkj/wms/service/impl/BusinPickupServiceImpl.java index aeae9e8..083cdef 100644 --- a/shkj-wms/src/main/java/com/shkj/wms/service/impl/BusinPickupServiceImpl.java +++ b/shkj-wms/src/main/java/com/shkj/wms/service/impl/BusinPickupServiceImpl.java @@ -707,34 +707,6 @@ public class BusinPickupServiceImpl extends ServiceImpl propertyList = iWcsPlcPropertyService.getWcsPlcPropertyByPlcId(plcId); - String frontAddress = ""; - String frontType = ""; - String rearAddress = ""; - String rearType = ""; - - // 根据plc练级欸属性表查询出对应的前杠放行写入点位和类型 - for (WcsPlcProperty wcsPlcProperty : propertyList) { - if (buttonType.equals("front") && "23".equals(wcsPlcProperty.getPointType())) { - frontAddress = wcsPlcProperty.getAddress(); - frontType = wcsPlcProperty.getValueType(); - } - if (buttonType.equals("after") && "25".equals(wcsPlcProperty.getPointType())) { - rearAddress = wcsPlcProperty.getAddress(); - rearType = wcsPlcProperty.getValueType(); - } - }*/ - - //按钮类型(共2个),根据按钮类型获取对应的出库信息 //前保险杠按钮 if (buttonType.equals("front")) { @@ -743,17 +715,7 @@ public class BusinPickupServiceImpl extends ServiceImpl pickupRecordesult = this.saveBusinPickupRecord(businPickupAddBo); BusinDataTask DataTask = businDataTaskService.getOne(new LambdaQueryWrapper() .eq(BusinDataTask::getId, businPickupAddBo.getTaskCode()) .last("limit 1")); String agvno=DataTask.getAgvNo(); String point = DataTask.getTaskPath(); - log.info("调用空治具流向接口传入agv号为"+agvno+"任务号为:"+DataTask.getId()); - log.info("传入的起点为:"+point); + log.info("调用空治具流向接口传入agv号为"+agvno+"任务号为:"+DataTask.getId()+" 任务起点:"+point); + if (ObjectUtils.isNotEmpty(redisTemplate.opsForValue().get("xzz:" + DataTask.getId())) && redisTemplate.opsForValue().get("xzz:" + DataTask.getId()).toString().equals(agvno)){ log.info("任务号为:"+DataTask.getId()+"agv号为"+agvno+"小组装已经释放,不允许重复释放"); @@ -786,22 +746,6 @@ public class BusinPickupServiceImpl extends ServiceImpl 0) { - redisTemplate.opsForValue().set(assemblePointType, --temp); - } - } if ("4".equals(DataTask.getTaskType())||"14".equals(DataTask.getTaskType())) { //查询任务对应的产品数量 List businDataTaskGoodsVos = iBusinDataTaskGoodsService.selectBusinTaskGoodsByTaskCode(DataTask.getId()); @@ -817,37 +761,28 @@ public class BusinPickupServiceImpl extends ServiceImpl 0) { -// redisTemplate.opsForValue().set(assemblePointType, --temp); -// } -// } -// -//// if (buttonType.equals("front")) { -//// redisTemplate.delete(RedisConstant.redisAssemblyLineFront); -//// TaskwriteMap.put(frontType, "False"); -//// taskidMap.put(frontAddress, TaskwriteMap); -//// } else { -//// redisTemplate.delete(RedisConstant.redisAssemblyLineAfter); -//// TaskwriteMap.put(rearType, "False"); -//// taskidMap.put(rearAddress, TaskwriteMap); -//// } -//// -//// Boolean aBoolean = plcReadAndWrite.execWrite(plcOperate, JSON.toJSONString(taskidMap)); -//// log.error("出库放行点写入是否成功:" + aBoolean + "写入的相关数据为:" + taskidMap.toString()); -// } + + Result booleanResult = iBusinEnptyContainerService.emptyContainerFlowDir(point, businPickupAddBo.getContainerId(), agvno, null); + if (Result.isOk(booleanResult)){ + log.info("小组装放行完成:"+point+" AGV编号:"+agvno+" 任务号:"+businPickupAddBo.getTaskCode()); + redisTemplate.opsForValue().set("xzz:"+DataTask.getId(),agvno); + DataTask.setTaskStatus("2"); + businDataTaskService.updateById(DataTask); + + String assemblePointType = RedisConstant.assemblePointAfterTaskCount; + if (buttonType.equals("front")) { + assemblePointType = RedisConstant.assemblePointBeforeTaskCount; + } + if (ObjectUtils.isNotEmpty(redisTemplate.opsForValue().get(assemblePointType))) { + int temp = Integer.parseInt(redisTemplate.opsForValue().get(assemblePointType).toString()); + if (temp > 0) { + redisTemplate.opsForValue().set(assemblePointType, --temp); + } + } + }else { + log.info("小组装放行失败:"+point+" AGV编号:"+agvno+" 任务号:"+businPickupAddBo.getTaskCode()+" 异常原因:"+JsonUtil.toJSONString(booleanResult)); + } + return Result.err().msg("出库取货失败"); }