代码更新
This commit is contained in:
Binary file not shown.
@@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
|
||||||
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
|
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
|
||||||
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
|
||||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
@@ -46,44 +45,6 @@ public abstract class AbstractTask {
|
|||||||
*/
|
*/
|
||||||
protected abstract void create() throws BadRequestException;
|
protected abstract void create() throws BadRequestException;
|
||||||
|
|
||||||
/**
|
|
||||||
* 下发
|
|
||||||
*/
|
|
||||||
protected abstract void issue();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 添加任务进行下发
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public List addTask() {
|
|
||||||
/* //任务基础表【sch_base_task】
|
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task");
|
|
||||||
JSONArray tasks = taskTab.query("handle_class = '" + this.getClass().getName() + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0);
|
|
||||||
List<AcsTaskDto> arr = new ArrayList<>();
|
|
||||||
for (int i = 0, j = tasks.size(); i < j; i++) {
|
|
||||||
JSONObject json = tasks.getJSONObject(i);
|
|
||||||
AcsTaskDto taskDto = new AcsTaskDto();
|
|
||||||
taskDto.setExt_task_uuid(json.getString("task_id"));
|
|
||||||
taskDto.setTask_code(json.getString("task_code"));
|
|
||||||
taskDto.setTask_type("1");
|
|
||||||
//如果起点是码垛机械手的下料位置,终点是货架,type要给2
|
|
||||||
JSONObject stratrObj = WQLObject.getWQLObject("sch_base_point").query("point_code='" + json.getString("start_point_code") + "'").uniqueResult(0);
|
|
||||||
JSONObject nextObj = WQLObject.getWQLObject("sch_base_point").query("point_code='" + json.getString("next_point_code") + "'").uniqueResult(0);
|
|
||||||
if (StrUtil.equals(stratrObj.getString("area_type"), AreaEnum.YZQY.getCode()) &&
|
|
||||||
StrUtil.equals(nextObj.getString("area_type"), AreaEnum.RYHCHJ.getCode())
|
|
||||||
) {
|
|
||||||
taskDto.setTask_type("2");
|
|
||||||
}
|
|
||||||
taskDto.setRoute_plan_code("normal");
|
|
||||||
taskDto.setStart_device_code(json.getString("start_point_code"));
|
|
||||||
taskDto.setNext_device_code(json.getString("next_point_code"));
|
|
||||||
taskDto.setVehicle_code(json.getString("vehicle_code"));
|
|
||||||
arr.add(taskDto);
|
|
||||||
}
|
|
||||||
return arr;*/
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return WCS的任务集合
|
* @return WCS的任务集合
|
||||||
@@ -108,7 +69,6 @@ public abstract class AbstractTask {
|
|||||||
//1、获取任务
|
//1、获取任务
|
||||||
//2、根据任务配置补全任务
|
//2、根据任务配置补全任务
|
||||||
//3、下发
|
//3、下发
|
||||||
|
|
||||||
List<AcsTaskDto> list = new ArrayList<>();
|
List<AcsTaskDto> list = new ArrayList<>();
|
||||||
for (SchBaseTask task : taskList) {
|
for (SchBaseTask task : taskList) {
|
||||||
AcsTaskDto taskDto = new AcsTaskDto();
|
AcsTaskDto taskDto = new AcsTaskDto();
|
||||||
@@ -148,19 +108,12 @@ public abstract class AbstractTask {
|
|||||||
/**
|
/**
|
||||||
* 自动生成任务
|
* 自动生成任务
|
||||||
*/
|
*/
|
||||||
public void autoCreate() {
|
protected void autoCreate() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void updateStatus(String task_code, TaskStatus status);
|
protected abstract void updateStatus(String task_code, TaskStatus status);
|
||||||
|
|
||||||
/**
|
|
||||||
* 寻找合适的点位
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
protected abstract List<Object> findPoints();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置起点或者终点
|
* 设置起点或者终点
|
||||||
@@ -230,19 +183,14 @@ public abstract class AbstractTask {
|
|||||||
if (ObjectUtil.isEmpty(workorder)) {
|
if (ObjectUtil.isEmpty(workorder)) {
|
||||||
throw new BadRequestException("当前设备工单未生产!");
|
throw new BadRequestException("当前设备工单未生产!");
|
||||||
}
|
}
|
||||||
// 将组盘所需的数据装成jsonObject跟着任务走
|
|
||||||
param.put("material_id", workorder.getMaterial_id()); // 物料标识
|
|
||||||
param.put("standing_time", workorder.getStanding_time()); // 静置时间
|
|
||||||
param.put("workorder_code", workorder.getWorkorder_code()); // 静置时间
|
param.put("workorder_code", workorder.getWorkorder_code()); // 静置时间
|
||||||
param.put("vehicle_type", workorder.getVehicle_type()); // 载具类型
|
|
||||||
// 设置任务数据
|
// 设置任务数据
|
||||||
task.setVehicle_type(workorder.getVehicle_type());
|
task.setVehicle_type(workorder.getVehicle_type());
|
||||||
}
|
}
|
||||||
// 2、创建申请任务
|
// 2、创建申请任务
|
||||||
task.setAcs_trace_id("");
|
task.setAcs_trace_id(param.getString("acs_trace_id"));
|
||||||
task.setConfig_code(config_code);
|
task.setConfig_code(config_code);
|
||||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
task.setCreate_mode(param.getString("create_mode"));
|
||||||
task.setCreate_mode("");
|
|
||||||
task.setVehicle_code(param.getString("vehicle_code"));
|
task.setVehicle_code(param.getString("vehicle_code"));
|
||||||
task.setTask_status(TaskStatus.APPLY.getCode());
|
task.setTask_status(TaskStatus.APPLY.getCode());
|
||||||
// 设置起/终点
|
// 设置起/终点
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ public class AutoCreateTask {
|
|||||||
|
|
||||||
if (ObjectUtil.isNull(subTypes) || subTypes.isEmpty()) {
|
if (ObjectUtil.isNull(subTypes) || subTypes.isEmpty()) {
|
||||||
Reflections reflections = new Reflections("org.nl");
|
Reflections reflections = new Reflections("org.nl");
|
||||||
//System.out.println(AbstractAcsTask.class.isAssignableFrom(DumpInvTask.class));
|
|
||||||
subTypes = reflections.getSubTypesOf(AbstractTask.class);
|
subTypes = reflections.getSubTypesOf(AbstractTask.class);
|
||||||
}
|
}
|
||||||
this.doExecute();
|
this.doExecute();
|
||||||
@@ -45,7 +44,7 @@ public class AutoCreateTask {
|
|||||||
// }
|
// }
|
||||||
//Method m = obj.getClass().getDeclaredMethod("schedule");
|
//Method m = obj.getClass().getDeclaredMethod("schedule");
|
||||||
Method m = obj.getClass().getMethod("schedule");
|
Method m = obj.getClass().getMethod("schedule");
|
||||||
List<AcsTaskDto> tasks = (List<AcsTaskDto>) m.invoke(obj);
|
m.invoke(obj);
|
||||||
} catch (InvocationTargetException e) {
|
} catch (InvocationTargetException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
log.info("定时器执行失败:{}", e.getTargetException().getMessage());
|
log.info("定时器执行失败:{}", e.getTargetException().getMessage());
|
||||||
|
|||||||
@@ -40,11 +40,11 @@ public class HNMLTask extends AbstractTask {
|
|||||||
private static String TASK_CONFIG_CODE = "HNMLTask";
|
private static String TASK_CONFIG_CODE = "HNMLTask";
|
||||||
|
|
||||||
// 空位
|
// 空位
|
||||||
private final String EMPTY_POINT = "1";
|
private static final String EMPTY_POINT = "1";
|
||||||
// 有料
|
// 有料
|
||||||
private final String FULL_POINT = "2";
|
private static final String FULL_POINT = "2";
|
||||||
// 空载具
|
// 空载具
|
||||||
private final String EMPTY_VEHICLE = "3";
|
private static final String EMPTY_VEHICLE = "3";
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISchBasePointService pointService;
|
private ISchBasePointService pointService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -73,6 +73,7 @@ public class HNMLTask extends AbstractTask {
|
|||||||
String vehicle_code = ObjectUtil.isNotEmpty(taskObj.getVehicle_code()) ? taskObj.getVehicle_code() : IdUtil.getSnowflake(1, 1).nextIdStr();
|
String vehicle_code = ObjectUtil.isNotEmpty(taskObj.getVehicle_code()) ? taskObj.getVehicle_code() : IdUtil.getSnowflake(1, 1).nextIdStr();
|
||||||
SchBaseTaskconfig configObj = taskConfigService.getById(TASK_CONFIG_CODE);
|
SchBaseTaskconfig configObj = taskConfigService.getById(TASK_CONFIG_CODE);
|
||||||
SchBasePoint endPointObj = pointService.getById(endPoint);
|
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||||
|
|
||||||
// 根据传来的类型去对任务进行操作
|
// 根据传来的类型去对任务进行操作
|
||||||
if (status.equals(TaskStatus.EXECUTING)) { // 执行中
|
if (status.equals(TaskStatus.EXECUTING)) { // 执行中
|
||||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||||
@@ -183,16 +184,6 @@ public class HNMLTask extends AbstractTask {
|
|||||||
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void issue() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected List<Object> findPoints() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void forceFinish(String task_code) {
|
public void forceFinish(String task_code) {
|
||||||
this.updateStatus(task_code, TaskStatus.FINISHED);
|
this.updateStatus(task_code, TaskStatus.FINISHED);
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ public class HNQKTask extends AbstractTask {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 找起点
|
* 找起点
|
||||||
|
*
|
||||||
* @param startRegionStr
|
* @param startRegionStr
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -97,11 +98,6 @@ public class HNQKTask extends AbstractTask {
|
|||||||
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void issue() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void updateStatus(String task_code, TaskStatus status) {
|
protected void updateStatus(String task_code, TaskStatus status) {
|
||||||
// 校验任务
|
// 校验任务
|
||||||
@@ -121,11 +117,6 @@ public class HNQKTask extends AbstractTask {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected List<Object> findPoints() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void forceFinish(String task_code) {
|
public void forceFinish(String task_code) {
|
||||||
this.updateStatus(task_code, TaskStatus.FINISHED);
|
this.updateStatus(task_code, TaskStatus.FINISHED);
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ public class YZQLTask extends AbstractTask {
|
|||||||
private ISchBaseTaskconfigService taskConfigService;
|
private ISchBaseTaskconfigService taskConfigService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISchBaseVehiclematerialgroupService vehiclematerialgroupService;
|
private ISchBaseVehiclematerialgroupService vehiclematerialgroupService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void create() throws BadRequestException {
|
protected void create() throws BadRequestException {
|
||||||
// 获取任务
|
// 获取任务
|
||||||
@@ -84,10 +85,11 @@ public class YZQLTask extends AbstractTask {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 找起点业务:根据起点区域寻找所需点位
|
* 找起点业务:根据起点区域寻找所需点位
|
||||||
|
*
|
||||||
* @param startRegionStr : 区域列表
|
* @param startRegionStr : 区域列表
|
||||||
* @param extGroupData : 外部参数,包含条件所需的信息
|
* @param extGroupData : 外部参数,包含条件所需的信息
|
||||||
* @description : JSONObject获取不到就是null
|
|
||||||
* @return
|
* @return
|
||||||
|
* @description : JSONObject获取不到就是null
|
||||||
*/
|
*/
|
||||||
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject extGroupData) {
|
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject extGroupData) {
|
||||||
String materialId = extGroupData.getString("material_id");
|
String materialId = extGroupData.getString("material_id");
|
||||||
@@ -114,10 +116,6 @@ public class YZQLTask extends AbstractTask {
|
|||||||
return one;
|
return one;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void issue() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void updateStatus(String task_code, TaskStatus status) {
|
protected void updateStatus(String task_code, TaskStatus status) {
|
||||||
@@ -168,11 +166,6 @@ public class YZQLTask extends AbstractTask {
|
|||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected List<Object> findPoints() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void forceFinish(String task_code) {
|
public void forceFinish(String task_code) {
|
||||||
this.updateStatus(task_code, TaskStatus.FINISHED);
|
this.updateStatus(task_code, TaskStatus.FINISHED);
|
||||||
|
|||||||
Reference in New Issue
Block a user