fix:出库代码优化

This commit is contained in:
zhouz
2024-07-08 17:27:47 +08:00
parent 7ef201a891
commit 313b9182c0
3 changed files with 54 additions and 44 deletions

View File

@@ -61,6 +61,12 @@ public class TwoOutHeapTask extends AbstractAcsTask {
.dtl_type(String.valueOf(dtl_type))
.remark(json.getString("remark"))
.build();
if (json.getString("vehicle_code2").contains("A")) {
dto.setRoute_plan_code("two");
} else {
dto.setRoute_plan_code("normal");
}
resultList.add(dto);
// 更新任务为下发
@@ -108,13 +114,13 @@ public class TwoOutHeapTask extends AbstractAcsTask {
// 下发桁架任务:捆扎
JSONObject jsonParam = new JSONObject();
jsonParam.put("device_code",jsonTask.getString("point_code2"));
jsonParam.put("vehicle_code",jsonTask.getString("vehicle_code"));
jsonParam.put("task_group_id",jsonTask.getString("task_group_id"));
jsonParam.put("device_code", jsonTask.getString("point_code2"));
jsonParam.put("vehicle_code", jsonTask.getString("vehicle_code"));
jsonParam.put("task_group_id", jsonTask.getString("task_group_id"));
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
bean1.createLashTask(jsonParam);
}
}

View File

@@ -2,6 +2,7 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -257,10 +258,20 @@ public class LashManageServiceImpl implements LashManageService {
// TODO 贴标流程
JSONObject result = new JSONObject();
String vehicle_code = whereJson.getString("vehicle_code");
//查询托盘对应的载具号
JSONObject vehicle_ext = WQLObject.getWQLObject("md_pb_storagevehicleext").query("storagevehicle_code = '" + vehicle_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(vehicle_ext)) {
throw new BadRequestException("未查询到托盘对应的扩展属性");
}
String box_no = vehicle_ext.getString("pcsn");
if (StrUtil.isEmpty(box_no)){
throw new BadRequestException("未查询到托盘绑定了相关木箱!");
}
// 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda()
.eq(BstIvtBoxinfo::getBox_no, whereJson.getString("vehicle_code"))
.eq(BstIvtBoxinfo::getBox_no, vehicle_ext.getString("box_no"))
);
// 根据木箱料号查询木箱类型信息

View File

@@ -1837,7 +1837,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
} else {
//如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
List<SchBaseTask> existTaskList = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
List<SchBaseTask> existTaskList = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
//如果有就不创建,没有就创建
if (CollectionUtils.isEmpty(existTaskList)) {
//只确定起点NBJ1002
@@ -1851,10 +1851,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
mzhcwTask.createTask(jo2);
result.put("status", HttpStatus.OK.value());
result.put("message", "反馈成功!");
}else{
log.info("已存在任务编号为:"+existTaskList.get(0).getTask_code()+"未完成的桁架任务,请检查!");
} else {
log.info("已存在任务编号为:" + existTaskList.get(0).getTask_code() + "未完成的桁架任务,请检查!");
result.put("status", HttpStatus.BAD_REQUEST.value());
result.put("message", "已存在任务编号为:"+existTaskList.get(0).getTask_code()+"未完成的桁架任务,请检查!");
result.put("message", "已存在任务编号为:" + existTaskList.get(0).getTask_code() + "未完成的桁架任务,请检查!");
}
}
} else {
@@ -1878,13 +1878,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject result = new JSONObject();
result.put("data", containerName);
//如果空载具缓存位确少空载具,创建输送线->满轴缓存位两个点任务
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
if (CollectionUtils.isEmpty(existTaskList1)) {
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
jo.put("is_send", true);
mzhcwTask.createTask(jo);
//空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务
List<SchBaseTask> existTask1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"),null,null);
List<SchBaseTask> existTask1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), null, null);
if (CollectionUtils.isEmpty(existTask1)) {
JSONObject jo1 = new JSONObject();
//创建确定终点任务
@@ -1899,8 +1899,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
result.put("status", HttpStatus.OK.value());
result.put("message", "反馈成功!");
} else {
log.info("已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!");
result.put("message", "已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!");
log.info("已存在任务编号为:" + existTaskList1.get(0).getTask_code() + "未完成的桁架任务,请检查!");
result.put("message", "已存在任务编号为:" + existTaskList1.get(0).getTask_code() + "未完成的桁架任务,请检查!");
result.put("status", HttpStatus.BAD_REQUEST.value());
}
return result;
@@ -1910,7 +1910,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject result = new JSONObject();
result.put("data", containerName);
// 创建前先判断是否有已创建相同任务
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"),PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
if (CollectionUtils.isEmpty(existTaskList1)) {
jo.put("point_code3", pointCode3);
//终点为输送线点位
@@ -1921,16 +1921,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
result.put("status", HttpStatus.OK.value());
result.put("message", "反馈成功!");
} else {
log.info("已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!");
result.put("message", "已存在任务编号为:"+existTaskList1.get(0).getTask_code()+"未完成的桁架任务,请检查!");
log.info("已存在任务编号为:" + existTaskList1.get(0).getTask_code() + "未完成的桁架任务,请检查!");
result.put("message", "已存在任务编号为:" + existTaskList1.get(0).getTask_code() + "未完成的桁架任务,请检查!");
result.put("status", HttpStatus.BAD_REQUEST.value());
}
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
@SneakyThrows
@@ -2093,35 +2091,30 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
log.info("applySendOutTwo输入参数---------------------------------------------" + whereJson.toString());
JSONObject result = new JSONObject();
try {
// 校验是否是二次分配
if (ObjectUtil.isEmpty(whereJson.getString("task_code"))) {
// 第一次申请
if (ObjectUtil.isEmpty(whereJson.getString("device_code"))) {
throw new BadRequestException("设备号不能为空!");
}
if (ObjectUtil.isEmpty(whereJson.getString("vehicle_code"))) {
throw new BadRequestException("载具号不能为空!");
}
// 调用服务
sendOutManageService.createSendOutTaskOne(whereJson);
} else {
// 第二次申请
String point_code = sendOutManageService.createSendOutTaskTwo(whereJson);
result.put("data", point_code);
// 校验是否是二次分配
if (ObjectUtil.isEmpty(whereJson.getString("task_code"))) {
// 第一次申请
if (ObjectUtil.isEmpty(whereJson.getString("device_code"))) {
throw new BadRequestException("设备号不能为空!");
}
result.put("status", HttpStatus.OK.value());
result.put("message", "下发成功!");
return result;
} catch (Exception e) {
result.put("status", HttpStatus.BAD_REQUEST.value());
result.put("message", e.getMessage());
}
log.info("applySendOutTwo返回参数---------------------------------------------" + result.toString());
if (ObjectUtil.isEmpty(whereJson.getString("vehicle_code"))) {
throw new BadRequestException("载具号不能为空!");
}
// 调用服务
sendOutManageService.createSendOutTaskOne(whereJson);
} else {
// 第二次申请
String point_code = sendOutManageService.createSendOutTaskTwo(whereJson);
result.put("data", point_code);
}
result.put("status", HttpStatus.OK.value());
result.put("message", "下发成功!");
return result;
//log.info("applySendOutTwo返回参数---------------------------------------------" + result.toString());
// return result;
}
@Override