fix: 分切-内包间的桁架和AGV任务传参下发

This commit is contained in:
2026-01-19 15:42:31 +08:00
parent 947580243b
commit b4e425ddb6
19 changed files with 519 additions and 89 deletions

View File

@@ -67,6 +67,28 @@ public class AgvCallShaftManuallyTask extends AbstractAcsTask {
return resultList;
}
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
return resultList;
}
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
@@ -124,7 +146,8 @@ public class AgvCallShaftManuallyTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
// this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -74,6 +74,26 @@ public class MoveVehicleAgvTask extends AbstractAcsTask {
return resultList;
}
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -120,7 +140,7 @@ public class MoveVehicleAgvTask extends AbstractAcsTask {
//根据类型获取对应的任务优先级
task.setPriority("1");
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -4,8 +4,6 @@ import cn.hutool.core.date.DateUtil;
import org.nl.common.utils.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
@@ -24,18 +22,14 @@ import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.sch.AcsTaskDto;
import org.nl.wms.sch.AcsUtil;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.tasks.InHotTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @Author: tq
@@ -60,13 +54,37 @@ public class ReturnShaftAgvTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
String requestParam = task.getRequest_param();
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 {@link #addTask()} 保持一致,只是针对传入的一条任务记录
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
@@ -99,7 +117,6 @@ public class ReturnShaftAgvTask extends AbstractAcsTask {
throw new BadRequestException("任务[" + task.getTask_code() + "]已经完成!");
}
task.setTask_status(TaskStatusEnum.FINISHED.getCode());
JSONObject requestParam = JSONObject.parseObject(task.getRequest_param());
// 互换资源
// update: 在acs请求取货完成就已经清空点位信息
String endPoint = task.getPoint_code2();
@@ -215,7 +232,7 @@ public class ReturnShaftAgvTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -52,10 +52,9 @@ public class SendAirShaftAgvTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -76,6 +75,33 @@ public class SendAirShaftAgvTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -158,7 +184,7 @@ public class SendAirShaftAgvTask extends AbstractAcsTask {
TaskUtils.updateOptMessageBySlitterPlan(p);
slittingproductionplanService.update(p, new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
.in(PdmBiSlittingproductionplan::getQzzno, collect));
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -5,13 +5,11 @@ import org.nl.common.utils.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
import org.nl.b_lms.bst.ivt.shafttubeivt.service.IBstIvtShafttubeivtService;
import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt;
import org.nl.b_lms.sch.point.dao.StIvtShaftivt;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
@@ -49,10 +47,9 @@ public class SendNBJExceptionPointTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
JSONObject object = JSONObject.parseObject(task.getRequest_param());
AcsTaskDto dto = AcsTaskDto.builder()
@@ -75,6 +72,35 @@ public class SendNBJExceptionPointTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
JSONObject object = JSONObject.parseObject(task.getRequest_param());
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.interaction_json(object)
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
SchBaseTask task = taskService.getById(taskObj.getString("task_id"));
@@ -165,7 +191,7 @@ public class SendNBJExceptionPointTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -58,10 +58,9 @@ public class SendShaftToCacheTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -82,6 +81,33 @@ public class SendShaftToCacheTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -164,7 +190,7 @@ public class SendShaftToCacheTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
// this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}
@@ -196,7 +222,6 @@ public class SendShaftToCacheTask extends AbstractAcsTask {
String agv_system_type = "2";
for (SchBaseTask task : taskList) {
String requestParam = task.getRequest_param();
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())

View File

@@ -44,10 +44,9 @@ public class SlitterDownAgvTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -68,6 +67,33 @@ public class SlitterDownAgvTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -132,7 +158,7 @@ public class SlitterDownAgvTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -86,6 +86,32 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
return resultList;
}
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
String requestParam = task.getRequest_param();
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.truss_type(requestParamObj.getString("truss_type"))
.empty_site(requestParamObj.getString("empty_site"))
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -287,7 +313,7 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -4,24 +4,14 @@ import cn.hutool.core.date.DateUtil;
import org.nl.common.utils.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.b_lms.sch.point.dao.StIvtCutpointivt;
import org.nl.b_lms.sch.point.service.IstIvtCutpointivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.TaskUtils;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.sch.AcsTaskDto;
@@ -31,10 +21,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @Author: lyd
@@ -48,21 +38,16 @@ public class SlitterPinDanTrussTask extends AbstractAcsTask {
@Autowired
private IschBaseTaskService taskService;
@Autowired
private IPdmBiSlittingproductionplanService slittingproductionplanService;
@Autowired
private IBstIvtCutpointivtService bcutpointivtService;
@Autowired
private IstIvtCutpointivtService cutpointivtService;
@Override
public List<AcsTaskDto> addTask() {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
String requestParam = task.getRequest_param();
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
@@ -87,6 +72,37 @@ public class SlitterPinDanTrussTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
String requestParam = task.getRequest_param();
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.truss_type(requestParamObj.getString("truss_type"))
.empty_site(requestParamObj.getString("empty_site"))
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -160,7 +176,7 @@ public class SlitterPinDanTrussTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -8,20 +8,17 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.bst.ivt.papervehicle.service.IMdPbPapervehicleService;
import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle;
import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService;
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.TaskUtils;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.sch.AcsTaskDto;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
@@ -29,7 +26,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -49,21 +45,16 @@ public class StockAreaCallTubeTask extends AbstractAcsTask {
@Autowired
private IBstIvtStockingivtService stockingivtService;
@Autowired
private IMdPbPapervehicleService mdPbPapervehicleService;
@Autowired
private IPdmBiSlittingproductionplanService slittingproductionplanService;
@Autowired
private WmsToAcsService wmsToAcsService;
@Override
public List<AcsTaskDto> addTask() {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -84,6 +75,33 @@ public class StockAreaCallTubeTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.interaction_json(JSONObject.parseObject(task.getRequest_param()))
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -172,7 +190,7 @@ public class StockAreaCallTubeTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -10,7 +10,6 @@ import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService;
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterEnum;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.wql.WQL;
@@ -46,10 +45,9 @@ public class StockAreaInOutTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -70,6 +68,33 @@ public class StockAreaInOutTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.interaction_json(JSONObject.parseObject(task.getRequest_param()))
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -132,7 +157,7 @@ public class StockAreaInOutTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -21,7 +21,6 @@ import org.nl.common.utils.TaskUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.sch.AcsTaskDto;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
@@ -58,10 +57,9 @@ public class StockAreaSendVehicleTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -81,6 +79,32 @@ public class StockAreaSendVehicleTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2("")
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -202,7 +226,7 @@ public class StockAreaSendVehicleTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -5,11 +5,9 @@ import org.nl.common.utils.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
@@ -20,7 +18,6 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingprodu
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.TaskUtils;
@@ -63,10 +60,9 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -88,6 +84,34 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.interaction_json(JSON.parseObject(task.getRequest_param()))
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -212,7 +236,7 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -43,10 +43,9 @@ public class TrussCallShaftCacheTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -67,6 +66,33 @@ public class TrussCallShaftCacheTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -134,7 +160,7 @@ public class TrussCallShaftCacheTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -76,6 +76,29 @@ public class TrussCallShaftManuallyTask extends AbstractAcsTask {
return resultList;
}
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -158,7 +181,7 @@ public class TrussCallShaftManuallyTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -81,6 +81,35 @@ public class TrussSendAirShaftTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
JSONObject object = JSONObject.parseObject(task.getRequest_param());
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.interaction_json(object)
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -169,7 +198,7 @@ public class TrussSendAirShaftTask extends AbstractAcsTask {
}
taskService.save(task);
if ("1".equals(form.getString("immediateNotifyAcs"))) {
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
}
return task.getTask_id();
}

View File

@@ -44,10 +44,9 @@ class TrussSendShaftCacheTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
@@ -68,6 +67,33 @@ class TrussSendShaftCacheTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -129,7 +155,7 @@ class TrussSendShaftCacheTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -57,10 +57,9 @@ public class UpShaftTrussTask extends AbstractAcsTask {
/*
* 下发给ACS时需要特殊处理
*/
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
List<SchBaseTask> taskList = taskService.getIssueTasks(THIS_CLASS);
for (SchBaseTask task : taskList) {
String requestParam = task.getRequest_param();
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
@@ -85,6 +84,37 @@ public class UpShaftTrussTask extends AbstractAcsTask {
return resultList;
}
/**
* 单任务下发,业务逻辑与无参 addTask 保持一致
*/
@Override
public List<AcsTaskDto> addTask(SchBaseTask task) {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
String agv_system_type = "2";
if (task != null) {
String requestParam = task.getRequest_param();
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(task.getTask_id())
.task_code(task.getTask_code())
.task_type(task.getAcs_task_type())
.start_device_code(task.getPoint_code1())
.next_device_code(task.getPoint_code2())
.start_device_code2(task.getPoint_code3())
.next_device_code2(task.getPoint_code4())
.vehicle_code(task.getVehicle_code())
.agv_system_type(agv_system_type)
.truss_type(requestParamObj.getString("truss_type"))
.empty_site(requestParamObj.getString("empty_site"))
.priority(task.getPriority())
.remark(task.getRemark())
.product_area(task.getProduct_area())
.build();
resultList.add(dto);
}
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
@@ -201,7 +231,7 @@ public class UpShaftTrussTask extends AbstractAcsTask {
TaskUtils.updateOptMessageBySlitterPlan(p);
slittingproductionplanService.update(p, new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
.in(PdmBiSlittingproductionplan::getQzzno, collect));
this.immediateNotifyAcs(null);
this.immediateTaskNotifyAcs(task);
return task.getTask_id();
}

View File

@@ -832,7 +832,7 @@ public class AutoCallAirShaftTask extends Prun {
* @param empty 套拔轴点位
* @return 0: 呼叫失败1呼叫成功2该点位需要从密集库获取
*/
private String toAcsOutShaft(List<PdmBiSlittingproductionplan> needPlans, List<SlitterPlanDistinctDto> plans, String qzzSize, String location, BstIvtShafttubeivt empty) {
public String toAcsOutShaft(List<PdmBiSlittingproductionplan> needPlans, List<SlitterPlanDistinctDto> plans, String qzzSize, String location, BstIvtShafttubeivt empty) {
Integer movePaperTube = toCallAgvMovePaperTube(needPlans, location, empty, plans);
if (movePaperTube == 2) {
log.info("跳过,无法更换托盘。");
@@ -1029,7 +1029,7 @@ public class AutoCallAirShaftTask extends Prun {
* @param empty 空的插拔轴点位
* @param specification 代数4、5
*/
private void makePullShaft(BstIvtShafttubeivt empty, String specification) {
public void makePullShaft(BstIvtShafttubeivt empty, String specification) {
log.info("不需要套轴,只做拔轴!");
//查询套轴缓存位哦:point_type=1
List<CutpointAirShhaftDto> notTaskPoints = bcutpointivtService.getAreaNotTaskPointByTcQzzPoint(empty.getPoint_location());
@@ -1114,7 +1114,7 @@ public class AutoCallAirShaftTask extends Prun {
* @param plan
* @return
*/
private boolean doCheckHaveEmptyPoint(BstIvtShafttubeivt empty, String specification, PdmBiSlittingproductionplan plan) {
public boolean doCheckHaveEmptyPoint(BstIvtShafttubeivt empty, String specification, PdmBiSlittingproductionplan plan) {
Param bzCheckEmpty = paramService.findByCode(BZ_CHECK_EMPTY);
if (ObjectUtil.isEmpty(bzCheckEmpty)) {
stepErrorInfo.add("参数未配置【BZ_CHECK_EMPTY】默认拔轴不检验空位");
@@ -1173,7 +1173,7 @@ public class AutoCallAirShaftTask extends Prun {
* @param notTaskPoints
* @return
*/
private List<CutpointAirShhaftDto> sortByPointEmpty(List<CutpointAirShhaftDto> notTaskPoints) {
public List<CutpointAirShhaftDto> sortByPointEmpty(List<CutpointAirShhaftDto> notTaskPoints) {
Map<String, Long> countMap = notTaskPoints.stream()
.collect(Collectors.groupingBy(CutpointAirShhaftDto::getPoint_code, Collectors.counting()));
return notTaskPoints.stream()