rev:优化手动创建指令
This commit is contained in:
@@ -200,7 +200,7 @@ public interface TaskService {
|
|||||||
*
|
*
|
||||||
* @param ids
|
* @param ids
|
||||||
*/
|
*/
|
||||||
Instruction createInst(String ids) throws Exception;
|
void createInst(String ids) throws Exception;
|
||||||
|
|
||||||
Instruction createInst(Instruction inst) throws Exception;
|
Instruction createInst(Instruction inst) throws Exception;
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.Synchronized;
|
import lombok.Synchronized;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.nl.acs.AcsConfig;
|
import org.nl.acs.AcsConfig;
|
||||||
import org.nl.acs.agv.server.XianGongAgvService;
|
import org.nl.acs.agv.server.XianGongAgvService;
|
||||||
import org.nl.acs.auto.initial.ApplicationAutoInitial;
|
import org.nl.acs.auto.initial.ApplicationAutoInitial;
|
||||||
@@ -1085,64 +1086,145 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
|||||||
return instdto;
|
return instdto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// public Instruction createInst(String ids) throws Exception {
|
||||||
|
// TaskDto acsTask = this.findById(ids);
|
||||||
|
// if (acsTask == null) {
|
||||||
|
// throw new BadRequestException("被删除或无权限,操作失败!");
|
||||||
|
// }
|
||||||
|
// DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||||
|
// InstructionService instructionservice = SpringContextHolder.getBean("instructionServiceImpl");
|
||||||
|
// InstructionDto inst = instructionservice.findByTaskid(ids, "instruction_status < 2 ");
|
||||||
|
// if (inst != null) {
|
||||||
|
// throw new BadRequestException("有指令未完成!");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// String taskid = acsTask.getTask_id();
|
||||||
|
// String taskcode = acsTask.getTask_code();
|
||||||
|
// String vehiclecode = acsTask.getVehicle_code();
|
||||||
|
// String priority = acsTask.getPriority();
|
||||||
|
// String start_point_code = acsTask.getStart_point_code();
|
||||||
|
// String start_device_code = acsTask.getStart_device_code();
|
||||||
|
// String route_plan_code = acsTask.getRoute_plan_code();
|
||||||
|
// String vehicleType = acsTask.getVehicle_type();
|
||||||
|
// // 是否复合任务 =0非复合任务
|
||||||
|
// String compound_task = acsTask.getCompound_task();
|
||||||
|
// String next_point_code = acsTask.getNext_point_code();
|
||||||
|
// String next_device_code = acsTask.getNext_device_code();
|
||||||
|
// String start_point_code2 = acsTask.getStart_point_code2();
|
||||||
|
// String next_point_code2 = acsTask.getNext_point_code2();
|
||||||
|
// String agv_system_type = acsTask.getAgv_system_type();
|
||||||
|
// String task_type = acsTask.getTask_type();
|
||||||
|
// /** 开始平均分解校验 */
|
||||||
|
// String this_device_code =
|
||||||
|
// this.queryAssignedByDevice(acsTask.getStart_device_code(), acsTask.getNext_device_code());
|
||||||
|
// if (StrUtil.isEmpty(this_device_code)) {
|
||||||
|
// List<RouteLineDto> shortPathsList =
|
||||||
|
// routeLineService.getShortPathLines(
|
||||||
|
// start_device_code, acsTask.getNext_device_code(), route_plan_code);
|
||||||
|
// RouteLineDto routeLineDto = shortPathsList.get(0);
|
||||||
|
// String path = routeLineDto.getPath();
|
||||||
|
// String type = routeLineDto.getType();
|
||||||
|
// String[] str = path.split("->");
|
||||||
|
// List<String> pathlist = Arrays.asList(str);
|
||||||
|
// int index = 0;
|
||||||
|
// for (int m = 0; m < pathlist.size(); m++) {
|
||||||
|
// if (pathlist.get(m).equals(start_device_code)) {
|
||||||
|
// index = m + 1;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// next_device_code = pathlist.get(index);
|
||||||
|
// } else {
|
||||||
|
// next_device_code = this_device_code;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (StrUtil.equals(appService.findDeviceTypeByCode(next_device_code), "storage")) {
|
||||||
|
// next_point_code = next_device_code + "-" + acsTask.getTo_y() + "-" + acsTask.getTo_z();
|
||||||
|
// } else {
|
||||||
|
// next_point_code = next_device_code;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// Instruction instdto = new Instruction();
|
||||||
|
// instdto.setInstruction_type(task_type);
|
||||||
|
// instdto.setInstruction_id(IdUtil.simpleUUID());
|
||||||
|
// instdto.setRoute_plan_code(route_plan_code);
|
||||||
|
// instdto.setRemark(acsTask.getRemark());
|
||||||
|
// instdto.setMaterial(acsTask.getMaterial());
|
||||||
|
// instdto.setQuantity(acsTask.getQuantity());
|
||||||
|
// instdto.setTask_id(taskid);
|
||||||
|
// instdto.setTask_code(taskcode);
|
||||||
|
// instdto.setVehicle_code(vehiclecode);
|
||||||
|
// String now = DateUtil.now();
|
||||||
|
// instdto.setCreate_time(now);
|
||||||
|
// instdto.setCreate_by("auto");
|
||||||
|
// instdto.setStart_device_code(start_device_code);
|
||||||
|
// instdto.setNext_device_code(next_device_code);
|
||||||
|
// instdto.setStart_point_code(start_point_code);
|
||||||
|
// instdto.setNext_point_code(next_point_code);
|
||||||
|
// instdto.setPriority(priority);
|
||||||
|
// instdto.setInstruction_status("0");
|
||||||
|
// instdto.setExecute_device_code(start_point_code);
|
||||||
|
// instdto.setVehicle_type(vehicleType);
|
||||||
|
// instdto.setStart_point_code2(start_point_code2);
|
||||||
|
// instdto.setStart_device_code2(start_point_code2);
|
||||||
|
// instdto.setNext_device_code2(next_point_code2);
|
||||||
|
// instdto.setNext_point_code2(next_point_code2);
|
||||||
|
// instdto.setAgv_system_type(agv_system_type);
|
||||||
|
// instdto.setAgv_inst_type("1");
|
||||||
|
// instructionservice.create2(instdto);
|
||||||
|
//
|
||||||
|
// // acsTask.setTask_status("1");
|
||||||
|
// // this.update(acsTask);
|
||||||
|
// return instdto;
|
||||||
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Instruction createInst(String ids) throws Exception {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void createInst(String ids) throws Exception {
|
||||||
TaskDto acsTask = this.findById(ids);
|
TaskDto acsTask = this.findById(ids);
|
||||||
if (acsTask == null) {
|
if (acsTask == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||||
throw new BadRequestException("被删除或无权限,操作失败!");
|
|
||||||
}
|
|
||||||
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
|
||||||
InstructionService instructionservice = SpringContextHolder.getBean("instructionServiceImpl");
|
InstructionService instructionservice = SpringContextHolder.getBean("instructionServiceImpl");
|
||||||
InstructionDto inst = instructionservice.findByTaskid(ids, "instruction_status < 2 ");
|
InstructionDto inst = instructionservice.findByTaskid(ids, "instruction_status < 2 ");
|
||||||
if (inst != null) {
|
if (inst != null) {
|
||||||
throw new BadRequestException("有指令未完成!");
|
throw new BadRequestException("有指令未完成!");
|
||||||
}
|
}
|
||||||
|
|
||||||
String taskid = acsTask.getTask_id();
|
String taskid = acsTask.getTask_id();
|
||||||
String taskcode = acsTask.getTask_code();
|
String taskcode = acsTask.getTask_code();
|
||||||
|
String task_type = acsTask.getTask_type();
|
||||||
String vehiclecode = acsTask.getVehicle_code();
|
String vehiclecode = acsTask.getVehicle_code();
|
||||||
|
String storage_task_type = acsTask.getStorage_task_type();
|
||||||
String priority = acsTask.getPriority();
|
String priority = acsTask.getPriority();
|
||||||
String start_point_code = acsTask.getStart_point_code();
|
String is_send = acsTask.getIs_send();
|
||||||
|
|
||||||
String start_device_code = acsTask.getStart_device_code();
|
String start_device_code = acsTask.getStart_device_code();
|
||||||
|
String start_point_code = acsTask.getStart_point_code();
|
||||||
|
|
||||||
|
String put_device_code = acsTask.getPut_device_code();
|
||||||
|
String put_point_code = acsTask.getPut_point_code();
|
||||||
|
|
||||||
|
String next_device_code = acsTask.getNext_device_code();
|
||||||
|
String next_point_code = acsTask.getNext_point_code();
|
||||||
|
|
||||||
|
String start_point_code2 = acsTask.getStart_point_code2();
|
||||||
|
String start_device_code2 = acsTask.getStart_device_code2();
|
||||||
|
|
||||||
|
String next_point_code2 = acsTask.getNext_point_code2();
|
||||||
|
String next_device_code2 = acsTask.getNext_device_code2();
|
||||||
|
|
||||||
|
|
||||||
String route_plan_code = acsTask.getRoute_plan_code();
|
String route_plan_code = acsTask.getRoute_plan_code();
|
||||||
String vehicleType = acsTask.getVehicle_type();
|
String vehicleType = acsTask.getVehicle_type();
|
||||||
// 是否复合任务 =0非复合任务
|
|
||||||
String compound_task = acsTask.getCompound_task();
|
|
||||||
String next_point_code = acsTask.getNext_point_code();
|
|
||||||
String next_device_code = acsTask.getNext_device_code();
|
|
||||||
String start_point_code2 = acsTask.getStart_point_code2();
|
|
||||||
String next_point_code2 = acsTask.getNext_point_code2();
|
|
||||||
String agv_system_type = acsTask.getAgv_system_type();
|
String agv_system_type = acsTask.getAgv_system_type();
|
||||||
String task_type = acsTask.getTask_type();
|
if (StrUtil.isEmpty(start_device_code)) {
|
||||||
/** 开始平均分解校验 */
|
throw new BadRequestException("起点设备为空,无法生成指令。");
|
||||||
String this_device_code =
|
}
|
||||||
this.queryAssignedByDevice(acsTask.getStart_device_code(), acsTask.getNext_device_code());
|
if (StrUtil.isEmpty(next_device_code)) {
|
||||||
if (StrUtil.isEmpty(this_device_code)) {
|
throw new BadRequestException("终点设备为空,无法生成指令。");
|
||||||
List<RouteLineDto> shortPathsList =
|
|
||||||
routeLineService.getShortPathLines(
|
|
||||||
start_device_code, acsTask.getNext_device_code(), route_plan_code);
|
|
||||||
RouteLineDto routeLineDto = shortPathsList.get(0);
|
|
||||||
String path = routeLineDto.getPath();
|
|
||||||
String type = routeLineDto.getType();
|
|
||||||
String[] str = path.split("->");
|
|
||||||
List<String> pathlist = Arrays.asList(str);
|
|
||||||
int index = 0;
|
|
||||||
for (int m = 0; m < pathlist.size(); m++) {
|
|
||||||
if (pathlist.get(m).equals(start_device_code)) {
|
|
||||||
index = m + 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
next_device_code = pathlist.get(index);
|
|
||||||
} else {
|
|
||||||
next_device_code = this_device_code;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StrUtil.equals(appService.findDeviceTypeByCode(next_device_code), "storage")) {
|
|
||||||
next_point_code = next_device_code + "-" + acsTask.getTo_y() + "-" + acsTask.getTo_z();
|
|
||||||
} else {
|
|
||||||
next_point_code = next_device_code;
|
|
||||||
}
|
|
||||||
|
|
||||||
Instruction instdto = new Instruction();
|
Instruction instdto = new Instruction();
|
||||||
instdto.setInstruction_type(task_type);
|
instdto.setInstruction_type(task_type);
|
||||||
@@ -1157,25 +1239,32 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
|||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
instdto.setCreate_time(now);
|
instdto.setCreate_time(now);
|
||||||
instdto.setCreate_by("auto");
|
instdto.setCreate_by("auto");
|
||||||
|
|
||||||
instdto.setStart_device_code(start_device_code);
|
instdto.setStart_device_code(start_device_code);
|
||||||
instdto.setNext_device_code(next_device_code);
|
|
||||||
instdto.setStart_point_code(start_point_code);
|
instdto.setStart_point_code(start_point_code);
|
||||||
|
instdto.setPut_device_code(put_device_code);
|
||||||
|
instdto.setPut_point_code(put_point_code);
|
||||||
|
instdto.setNext_device_code(next_device_code);
|
||||||
instdto.setNext_point_code(next_point_code);
|
instdto.setNext_point_code(next_point_code);
|
||||||
|
|
||||||
|
instdto.setStart_point_code2(start_point_code2);
|
||||||
|
instdto.setStart_device_code2(start_device_code2);
|
||||||
|
instdto.setNext_point_code2(next_point_code2);
|
||||||
|
instdto.setNext_device_code2(next_device_code2);
|
||||||
|
|
||||||
instdto.setPriority(priority);
|
instdto.setPriority(priority);
|
||||||
instdto.setInstruction_status("0");
|
instdto.setInstruction_status("0");
|
||||||
instdto.setExecute_device_code(start_point_code);
|
instdto.setExecute_device_code(start_point_code);
|
||||||
instdto.setVehicle_type(vehicleType);
|
instdto.setVehicle_type(vehicleType);
|
||||||
instdto.setStart_point_code2(start_point_code2);
|
|
||||||
instdto.setStart_device_code2(start_point_code2);
|
|
||||||
instdto.setNext_device_code2(next_point_code2);
|
|
||||||
instdto.setNext_point_code2(next_point_code2);
|
|
||||||
instdto.setAgv_system_type(agv_system_type);
|
instdto.setAgv_system_type(agv_system_type);
|
||||||
instdto.setAgv_inst_type("1");
|
instdto.setAgv_inst_type("1");
|
||||||
instructionservice.create2(instdto);
|
|
||||||
|
|
||||||
// acsTask.setTask_status("1");
|
|
||||||
// this.update(acsTask);
|
try {
|
||||||
return instdto;
|
instructionService.create(instdto);
|
||||||
|
} catch (Exception e) {
|
||||||
|
acsTask.setRemark(e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ spring:
|
|||||||
druid:
|
druid:
|
||||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3307}/${DB_NAME:gaosheng_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3307}/${DB_NAME:gaosheng_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||||
|
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:gaosheng_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
|
||||||
username: ${DB_USER:root}
|
username: ${DB_USER:root}
|
||||||
password: ${DB_PWD:123456}
|
password: ${DB_PWD:123456}
|
||||||
# 初始连接数
|
# 初始连接数
|
||||||
|
|||||||
Reference in New Issue
Block a user