跨巷道移库及指定出库调试

main
Comair 1 year ago
parent e531fbb59d
commit 183288c9a3
  1. 23
      shkj-wms/src/main/java/com/shkj/wms/plc/PlcEventTask.java
  2. 9
      shkj-wms/src/main/java/com/shkj/wms/service/impl/BusinDataTaskServiceImpl.java
  3. 2
      shkj-wms/src/main/java/com/shkj/wms/third/rcs/RCSUtil.java

@ -821,6 +821,8 @@ public class PlcEventTask {
} }
log.info("立库输送线读取的任务号:" + taskId); log.info("立库输送线读取的任务号:" + taskId);
if (taskId != null && taskId != 0) { if (taskId != null && taskId != 0) {
//跨航道移库目标任务
BusinDataTask targetTask=null;
//获取任务信息 //获取任务信息
BusinDataTask businDataTask = iBusinDataTaskService.getById(taskId); BusinDataTask businDataTask = iBusinDataTaskService.getById(taskId);
if (businDataTask == null) { if (businDataTask == null) {
@ -861,9 +863,9 @@ public class PlcEventTask {
agvTaskType = Integer.valueOf(abnormalWaitPintDeviceVo.getIsDown()); agvTaskType = Integer.valueOf(abnormalWaitPintDeviceVo.getIsDown());
} else if (businDataTask.getTaskType().equals(TaskTypeEnum.relocation_out.getValue())) { } else if (businDataTask.getTaskType().equals(TaskTypeEnum.relocation_out.getValue())) {
// TODO 跨巷道移库AGV的模板尚未提供
String associatedTasksId = businDataTask.getAssociatedTasksId(); String associatedTasksId = businDataTask.getAssociatedTasksId();
BusinDataTask targetTask = iBusinDataTaskService.getById(associatedTasksId); targetTask = iBusinDataTaskService.getById(associatedTasksId);
snPointMap.put("2", targetTask.getTaskPath()); snPointMap.put("2", targetTask.getTaskPath());
agvPoints=new ArrayList<>(); agvPoints=new ArrayList<>();
agvPoints.add(snPointMap.get("1")); agvPoints.add(snPointMap.get("1"));
@ -871,7 +873,11 @@ public class PlcEventTask {
agvTaskType=0; agvTaskType=0;
} else if(businDataTask.getTaskType().equals(TaskTypeEnum.named_loc.getValue())){ } else if(businDataTask.getTaskType().equals(TaskTypeEnum.named_loc.getValue())){
snPointMap.put("2", businDataTask.getTaskPath());
agvPoints=new ArrayList<>();
agvPoints.add(snPointMap.get("1"));
agvPoints.add(businDataTask.getTaskPath());
agvTaskType=1;
}else { }else {
agvPoints.add(businDataTask.getTaskPath()); agvPoints.add(businDataTask.getTaskPath());
snPointMap.put("3", businDataTask.getTaskPath()); snPointMap.put("3", businDataTask.getTaskPath());
@ -883,6 +889,9 @@ public class PlcEventTask {
} }
businDataTask.setPoints(JsonUtil.toJSONString(snPointMap)); businDataTask.setPoints(JsonUtil.toJSONString(snPointMap));
if(targetTask !=null){
targetTask.setPoints(JsonUtil.toJSONString(snPointMap));
}
businDataTask.setPlcId(basePointVo.getPlcId()); businDataTask.setPlcId(basePointVo.getPlcId());
//立库输送线id //立库输送线id
businDataTask.setDpsNoOne(Long.valueOf(isysParameterService.selectConfigByKey(ParameterConstants.ParameterSystem.LK_plc_id))); businDataTask.setDpsNoOne(Long.valueOf(isysParameterService.selectConfigByKey(ParameterConstants.ParameterSystem.LK_plc_id)));
@ -921,6 +930,11 @@ public class PlcEventTask {
businDataTask.setPlcId(30L); businDataTask.setPlcId(30L);
} }
if ("25".equals(businDataTask.getTaskType())){
bo.setTaskType(1);
businDataTask.setPlcId(30L);
}
//目的点位 //目的点位
// bo.setToLocation(businDataTask.getTaskPath()); // bo.setToLocation(businDataTask.getTaskPath());
Result<Boolean> booleanResult = rcsUtil.moveByAGV(bo); Result<Boolean> booleanResult = rcsUtil.moveByAGV(bo);
@ -931,6 +945,9 @@ public class PlcEventTask {
businDataTask.setIsDown(bo.getTaskType() + ""); businDataTask.setIsDown(bo.getTaskType() + "");
iBusinDataTaskService.updateById(businDataTask); iBusinDataTaskService.updateById(businDataTask);
redisTemplate.opsForValue().set(RedisConstant.redisReqMate + taskId, businDataTask); redisTemplate.opsForValue().set(RedisConstant.redisReqMate + taskId, businDataTask);
if(targetTask !=null){
iBusinDataTaskService.updateById(targetTask);
}
//扣减巷道任务数 //扣减巷道任务数
tunnelTaskUtil.subOutboundTaskNum(businDataTask.getTunnel()); tunnelTaskUtil.subOutboundTaskNum(businDataTask.getTunnel());
} }

@ -2079,20 +2079,23 @@ public class BusinDataTaskServiceImpl extends ServiceImpl<BusinDataTaskMapper, B
taskGoodsIn.setGoodsNo(sysStockDetailVo.getGoodsNo()); taskGoodsIn.setGoodsNo(sysStockDetailVo.getGoodsNo());
taskGoodsIn.setIsPunching(sysStockDetailVo.getIsPuch()); taskGoodsIn.setIsPunching(sysStockDetailVo.getIsPuch());
taskGoodsIn.setBranchId(SecurityUtils.getCurrentBranchId()); taskGoodsIn.setBranchId(SecurityUtils.getCurrentBranchId());
taskGoodsIn.setTaskCode(taskInId); taskGoodsIn.setTaskCode(dataTaskIn.getId());
taskGoodsIn.setQrCode(sysStockDetailVo.getQrCode());
taskGoodsList.add(taskGoodsIn); taskGoodsList.add(taskGoodsIn);
BusinDataTaskGoods taskGoodsOut = new BusinDataTaskGoods(); BusinDataTaskGoods taskGoodsOut = new BusinDataTaskGoods();
taskGoodsOut.setGoodsNo(sysStockDetailVo.getGoodsNo()); taskGoodsOut.setGoodsNo(sysStockDetailVo.getGoodsNo());
taskGoodsOut.setIsPunching(sysStockDetailVo.getIsPuch()); taskGoodsOut.setIsPunching(sysStockDetailVo.getIsPuch());
taskGoodsOut.setBranchId(SecurityUtils.getCurrentBranchId()); taskGoodsOut.setBranchId(SecurityUtils.getCurrentBranchId());
taskGoodsOut.setTaskCode(taskOutId); taskGoodsOut.setTaskCode(dataTaskOut.getId());
taskGoodsOut.setQrCode(sysStockDetailVo.getQrCode());
taskGoodsList.add(taskGoodsOut); taskGoodsList.add(taskGoodsOut);
}else{ }else{
BusinDataTaskGoods taskGoodsAdd = new BusinDataTaskGoods(); BusinDataTaskGoods taskGoodsAdd = new BusinDataTaskGoods();
taskGoodsAdd.setGoodsNo(sysStockDetailVo.getGoodsNo()); taskGoodsAdd.setGoodsNo(sysStockDetailVo.getGoodsNo());
taskGoodsAdd.setIsPunching(sysStockDetailVo.getIsPuch()); taskGoodsAdd.setIsPunching(sysStockDetailVo.getIsPuch());
taskGoodsAdd.setBranchId(SecurityUtils.getCurrentBranchId()); taskGoodsAdd.setBranchId(SecurityUtils.getCurrentBranchId());
taskGoodsAdd.setTaskCode(taskOutId); taskGoodsAdd.setTaskCode(dataTaskOut.getId());
taskGoodsAdd.setQrCode(sysStockDetailVo.getQrCode());
taskGoodsList.add(taskGoodsAdd); taskGoodsList.add(taskGoodsAdd);
} }
} }

@ -544,6 +544,7 @@ public class RCSUtil {
if (businDataTask == null) { if (businDataTask == null) {
return Result.err().msg("当前任务号未找到任务信息:" + taskID); return Result.err().msg("当前任务号未找到任务信息:" + taskID);
} }
//跨巷道移库时,获取出库任务的入库的任务号
String taskType = businDataTask.getTaskType(); String taskType = businDataTask.getTaskType();
if (taskType.equals(TaskTypeEnum.relocation_out.getValue())){ if (taskType.equals(TaskTypeEnum.relocation_out.getValue())){
String associatedTasksId = businDataTask.getAssociatedTasksId(); String associatedTasksId = businDataTask.getAssociatedTasksId();
@ -784,7 +785,6 @@ public class RCSUtil {
}else { }else {
TaskwriteMap.put(TaskddressVtype, bo.getTaskId()); TaskwriteMap.put(TaskddressVtype, bo.getTaskId());
} }
TaskwriteMap.put(TaskddressVtype, bo.getTaskId());
taskidMap.put(TaskAddress, TaskwriteMap); taskidMap.put(TaskAddress, TaskwriteMap);
Boolean aBoolean = plcReadAndWrite.execWrite(plcOperate, JSON.toJSONString(taskidMap)); Boolean aBoolean = plcReadAndWrite.execWrite(plcOperate, JSON.toJSONString(taskidMap));
int i = 0; int i = 0;

Loading…
Cancel
Save