fix: 修复任务类型信息,添加acs任务类型
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
package org.nl.common.enums;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import org.nl.common.utils.MapOf;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/*
|
||||
@@ -18,7 +19,7 @@ import java.util.stream.Collectors;
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum AcsTaskEnum {
|
||||
UNDEFINED("0","未定义类型"),
|
||||
TASK_UNDEFINED("0","未定义类型"),
|
||||
//任务类型:3个点,任务编号,无需载具
|
||||
TASK_PRODUCT_MAC("1","专机-专机满料任务"),
|
||||
//3个点,任务编号,缓存线空载具列表
|
||||
@@ -27,6 +28,10 @@ public enum AcsTaskEnum {
|
||||
TASK_CACHELINE_OUT("3","缓存线-专机出库任务"),
|
||||
//专机到深坑任务:深坑业务单独处理
|
||||
TASK_PRODUCT_WASH("4","专机-深坑任务"),
|
||||
TASK_PLOTTER_MAC("5","刻字机-满料入库"),
|
||||
TASK_PLOTTER_EMPTY("6","刻字机-呼叫空框"),
|
||||
TASK_WARP_MAC("7","包装机-叫料出库"),
|
||||
TASK_WARP_EMPTY("8","包装机-送空框"),
|
||||
|
||||
//回调状态
|
||||
STATUS_START("1","执行中"),
|
||||
@@ -42,18 +47,18 @@ public enum AcsTaskEnum {
|
||||
|
||||
//
|
||||
AGV_SYSTEM_NB("1","诺宝机器人任务"),
|
||||
AGV_SYSTEM_XC("1","叉车任务"),
|
||||
AGV_SYSTEM_XC("2","叉车任务"),
|
||||
|
||||
TASK_TYPE_NOBLE_DOUBLE_TASK("1","诺宝双工任务"),
|
||||
TASK_TYPE_NOBLE_SINGLE_TASK("2","诺宝单工任务"),
|
||||
TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK("3","诺宝单入-单任务"),
|
||||
TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK("4","诺宝双入-双任务"),
|
||||
TASK_TYPE_NOBLE_POINT_POINT_TASK("5","诺宝点对点任务"),
|
||||
TASK_TYPE_WEIGHING_TASK_OF_PS20("6","PS20称重任务(刻字-包装)"),
|
||||
TASK_TYPE_NON_WEIGHING_TASK_OF_PS20("7","PS20不称重任务(刻字-包装)"),
|
||||
ACS_TASK_TYPE_NOBLE_DOUBLE_TASK("1","诺宝双工任务"),
|
||||
ACS_TASK_TYPE_NOBLE_SINGLE_TASK("2","诺宝单工任务"),
|
||||
ACS_TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK("3","诺宝单入-单任务"),
|
||||
ACS_TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK("4","诺宝双入-双任务"),
|
||||
ACS_TASK_TYPE_NOBLE_POINT_POINT_TASK("5","诺宝点对点任务"),
|
||||
ACS_TASK_TYPE_WEIGHING_TASK_OF_PS20("6","PS20称重任务(刻字-包装)"),
|
||||
ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20("7","PS20不称重任务(刻字-包装)"),
|
||||
|
||||
TASK_FINISHED_TYPE_AUTO("1", "自动完成任务"),
|
||||
TASK_FINISHED_TYPE_MANUAL("2", "手动完成任务"),
|
||||
AUTO_TASK_FINISHED_TYPE("1", "自动完成任务"),
|
||||
MANUAL_TASK_FINISHED_TYPE("2", "手动完成任务"),
|
||||
;
|
||||
private String code;
|
||||
private String desc;
|
||||
@@ -63,6 +68,32 @@ public enum AcsTaskEnum {
|
||||
if (first.isPresent()){
|
||||
return first.get();
|
||||
}
|
||||
return AcsTaskEnum.UNDEFINED;
|
||||
return AcsTaskEnum.TASK_UNDEFINED;
|
||||
}
|
||||
|
||||
public static JSONArray getTaskTypes() {
|
||||
List<AcsTaskEnum> task = Arrays.stream(AcsTaskEnum.values()).filter(taskEnum -> taskEnum.name().startsWith("TASK_")).collect(Collectors.toList());
|
||||
JSONArray res = new JSONArray();
|
||||
task.forEach(t -> {
|
||||
JSONObject taskEnum = new JSONObject();
|
||||
taskEnum.put("name", t.getDesc());
|
||||
taskEnum.put("code", t.getCode());
|
||||
res.add(taskEnum);
|
||||
});
|
||||
return res;
|
||||
}
|
||||
|
||||
public static List<String> getAcsTaskTypes() {
|
||||
List<AcsTaskEnum> task = Arrays.stream(AcsTaskEnum.values())
|
||||
.filter(taskEnum -> taskEnum.name().startsWith("ACS_TASK_"))
|
||||
.collect(Collectors.toList());
|
||||
List<String> list = new ArrayList<>(task.size());
|
||||
task.forEach(t-> list.add(t.getDesc()));
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
getAcsTaskTypes();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,11 +49,10 @@ public class WmsToAcsServiceImpl implements WmsToAcsService{
|
||||
for (Object o : arr) {
|
||||
JSONObject task = (JSONObject) o;
|
||||
JSONObject param = new JSONObject(MapOf.of("task_id", task.getString("task_id")
|
||||
, "acs_task_type", task.getString("acs_task_type")
|
||||
, "task_code", task.getString("task_code")
|
||||
, "start_point_code", task.getString("point_code1")//起点
|
||||
, "next_point_code", task.getString("point_code2")//空盘返回点
|
||||
, "task_type", task.getString("task_type")
|
||||
, "task_type", task.getString("acs_task_type")
|
||||
, "priority", task.getString("priority")
|
||||
, "is_send", task.getString("is_send")
|
||||
, "vehicle_code", task.getString("vehicle_code")
|
||||
|
||||
@@ -86,15 +86,13 @@ public class TaskController {
|
||||
@Log("获取任务类型列表")
|
||||
@ApiOperation("获取任务类型列表")
|
||||
public ResponseEntity<Object> getTaskType() {
|
||||
TaskTypeEnum[] values = TaskTypeEnum.values();
|
||||
JSONArray arr = new JSONArray();
|
||||
for (TaskTypeEnum value : values) {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("code", value.getCode());
|
||||
json.put("name", value.getName());
|
||||
arr.add(json);
|
||||
}
|
||||
return new ResponseEntity<>(arr, HttpStatus.OK);
|
||||
return new ResponseEntity<>(taskService.getTaskTypes(), HttpStatus.OK);
|
||||
}
|
||||
@GetMapping("/acsTaskType")
|
||||
@Log("获取acs任务类型列表")
|
||||
@ApiOperation("获取acs任务类型列表")
|
||||
public ResponseEntity<Object> getAcsTaskType() {
|
||||
return new ResponseEntity<>(taskService.getAcsTaskType(), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/finishType")
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
package org.nl.wms.sch.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import org.nl.wms.sch.service.dto.TaskDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
@@ -84,4 +85,12 @@ public interface TaskService {
|
||||
* @param param
|
||||
*/
|
||||
void operation(Map<String, Object> param);
|
||||
|
||||
/**
|
||||
* 获取任务类型
|
||||
* @return
|
||||
*/
|
||||
JSONArray getTaskTypes();
|
||||
|
||||
List<String> getAcsTaskType();
|
||||
}
|
||||
|
||||
@@ -85,8 +85,8 @@ public class TaskServiceImpl implements TaskService {
|
||||
map.put("vehicle_code", "%" + whereJson.getString("vehicle_code") + "%");
|
||||
}
|
||||
if (StrUtil.isNotEmpty(whereJson.getString("task_type"))) {
|
||||
ClassstandardDto task_type = classstandardService.findById(whereJson.getString("task_type"));
|
||||
map.put("task_type", task_type.getClass_code());
|
||||
// ClassstandardDto task_type = classstandardService.findById(whereJson.getString("task_type"));
|
||||
map.put("task_type", whereJson.getString("task_type"));
|
||||
}
|
||||
if (StrUtil.isNotEmpty(whereJson.getString("finishTypeList"))) {
|
||||
map.put("finishTypeList", whereJson.getString("finishTypeList"));
|
||||
@@ -200,7 +200,7 @@ public class TaskServiceImpl implements TaskService {
|
||||
JSONObject res = new JSONObject();
|
||||
res.put("task_id", task_id);
|
||||
res.put("status", AcsTaskEnum.STATUS_FINISH.getCode());
|
||||
res.put("finished_type", AcsTaskEnum.TASK_FINISHED_TYPE_MANUAL.getCode()); // 手动完成
|
||||
res.put("finished_type", AcsTaskEnum.MANUAL_TASK_FINISHED_TYPE.getCode()); // 手动完成
|
||||
finish.add(res);
|
||||
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(finish));
|
||||
break;
|
||||
@@ -216,4 +216,13 @@ public class TaskServiceImpl implements TaskService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray getTaskTypes() {
|
||||
return AcsTaskEnum.getTaskTypes();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getAcsTaskType() {
|
||||
return AcsTaskEnum.getAcsTaskTypes();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ public class PlotterCallEmptyTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_FINISH.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
} else {
|
||||
/**
|
||||
@@ -85,7 +85,7 @@ public class PlotterCallEmptyTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_CANNEL.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
}
|
||||
}
|
||||
@@ -120,8 +120,9 @@ public class PlotterCallEmptyTask extends AbstractAcsTask {
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_id", taskdtl_id);
|
||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||
task.put("task_name", "刻字机呼叫空框");
|
||||
task.put("task_type", AcsTaskEnum.TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode()); // todo: 未知????????
|
||||
task.put("task_name", AcsTaskEnum.TASK_PLOTTER_EMPTY.getDesc());
|
||||
task.put("task_type", AcsTaskEnum.TASK_PLOTTER_EMPTY.getCode());
|
||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
||||
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
||||
task.put("material_id", workOrderObj.getString("material_id"));
|
||||
task.put("point_code2", end_point_code);
|
||||
@@ -135,7 +136,7 @@ public class PlotterCallEmptyTask extends AbstractAcsTask {
|
||||
task.put("create_time", DateUtil.now());
|
||||
task.put("update_time", DateUtil.now());
|
||||
task.put("priority", "1");
|
||||
task.put("agv_system_type", "2");
|
||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(task);
|
||||
// 找终点
|
||||
try {
|
||||
|
||||
@@ -67,7 +67,7 @@ public class WrapCallMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_FINISH.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
} else {
|
||||
/**
|
||||
@@ -86,7 +86,7 @@ public class WrapCallMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_CANNEL.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
}
|
||||
}
|
||||
@@ -118,9 +118,10 @@ public class WrapCallMaterialTask extends AbstractAcsTask {
|
||||
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextIdStr();
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_id", taskdtl_id);
|
||||
task.put("task_name", "包装叫料");
|
||||
task.put("task_name", AcsTaskEnum.TASK_WARP_MAC.getDesc());
|
||||
task.put("task_type", AcsTaskEnum.TASK_WARP_MAC.getCode());
|
||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||
task.put("task_type", AcsTaskEnum.TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode()); // todo: 未知
|
||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
||||
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
||||
task.put("point_code2", end_point_code);
|
||||
task.put("handle_class", this.getClass().getName());
|
||||
@@ -133,7 +134,7 @@ public class WrapCallMaterialTask extends AbstractAcsTask {
|
||||
task.put("create_time", DateUtil.now());
|
||||
task.put("update_time", DateUtil.now());
|
||||
task.put("priority", "1");
|
||||
task.put("agv_system_type", "2");
|
||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(task);
|
||||
// 找终点
|
||||
try {
|
||||
|
||||
@@ -65,7 +65,7 @@ public class WrapSendEmptyTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_FINISH.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
} else {
|
||||
/**
|
||||
@@ -84,7 +84,7 @@ public class WrapSendEmptyTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_CANNEL.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
}
|
||||
}
|
||||
@@ -106,9 +106,10 @@ public class WrapSendEmptyTask extends AbstractAcsTask {
|
||||
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_id", taskdtl_id);
|
||||
task.put("task_name", "包装送空框");
|
||||
task.put("task_name", AcsTaskEnum.TASK_WARP_EMPTY.getDesc());
|
||||
task.put("task_type", AcsTaskEnum.TASK_WARP_EMPTY.getCode());
|
||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||
task.put("task_type", AcsTaskEnum.TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode()); // todo: 未知
|
||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20.getCode());
|
||||
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
||||
task.put("point_code1", start_point_code);
|
||||
task.put("handle_class", this.getClass().getName());
|
||||
@@ -121,7 +122,7 @@ public class WrapSendEmptyTask extends AbstractAcsTask {
|
||||
task.put("create_time", DateUtil.now());
|
||||
task.put("update_time", DateUtil.now());
|
||||
task.put("priority", "1");
|
||||
task.put("agv_system_type", "2");
|
||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(task);
|
||||
// 找终点
|
||||
try {
|
||||
|
||||
@@ -67,7 +67,7 @@ public class PlotterSendMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_FINISH.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
} else {
|
||||
/**
|
||||
@@ -86,7 +86,7 @@ public class PlotterSendMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("task_status", StatusEnum.TASK_CANNEL.getCode());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("finished_type", ObjectUtil.isNotEmpty(task.getString("finished_type"))?
|
||||
task.getString("finished_type"):AcsTaskEnum.TASK_FINISHED_TYPE_AUTO.getCode());
|
||||
task.getString("finished_type"):AcsTaskEnum.AUTO_TASK_FINISHED_TYPE.getCode());
|
||||
taskTab.update(taskObj);
|
||||
}
|
||||
}
|
||||
@@ -120,9 +120,10 @@ public class PlotterSendMaterialTask extends AbstractAcsTask {
|
||||
String taskdtl_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_id", taskdtl_id);
|
||||
task.put("task_name", "刻字机送料");
|
||||
task.put("task_name", AcsTaskEnum.TASK_PLOTTER_MAC.getDesc());
|
||||
task.put("task_type", AcsTaskEnum.TASK_PLOTTER_MAC.getCode());
|
||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||
task.put("task_type", AcsTaskEnum.TASK_TYPE_WEIGHING_TASK_OF_PS20.getCode()); // todo: 未知
|
||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_WEIGHING_TASK_OF_PS20.getCode());
|
||||
task.put("material_id", workOrderObj.getString("material_id"));
|
||||
task.put("task_status", StatusEnum.TASK_CREATE.getCode());
|
||||
task.put("point_code1", start_point_code);
|
||||
@@ -136,7 +137,7 @@ public class PlotterSendMaterialTask extends AbstractAcsTask {
|
||||
task.put("create_time", DateUtil.now());
|
||||
task.put("update_time", DateUtil.now());
|
||||
task.put("priority", "1");
|
||||
task.put("agv_system_type", "2");
|
||||
task.put("agv_system_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode());
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(task);
|
||||
// 找终点
|
||||
try {
|
||||
|
||||
@@ -57,8 +57,7 @@
|
||||
reg1.region_name as point1_region_name,
|
||||
reg2.region_name as point2_region_name,
|
||||
reg3.region_name as point3_region_name,
|
||||
reg4.region_name as point4_region_name,
|
||||
cl.class_name
|
||||
reg4.region_name as point4_region_name
|
||||
FROM
|
||||
sch_base_task task
|
||||
LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code
|
||||
@@ -75,11 +74,10 @@
|
||||
LEFT JOIN SCH_BASE_Region reg4 ON reg4.region_code = (
|
||||
SELECT p4.region_code FROM SCH_BASE_Point p4 WHERE p4.point_code = task.point_code4
|
||||
)
|
||||
LEFT JOIN MD_PB_ClassStandard cl ON cl.class_code = task.task_type
|
||||
WHERE
|
||||
task.is_delete = '0'
|
||||
OPTION 输入.task_type <> ""
|
||||
task.task_type = ( select md2.class_code from md_pb_classstandard md2 where md2.class_code = 输入.task_type )
|
||||
task.task_type = 输入.task_type
|
||||
ENDOPTION
|
||||
OPTION 输入.finished_type <> ""
|
||||
task.finished_type = 输入.finished_type
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user