rev 更新困料区只存库存得只有25个
This commit is contained in:
@@ -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<String, String> 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<String, String> 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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<String, String> 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);
|
||||
}
|
||||
|
||||
@@ -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<Map<String, String>> ivtQueue = new ArrayBlockingQueue<>(27);
|
||||
private static ArrayBlockingQueue<Map<String, String>> 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<StructivtDto> structivtDtos = resultJSONArray.toJavaList(StructivtDto.class);
|
||||
Map<String, String> 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<StructivtDto> structivtDtos = resultJSONArray.toJavaList(StructivtDto.class);
|
||||
List<Map<String, String>> ivtList = ivtQueue.stream().collect(Collectors.toList());
|
||||
//因为队列大小是27 而困料区大小为26 队列的前26个为困料区信息 所以-1 防止索引越界
|
||||
//因为队列大小是26 而困料区大小为25 队列的前25个为困料区信息 所以-1 防止索引越界
|
||||
for (int i = 0; i < ivtList.size() - 1; i++) {
|
||||
Map<String, String> ivt = ivtList.get(i);
|
||||
for (Map.Entry<String, String> ivtEntry : ivt.entrySet()) {
|
||||
@@ -96,7 +97,7 @@ public class KlhcqIvt {
|
||||
|
||||
|
||||
/**
|
||||
* 如果困料区26(包括)到GT01(包括)修改队列中的信息
|
||||
* 如果困料区25(包括)到GT01(包括)修改队列中的信息
|
||||
* 比如 困料区03中手动吊出来了 通过库存管理或者出库确认 修改了困料区03的库存信息为空了
|
||||
* 此时队列信息会被清空 当下次入到GT01更新队列信息时 从数据库查询困料区库存更新到队列中时
|
||||
* 困料区03中队列信息为载具号为空 因此入库更新库存时 不应该更新困料区03(不包括)到困料区01(包括)的库存
|
||||
|
||||
@@ -2,7 +2,7 @@ spring:
|
||||
freemarker:
|
||||
check-template-location: false
|
||||
profiles:
|
||||
active: dev
|
||||
active: prod
|
||||
jackson:
|
||||
time-zone: GMT+8
|
||||
data:
|
||||
|
||||
Reference in New Issue
Block a user