浙大调度fix

This commit is contained in:
psh
2024-05-22 16:31:15 +08:00
parent e63fd20e56
commit 1dbc7494f2
2 changed files with 17 additions and 19 deletions

View File

@@ -11,6 +11,8 @@ import org.nl.acs.AcsConfig;
import org.nl.acs.agv.AgvUtil;
import org.nl.acs.agv.server.ZheDaAgvService;
import org.nl.acs.device.domain.Device;
import org.nl.acs.device.service.DeviceService;
import org.nl.acs.device.service.dto.DeviceDto;
import org.nl.acs.device_driver.basedriver.cargo_lift_conveyor.CargoLiftConveyorDeviceDriver;
import org.nl.acs.device_driver.basedriver.empty_vehicle_stacking_position.EmptyVehicleStackingPositionDeviceDriver;
import org.nl.acs.device_driver.basedriver.hailiang_smart_plc_test.HailiangSmartplcTestDeviceDriver;
@@ -35,12 +37,15 @@ import org.springframework.stereotype.Service;
public class ZheDaAgvServiceImpl implements ZheDaAgvService {
private final ISysParamService paramService;
private final InstructionService instructionService;
private final DeviceService deviceService;
@LokiLog(type = LokiLogType.AGV)
@Override
public HttpResponse sendAgvInstToAgv(Instruction inst) throws Exception {
JSONObject jo = new JSONObject();
String start_point_code = inst.getStart_point_code();
String next_point_code = inst.getNext_point_code();
DeviceDto startDevice= deviceService.findByCode(inst.getStart_point_code());
String start_point_code = startDevice.getRemark();
DeviceDto nextDevice= deviceService.findByCode(inst.getNext_point_code());
String next_point_code = nextDevice.getRemark();
//1楼AGV普通任务
//2楼AGV普通任务
//2楼AGV起点追加任务
@@ -252,18 +257,11 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService {
String resp = acsToWmsService.requestTaskAgain(address,task.getExt_task_id(),inst.getVehicle_code());
JSONObject respjson = JSONObject.parseObject(resp);
if(StrUtil.equals(inst.getInstruction_type(),"3")){
//2楼AGV起点追加任务
String start_device_code = respjson.getString("device_code");
String next_device_code = inst.getNext_device_code();
destinations.add(destination(start_device_code, "load", "1", "1"));
destinations.add(destination(next_device_code, "Unload", "1", "1"));
} else if(StrUtil.equals(inst.getInstruction_type(),"4")){
//2楼AGV终点追加任务
String next_device_code = respjson.getString("device_code");
destinations.add(destination(next_device_code, "Unload", "1", "1"));
}
String next_device_code = respjson.getString("next_point_code");
DeviceDto device= deviceService.findByCode(next_device_code);
destinations.add(destination(device.getRemark(), "Unload", "1", "1"));
jo.put("destinations", destinations);

View File

@@ -94,7 +94,7 @@ public class TBXMLTask extends AbstractTask {
String requestParam = task.getRequest_param();
JSONObject jsonObject = JSONObject.parseObject(requestParam);
SchBasePoint point = findNextPoint(nextRegionStr, jsonObject);
String pointCode = againApplyLocal(task,point.getPoint_code(),task.getTask_id());
// String pointCode = againApplyLocal(task,point.getPoint_code(),task.getTask_id());
if (ObjectUtil.isEmpty(point)) {
task.setRemark("涂板线[" + task.getPoint_code1() + "]未找到所需点位!");
taskService.updateById(task);
@@ -104,8 +104,7 @@ public class TBXMLTask extends AbstractTask {
continue;
}
// 设置终点并修改创建成功状态
// task.setPoint_code2(point.getPoint_code());
task.setPoint_code2(pointCode);
task.setPoint_code2(point.getPoint_code());
task.setTask_status(TaskStatus.CREATED.getCode());
task.setRemark("");
taskService.updateById(task);
@@ -131,7 +130,7 @@ public class TBXMLTask extends AbstractTask {
String requestParam = task.getRequest_param();
JSONObject jsonObject = JSONObject.parseObject(requestParam);
SchBasePoint point = findNextPoint(nextRegionStr, jsonObject);
String pointCode = againApplyLocal(task,point.getPoint_code(),task.getTask_id());
// String pointCode = againApplyLocal(task,point.getPoint_code(),task.getTask_id());
if (ObjectUtil.isEmpty(point)) {
throw new BadRequestException("涂板线[" + task.getPoint_code1() + "]未找到所需点位!");
}
@@ -142,7 +141,7 @@ public class TBXMLTask extends AbstractTask {
task.setGroup_id(setGroupPlate(jsonObject));
// 设置等待点并修改创建成功状态
task.setNext_wait_point(point.getPoint_code());
task.setPoint_code2(pointCode);
// task.setPoint_code2(pointCode);
task.setTask_status(TaskStatus.CREATED.getCode());
task.setRemark("");
task.setVehicle_code(vehicleCode);
@@ -447,7 +446,8 @@ public class TBXMLTask extends AbstractTask {
throw new BadRequestException("找不到任务:[" + task_id + "]等待点!");
}
if (ObjectUtil.isNotEmpty(task.getPoint_code2())) {
throw new BadRequestException("任务[" + task_id + "]已请求过!");
log.info("任务{}已经二次分配完毕,直接反馈之前计算点位{}",task.getTask_code(),task.getPoint_code2());
return task.getPoint_code2();
}
// 根据任务上等待点的位置获取准确的固化室位置。
// mark: 不考虑前空中间有货后空的问题