From d78a8060312fc4256bb2a183604785de05c915cd Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Tue, 27 Aug 2024 19:25:53 +0800 Subject: [PATCH] =?UTF-8?q?opt=EF=BC=9A=E4=BC=98=E5=8C=96=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E7=A7=BB=E5=BA=93=E5=92=8C=E8=87=AA=E5=8A=A8=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SchBaseTaskServiceImpl.java | 21 +++--- .../nl/wms/sch/task_manage/AbstractTask.java | 8 +++ .../service/impl/WorkorderServiceImpl.java | 72 ++++++++++++------- 3 files changed, 67 insertions(+), 34 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 43b3cb3..d2bcb73 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -313,20 +313,25 @@ public class SchBaseTaskServiceImpl extends ServiceImpl0, "该任务申请子托盘["+sub_tray+"]已存在未完成的任务,无法申请任务!"); } + //子托盘非空 + String vehicle_code2 = param.getString("vehicle_code2"); + if(ObjectUtil.isNotEmpty(vehicle_code2)) { + //判断该子托盘是否存在未完成任务 + List apply_vehicle_code2_lists = taskService.findUnFinishTasksBySub_tray("",vehicle_code2); + Assert.isFalse(apply_vehicle_code2_lists.size()>0, + "该任务申请子托盘["+vehicle_code2+"]已存在未完成的任务,无法申请任务!"); + } // 最大可创建任务数 Integer tcmn = taskConfig.getTask_create_max_num(); // 获取申请的任务 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/impl/WorkorderServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/impl/WorkorderServiceImpl.java index 52086c3..8c8ee1e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/impl/WorkorderServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/impl/WorkorderServiceImpl.java @@ -13,7 +13,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.nl.common.domain.query.PageQuery; import org.nl.wms.ext.service.AcsToWmsService; +import org.nl.wms.ext.service.dto.to.BaseResponse; import org.nl.wms.pda.service.PdaService; +import org.nl.wms.pda.service.dao.vo.PdaResponseVo; import org.nl.wms.pdm.service.dao.PointDetailAdd; import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.dao.SchBasePoint; @@ -130,8 +132,23 @@ public class WorkorderServiceImpl extends ServiceImpl pointCodes = pointDetailAdd.getPointCodes(); //下发状态 String status = pointDetailAdd.getStatus(); + //查询是否有目的空点位 + List nextList = schBasePointService.list(new LambdaQueryWrapper() + .eq(SchBasePoint::getRegion_code, "YL") + .eq(SchBasePoint::getIs_used, true) + .eq(SchBasePoint::getVehicle_qty, 0) + .and(slam -> slam.isNull(SchBasePoint::getVehicle_code2) + .or() + .eq(SchBasePoint::getVehicle_code2, "")) + .and(slam -> slam.isNull(SchBasePoint::getIng_task_code) + .or() + .eq(SchBasePoint::getIng_task_code, ""))); if("1".equals(status)){ for(String pointCode : pointCodes){ + if(nextList.size()==0){ + log.info("原料库存区无可用点位,取消后续循环"); + return; + } //查询当前点位最新信息 SchBasePoint schBasePoint =schBasePointService.getOne(new LambdaQueryWrapper() .eq(SchBasePoint::getIs_used, true) @@ -143,23 +160,10 @@ public class WorkorderServiceImpl extends ServiceImpl() - .eq(SchBasePoint::getRegion_code, "YL") - .eq(SchBasePoint::getIs_used, true) - .eq(SchBasePoint::getVehicle_qty, 0) - .and(slam -> slam.isNull(SchBasePoint::getVehicle_code2) - .or() - .eq(SchBasePoint::getVehicle_code2, "")) - .and(slam -> slam.isNull(SchBasePoint::getIng_task_code) - .or() - .eq(SchBasePoint::getIng_task_code, ""))); - if(ObjectUtil.isNull(nexSchBasePoint)){ - log.info("原料库存区无可用点位,取消后续循环"); - break; - } + SchBasePoint nexSchBasePoint = nextList.get(0); JSONObject param = new JSONObject(); param.put("start_point", schBasePoint.getPoint_code()); param.put("next_point", nexSchBasePoint.getPoint_code()); @@ -169,12 +173,19 @@ public class WorkorderServiceImpl extends ServiceImpl