rev:修改调度代码
This commit is contained in:
@@ -27,7 +27,7 @@ public enum AcsTaskEnum {
|
|||||||
//专机到深坑任务:深坑业务单独处理
|
//专机到深坑任务:深坑业务单独处理
|
||||||
TASK_PRODUCT_WASH("3","专机-深坑任务"),
|
TASK_PRODUCT_WASH("3","专机-深坑任务"),
|
||||||
//3个点,任务编号,缓存线满料载具列表
|
//3个点,任务编号,缓存线满料载具列表
|
||||||
TASK_CACHELINE_OUT("4","缓存线-专机出库任务"),
|
TASK_CACHELINE_OUT("4","缓存线-专机缺料任务"),
|
||||||
TASK_PLOTTER_MAC("5","刻字机-满料入库"),
|
TASK_PLOTTER_MAC("5","刻字机-满料入库"),
|
||||||
TASK_PLOTTER_EMPTY("6","刻字机-呼叫空框"),
|
TASK_PLOTTER_EMPTY("6","刻字机-呼叫空框"),
|
||||||
TASK_WARP_MAC("7","包装机-叫料出库"),
|
TASK_WARP_MAC("7","包装机-叫料出库"),
|
||||||
|
|||||||
@@ -122,49 +122,30 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{
|
|||||||
String task_id = row.getString("task_id");
|
String task_id = row.getString("task_id");
|
||||||
TaskDto taskDto = taskService.findById(task_id);
|
TaskDto taskDto = taskService.findById(task_id);
|
||||||
String processing_class = taskDto.getHandle_class();
|
String processing_class = taskDto.getHandle_class();
|
||||||
//1:执行中,2:完成 ,3:acs取消
|
//6:执行中,7:完成 ,8:acs取消 acs:123
|
||||||
String acs_task_status = row.getString("status");
|
String acs_task_status = row.getString("status");
|
||||||
String message = "";
|
String message = "";
|
||||||
String status = "";
|
String status = "";
|
||||||
if ("1".equals(acs_task_status)) {
|
if ("1".equals(acs_task_status)) {
|
||||||
status = AcsTaskEnum.STATUS_START.getCode();
|
status = StatusEnum.TASK_RUNNING.getCode();
|
||||||
}
|
}
|
||||||
if ("2".equals(acs_task_status)) {
|
if ("2".equals(acs_task_status)) {
|
||||||
status = AcsTaskEnum.STATUS_FINISH.getCode();
|
status = StatusEnum.TASK_FINISH.getCode();
|
||||||
}
|
}
|
||||||
if ("3".equals(acs_task_status)) {
|
if ("3".equals(acs_task_status)) {
|
||||||
status = AcsTaskEnum.STATUS_CANNEL.getCode();
|
status = StatusEnum.TASK_CANNEL.getCode();
|
||||||
}
|
}
|
||||||
// 任务处理类
|
// 任务处理类
|
||||||
try {
|
try {
|
||||||
Object obj = SpringContextHolder.getBean(Class.forName(processing_class));
|
AbstractAcsTask taskHandler = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(processing_class));
|
||||||
Method m = obj.getClass().getDeclaredMethod("updateTaskStatus", JSONObject.class, String.class);
|
taskHandler.updateTaskStatus(row,status);
|
||||||
m.invoke(obj, row, status);
|
|
||||||
} catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
//空指针
|
|
||||||
if (ObjectUtil.isNull(e.getTargetException().getMessage())) {
|
|
||||||
message = e.getTargetException().toString();
|
|
||||||
} else {
|
|
||||||
message = e.getTargetException().getMessage();
|
|
||||||
}
|
|
||||||
log.info("任务状态更新失败:{}", message);
|
|
||||||
|
|
||||||
JSONObject json = new JSONObject();
|
|
||||||
json.put("task_id", task_id);
|
|
||||||
json.put("message", message);
|
|
||||||
errArr.add(json);
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
|
||||||
message = e.getMessage();
|
|
||||||
log.info("任务状态更新失败:{}", message);
|
log.info("任务状态更新失败:{}", message);
|
||||||
|
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
json.put("task_id", task_id);
|
json.put("task_id", task_id);
|
||||||
json.put("message", message);
|
json.put("message", message);
|
||||||
errArr.add(json);
|
errArr.add(json);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package org.nl.wms.ext.acs.service.impl;
|
package org.nl.wms.ext.acs.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
@@ -79,12 +80,14 @@ public class AgvInstService {
|
|||||||
//判断缓存线是不是去深坑清洗:深坑区域15个点:判断空的物料坑位:
|
//判断缓存线是不是去深坑清洗:深坑区域15个点:判断空的物料坑位:
|
||||||
if (next.getName().equals("深坑清洗")){
|
if (next.getName().equals("深坑清洗")){
|
||||||
query.put("material_id",task.getString("material_id"));
|
query.put("material_id",task.getString("material_id"));
|
||||||
|
query.put("spec",null);
|
||||||
// query.put("qty",quantity) 深坑物料需要转重量
|
// query.put("qty",quantity) 深坑物料需要转重量
|
||||||
task.put("task_type",AcsTaskEnum.TASK_PRODUCT_WASH.getCode());
|
task.put("task_type",AcsTaskEnum.TASK_PRODUCT_WASH.getCode());
|
||||||
task.put("task_name",AcsTaskEnum.TASK_PRODUCT_WASH.getDesc());
|
task.put("task_name",AcsTaskEnum.TASK_PRODUCT_WASH.getDesc());
|
||||||
|
|
||||||
}
|
}
|
||||||
List<Map<String,String>> collect = deviceService.workproceduceDevices(query);
|
List<Map<String,String>> collect = deviceService.workproceduceDevices(query);
|
||||||
|
log.info("调度任务分配点位信息:", JSON.toJSONString(collect));
|
||||||
List<Map<String, String>> list = collect.stream().filter(stringStringMap -> stringStringMap.get("tasks") == null || stringStringMap.get("materials").contains(task.getString("material_id"))).collect(Collectors.toList());
|
List<Map<String, String>> list = collect.stream().filter(stringStringMap -> stringStringMap.get("tasks") == null || stringStringMap.get("materials").contains(task.getString("material_id"))).collect(Collectors.toList());
|
||||||
task.put("acs_task_type",AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode());
|
task.put("acs_task_type",AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode());
|
||||||
task.put("is_send","1");
|
task.put("is_send","1");
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package org.nl.wms.ext.acs.service.impl;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.nl.common.utils.AcsUtil;
|
import org.nl.common.utils.AcsUtil;
|
||||||
@@ -32,8 +32,11 @@ public class WmsToAcsServiceImpl implements WmsToAcsService{
|
|||||||
, "next_point_code", task.getString("point_code3")//空盘返回点
|
, "next_point_code", task.getString("point_code3")//空盘返回点
|
||||||
, "task_group_id", StringUtils.isBlank(task.getString("task_group_id"))? IdUtil.getStringId():task.getString("task_group_id")
|
, "task_group_id", StringUtils.isBlank(task.getString("task_group_id"))? IdUtil.getStringId():task.getString("task_group_id")
|
||||||
, "priority", task.getString("priority")
|
, "priority", task.getString("priority")
|
||||||
, "is_send", task.getString("is_send")
|
, "is_send", task.getBoolean("is_send")?"1":"0"
|
||||||
, "vehicle_code", task.getString("vehicle_code")
|
, "vehicle_code", task.getString("vehicle_code")
|
||||||
|
, "quantity", task.getString("material_qty")
|
||||||
|
, "barcodeArr", task.getString("barcodeArr")
|
||||||
|
, "proprity_floor", "2"
|
||||||
, "agv_system_type", task.getString("agv_system_type")
|
, "agv_system_type", task.getString("agv_system_type")
|
||||||
));
|
));
|
||||||
form.add(param);
|
form.add(param);
|
||||||
@@ -104,3 +107,4 @@ public class WmsToAcsServiceImpl implements WmsToAcsService{
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,6 @@ public interface TaskService {
|
|||||||
*
|
*
|
||||||
* @param param
|
* @param param
|
||||||
*/
|
*/
|
||||||
void operation(Map<String, Object> param);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取任务类型
|
* 获取任务类型
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONArray;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.common.enums.AcsTaskEnum;
|
import org.nl.common.enums.AcsTaskEnum;
|
||||||
|
import org.nl.common.enums.StatusEnum;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.wql.WQL;
|
import org.nl.modules.wql.WQL;
|
||||||
@@ -176,48 +177,6 @@ public class TaskServiceImpl implements TaskService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void operation(Map<String, Object> map) {
|
|
||||||
WmsToAcsServiceImpl wms = new WmsToAcsServiceImpl();
|
|
||||||
String task_id = MapUtil.getStr(map, "task_id");
|
|
||||||
String method_name = MapUtil.getStr(map, "method_name");
|
|
||||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
|
||||||
if (taskObj.getString("task_status").equals(TaskStatusEnum.FINISHED.getCode())) throw new BadRequestException("任务已完成!");
|
|
||||||
|
|
||||||
switch (method_name) { // forceFinish, cancel
|
|
||||||
case "immediateNotifyAcs":
|
|
||||||
JSONArray array = new JSONArray();
|
|
||||||
array.add(taskObj);
|
|
||||||
wms.issueTaskToAcs(array);
|
|
||||||
break;
|
|
||||||
case "forceFinish":
|
|
||||||
JSONArray finish = new JSONArray();
|
|
||||||
JSONObject res = new JSONObject();
|
|
||||||
res.put("task_id", task_id);
|
|
||||||
res.put("status", AcsTaskEnum.STATUS_FINISH.getCode());
|
|
||||||
res.put("finished_type", AcsTaskEnum.MANUAL_TASK_FINISHED_TYPE.getCode()); // 手动完成
|
|
||||||
finish.add(res);
|
|
||||||
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(finish));
|
|
||||||
break;
|
|
||||||
case "cancel":
|
|
||||||
JSONArray cancel = new JSONArray();
|
|
||||||
JSONObject res2 = new JSONObject();
|
|
||||||
res2.put("task_id", task_id);
|
|
||||||
res2.put("status", AcsTaskEnum.STATUS_CANNEL.getCode());
|
|
||||||
cancel.add(res2);
|
|
||||||
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(cancel));
|
|
||||||
break;
|
|
||||||
case "delete":
|
|
||||||
JSONArray delete = new JSONArray();
|
|
||||||
JSONObject res3 = new JSONObject();
|
|
||||||
res3.put("task_id", task_id);
|
|
||||||
res3.put("status", AcsTaskEnum.STATUS_CANNEL.getCode());
|
|
||||||
delete.add(res3);
|
|
||||||
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(delete));
|
|
||||||
break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONArray getTaskTypes() {
|
public JSONArray getTaskTypes() {
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public class SpeEmpTask extends AbstractAcsTask {
|
|||||||
|
|
||||||
JSONObject form = new JSONObject(MapOf.of("start_point_code","",
|
JSONObject form = new JSONObject(MapOf.of("start_point_code","",
|
||||||
"next_point_code",param.getString("device_code"),"return_point_code", "","vehicle_code",
|
"next_point_code",param.getString("device_code"),"return_point_code", "","vehicle_code",
|
||||||
"","product_area",one.getProduct_area(),"quantity", param.getString("quantity"),"type",param.getString("type"),"material_id", one.getMaterial_id()));
|
"","product_area",one.getProduct_area(),"quantity", param.getString("quantity"),"type",AcsTaskEnum.TASK_CACHELINE_OUT.getCode(),"material_id", one.getMaterial_id()));
|
||||||
String taskId = IdUtil.getSnowflake(1, 1).nextId() + "";
|
String taskId = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||||
JSONObject task = packageParam(form, taskId);
|
JSONObject task = packageParam(form, taskId);
|
||||||
taskService.save(task.toJavaObject(SchBaseTask.class));
|
taskService.save(task.toJavaObject(SchBaseTask.class));
|
||||||
@@ -155,9 +155,8 @@ public class SpeEmpTask extends AbstractAcsTask {
|
|||||||
private JSONObject packageParam(JSONObject form, String task_id) {
|
private JSONObject packageParam(JSONObject form, String task_id) {
|
||||||
JSONObject task = new JSONObject();
|
JSONObject task = new JSONObject();
|
||||||
参数封装:{
|
参数封装:{
|
||||||
AcsTaskEnum taskEnum = AcsTaskEnum.getType(form.getString("type"), "TASK_");
|
|
||||||
task.put("task_id", task_id);
|
task.put("task_id", task_id);
|
||||||
task.put("task_name", taskEnum.getDesc());
|
task.put("task_name", AcsTaskEnum.TASK_CACHELINE_OUT.name());
|
||||||
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.put("task_type", form.getString("type"));
|
task.put("task_type", form.getString("type"));
|
||||||
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_TASK.getCode());
|
task.put("acs_task_type", AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_TASK.getCode());
|
||||||
|
|||||||
@@ -77,14 +77,9 @@ public class SpeFullTask extends AbstractAcsTask {
|
|||||||
log.info(InterfaceLogType.ACS_TO_LMS.getDesc());
|
log.info(InterfaceLogType.ACS_TO_LMS.getDesc());
|
||||||
// 指令执行中
|
// 指令执行中
|
||||||
SchBaseTask task = taskService.getById(param.getString("task_id"));
|
SchBaseTask task = taskService.getById(param.getString("task_id"));
|
||||||
AcsTaskEnum taskType = AcsTaskEnum.getType(task.getTask_type(),"TASK_");
|
|
||||||
pointService.update(new UpdateWrapper<SchBasePoint>().set("lock_type","0").in("point_code",task.getPoint_code1(),task.getPoint_code2(),task.getPoint_code3()));
|
pointService.update(new UpdateWrapper<SchBasePoint>().set("lock_type","0").in("point_code",task.getPoint_code1(),task.getPoint_code2(),task.getPoint_code3()));
|
||||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
|
||||||
.set("task_status",status)
|
|
||||||
.set("update_name","acs")
|
|
||||||
.set("update_time",DateUtil.now()).eq("task_id",task.getTask_id()));
|
|
||||||
try {
|
try {
|
||||||
SpeHandles.get(taskType.name()).handle(param,status,task);
|
SpeHandles.get(task.getTask_name()).handle(param,status,task);
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
log.error(OPT_NAME+"updateStatus error:{}",ex);
|
log.error(OPT_NAME+"updateStatus error:{}",ex);
|
||||||
throw ex;
|
throw ex;
|
||||||
@@ -270,6 +265,10 @@ public class SpeFullTask extends AbstractAcsTask {
|
|||||||
switch (status){
|
switch (status){
|
||||||
case STATUS_START:
|
case STATUS_START:
|
||||||
Map<String, String> extParam = (Map)param.get("ext_param");
|
Map<String, String> extParam = (Map)param.get("ext_param");
|
||||||
|
UpdateWrapper<SchBaseTask> wrapper = new UpdateWrapper<SchBaseTask>()
|
||||||
|
.set("task_status", StatusEnum.TASK_RUNNING.getCode())
|
||||||
|
.set("update_name", "acs")
|
||||||
|
.set("update_time", DateUtil.now()).eq("task_id", task.getTask_id());
|
||||||
log.info("生坑到料完成:"+param.toString());
|
log.info("生坑到料完成:"+param.toString());
|
||||||
if (extParam.get("fall_finish") != null){
|
if (extParam.get("fall_finish") != null){
|
||||||
PdmBiDevice one = deviceService.getOne(new QueryWrapper<PdmBiDevice>().eq("device_code", task.getPoint_code2()));
|
PdmBiDevice one = deviceService.getOne(new QueryWrapper<PdmBiDevice>().eq("device_code", task.getPoint_code2()));
|
||||||
@@ -280,8 +279,13 @@ public class SpeFullTask extends AbstractAcsTask {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case STATUS_FINISH:
|
case STATUS_FINISH:
|
||||||
|
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||||
|
.set("task_status",StatusEnum.TASK_FINISH.getCode())
|
||||||
|
.set("update_name","acs")
|
||||||
|
.set("update_time",DateUtil.now()).eq("task_id",task.getTask_id()));
|
||||||
break;
|
break;
|
||||||
case STATUS_CANNEL:
|
case STATUS_CANNEL:
|
||||||
|
cancel(param.getString("task_id"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new BadRequestException(OPT_NAME+"未定义任务状态:"+sta);
|
throw new BadRequestException(OPT_NAME+"未定义任务状态:"+sta);
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ public class TaskScheduleService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
List<SchBaseTask> all = taskService.list(new QueryWrapper<SchBaseTask>().eq("is_auto_issue", "1").eq("is_delete",false).eq("task_status", StatusEnum.TASK_START_END_P.getCode()));
|
List<SchBaseTask> all = taskService.list(new QueryWrapper<SchBaseTask>().eq("is_auto_issue", "1").eq("is_delete",false).eq("task_status", StatusEnum.TASK_START_END_P.getCode()).orderByAsc("point_code2"));
|
||||||
//分区域:不同区域调用不同acs接口
|
//分区域:不同区域调用不同acs接口
|
||||||
log.info("定时调度——2222——准备下发任务:{}", JSON.toJSONString(all.stream().map(a->a.getTask_id()+"__"+a.getPoint_code1()+a.getPoint_code2()+a.getPoint_code3()).collect(Collectors.toList())));
|
log.info("定时调度——2222——准备下发任务:{}", JSON.toJSONString(all.stream().map(a->a.getTask_id()+"__"+a.getPoint_code1()+a.getPoint_code2()+a.getPoint_code3()).collect(Collectors.toList())));
|
||||||
Map<String, List<SchBaseTask>> areaCollent = all.stream().collect(Collectors.groupingBy(SchBaseTask::getProduct_area));
|
Map<String, List<SchBaseTask>> areaCollent = all.stream().collect(Collectors.groupingBy(SchBaseTask::getProduct_area));
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="workproceduceDevices" resultType="java.util.Map">
|
<select id="workproceduceDevices" resultType="java.util.Map">
|
||||||
select
|
select
|
||||||
GROUP_CONCAT(sch_base_task.task_id),
|
GROUP_CONCAT(sch_base_task.task_id) as tasks,GROUP_CONCAT(sch_base_task.material_id) as materials,
|
||||||
pdm_bi_device.inupperlimit_qty - ifnull( sum( sch_base_task.material_qty ), 0 ) - pdm_bi_device.deviceinstor_qty AS currentQty,
|
pdm_bi_device.inupperlimit_qty - ifnull( sum( sch_base_task.material_qty ), 0 ) - pdm_bi_device.deviceinstor_qty AS currentQty,
|
||||||
pdm_bi_device.device_code,
|
pdm_bi_device.device_code,
|
||||||
sch_base_point.point_code
|
sch_base_point.point_code
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
and (pdm_bi_device.material_id = #{material_id} or pdm_bi_device.material_id is null )
|
and (pdm_bi_device.material_id = #{material_id} or pdm_bi_device.material_id is null )
|
||||||
</if>
|
</if>
|
||||||
<if test="spec != null and spec != ''">
|
<if test="spec != null and spec != ''">
|
||||||
and pdm_bi_device.spec = #{spec}
|
and (pdm_bi_device.spec = #{spec} or pdm_bi_device.spec is null)
|
||||||
</if>
|
</if>
|
||||||
GROUP BY pdm_bi_device.device_code
|
GROUP BY pdm_bi_device.device_code
|
||||||
HAVING currentQty > #{qty}
|
HAVING currentQty > #{qty}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import lombok.SneakyThrows;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseConverter;
|
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseConverter;
|
||||||
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseElement;
|
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseElement;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.xml.stream.XMLStreamConstants;
|
import javax.xml.stream.XMLStreamConstants;
|
||||||
@@ -19,6 +20,9 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
@Service("flow")
|
@Service("flow")
|
||||||
public class FlowConverter implements BaseConverter {
|
public class FlowConverter implements BaseConverter {
|
||||||
|
@Autowired
|
||||||
|
ParamConverter paramConverter;
|
||||||
|
|
||||||
String[] labels = new String[]{"id","name","sourceRef","targetRef"};
|
String[] labels = new String[]{"id","name","sourceRef","targetRef"};
|
||||||
@Override
|
@Override
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
@@ -37,6 +41,8 @@ public class FlowConverter implements BaseConverter {
|
|||||||
if (XMLStreamConstants.START_ELEMENT == xtr.next()){
|
if (XMLStreamConstants.START_ELEMENT == xtr.next()){
|
||||||
System.out.println(xtr.getLocalName());
|
System.out.println(xtr.getLocalName());
|
||||||
element.getParams().put(xtr.getAttributeValue(null,"id"),xtr.getAttributeValue(null,"value"));
|
element.getParams().put(xtr.getAttributeValue(null,"id"),xtr.getAttributeValue(null,"value"));
|
||||||
|
ParamElement process = (ParamElement)paramConverter.process(xtr);
|
||||||
|
element.getParams().put(process.getId(),process.getValue());
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -45,3 +51,4 @@ public class FlowConverter implements BaseConverter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class FlowElement extends BaseElement {
|
|||||||
private FlowElement targetRef;
|
private FlowElement targetRef;
|
||||||
private String sourceRefId;
|
private String sourceRefId;
|
||||||
private String targetRefId;
|
private String targetRefId;
|
||||||
private Map<String,String> params = new HashMap<>();
|
private Map<String,Object> params = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -55,11 +55,11 @@ public class FlowElement extends BaseElement {
|
|||||||
this.targetRefId = targetRefId;
|
this.targetRefId = targetRefId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, String> getParams() {
|
public Map<String, Object> getParams() {
|
||||||
return params;
|
return params;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setParams(Map<String, String> params) {
|
public void setParams(Map<String, Object> params) {
|
||||||
this.params = params;
|
this.params = params;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package org.nl.wms.scheduler_manage.service.scheduler.labelConverter.impl;
|
||||||
|
|
||||||
|
import lombok.SneakyThrows;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseConverter;
|
||||||
|
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseElement;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.xml.stream.XMLStreamConstants;
|
||||||
|
import javax.xml.stream.XMLStreamReader;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author ZZQ
|
||||||
|
* @Date 2023/5/19 11:00
|
||||||
|
*/
|
||||||
|
@Service("param")
|
||||||
|
public class ParamConverter implements BaseConverter {
|
||||||
|
String[] labels = new String[]{"id","value"};
|
||||||
|
@Override
|
||||||
|
@SneakyThrows
|
||||||
|
public BaseElement process(XMLStreamReader xtr) {
|
||||||
|
ParamElement element = new ParamElement();
|
||||||
|
setBaseLabel(element,xtr,labels);
|
||||||
|
element.setValue(xtr.getAttributeValue(null,"value"));
|
||||||
|
String has = xtr.getAttributeValue(null, "has");
|
||||||
|
if (StringUtils.isNotEmpty(has)){
|
||||||
|
int i = 0;
|
||||||
|
while (true){
|
||||||
|
if (i == Integer.valueOf(has)){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (XMLStreamConstants.START_ELEMENT == xtr.next()){
|
||||||
|
element.getItem().put(xtr.getAttributeValue(null,"spec"),xtr.getAttributeValue(null,"value"));
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
element.setValue(element.getItem());
|
||||||
|
}
|
||||||
|
return element;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package org.nl.wms.scheduler_manage.service.scheduler.labelConverter.impl;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseElement;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author ZZQ
|
||||||
|
* @Date 2023/5/21 18:03
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ParamElement extends BaseElement {
|
||||||
|
private Object value;
|
||||||
|
private Map<String,String> item = new HashMap<>();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -57,7 +57,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
JSONArray finish = new JSONArray();
|
JSONArray finish = new JSONArray();
|
||||||
JSONObject res = new JSONObject();
|
JSONObject res = new JSONObject();
|
||||||
res.put("task_id", task_id);
|
res.put("task_id", task_id);
|
||||||
res.put("status", AcsTaskEnum.STATUS_FINISH.getCode());
|
res.put("status", StatusEnum.TASK_FINISH.getCode());
|
||||||
res.put("finished_type", AcsTaskEnum.MANUAL_TASK_FINISHED_TYPE.getCode()); // 手动完成
|
res.put("finished_type", AcsTaskEnum.MANUAL_TASK_FINISHED_TYPE.getCode()); // 手动完成
|
||||||
finish.add(res);
|
finish.add(res);
|
||||||
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(finish));
|
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(finish));
|
||||||
@@ -66,7 +66,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
JSONArray cancel = new JSONArray();
|
JSONArray cancel = new JSONArray();
|
||||||
JSONObject res2 = new JSONObject();
|
JSONObject res2 = new JSONObject();
|
||||||
res2.put("task_id", task_id);
|
res2.put("task_id", task_id);
|
||||||
res2.put("status", AcsTaskEnum.STATUS_CANNEL.getCode());
|
res2.put("status", StatusEnum.TASK_CANNEL.getCode());
|
||||||
cancel.add(res2);
|
cancel.add(res2);
|
||||||
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(cancel));
|
acsToWmsService.receiveTaskStatusAcs(JSON.toJSONString(cancel));
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -8,8 +8,11 @@
|
|||||||
<item spec="22" value="A1_HCX_02"></item>
|
<item spec="22" value="A1_HCX_02"></item>
|
||||||
</param>
|
</param>
|
||||||
</flow>
|
</flow>
|
||||||
<flow id="A1_TWYTJ" name="推弯一体工序" sourceRef="A1_JGXL" targetRef="A1_SKQX">
|
<flow id="A1_TWYTJ" name="推弯一体工序" sourceRef="A1_JGXL" targetRef="A1_TK">
|
||||||
|
|
||||||
</flow>
|
</flow>
|
||||||
|
<flow id="A1_TK" name="镗孔" sourceRef="A1_TWYTJ" targetRef="A1_SKQX"></flow>
|
||||||
|
|
||||||
<flow id="A1_SKQX" name="深坑清洗" sourceRef="A1_TWYTJ" targetRef="end"></flow>
|
<flow id="A1_SKQX" name="深坑清洗" sourceRef="A1_TWYTJ" targetRef="end"></flow>
|
||||||
<end id="end" name="Junior Reject End" sourceRef="A1_SKQX"></end>
|
<end id="end" name="Junior Reject End" sourceRef="A1_SKQX"></end>
|
||||||
</process>
|
</process>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import request from '@/utils/request'
|
|||||||
|
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/produceWorkorder',
|
url: 'api/produceWorkorder/create',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user