rev:优化手动创建指令
This commit is contained in:
@@ -200,7 +200,7 @@ public interface TaskService {
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
Instruction createInst(String ids) throws Exception;
|
||||
void createInst(String ids) throws Exception;
|
||||
|
||||
Instruction createInst(Instruction inst) throws Exception;
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Synchronized;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.agv.server.XianGongAgvService;
|
||||
import org.nl.acs.auto.initial.ApplicationAutoInitial;
|
||||
@@ -1085,64 +1086,145 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
||||
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
|
||||
public Instruction createInst(String ids) throws Exception {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createInst(String ids) throws Exception {
|
||||
TaskDto acsTask = this.findById(ids);
|
||||
if (acsTask == null) {
|
||||
throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
}
|
||||
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||
if (acsTask == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
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 task_type = acsTask.getTask_type();
|
||||
String vehiclecode = acsTask.getVehicle_code();
|
||||
String storage_task_type = acsTask.getStorage_task_type();
|
||||
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_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 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.isEmpty(start_device_code)) {
|
||||
throw new BadRequestException("起点设备为空,无法生成指令。");
|
||||
}
|
||||
if (StrUtil.isEmpty(next_device_code)) {
|
||||
throw new BadRequestException("终点设备为空,无法生成指令。");
|
||||
}
|
||||
|
||||
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);
|
||||
@@ -1157,25 +1239,32 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
||||
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.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.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.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;
|
||||
|
||||
try {
|
||||
instructionService.create(instdto);
|
||||
} catch (Exception e) {
|
||||
acsTask.setRemark(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,7 +6,8 @@ spring:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
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}
|
||||
password: ${DB_PWD:123456}
|
||||
# 初始连接数
|
||||
|
||||
Reference in New Issue
Block a user