fix:二期出库rgv任务改成集中下发

This commit is contained in:
zhangzq
2025-04-05 17:30:17 +08:00
parent 2ef860727f
commit bb5513aa8e
2 changed files with 50 additions and 66 deletions

View File

@@ -21,6 +21,7 @@ import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.manage.TaskStatusEnum;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -235,8 +236,6 @@ public class TwoOutHeapTask extends AbstractAcsTask {
jsonParam.put("task_group_id", jsonTask.getString("task_group_id")); jsonParam.put("task_group_id", jsonTask.getString("task_group_id"));
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class); LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
bean1.createLashTask(jsonParam); bean1.createLashTask(jsonParam);
// 再次下发:找相同任务组的下发
sendTaskAcs(jsonTask.getString("task_group_id"),true);
} }
} }
} }
@@ -300,26 +299,21 @@ public class TwoOutHeapTask extends AbstractAcsTask {
this.updateTaskStatus(taskObj, IOSEnum.IS_NOTANDYES.code("")); this.updateTaskStatus(taskObj, IOSEnum.IS_NOTANDYES.code(""));
} }
@Transactional
public void sendTaskAcs(String groupTaskId,boolean retry) { public void sendTaskAcs(String groupTaskId,boolean retry) {
RedissonUtils.lock(c -> {
WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task"); WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
List<JSONObject> taskArrAll = wo_Task List<JSONObject> taskArrAll = wo_Task
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and task_group_id = '" + groupTaskId + "'" + " and is_delete ='0' ORDER BY create_time")
.getResultJSONArray(0).toJavaList(JSONObject.class);
if (ObjectUtil.isEmpty(taskArrAll) && retry) {
taskArrAll = wo_Task
.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time") .query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' ORDER BY create_time")
.getResultJSONArray(0).toJavaList(JSONObject.class); .getResultJSONArray(0).toJavaList(JSONObject.class);
}
// 是否下发多个AGV输送出库任务 // 是否下发多个AGV输送出库任务
String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue(); if (CollectionUtils.isEmpty(taskArrAll)){
return;
}
List<JSONObject> taskArr;
// 是否异常出库口任务 // 是否异常出库口任务
String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue(); String TWO_EXCEP = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_EXCEP").getValue();
List<JSONObject> taskArr;
if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code(""))) { if (TWO_EXCEP.equals(IOSEnum.IS_NOTANDYES.code(""))) {
String is_send_many = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_send_many").getValue();
if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code(""))) { if (is_send_many.equals(IOSEnum.IS_NOTANDYES.code(""))) {
// 只允许每个行架点位有一条任务 // 只允许每个行架点位有一条任务
taskArr = sendTask(taskArrAll); taskArr = sendTask(taskArrAll);
@@ -349,25 +343,17 @@ public class TwoOutHeapTask extends AbstractAcsTask {
.product_area(IOSEnum.PRODUCT_AREA.code("BLK")) .product_area(IOSEnum.PRODUCT_AREA.code("BLK"))
.remark(json.getString("remark")) .remark(json.getString("remark"))
.build(); .build();
if (json.getString("vehicle_code2").contains("A")) { if (json.getString("vehicle_code2").contains("A")) {
dto.setRoute_plan_code("two"); dto.setRoute_plan_code("two");
} else { } else {
dto.setRoute_plan_code("normal"); dto.setRoute_plan_code("normal");
} }
resultList.add(dto); resultList.add(dto);
// 更新任务为下发
JSONObject paramMap = new JSONObject();
paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode());
wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'");
// 调用下发 // 调用下发
if (ObjectUtil.isNotEmpty(resultList)) { if (ObjectUtil.isNotEmpty(resultList)) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(resultList)); JSONArray arr = JSONArray.parseArray(JSON.toJSONString(resultList));
AcsUtil.notifyAcs("api/wms/task", arr); AcsUtil.notifyAcs("api/wms/task", arr);
} }
} }
},"resendrgv", 30, this);
} }
} }

View File

@@ -313,10 +313,8 @@ public class LashManageServiceImpl implements LashManageService {
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
jsonTaskParam.put("request_param", whereJson); jsonTaskParam.put("request_param", whereJson);
TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class); TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class);
bean.createTask(jsonTaskParam); bean.createTask(jsonTaskParam);
bean.sendTaskAcs(whereJson.getString("task_group_id"),true);
} }
@Override @Override