From 4b4d915b9570ac31613c46df59d17029cd51a7be Mon Sep 17 00:00:00 2001 From: ls <1793460677@qq.com> Date: Wed, 13 Aug 2025 16:15:34 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=87=BA=E5=85=A5=E5=BA=93=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E8=AF=84=E5=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bst/ivt/boxstack/enums/BoxStackEnum.java | 2 +- .../dao/mapper/BstIvtBoxstackMapper.xml | 4 +- .../service/impl/VehicleTwoServiceImpl.java | 15 +-- .../PdmBiSubpackagerelationServiceImpl.java | 11 +- .../point/dao/mapper/SchBasePointMapper.java | 4 + .../point/dao/mapper/SchBasePointMapper.xml | 1 - .../impl/BstIvtPackageinfoivtServiceImpl.java | 2 + .../nl/b_lms/sch/tasks/TwoInBoxTrussTask.java | 2 +- .../org/nl/b_lms/sch/tasks/TwoOutTask.java | 10 +- .../b_lms/sch/tasks/boxstack/BoxSSXTask.java | 80 +++++++++--- .../sch/tasks/boxstack/InBoxTrussTask.java | 1 + .../b_lms/sch/tasks/boxstack/MxOutTask.java | 15 ++- .../sch/tasks/boxstack/auto/AutoMxZxTask.java | 3 + .../sch/tasks/first_floor_area/DjqTask.java | 7 +- .../sch/tasks/first_floor_area/ZxqTask.java | 9 +- .../first_floor_area/auto/AutoSendToZxq.java | 95 -------------- .../dao/mapper/BstIvtBoxinfoMapper.xml | 2 +- .../storage_manage/ios/enums/IOSEnum.java | 4 +- .../dao/mapper/StIvtIostorinvdisMapper.xml | 8 +- .../impl/StIvtIostorinvOutServiceImpl.java | 1 + .../impl/StIvtIostorinvServiceImpl.java | 3 +- .../util/impl/InBoxManageServiceImpl.java | 26 ++-- .../util/impl/InBussManageServiceImpl.java | 10 +- .../util/impl/InVehicleManageServiceImpl.java | 20 +-- .../util/impl/LashManageServiceImpl.java | 15 ++- .../impl/OutVehicleManageServiceImpl.java | 15 ++- .../util/impl/TwoInBussManageServiceImpl.java | 8 +- .../st/dao/mapper/StIvtStructattrMapper.xml | 14 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 120 ++++++++++++++---- .../main/java/org/nl/wms/sch/ComPareUtil.java | 86 ------------- .../wms/sch/manage/AutoIntoHotCacheTask.java | 6 +- .../service/impl/InchargeServiceImpl.java | 4 +- .../impl/RawAssistIStorServiceImpl.java | 3 + 33 files changed, 287 insertions(+), 319 deletions(-) delete mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java index 1845e28..b1ba217 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java @@ -37,7 +37,7 @@ public enum BoxStackEnum { STOCK_UP_STATUS(MapOf.of("未开始", "1", "执行中", "2", "完成", "3")), //木箱库区域 - POINT_STATUS(MapOf.of("密集区", "1", "零散区", "2", "缓存区", "3", "等待区", "4")); + POINT_STATUS(MapOf.of("密集区", "1", "零散区", "2", "缓存区", "3", "等待区", "4","对接区", "5")); private Map code; diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/service/dao/mapper/BstIvtBoxstackMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/service/dao/mapper/BstIvtBoxstackMapper.xml index 6f1f3bb..a8c7a43 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/service/dao/mapper/BstIvtBoxstackMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/service/dao/mapper/BstIvtBoxstackMapper.xml @@ -58,7 +58,7 @@ where bs.point_status = #{point_status} and bs.current_layer_count = 0 - and bs.box_spec is null + and (bs.box_spec is null or bs.box_spec = "" ) AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status '07' AND (t.point_code2 = bs.stack_code)) @@ -82,7 +82,7 @@ select * from bst_ivt_boxstack bs WHERE bs.current_layer_coun= 0 - and bs.box_spec is null + and (bs.box_spec is null or bs.box_spec = "" ) AND bs.point_status = #{param.point_status} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java index 133d92e..40fae60 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java @@ -257,19 +257,16 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { if (ObjectUtil.isEmpty(sub_list)) { throw new BadRequestException("未查询到子卷包装信息!"); } - String material_barcode = ""; - List subs = new ArrayList<>(); + List material_barcodes = new ArrayList<>(); for (int i = 0; i < sub_list.size(); i++) { - PdmBiSubpackagerelation sub_jo = sub_list.get(i); - String containerName = sub_jo.getContainer_name(); - subs.add(containerName); + PdmBiSubpackagerelation pdmBiSubpackagerelation = sub_list.get(i); if (i == 0) { - material_barcode = containerName; + material_barcodes.add(pdmBiSubpackagerelation.getContainer_name()); } else { - material_barcode += "," + containerName; + material_barcodes.add(pdmBiSubpackagerelation.getContainer_name()); } } - whereJson.put("material_barcode", material_barcode); + if (StringUtils.isBlank(sub_list.get(0).getPackage_box_sn())) { throw new BadRequestException("木箱号不能为空!"); } @@ -306,7 +303,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { } ext_jo.setPcsn(whereJson.getString("box_no")); mdPbStoragevehicleextService.updateById(ext_jo); - + whereJson.put("material_barcode", material_barcodes); inBussManageService.inTask(whereJson); JSONObject result = new JSONObject(); result.put("message", "入库成功!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index d8796f2..ed25bfb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -486,16 +486,18 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl bstIvtBoxstacks1 = boxstackMapper.selectList(new QueryWrapper().eq("box_spec", whereJson.getString("checked")).eq("point_status", BoxStackEnum.POINT_STATUS.code("缓存区"))); + // 查询缓存区木箱,先送数量少的 + List bstIvtBoxstacks1 = boxstackMapper.selectList(new QueryWrapper().eq("box_spec", whereJson.getString("checked")) + .eq("point_status", BoxStackEnum.POINT_STATUS.code("缓存区")).orderByAsc("current_layer_count")); if (CollUtil.isEmpty(bstIvtBoxstacks1)) { throw new BadRequestException("缓存区无可用木箱,请新建备货计划"); } - //查看是否有相同物料类型的任务,如果有合并任务组,三个为一组 + //查看是否有相同物料类型的任务,如果有合并任务组,达到当前任务层数时生成任务 List taskList = taskService.list(new LambdaQueryWrapper().eq(SchBaseTask::getTask_type, BoxStackEnum.TASK_TYPE.code("木箱缓存区到对接位")) .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) .eq(SchBaseTask::getMaterial_code, whereJson.getString("checked"))); if (!taskList.isEmpty()) { - List taskSort = taskList.stream().filter(task -> task.getSort_seq().compareTo(BigDecimal.valueOf(3)) > 0).collect(Collectors.toList()); + List taskSort = taskList.stream().filter(task -> task.getSort_seq().compareTo(BigDecimal.valueOf(bstIvtBoxstacks1.get(0).getCurrent_layer_count())) == 0).collect(Collectors.toList()); if (CollUtil.isNotEmpty(taskSort)) { SchBaseTask schBaseTask = taskSort.get(0); schBaseTask.setSort_seq(schBaseTask.getSort_seq().add(BigDecimal.valueOf(1))); @@ -571,6 +573,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl { List selectList(@Param("param") JSONObject map); List selectDjwPoints(@Param("param") JSONObject map); + + @Select("SELECT * FROM sch_base_point WHERE region_code = 'BLKCK' and is_used = '1'") + List selectByReginCode(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.xml index 0dea366..42c5d02 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.xml @@ -18,7 +18,6 @@ sch_base_point.is_used = '1' AND sch_base_point.is_delete = '0' AND sch_base_point.region_code = 'BKZ01' - GROUP BY sch_base_point.point_code ORDER BY out_empty_seq diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java index 4f648f5..9edb372 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java @@ -598,6 +598,8 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl addTask() { /* @@ -75,43 +95,72 @@ public class BoxSSXTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { - // 任务表 - WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); + // 更新任务的参数 JSONObject map = new JSONObject(); - + SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); /* * 1-执行中, 2-完成 ,0-acs取消 */ + + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() + .eq(SchBaseTask::getTask_id, taskObj.getString("task_id")) + .set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId()) + .set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername()) + .set(SchBaseTask::getUpdate_time, DateUtil.now()); // 执行中 if (status.equals(TaskStatusEnum.EXECUTING.getCode())) { - map.put("task_status", TaskStatusEnum.EXECUTING.getCode()); + updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()); } // 完成 if (status.equals(TaskStatusEnum.FINISHED.getCode())) { - map.put("task_status", TaskStatusEnum.FINISHED.getCode()); + updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); + + //更新组盘信息 + MdPdStorageVehicleInfo mdPdStorageVehicleInfo = mdStorageVehicleInfoMapper.selectOne(new QueryWrapper().eq("storagevehicle_code", taskObj.getString("vehicle_code2"))); + if (ObjectUtil.isEmpty(mdPdStorageVehicleInfo)) { + throw new BadRequestException("载具不存在!"); + } + MdPbStoragevehicleext mdPbStoragevehicleext = mdPbStoragevehicleextMapper.selectOne(new LambdaQueryWrapper().eq(MdPbStoragevehicleext::getStoragevehicle_code, mdPdStorageVehicleInfo.getStoragevehicle_code())); + + if (ObjectUtil.isEmpty(mdPbStoragevehicleext)) { + MdPbStoragevehicleext mdPbStoragevehicleextInsert = new MdPbStoragevehicleext(); + mdPbStoragevehicleextInsert.setStoragevehicleext_id( org.nl.common.utils.IdUtil.getStringId()); + mdPbStoragevehicleextInsert.setStoragevehicle_id(mdPdStorageVehicleInfo.getStoragevehicle_id()); + mdPbStoragevehicleextInsert.setStoragevehicle_code(mdPdStorageVehicleInfo.getStoragevehicle_code()); + mdPbStoragevehicleextInsert.setStoragevehicle_type(mdPdStorageVehicleInfo.getStoragevehicle_type()); + mdPbStoragevehicleextInsert.setPcsn( taskObj.getString("vehicle_code")); + mdPbStoragevehicleextInsert.setDevice_uuid( org.nl.common.utils.IdUtil.getStringId()); + mdPbStoragevehicleextInsert.setUpdate_time( DateUtil.now()); + mdPbStoragevehicleextMapper.insert(mdPbStoragevehicleextInsert); + }else { + mdPbStoragevehicleext.setPcsn( taskObj.getString("vehicle_code")); + mdPbStoragevehicleext.setDevice_uuid( org.nl.common.utils.IdUtil.getStringId()); + mdPbStoragevehicleext.setUpdate_time( DateUtil.now()); + mdPbStoragevehicleextMapper.updateById(mdPbStoragevehicleext); + } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { - if (taskObj.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.ISSUE.getCode())) { + if (Integer.parseInt(schBaseTask.getTask_status()) > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) { throw new BadRequestException("任务已执行不能取消"); } - // 更新任务表删除字段 - map.put("is_delete", IOSEnum.IS_NOTANDYES.code("是")); + //任务被标记为取消 + updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是")); + updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode()); + updateWrapper.set(SchBaseTask::getRemark, "任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - map.put("update_optid", SecurityUtils.getCurrentUserId()); - map.put("update_optname", SecurityUtils.getCurrentNickName()); - map.put("update_time", DateUtil.now()); - WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'"); + + taskService.update(null, updateWrapper); } @Override @@ -128,9 +177,6 @@ public class BoxSSXTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) public String createTask(JSONObject form) { - if (StrUtil.isBlank(form.getString("task_type"))) { - throw new BadRequestException("业务类型不能为空!"); - } if (StrUtil.isBlank(form.getString("start_device_code"))) { throw new BadRequestException("起点不能为空!"); @@ -140,9 +186,7 @@ public class BoxSSXTask extends AbstractAcsTask { throw new BadRequestException("终点不能为空!"); } //创建任务点位层数要扣减 - BstIvtBoxstack bstIvtBoxstackUpdate = boxstackMapper.selectOne(new QueryWrapper().eq("stack_code", form.getString("start_device_code"))); - BstIvtBoxstack bstIvtBoxstack = new BstIvtBoxstack(); - bstIvtBoxstack.setCurrent_layer_count(bstIvtBoxstackUpdate.getCurrent_layer_count() - 1); + JSONObject json = new JSONObject(); json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/InBoxTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/InBoxTrussTask.java index 29778c7..a02207c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/InBoxTrussTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/InBoxTrussTask.java @@ -177,6 +177,7 @@ public class InBoxTrussTask extends AbstractAcsTask { BstIvtBoxstack bstIvtBoxstackUpdate = boxstackMapper.selectOne(new QueryWrapper().eq("stack_code", form.getString("start_device_code"))); BstIvtBoxstack bstIvtBoxstack = new BstIvtBoxstack(); bstIvtBoxstack.setCurrent_layer_count(bstIvtBoxstackUpdate.getCurrent_layer_count() - 1); + boxstackMapper.updateById(bstIvtBoxstack); JSONObject json = new JSONObject(); json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java index 5d44633..bf623aa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/MxOutTask.java @@ -72,6 +72,9 @@ public class MxOutTask extends AbstractAcsTask { @Autowired private SchBaseTaskMapper schBaseTaskMapper; + @Autowired + private InBoxTrussTask inBoxTrussTask; + @@ -123,6 +126,7 @@ public class MxOutTask extends AbstractAcsTask { } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + now + "被调用---------------------------------------------"); + updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()); //更新终点库存 String box_spec = schBaseTask.getMaterial_code(); String vehicle_code = schBaseTask.getVehicle_code(); @@ -141,7 +145,6 @@ public class MxOutTask extends AbstractAcsTask { BstIvtBoxstack boxstackStart = boxstackService.getOne(new LambdaQueryWrapper() .eq(BstIvtBoxstack::getStack_code, schBaseTask.getPoint_code1())); //agv任务完成生成行架任务 - InBoxTrussTask inBoxTrussTask = new InBoxTrussTask(); JSONObject taskParam = new JSONObject(); taskParam.put("task_type", BoxStackEnum.TASK_TYPE.code("木箱行架")); taskParam.put("acs_task_type", IOSEnum.ACS_TYPE.code("子卷装箱行架任务")); @@ -156,7 +159,7 @@ public class MxOutTask extends AbstractAcsTask { // 根据当前层查询木箱信息 BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( new QueryWrapper().lambda() - .eq(BstIvtBoxinfo::getBox_no, split[boxstackStart.getCurrent_layer_count()])); + .eq(BstIvtBoxinfo::getBox_no, split[boxstackStart.getCurrent_layer_count()-1])); if (boxDao == null) { throw new BadRequestException("木箱不存在!"); } @@ -249,10 +252,10 @@ public class MxOutTask extends AbstractAcsTask { SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); taskService.save(task); - //如果目标点位没有空位先创建不下发 - if (isSend) { - this.immediateNotifyAcs(null); - } + //测试屏蔽下发acs +// if (isSend) { +// this.immediateNotifyAcs(null); +// } return task.getTask_id(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java index 466c277..7a2e3c4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/boxstack/auto/AutoMxZxTask.java @@ -107,6 +107,9 @@ public class AutoMxZxTask { schBaseTask.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); schBaseTask.setPoint_code2(bstIvtBoxstacks.get(0).getStack_code()); taskService.updateById(schBaseTask); + //测试屏蔽下发acs +// this.immediateNotifyAcs(null); + } } else { log.info("木箱移库自动搬运任务正在创建被锁住。"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java index 1bd4e40..0d8c1f6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java @@ -207,9 +207,10 @@ public class DjqTask extends AbstractAcsTask { BeanUtils.copyProperties(schBaseTaskVo, task); taskService.save(task); //如果目标点位没有空位先创建不下发 - if (isSend) { - this.immediateNotifyAcs(null); - } + //测试屏蔽下发acs +// if (isSend) { +// this.immediateNotifyAcs(null); +// } return task.getTask_id(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java index 519f236..52b6d9c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java @@ -249,9 +249,12 @@ public class ZxqTask extends AbstractAcsTask { BeanUtils.copyProperties(schBaseTaskVo, task); taskService.save(task); //如果目标点位没有空位先创建不下发 - if (isSend) { - this.immediateNotifyAcs(null); - } + + + //测试屏蔽下发acs +// if (isSend) { +// this.immediateNotifyAcs(null); +// } return task.getTask_id(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java deleted file mode 100644 index a213b48..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendToZxq.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.nl.b_lms.sch.tasks.first_floor_area.auto; - -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.ObjectUtils; -import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; -import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; -import org.nl.b_lms.sch.task.dao.SchBaseTask; -import org.nl.b_lms.sch.task.service.IschBaseTaskService; -import org.nl.b_lms.sch.tasks.first_floor_area.ZxqTask; -import org.nl.common.enums.PackageInfoIvtEnum; -import org.redisson.api.RLock; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import javax.annotation.Resource; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - - -@Slf4j -@Component -@RequiredArgsConstructor -public class AutoSendToZxq extends Prun{ - - private final String THIS_CLASS = AutoSendToZxq.class.getName(); - @Resource - private RedissonClient redissonClient; - @Resource - private IbstIvtPackageinfoivtService packageinfoivtService; - @Resource - private ZxqTask zxqTask; - @Resource - private TaskQueueManager taskQueueManager; - @Resource - private TaskQueue taskQueue; - @Resource - private IschBaseTaskService taskService; - - //待检区->装箱区agv自动搬运任务 - @Autowired - public void run() { - try { - this.sendDjqToZxq(); - }catch (Exception ex){ - log.error(ex.getMessage()); - } - - } - - - - @SneakyThrows - public void sendDjqToZxq() { - log.info(THIS_CLASS + "-待检区->装箱区定时任务开始执行扫描。"); - RLock lock = redissonClient.getLock(THIS_CLASS); - boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); - try { - if (tryLock) { - - JSONObject task = new JSONObject(); - - //待检区有库位为合格品且过滤未完成任务 - List selectEmpPoints = packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("合格品")); - if (ObjectUtils.isEmpty(selectEmpPoints)) { - return; - } - - //装箱区有空位且过滤未完成任务 - List zxqPackageinfoivtList = packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("空")); - if (ObjectUtils.isEmpty(zxqPackageinfoivtList)) { - return; - } - - task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")); - task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")); - task.put("vehicle_code", selectEmpPoints.get(0).getContainer_name()); - task.put("point_code1", selectEmpPoints.get(0).getPoint_code()); - task.put("point_code2", zxqPackageinfoivtList.get(0).getPoint_code()); - zxqTask.createTask(task); - - } else { - log.info("待检区->装箱区agv自动搬运任务正在创建被锁住。"); - } - } finally { - if (lock.isLocked() && lock.isHeldByCurrentThread()) { - lock.unlock(); - } - } - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxinfoMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxinfoMapper.xml index d1fbf5f..6737a12 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxinfoMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxinfoMapper.xml @@ -39,7 +39,7 @@ GROUP BY - stack_stat.box_spec; + stack_stat.box_spec