Merge remote-tracking branch 'origin/b_lms' into b_lms
This commit is contained in:
@@ -46,4 +46,11 @@ public class VehicleTwoController {
|
||||
public ResponseEntity<Object> returnIn(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(vehicleTwoService.returnIn(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/reback")
|
||||
@Log("返检、改切入库")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> reback(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(vehicleTwoService.reback(whereJson), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,4 +41,15 @@ public interface VehicleTwoService {
|
||||
* @return :JSONObject:返回前端参数~
|
||||
*/
|
||||
JSONObject returnIn(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param whereJson {
|
||||
* box_no: 木箱号
|
||||
* vehicle_code: 载具号
|
||||
* point_code: 点位
|
||||
* }
|
||||
* @return :JSONObject:返回前端参数~
|
||||
*/
|
||||
JSONObject reback(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -11,8 +11,10 @@ import org.nl.b_lms.sch.point.service.IschBasePointService;
|
||||
import org.nl.b_lms.sch.tasks.TwoInEmpExcepTask;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBoxManageService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -46,6 +48,9 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
@Autowired
|
||||
private IschBasePointService ischBasePointService;
|
||||
|
||||
@Autowired
|
||||
private InBussManageService inBussManageService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject vehicleIn(JSONObject whereJson) {
|
||||
@@ -77,7 +82,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
JSONObject data = device_data.getJSONArray("data").getJSONObject(0);
|
||||
|
||||
// 判断是否有货 且托盘类型相同、数量小于5
|
||||
if (vehicle_type.equals(data.getString("container_type")) && data.getIntValue("qty") < 5 || data.getIntValue("qty") == 0){
|
||||
if (vehicle_type.equals(data.getString("container_type")) && data.getIntValue("qty") < 5 || data.getIntValue("qty") == 0) {
|
||||
// 生成入库叠盘机输送任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010715");
|
||||
@@ -87,6 +92,8 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
//0表示为空托盘
|
||||
param.put("heightLevel", "0");
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
|
||||
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
|
||||
@@ -119,19 +126,20 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
(data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是"))
|
||||
&& data2.getIntValue("qty") < 5)
|
||||
) {*/
|
||||
// 生层到出库口叠盘机任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010714");
|
||||
jsonTaskParam.put("start_device_code", point_code);
|
||||
jsonTaskParam.put("next_device_code", next_device_code);
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
taskBean.immediateNotifyAcs(null);
|
||||
// 生层到出库口叠盘机任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010714");
|
||||
jsonTaskParam.put("start_device_code", point_code);
|
||||
jsonTaskParam.put("next_device_code", next_device_code);
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
param.put("heightLevel", "0");
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
taskBean.immediateNotifyAcs(null);
|
||||
/*} else {
|
||||
result.put("message", "入库失败! 出库叠盘位已叠满!" + next_device_code);
|
||||
return result;
|
||||
@@ -158,4 +166,35 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject reback(JSONObject whereJson) {
|
||||
String bill_type = whereJson.getString("bill_type");
|
||||
//1-返检入库;2-改切入库
|
||||
if (bill_type.equals("1")){
|
||||
whereJson.put("bill_type", IOSEnum.IN_TYPE.code("返检入库"));
|
||||
}else if (bill_type.equals("2")){
|
||||
whereJson.put("bill_type", IOSEnum.IN_TYPE.code("改切入库"));
|
||||
}
|
||||
whereJson.put("box_no", whereJson.getString("box_no"));
|
||||
JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status = '0'").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(resultJSONArray)) {
|
||||
throw new BadRequestException("未查询到子卷包装信息!");
|
||||
}
|
||||
String material_barcode = "";
|
||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||
JSONObject resultObj = resultJSONArray.getJSONObject(i);
|
||||
if (i==0){
|
||||
material_barcode = resultObj.getString("container_name");
|
||||
}else {
|
||||
material_barcode += "," + resultObj.getString("container_name");
|
||||
}
|
||||
}
|
||||
whereJson.put("material_barcode", material_barcode);
|
||||
inBussManageService.inTask(whereJson);
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("message", "入库成功!");
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ public class TwoExcepionalMoveTask extends AbstractAcsTask {
|
||||
json.put("create_id", SecurityUtils.getCurrentUserId());
|
||||
json.put("create_name", SecurityUtils.getCurrentUsername());
|
||||
json.put("create_time", DateUtil.now());
|
||||
json.put("priority", "1");
|
||||
json.put("priority", "3");
|
||||
json.put("acs_task_type", "7");
|
||||
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
|
||||
|
||||
@@ -50,6 +50,7 @@ public class TwoInEmpTask extends AbstractAcsTask {
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(json.getString("task_type"))
|
||||
@@ -165,6 +166,7 @@ public class TwoInEmpTask extends AbstractAcsTask {
|
||||
json.put("point_code1", form.getString("start_device_code"));
|
||||
json.put("point_code2", form.getString("next_device_code"));
|
||||
json.put("handle_class", this.getClass().getName());
|
||||
json.put("request_param",form.getString("request_param"));
|
||||
json.put("create_id", SecurityUtils.getCurrentUserId());
|
||||
json.put("create_name", SecurityUtils.getCurrentUsername());
|
||||
json.put("create_time", DateUtil.now());
|
||||
|
||||
@@ -91,6 +91,12 @@ public class TwoOutBoxTask extends AbstractAcsTask {
|
||||
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定"));
|
||||
jsonAttr.put("storagevehicle_code","");
|
||||
attrTab.update(jsonAttr);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 取消
|
||||
|
||||
@@ -167,7 +167,7 @@ public class DjqTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -159,7 +159,7 @@ public class GzqTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -176,7 +176,7 @@ public class KzjhcwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package org.nl.b_lms.sch.tasks.first_floor_area;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.BooleanUtil;
|
||||
@@ -28,6 +29,7 @@ import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -72,7 +74,6 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
private SsxDjwTask ssxDjwTask;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<AcsTaskDto> addTask() {
|
||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||
@@ -106,7 +107,7 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq( SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("输送线点位 -> 满轴缓存位更新接口任务号为空!");
|
||||
}
|
||||
@@ -133,98 +134,100 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("找不到子卷信息!");
|
||||
}
|
||||
//子卷等级
|
||||
String level = containerInfo.getLevel();
|
||||
if (Arrays.stream(ContainerLevelEnum.values()).noneMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
throw new BadRequestException("非法的子卷等级!");
|
||||
}
|
||||
String level = containerInfo.getLevel() == null ? "1" : containerInfo.getLevel();
|
||||
// if (Arrays.stream(ContainerLevelEnum.values()).noneMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
// throw new BadRequestException("非法的子卷等级!");
|
||||
// }
|
||||
//查询待检区和管制区库位情况
|
||||
List<BstIvtPackageinfoivt> bstIvtPackageinfoivtList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
JSONObject toDjqTask = new JSONObject();
|
||||
//获取子卷号
|
||||
toDjqTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
// 判断子卷等级属于待检区还是管制区,创建满轴缓存位到待检区或管制区的agv任务
|
||||
if (Stream.of(ContainerLevelEnum.BEST, ContainerLevelEnum.WELL, ContainerLevelEnum.COMMON).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
List<BstIvtPackageinfoivt> djqPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("待检区").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(djqPointList)) {
|
||||
throw new BadRequestException("待检区暂无空余库位!");
|
||||
}
|
||||
toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"));
|
||||
toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
toDjqTask.put("point_code2", djqPointList.get(0).getPoint_code());
|
||||
djqTask.createTask(toDjqTask);
|
||||
} else if (Stream.of(ContainerLevelEnum.REWORK, ContainerLevelEnum.CONTROL).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
List<BstIvtPackageinfoivt> gkqPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("管制区").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(gkqPointList)) {
|
||||
throw new BadRequestException("管控区暂无空余库位!");
|
||||
}
|
||||
toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->管制区"));
|
||||
toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
toDjqTask.put("point_code2", gkqPointList.get(0).getPoint_code());
|
||||
gzqTask.createTask(toDjqTask);
|
||||
}
|
||||
// JSONObject toDjqTask = new JSONObject();
|
||||
// //获取子卷号
|
||||
// toDjqTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
// // 判断子卷等级属于待检区还是管制区,创建满轴缓存位到待检区或管制区的agv任务
|
||||
// if (Stream.of(ContainerLevelEnum.BEST, ContainerLevelEnum.WELL, ContainerLevelEnum.COMMON).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
// List<BstIvtPackageinfoivt> djqPointList = bstIvtPackageinfoivtList.stream()
|
||||
// .filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("待检区").equals(r.getPoint_status())
|
||||
// && PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
// if (CollectionUtils.isEmpty(djqPointList)) {
|
||||
// throw new BadRequestException("待检区暂无空余库位!");
|
||||
// }
|
||||
// toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"));
|
||||
// toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
// toDjqTask.put("point_code2", djqPointList.get(0).getPoint_code());
|
||||
// djqTask.createTask(toDjqTask);
|
||||
// } else if (Stream.of(ContainerLevelEnum.REWORK, ContainerLevelEnum.CONTROL).anyMatch(enumItem -> enumItem.getCode().equals(level))) {
|
||||
// List<BstIvtPackageinfoivt> gkqPointList = bstIvtPackageinfoivtList.stream()
|
||||
// .filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("管制区").equals(r.getPoint_status())
|
||||
// && PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
// if (CollectionUtils.isEmpty(gkqPointList)) {
|
||||
// throw new BadRequestException("管控区暂无空余库位!");
|
||||
// }
|
||||
// toDjqTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->管制区"));
|
||||
// toDjqTask.put("point_code1", schBaseTask.getPoint_code2());
|
||||
// toDjqTask.put("point_code2", gkqPointList.get(0).getPoint_code());
|
||||
// gzqTask.createTask(toDjqTask);
|
||||
// }
|
||||
//4.创建空载具到输送线任务
|
||||
List<BstIvtPackageinfoivt> kzjPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
JSONObject toSsxTask = new JSONObject();
|
||||
toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
toSsxTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
//判断空载具缓存位是否有空载具库存,有就叫agv去任一一个位置搬空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
//直接创建搬运空载具任务
|
||||
toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
ssxDjwTask.createTask(toSsxTask);
|
||||
} else {
|
||||
//空载具缓存位没有可用的库存:判断是否有正在搬运空载具过来的任务,有的话不创建
|
||||
//没有的话创建搬运空载具任务, 当任务完成的时候,补发桁架任务。
|
||||
List<BstIvtPackageinfoivt> packageinfoivtList = packageinfoivtService.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")));
|
||||
//todo 查找正在搬运到待检区的任务,假设只有一个
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
//执行中
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.and(
|
||||
r -> r.in(SchBaseTask::getPoint_code2, packageinfoivtList)
|
||||
));
|
||||
//没有正在搬运空载具过来的任务,创建搬运空载具任务
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
//查询待检区或管制区有空载具的
|
||||
List<BstIvtPackageinfoivt> djqOrGzqPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.in(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.POINT_STATUS.code("管制区"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")).orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
List<BstIvtPackageinfoivt> djqPointList = djqOrGzqPointList.stream().filter(r -> r.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("待检区"))).collect(Collectors.toList());
|
||||
//待检区库位有空载具
|
||||
if (CollectionUtils.isNotEmpty(djqPointList)) {
|
||||
List<BstIvtPackageinfoivt> kzjPoint = packageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status()))
|
||||
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq))
|
||||
.collect(Collectors.toList());
|
||||
//创建搬运空载具任务
|
||||
JSONObject toKzjhcwTask = new JSONObject();
|
||||
if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))) {
|
||||
List<BstIvtPackageinfoivt> kzjPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
JSONObject toSsxTask = new JSONObject();
|
||||
toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
toSsxTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
//判断空载具缓存位是否有空载具库存,有就叫桁架去任一一个位置搬空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
//直接创建搬运空载具任务
|
||||
toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
ssxDjwTask.createTask(toSsxTask);
|
||||
} else {
|
||||
//空载具缓存位没有可用的库存:判断是否有正在搬运空载具过来的任务,有的话不创建
|
||||
//没有的话创建搬运空载具任务, 当任务完成的时候,补发桁架任务。
|
||||
List<BstIvtPackageinfoivt> packageinfoivtList = packageinfoivtService.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")));
|
||||
//todo 查找正在搬运到待检区的任务,假设只有一个
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
//执行中
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
|
||||
.and(
|
||||
r -> r.in(SchBaseTask::getPoint_code2, packageinfoivtList)
|
||||
));
|
||||
//没有正在搬运空载具过来的任务,创建搬运空载具任务
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
//查询待检区或管制区有空载具的
|
||||
List<BstIvtPackageinfoivt> djqOrGzqPointList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.in(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.POINT_STATUS.code("管制区"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具")).orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
List<BstIvtPackageinfoivt> djqPointList = djqOrGzqPointList.stream().filter(r -> r.getPoint_status().equals(PackageInfoIvtEnum.POINT_STATUS.code("待检区"))).collect(Collectors.toList());
|
||||
//待检区库位有空载具
|
||||
if (CollectionUtils.isNotEmpty(djqPointList)) {
|
||||
//优先去待检区取空载具
|
||||
toKzjhcwTask.put("point_code1", djqPointList.get(0).getPoint_code());
|
||||
} else {
|
||||
List<BstIvtPackageinfoivt> kzjPoint = packageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status()))
|
||||
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq))
|
||||
.collect(Collectors.toList());
|
||||
//创建搬运空载具任务
|
||||
JSONObject toKzjhcwTask = new JSONObject();
|
||||
if (CollectionUtils.isNotEmpty(djqPointList)) {
|
||||
//优先去待检区取空载具
|
||||
toKzjhcwTask.put("point_code1", djqPointList.get(0).getPoint_code());
|
||||
} else {
|
||||
|
||||
toKzjhcwTask.put("point_code1", djqOrGzqPointList.get(0).getPoint_code());
|
||||
toKzjhcwTask.put("point_code1", djqOrGzqPointList.get(0).getPoint_code());
|
||||
}
|
||||
toKzjhcwTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("取空(待检区->空载具缓存位)"));
|
||||
//送到到任意空载具缓存位
|
||||
toKzjhcwTask.put("point_code2", kzjPoint.get(0).getPoint_code());
|
||||
toKzjhcwTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
kzjhcwTask.createTask(toKzjhcwTask);
|
||||
}
|
||||
toKzjhcwTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("取空(待检区->空载具缓存位)"));
|
||||
//送到到任意空载具缓存位
|
||||
toKzjhcwTask.put("point_code2", kzjPoint.get(0).getPoint_code());
|
||||
toKzjhcwTask.put("vehicle_code", containerInfo.getContainer_name());
|
||||
kzjhcwTask.createTask(toKzjhcwTask);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -280,7 +283,7 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -170,7 +170,7 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -49,7 +50,6 @@ import java.util.stream.Collectors;
|
||||
public class ZxDjwTask extends AbstractAcsTask {
|
||||
|
||||
|
||||
|
||||
@Resource
|
||||
private DjqTask djqTask;
|
||||
@Resource
|
||||
@@ -202,7 +202,7 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
.is_send(isSend ? "1" : "0")
|
||||
.acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type"))
|
||||
.task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status"))
|
||||
//.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area"))
|
||||
.build();
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
BeanUtils.copyProperties(schBaseTaskVo, task);
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -176,11 +177,29 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
* 插入木箱对应载具表
|
||||
*/
|
||||
|
||||
String box_no = whereJson.getString("box_no");
|
||||
String[] split = box_no.split(",");
|
||||
String boxType = "";
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
String boxNo = split[i];
|
||||
BstIvtBoxinfo boxinfo = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, boxNo));
|
||||
if (StrUtil.isEmpty(boxType)) {
|
||||
boxType = boxinfo.getMaterial_code();
|
||||
} else {
|
||||
if (!boxType.equals(boxinfo.getMaterial_code())) {
|
||||
throw new BadRequestException("请扫码相同规格的木箱进行堆叠入库!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//查询对应的木箱信息
|
||||
// 查询木箱信息
|
||||
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, whereJson.getString("box_no"))
|
||||
.eq(BstIvtBoxinfo::getBox_no, split[0])
|
||||
);
|
||||
if (boxDao == null) {
|
||||
throw new BadRequestException("木箱不存在!");
|
||||
@@ -254,6 +273,19 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
param.put("height", boxDao.getBox_high());
|
||||
param.put("containerType", boxDao.getVehicle_type());
|
||||
param.put("barcode", whereJson.getString("box_no"));
|
||||
//根据木箱高度,判断入库仓位的高度
|
||||
String height = "";
|
||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
||||
String box_high = boxDao.getBox_high();
|
||||
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
||||
height = "1";
|
||||
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
||||
height = "2";
|
||||
} else {
|
||||
height = "3";
|
||||
}
|
||||
param.put("heightLevel", height);
|
||||
taskParam.put("request_param", param.toString());
|
||||
TwoInBoxTrussTask taskBean = new TwoInBoxTrussTask();
|
||||
taskBean.createTask(taskParam);
|
||||
@@ -323,7 +355,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -365,7 +397,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
||||
taskDao.setPoint_code2(jsonAttrNow.getString("struct_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -281,7 +281,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
/*
|
||||
* 1.锁定原货位
|
||||
* 2.重新找新货位
|
||||
@@ -356,7 +356,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
taskDao.setPoint_code2(disListNow.get(0).getStruct_code());
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return disListNow.get(0).getStruct_code();
|
||||
return JSONObject.parseObject(JSON.toJSONString(disListNow.get(0)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -89,6 +89,10 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code"));
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("containerType", whereJson.getString("vehicle_type"));
|
||||
//0表示为空托盘
|
||||
jsonTaskParam.put("request_param", param.toString());
|
||||
|
||||
TwoInEmpTask taskBean = new TwoInEmpTask();
|
||||
taskBean.createTask(jsonTaskParam);
|
||||
@@ -106,7 +110,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -141,7 +145,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
||||
taskDao.setPoint_code2(jsonAttrNow.getString("struct_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -116,7 +116,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -160,7 +160,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
taskDao.setVehicle_code(jsonAttrNow.getString("storagevehicle_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -113,7 +113,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String taskExceptional(JSONObject jsonObject) {
|
||||
public JSONObject taskExceptional(JSONObject jsonObject) {
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr");
|
||||
|
||||
@@ -150,7 +150,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
|
||||
taskDao.setVehicle_code(jsonAttrNow.getString("storagevehicle_code"));
|
||||
ischBaseTaskService.updateById(taskDao);
|
||||
|
||||
return jsonAttrNow.getString("struct_code");
|
||||
return jsonAttrNow;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,7 +44,7 @@ public interface InBoxManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
void returnIn(JSONObject whereJson);
|
||||
|
||||
|
||||
@@ -60,6 +60,6 @@ public interface InBussManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
}
|
||||
|
||||
@@ -29,6 +29,6 @@ public interface InVehicleManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public interface OutBoxManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 任务异常处理(2.浅货位有货-取货时)
|
||||
|
||||
@@ -28,7 +28,7 @@ public interface OutVehicleManageService {
|
||||
* }
|
||||
* @return point_code: 货位编码
|
||||
*/
|
||||
String taskExceptional(JSONObject jsonObject);
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 任务异常处理(2.浅货位有货-取货时)
|
||||
|
||||
@@ -22,7 +22,7 @@ public enum PackageInfoIvtEnum {
|
||||
|
||||
//任务类型
|
||||
TASK_TYPE(MapOf.of("输送线->满轴缓存位", "010701", "满轴缓存位->待检区", "010702", "满轴缓存位->管制区", "010703", "放空(空载具缓存位->输送线)",
|
||||
"010704", "取空(待检区->空载具缓存位)", "010705", "待检区->管制区", "010706","管制区->待检区", "010707","待检区->装箱区", "010708", "装箱区->装箱对接位", "010709","放空(装箱区->待检区)", "010710")),
|
||||
"010704", "取空(待检区->空载具缓存位)", "010705", "待检区->管制区", "010706","管制区->待检区", "010707","待检区->装箱区", "010708", "装箱区->装箱对接位", "010709","放空(装箱区->待检区)", "010710","输送线四个点任务", "010711")),
|
||||
|
||||
//ACS任务类型
|
||||
ACS_TASK_TYPE(MapOf.of("agv任务", "1", "桁架任务", "6")),
|
||||
|
||||
@@ -65,6 +65,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Service
|
||||
@@ -1738,25 +1739,35 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
JSONObject result = new JSONObject();
|
||||
if (StringUtils.isBlank(whereJson.getString("device_code")) || StringUtils.isBlank(whereJson.getString("material_barcode"))) {
|
||||
throw new BadRequestException("接口sendProductToFirstFloor,任务号或子卷号参数为空!");
|
||||
|
||||
}
|
||||
//1.查询满轴缓存位是否有空位
|
||||
List<BstIvtPackageinfoivt> bstIvtPackageinfoivtList = packageinfoivtService
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位"))
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空")).orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||
List<BstIvtPackageinfoivt> mzPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("满轴缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
//todo 获取子卷号,子卷号就是载具号?
|
||||
jo.put("vehicle_code", whereJson.getString("material_barcode"));
|
||||
//2.创建输送线->满轴位桁架任务,
|
||||
String point_code1 = whereJson.getString("device_code");
|
||||
jo.put("point_code1", point_code1);
|
||||
if (CollectionUtils.isNotEmpty(bstIvtPackageinfoivtList)) {
|
||||
if (CollectionUtils.isNotEmpty(mzPointList)) {
|
||||
//任意一个满轴缓存位为终点
|
||||
jo.put("point_code2", bstIvtPackageinfoivtList.get(0).getPoint_code());
|
||||
jo.put("point_code2", mzPointList.get(0).getPoint_code());
|
||||
List<BstIvtPackageinfoivt> kzjPointList = bstIvtPackageinfoivtList.stream()
|
||||
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
|
||||
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status())).collect(Collectors.toList());
|
||||
//空载具缓存位有空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
jo.put("point_code3", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
jo.put("point_code4", whereJson.getString("device_code"));
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
|
||||
} else {
|
||||
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
}
|
||||
jo.put("is_send", true);
|
||||
mzhcwTask.createTask(jo);
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
@@ -1875,9 +1886,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
String material_barcode = "";
|
||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||
JSONObject resultObj = resultJSONArray.getJSONObject(i);
|
||||
if (i==0){
|
||||
if (i == 0) {
|
||||
material_barcode = resultObj.getString("container_name");
|
||||
}else {
|
||||
} else {
|
||||
material_barcode += "," + resultObj.getString("container_name");
|
||||
}
|
||||
}
|
||||
@@ -2000,7 +2011,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
.eq(SchBaseTask::getTask_code, whereJson.getString("task_code"))
|
||||
);
|
||||
|
||||
String point_code = "";
|
||||
JSONObject point_code = new JSONObject();
|
||||
// 判断任务类型
|
||||
if (taskDao.getTask_type().equals(TASKEnum.BOX_TYPE.code("木箱入库"))) {
|
||||
// 木箱入库:满入、浅货位有货-放货时
|
||||
@@ -2043,7 +2054,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "下发成功!");
|
||||
result.put("point_code", point_code);
|
||||
result.put("point_code", point_code.getString("struct_code"));
|
||||
result.put("vehicle_code", point_code.getString("struct_code"));
|
||||
log.info("deviceApplyExceptional返回参数:---------------------------------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ public class AcsUtil {
|
||||
throw new BadRequestException("未查询到区域对应的acs地址!");
|
||||
}
|
||||
//String url =acs_url + api;
|
||||
String url ="10.1.3.96:8011/"+ api;
|
||||
String url =acs_url+ api;
|
||||
try {
|
||||
JSONArray rows = new JSONArray();
|
||||
rows.add(jo);
|
||||
|
||||
Reference in New Issue
Block a user