代码更新
This commit is contained in:
@@ -5,7 +5,6 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.dao.PdmBdWorkorder;
|
||||
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 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的任务集合
|
||||
@@ -108,7 +69,6 @@ public abstract class AbstractTask {
|
||||
//1、获取任务
|
||||
//2、根据任务配置补全任务
|
||||
//3、下发
|
||||
|
||||
List<AcsTaskDto> list = new ArrayList<>();
|
||||
for (SchBaseTask task : taskList) {
|
||||
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);
|
||||
|
||||
/**
|
||||
* 寻找合适的点位
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
protected abstract List<Object> findPoints();
|
||||
|
||||
|
||||
/**
|
||||
* 设置起点或者终点
|
||||
@@ -230,19 +183,14 @@ public abstract class AbstractTask {
|
||||
if (ObjectUtil.isEmpty(workorder)) {
|
||||
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("vehicle_type", workorder.getVehicle_type()); // 载具类型
|
||||
// 设置任务数据
|
||||
task.setVehicle_type(workorder.getVehicle_type());
|
||||
}
|
||||
// 2、创建申请任务
|
||||
task.setAcs_trace_id("");
|
||||
task.setAcs_trace_id(param.getString("acs_trace_id"));
|
||||
task.setConfig_code(config_code);
|
||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
task.setCreate_mode("");
|
||||
task.setCreate_mode(param.getString("create_mode"));
|
||||
task.setVehicle_code(param.getString("vehicle_code"));
|
||||
task.setTask_status(TaskStatus.APPLY.getCode());
|
||||
// 设置起/终点
|
||||
|
||||
@@ -25,7 +25,6 @@ public class AutoCreateTask {
|
||||
|
||||
if (ObjectUtil.isNull(subTypes) || subTypes.isEmpty()) {
|
||||
Reflections reflections = new Reflections("org.nl");
|
||||
//System.out.println(AbstractAcsTask.class.isAssignableFrom(DumpInvTask.class));
|
||||
subTypes = reflections.getSubTypesOf(AbstractTask.class);
|
||||
}
|
||||
this.doExecute();
|
||||
@@ -45,7 +44,7 @@ public class AutoCreateTask {
|
||||
// }
|
||||
//Method m = obj.getClass().getDeclaredMethod("schedule");
|
||||
Method m = obj.getClass().getMethod("schedule");
|
||||
List<AcsTaskDto> tasks = (List<AcsTaskDto>) m.invoke(obj);
|
||||
m.invoke(obj);
|
||||
} catch (InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
log.info("定时器执行失败:{}", e.getTargetException().getMessage());
|
||||
|
||||
@@ -40,11 +40,11 @@ public class HNMLTask extends AbstractTask {
|
||||
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
|
||||
private ISchBasePointService pointService;
|
||||
@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();
|
||||
SchBaseTaskconfig configObj = taskConfigService.getById(TASK_CONFIG_CODE);
|
||||
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||
|
||||
// 根据传来的类型去对任务进行操作
|
||||
if (status.equals(TaskStatus.EXECUTING)) { // 执行中
|
||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||
@@ -82,23 +83,23 @@ public class HNMLTask extends AbstractTask {
|
||||
// 要把数据存到组盘表
|
||||
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
|
||||
groupEntity.setMaterial_id(ObjectUtil.isNotEmpty(extGroupData) && ObjectUtil.isNotEmpty(extGroupData.getString("material_id"))
|
||||
? extGroupData.getString("material_id")
|
||||
: "");
|
||||
? extGroupData.getString("material_id")
|
||||
: "");
|
||||
groupEntity.setStanding_time(ObjectUtil.isNotEmpty(extGroupData) && ObjectUtil.isNotEmpty(extGroupData.getString("standing_time"))
|
||||
? extGroupData.getInteger("standing_time")
|
||||
: 0);
|
||||
? extGroupData.getInteger("standing_time")
|
||||
: 0);
|
||||
groupEntity.setIs_full(ObjectUtil.isNotEmpty(extGroupData)
|
||||
? extGroupData.getBoolean("is_full")
|
||||
: true);
|
||||
? extGroupData.getBoolean("is_full")
|
||||
: true);
|
||||
groupEntity.setMaterial_qty(ObjectUtil.isNotEmpty(extGroupData)
|
||||
? extGroupData.getInteger("material_qty")
|
||||
: 0);
|
||||
? extGroupData.getInteger("material_qty")
|
||||
: 0);
|
||||
groupEntity.setMaterial_weight(ObjectUtil.isNotEmpty(extGroupData)
|
||||
? extGroupData.getBigDecimal("material_weight")
|
||||
: BigDecimal.valueOf(0));
|
||||
? extGroupData.getBigDecimal("material_weight")
|
||||
: BigDecimal.valueOf(0));
|
||||
groupEntity.setWorkorder_code(ObjectUtil.isNotEmpty(extGroupData) && ObjectUtil.isNotEmpty(extGroupData.getString("workorder_code"))
|
||||
? extGroupData.getString("workorder_code")
|
||||
: "");
|
||||
? extGroupData.getString("workorder_code")
|
||||
: "");
|
||||
groupEntity.setVehicle_code(vehicle_code);
|
||||
groupEntity.setVehicle_type(taskObj.getVehicle_type());
|
||||
groupEntity.setPoint_code(endPoint);
|
||||
@@ -183,16 +184,6 @@ public class HNMLTask extends AbstractTask {
|
||||
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void issue() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<Object> findPoints() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceFinish(String task_code) {
|
||||
this.updateStatus(task_code, TaskStatus.FINISHED);
|
||||
|
||||
@@ -79,6 +79,7 @@ public class HNQKTask extends AbstractTask {
|
||||
|
||||
/**
|
||||
* 找起点
|
||||
*
|
||||
* @param startRegionStr
|
||||
* @return
|
||||
*/
|
||||
@@ -97,11 +98,6 @@ public class HNQKTask extends AbstractTask {
|
||||
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void issue() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
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
|
||||
public void forceFinish(String task_code) {
|
||||
this.updateStatus(task_code, TaskStatus.FINISHED);
|
||||
|
||||
@@ -50,6 +50,7 @@ public class YZQLTask extends AbstractTask {
|
||||
private ISchBaseTaskconfigService taskConfigService;
|
||||
@Autowired
|
||||
private ISchBaseVehiclematerialgroupService vehiclematerialgroupService;
|
||||
|
||||
@Override
|
||||
protected void create() throws BadRequestException {
|
||||
// 获取任务
|
||||
@@ -84,10 +85,11 @@ public class YZQLTask extends AbstractTask {
|
||||
|
||||
/**
|
||||
* 找起点业务:根据起点区域寻找所需点位
|
||||
*
|
||||
* @param startRegionStr : 区域列表
|
||||
* @param extGroupData : 外部参数,包含条件所需的信息
|
||||
* @description : JSONObject获取不到就是null
|
||||
* @param extGroupData : 外部参数,包含条件所需的信息
|
||||
* @return
|
||||
* @description : JSONObject获取不到就是null
|
||||
*/
|
||||
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject extGroupData) {
|
||||
String materialId = extGroupData.getString("material_id");
|
||||
@@ -114,10 +116,6 @@ public class YZQLTask extends AbstractTask {
|
||||
return one;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void issue() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateStatus(String task_code, TaskStatus status) {
|
||||
@@ -168,11 +166,6 @@ public class YZQLTask extends AbstractTask {
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<Object> findPoints() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceFinish(String task_code) {
|
||||
this.updateStatus(task_code, TaskStatus.FINISHED);
|
||||
|
||||
Reference in New Issue
Block a user