From ac1a28983b8d07139f4a221b2ab86b074af9ab68 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Wed, 25 Jun 2025 15:12:49 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E8=B0=83=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IBstIvtStockingivtService.java | 2 +- .../dao/mapper/BstIvtStockingivtMapper.java | 2 +- .../dao/mapper/BstIvtStockingivtMapper.xml | 2 +- .../impl/BstIvtStockingivtServiceImpl.java | 4 +- .../slitter/auto/AutoCallAirShaftTask.java | 102 +++++++++++------- .../slitter/constant/SlitterConstant.java | 10 +- 6 files changed, 72 insertions(+), 50 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java index 9df3491..cef07cd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java @@ -104,5 +104,5 @@ public interface IBstIvtStockingivtService extends IService { PdmBiOrderbominfo showBom2(Map param); - List getMoveTaskPoints(); + List getMoveTaskPoints(String task_type); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.java index 4160d4f..aec473f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.java @@ -45,5 +45,5 @@ public interface BstIvtStockingivtMapper extends BaseMapper { List showPapervehicleView(String product_area, String material_code); - List getMoveTaskPoints(); + List getMoveTaskPoints(String task_type); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.xml index 5a79aca..b14eaaf 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/dao/mapper/BstIvtStockingivtMapper.xml @@ -124,7 +124,7 @@ FROM sch_base_task t LEFT JOIN bst_ivt_stockingivt s ON s.point_code = t.point_code1 AND s.point_type = '2' AND s.is_used = '1' - WHERE t.task_type = '010816' + WHERE t.task_type = #{task_type} AND t.task_status ]]> '07' AND t.is_delete = '0' diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java index f87e97c..91a11c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java @@ -199,7 +199,7 @@ public class BstIvtStockingivtServiceImpl extends ServiceImpl getMoveTaskPoints() { - return bstIvtStockingivtMapper.getMoveTaskPoints(); + public List getMoveTaskPoints(String task_type) { + return bstIvtStockingivtMapper.getMoveTaskPoints(task_type); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index 2f89e1d..0630d94 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -38,6 +38,7 @@ import org.nl.system.service.notice.ISysNoticeService; import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.dao.Param; import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -126,9 +127,8 @@ public class AutoCallAirShaftTask extends Prun { */ @Transactional(rollbackFor = Exception.class) public void doCallShaft(Param isOnlyPulling, Param tzDay, Param tzArea, Param useXn, Param max_qzz_num) { - //查询套轴缓存位:点位启用、有子卷、气胀轴字段不为空、且无未完成的任务 + //(1)查询套轴缓存位:点位启用、有子卷、气胀轴字段不为空、且无未完成的任务 List notTaskPoints = bcutpointivtService.getAreaNotTaskPointByTcQzzPoint(""); - //(1)若有拔轴任务,则会执行本段代码 //对满足的需拔轴子卷遍历下发任务,同时每次拔轴下发前判断是否有可以接续的套轴计划 for(int i= 0;i stockLam = new LambdaQueryWrapper<>(); - stockLam.eq(BstIvtStockingivt::getIvt_status,SlitterConstant.SLITTER_YES) - .eq(BstIvtStockingivt::getIs_used,SlitterConstant.SLITTER_YES) - .eq(BstIvtStockingivt::getPoint_type,"2"); - List stockList = stockingivtService.list(stockLam); - for(int i=0;i papers = papervehicleService.list(new LambdaQueryWrapper() - .eq(MdPbPapervehicle::getVehicle_code, vehicleCode) - .ne(MdPbPapervehicle::getQty, 0)); - if (papers.size() <= 0) { - // 搬走 - List unFinishtasks = taskService.checkHaveTask(point_code); - if (CollectionUtil.isEmpty(unFinishtasks)) { - // 查找一个没有任务的空位 - List list = stockingivtService.getEmptyPointNotTask("3"); - if (list.size() == 0) { - log.warn("备货区找不到空位置搬运!"); + //判断是否有自动移出托盘的任务下发,如果有则跳过代码 + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(SchBaseTask::getHandle_class, StockAreaSendVehicleTask.class) + .ne(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .ne(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode()) + .eq(SchBaseTask::getIs_delete, "0") + .orderByAsc(SchBaseTask::getTask_code); + List tasks = taskService.list(lam); + if(tasks.size()<=0){ + //判断是否有可移出空盘:有库存、已启用、且属于套轴区点位 + LambdaQueryWrapper stockLam = new LambdaQueryWrapper<>(); + stockLam.eq(BstIvtStockingivt::getIvt_status,SlitterConstant.SLITTER_YES) + .eq(BstIvtStockingivt::getIs_used,SlitterConstant.SLITTER_YES) + .eq(BstIvtStockingivt::getPoint_type,"2"); + List stockList = stockingivtService.list(stockLam); + for(int i=0;i papers = papervehicleService.list(new LambdaQueryWrapper() + .eq(MdPbPapervehicle::getVehicle_code, vehicleCode) + .ne(MdPbPapervehicle::getQty, 0)); + if (papers.size() <= 0) { + // 搬走 + List unFinishtasks = taskService.checkHaveTask(point_code); + if (CollectionUtil.isEmpty(unFinishtasks)) { + // 查找一个没有任务的空位 + List list = stockingivtService.getEmptyPointNotTask("3"); + if (list.size() == 0) { + log.warn("备货区找不到空位置搬运!"); + break; + } + BstIvtStockingivt moveEmptyPoint = list.get(0); + JSONObject moveTaskParam = new JSONObject(); + moveTaskParam.put("point_code1", point_code); + moveTaskParam.put("point_code2", moveEmptyPoint.getPoint_code()); + moveTaskParam.put("vehicle_code", vehicleCode); + moveTaskParam.put("task_type", SlitterEnum.TASK_TYPE.code("备货区单独送空载具")); + moveTaskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA); + stockAreaSendVehicleTask.createTask(moveTaskParam); + //下发一个就行 break; } - BstIvtStockingivt moveEmptyPoint = list.get(0); - JSONObject moveTaskParam = new JSONObject(); - moveTaskParam.put("point_code1", point_code); - moveTaskParam.put("point_code2", moveEmptyPoint.getPoint_code()); - moveTaskParam.put("vehicle_code", vehicleCode); - moveTaskParam.put("task_type", SlitterEnum.TASK_TYPE.code("备货区单独送空载具")); - moveTaskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA); - stockAreaSendVehicleTask.createTask(moveTaskParam); - //下发一个就行 - break; } } } @@ -698,7 +708,7 @@ public class AutoCallAirShaftTask extends Prun { return true; } // 3.2 判断是否有单独拉出去的任务,有的话直接拉过来。 - List stockingivts = stockingivtService.getMoveTaskPoints(); + List stockingivts = stockingivtService.getMoveTaskPoints(SlitterEnum.TASK_TYPE.code("备货区单独送空载具")); if (CollectionUtil.isNotEmpty(stockingivts)) { BstIvtStockingivt bstIvtStockingivt = stockingivts.get(0); // 直接搬过来即可 @@ -715,6 +725,18 @@ public class AutoCallAirShaftTask extends Prun { stockAreaCallTubeTask.createTask(param); return true; } + //判断是否有自动移出托盘的任务下发,如果有则跳过代码 + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(SchBaseTask::getTask_type, SlitterEnum.TASK_TYPE.code("备货区送载具")) + .ne(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .ne(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode()) + .eq(SchBaseTask::getIs_delete, "0") + .orderByAsc(SchBaseTask::getTask_code); + List tasks = taskService.list(lam); + if(tasks.size()>=0){ + log.info("已经有移出托盘的任务,不允许再次下发:"+tasks.toString()); + return false; + } // 查找一个没有任务的空位 List list = stockingivtService.getEmptyPointNotTask("3"); if (list.size() == 0) { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/constant/SlitterConstant.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/constant/SlitterConstant.java index cbe8a6c..c7c49c0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/constant/SlitterConstant.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/constant/SlitterConstant.java @@ -10,7 +10,7 @@ public interface SlitterConstant { /** * 任务区域:暂定Test */ - String SLITTER_TASK_AREA = "B2"; + String SLITTER_TASK_AREA = "B1"; /** * 是/可能/使用... */ @@ -20,13 +20,13 @@ public interface SlitterConstant { */ String SLITTER_NO = "0"; /** - * 标箔:1 + * 气胀轴尺寸4代 */ - String SLITTER_STANDARD_FOIL = "1"; + String SLITTER_PLAN_FOUR = "4"; /** - * 锂电:2 + * 气胀轴尺寸5代 */ - String SLITTER_LITHIUM_BATTERY = "2"; + String SLITTER_PLAN_FIVE = "5"; /** * 区域:上 */