From b8ead96f16c5b76ce44cd5377e919756f431eafc Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Tue, 18 Apr 2023 19:25:36 +0800 Subject: [PATCH] =?UTF-8?q?rev=20=E6=9B=B4=E6=96=B0=E5=9B=B0=E6=96=99?= =?UTF-8?q?=E5=8C=BA=E5=8F=AA=E5=AD=98=E5=BA=93=E5=AD=98=E5=BE=97=E5=8F=AA?= =?UTF-8?q?=E6=9C=8925=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/sch/tasks/handling/HandlingTask.java | 36 +++++++++---------- .../tasks/timing/TimingSendMaterialTask.java | 14 ++++---- .../nl/wms/st/structivt/service/KlhcqIvt.java | 15 ++++---- .../src/main/resources/config/application.yml | 2 +- 4 files changed, 34 insertions(+), 33 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/handling/HandlingTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/handling/HandlingTask.java index fc0c71b..ffb92a8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/handling/HandlingTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/handling/HandlingTask.java @@ -115,9 +115,9 @@ public class HandlingTask extends AbstractAcsTask { jsonEnd.put("point_status", "1"); jsonEnd.put("update_time", DateUtil.now()); pointTab.update(jsonEnd); - log.info("手持任务完成,从混碾机到一号接驳位,终点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,从混碾机到一号接驳位,终点解锁成功,任务号:{}", jsonTask.getString("task_code")); Map ivtMap = new HashMap<>(); - ivtMap.put(taskObj.getString("vehicle_code"), taskObj.getString("material_id")); + ivtMap.put(jsonTask.getString("vehicle_code"), jsonTask.getString("material_id")); try { KlhcqIvt.add(ivtMap); } catch (InterruptedException e) { @@ -125,9 +125,9 @@ public class HandlingTask extends AbstractAcsTask { log.error("手持任务完成,从混碾机到一号接驳位更新困料区库存出现异常!" + e.getMessage()); } //修改终点库存 - ivtEnd.put("vehicle_type", taskObj.getString("vehicle_type")); - ivtEnd.put("vehicle_code", taskObj.getString("vehicle_code")); - ivtEnd.put("material_id", taskObj.getString("material_id")); + ivtEnd.put("vehicle_type", jsonTask.getString("vehicle_type")); + ivtEnd.put("vehicle_code", jsonTask.getString("vehicle_code")); + ivtEnd.put("material_id", jsonTask.getString("material_id")); ivtEnd.put("instorage_time", DateUtil.now()); ivtTab.update(ivtEnd); } else { @@ -144,7 +144,7 @@ public class HandlingTask extends AbstractAcsTask { jsonEnd.put("task_id", ""); jsonEnd.put("update_time", DateUtil.now()); pointTab.update(jsonEnd); - log.info("手持任务完成,从混碾机到空盅暂存区,终点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,从混碾机到空盅暂存区,终点解锁成功,任务号:{}", jsonTask.getString("task_code")); } jsonStart.put("vehicle_type", ""); jsonStart.put("vehicle_code", ""); @@ -174,10 +174,10 @@ public class HandlingTask extends AbstractAcsTask { jsonEnd.put("point_status", "1"); jsonEnd.put("update_time", DateUtil.now()); pointTab.update(jsonEnd); - log.info("手持任务完成,从空盅缓存区到一号接驳位,终点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,从空盅缓存区到一号接驳位,终点解锁成功,任务号:{}", jsonTask.getString("task_code")); Map ivtMap = new HashMap<>(); - ivtMap.put(taskObj.getString("vehicle_code"), taskObj.getString("material_id")); + ivtMap.put(jsonTask.getString("vehicle_code"), jsonTask.getString("material_id")); try { KlhcqIvt.add(ivtMap); } catch (InterruptedException e) { @@ -186,9 +186,9 @@ public class HandlingTask extends AbstractAcsTask { } //修改终点库存 - ivtEnd.put("vehicle_type", taskObj.getString("vehicle_type")); - ivtEnd.put("vehicle_code", taskObj.getString("vehicle_code")); - ivtEnd.put("material_id", taskObj.getString("material_id")); + ivtEnd.put("vehicle_type", jsonTask.getString("vehicle_type")); + ivtEnd.put("vehicle_code", jsonTask.getString("vehicle_code")); + ivtEnd.put("material_id", jsonTask.getString("material_id")); ivtEnd.put("instorage_time", DateUtil.now()); ivtTab.update(ivtEnd); //修改起点库存 @@ -206,7 +206,7 @@ public class HandlingTask extends AbstractAcsTask { jsonStart.put("material_id", ""); jsonStart.put("update_time", DateUtil.now()); pointTab.update(jsonStart); - log.info("手持任务完成,从空盅缓存区到一号接驳位,起点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,从空盅缓存区到一号接驳位,起点解锁成功,任务号:{}", jsonTask.getString("task_code")); } else if (StrUtil.equals(region_codeE, RegionTypeEnum.YLJQ.getCode())) { //修改起点库存 @@ -225,7 +225,7 @@ public class HandlingTask extends AbstractAcsTask { jsonStart.put("material_id", ""); jsonStart.put("update_time", DateUtil.now()); pointTab.update(jsonStart); - log.info("手持任务完成,从满料盅区到压力机区,起点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,从满料盅区到压力机区,起点解锁成功,任务号:{}", jsonTask.getString("task_code")); //修改终点库存 即空盅对接位因为压力机叫完料 放到空盅对接位才上报放货完成 此时需要修改空盅对接位的库存 即 ivtEnd.put("vehicle_type", jsonTask.getString("vehicle_type")); @@ -266,7 +266,7 @@ public class HandlingTask extends AbstractAcsTask { jsonStart.put("task_id", ""); jsonStart.put("update_time", DateUtil.now()); pointTab.update(jsonStart); - log.info("手持任务完成,到混碾区,起点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,到混碾区,起点解锁成功,任务号:{}", jsonTask.getString("task_code")); } else if (StrUtil.equals(region_codeS, RegionTypeEnum.GT4.getCode())) { log.info("手持创建任务,从redis删除对应的载具信息,载具号:{},物料信息:{}", jsonTask.getString("vehicle_code"), redisUtils.get(jsonTask.getString("vehicle_code"))); @@ -288,7 +288,7 @@ public class HandlingTask extends AbstractAcsTask { jsonEnd.put("point_status", "2"); jsonEnd.put("update_time", DateUtil.now()); pointTab.update(jsonEnd); - log.info("手持任务完成,起点为GT04,终点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,起点为GT04,终点解锁成功,任务号:{}", jsonTask.getString("task_code")); //修改起点库存 ivtStart.put("vehicle_type", ""); ivtStart.put("vehicle_code", ""); @@ -304,7 +304,7 @@ public class HandlingTask extends AbstractAcsTask { jsonStart.put("point_status", "1"); jsonStart.put("update_time", DateUtil.now()); pointTab.update(jsonStart); - log.info("手持任务完成,起点为GT04,起点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,起点为GT04,起点解锁成功,任务号:{}", jsonTask.getString("task_code")); } else if (StrUtil.equals(RegionTypeEnum.GT4.getCode(), region_codeE) && StrUtil.equals(RegionTypeEnum.MLZZCQ.getCode(), region_codeS)) { //修改终点库存 @@ -323,7 +323,7 @@ public class HandlingTask extends AbstractAcsTask { jsonEnd.put("point_status", "2"); jsonEnd.put("update_time", DateUtil.now()); pointTab.update(jsonEnd); - log.info("手持任务完成,从满料盅到GT04,终点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,从满料盅到GT04,终点解锁成功,任务号:{}", jsonTask.getString("task_code")); //修改起点库存 // ivtStart.put("vehicle_type", ""); // ivtStart.put("vehicle_code", ""); @@ -339,7 +339,7 @@ public class HandlingTask extends AbstractAcsTask { // jsonStart.put("point_status", "1"); jsonStart.put("update_time", DateUtil.now()); pointTab.update(jsonStart); - log.info("手持任务完成,从满料盅到GT04,起点解锁成功,任务号:{}", taskObj.getString("task_code")); + log.info("手持任务完成,从满料盅到GT04,起点解锁成功,任务号:{}", jsonTask.getString("task_code")); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/timing/TimingSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/timing/TimingSendMaterialTask.java index c7bb8f4..b75dc58 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/timing/TimingSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/timing/TimingSendMaterialTask.java @@ -114,11 +114,11 @@ public class TimingSendMaterialTask extends AbstractAcsTask { if (jsonEnd.getString("region_code").equals(RegionTypeEnum.GT1.getCode())) { RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class); - redisUtils.set(taskObj.getString("vehicle_code"), StrUtil.isEmpty(taskObj.getString("material_id")) ? "" : taskObj.getString("material_id")); - redisUtils.set(taskObj.getString("vehicle_code") + "-ivt_qty", "1"); - log.info("定时任务到GT01,往redis中存载具信息:载具号:{},物料信息:{}", taskObj.getString("vehicle_code"), taskObj.getString("material_id")); + redisUtils.set(jsonTask.getString("vehicle_code"), StrUtil.isEmpty(jsonTask.getString("material_id")) ? "" : jsonTask.getString("material_id")); + redisUtils.set(jsonTask.getString("vehicle_code") + "-ivt_qty", "1"); + log.info("定时任务到GT01,往redis中存载具信息:载具号:{},物料信息:{}", jsonTask.getString("vehicle_code"), jsonTask.getString("material_id")); Map ivtMap = new HashMap<>(); - ivtMap.put(taskObj.getString("vehicle_code"), taskObj.getString("material_id")); + ivtMap.put(jsonTask.getString("vehicle_code"), jsonTask.getString("material_id")); try { KlhcqIvt.add(ivtMap); } catch (InterruptedException e) { @@ -127,9 +127,9 @@ public class TimingSendMaterialTask extends AbstractAcsTask { } //修改终点库存 JSONObject ivtEnd = ivtTab.query("point_code = '" + jsonEnd.getString("point_code") + "'").uniqueResult(0); - ivtEnd.put("vehicle_type", taskObj.getString("vehicle_type")); - ivtEnd.put("vehicle_code", taskObj.getString("vehicle_code")); - ivtEnd.put("material_id", taskObj.getString("material_id")); + ivtEnd.put("vehicle_type", jsonTask.getString("vehicle_type")); + ivtEnd.put("vehicle_code", jsonTask.getString("vehicle_code")); + ivtEnd.put("material_id", jsonTask.getString("material_id")); ivtEnd.put("instorage_time", DateUtil.now()); ivtTab.update(ivtEnd); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/structivt/service/KlhcqIvt.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/structivt/service/KlhcqIvt.java index dd55db0..836a090 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/structivt/service/KlhcqIvt.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/structivt/service/KlhcqIvt.java @@ -18,11 +18,12 @@ import java.util.stream.Collectors; * @author: geng by * @createDate: 2023/4/12 * @Des 只是为了在入库到GT01时更新困料区库存 + * 困料区26不存信息 */ public class KlhcqIvt { - private static ArrayBlockingQueue> ivtQueue = new ArrayBlockingQueue<>(27); + private static ArrayBlockingQueue> ivtQueue = new ArrayBlockingQueue<>(26); //困料区+1号滚筒接驳机数量 - private static final Integer MAX_NUM = 27; + private static final Integer MAX_NUM = 26; private static final Integer MIN_NUM = 0; /** @@ -36,7 +37,7 @@ public class KlhcqIvt { //如果入库到GT01时 队列的大小为0 就去数据库中查找困料区库存信息和GT01信息 将信息赋值给队列 if (ivtQueue.size() == MIN_NUM) { WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - JSONArray resultJSONArray = wo.query("region_code = '" + RegionTypeEnum.KLZCQ.getCode() + "'", "point_code").getResultJSONArray(0); + JSONArray resultJSONArray = wo.query("region_code = '" + RegionTypeEnum.KLZCQ.getCode() + "' and point_code <> 'KLZC26'", "point_code").getResultJSONArray(0); List structivtDtos = resultJSONArray.toJavaList(StructivtDto.class); Map ivt; for (int i = 0; i < structivtDtos.size(); i++) { @@ -51,7 +52,7 @@ public class KlhcqIvt { ivt.put(structivtDto.getVehicle_code(), ObjectUtil.isEmpty(structivtDto.getMaterial_id()) ? "" : structivtDto.getMaterial_id().toString()); ivtQueue.put(ivt); } - //此时队列中的数量为27个 可能困料区和GT01会存在空位的情况 执行此方法 + //此时队列中的数量为26个 可能困料区和GT01会存在空位的情况 执行此方法 updateHasEmptyInMiddle(); //如果说困料区或GT01有空位 则不会执行该逻辑 不会从队列头部取出 因为此时队列的个数小于最大队列数 //如果说没有空位 则会执行该逻辑,从队列中取出头部的数据 @@ -69,10 +70,10 @@ public class KlhcqIvt { */ public static void updateIvt() { WQLObject wo = WQLObject.getWQLObject("st_ivt_structivt"); - JSONArray resultJSONArray = wo.query("region_code = '" + RegionTypeEnum.KLZCQ.getCode() + "'", "point_code").getResultJSONArray(0); + JSONArray resultJSONArray = wo.query("region_code = '" + RegionTypeEnum.KLZCQ.getCode() + "'and point_code <> 'KLZC26'", "point_code").getResultJSONArray(0); List structivtDtos = resultJSONArray.toJavaList(StructivtDto.class); List> ivtList = ivtQueue.stream().collect(Collectors.toList()); - //因为队列大小是27 而困料区大小为26 队列的前26个为困料区信息 所以-1 防止索引越界 + //因为队列大小是26 而困料区大小为25 队列的前25个为困料区信息 所以-1 防止索引越界 for (int i = 0; i < ivtList.size() - 1; i++) { Map ivt = ivtList.get(i); for (Map.Entry ivtEntry : ivt.entrySet()) { @@ -96,7 +97,7 @@ public class KlhcqIvt { /** - * 如果困料区26(包括)到GT01(包括)修改队列中的信息 + * 如果困料区25(包括)到GT01(包括)修改队列中的信息 * 比如 困料区03中手动吊出来了 通过库存管理或者出库确认 修改了困料区03的库存信息为空了 * 此时队列信息会被清空 当下次入到GT01更新队列信息时 从数据库查询困料区库存更新到队列中时 * 困料区03中队列信息为载具号为空 因此入库更新库存时 不应该更新困料区03(不包括)到困料区01(包括)的库存 diff --git a/lms/nladmin-system/src/main/resources/config/application.yml b/lms/nladmin-system/src/main/resources/config/application.yml index 7e3fbea..a4d00ab 100644 --- a/lms/nladmin-system/src/main/resources/config/application.yml +++ b/lms/nladmin-system/src/main/resources/config/application.yml @@ -2,7 +2,7 @@ spring: freemarker: check-template-location: false profiles: - active: dev + active: prod jackson: time-zone: GMT+8 data: