Merge remote-tracking branch 'origin/master'

This commit is contained in:
ls
2024-09-18 20:50:32 +08:00
19 changed files with 143 additions and 58 deletions

View File

@@ -1,4 +1,4 @@
# 诺力开发平台
# 龙电华鑫铜箔LMS
```shell
cd ../

View File

@@ -135,6 +135,12 @@ public class AcsToWmsController {
public ResponseEntity<Object> actionFinishRequest2(@RequestBody JSONObject jo) {
return new ResponseEntity<>(acsToWmsService.actionFinishRequest2(jo), HttpStatus.OK);
}
@PostMapping("/releaseComplete")
@SaIgnore
public ResponseEntity<Object> releaseComplete(@RequestBody JSONObject jo) {
return new ResponseEntity<>(acsToWmsService.releaseComplete(jo), HttpStatus.OK);
}
@PostMapping("/initialize")
@Log(value = "仓位初始化", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS)
@SaIgnore

View File

@@ -160,4 +160,11 @@ public interface AcsToWmsService {
* @return /
*/
JSONObject acsFeedbackTubeInStorageComplete(JSONObject param);
/**
* agv放货完成
* @param param
* @return
*/
JSONObject releaseComplete(JSONObject param);
}

View File

@@ -20,7 +20,7 @@ public interface WmsToAcsService {
* @param list: 任务链表
* @return
*/
Map<String, Object> issueTaskToAcs(List<AcsTaskDto> list);
JSONObject issueTaskToAcs(List<AcsTaskDto> list);
/**
* 更新任务状态

View File

@@ -168,9 +168,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Override
public JSONObject actionFinishRequest2(JSONObject param) {
String taskCode = param.getString("task_code");
String deviceCode = param.getString("device_code");
Assert.notBlank(taskCode, "任务编码不能为空");
SchBaseTask task = taskService.getByCode(taskCode);
AbstractTask factoryTask = taskFactory.getTask(task.getConfig_code());
JSONObject request = JSONObject.parseObject(task.getRequest_param());
request.put("pick_point", deviceCode);
task.setRequest_param(request.toString());
factoryTask.agvPickUpCompleted(task);
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());
@@ -208,4 +212,21 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
public JSONObject acsFeedbackTubeInStorageComplete(JSONObject param) {
return otherOperationService.acsFeedbackTubeInStorageComplete(param);
}
@Override
public JSONObject releaseComplete(JSONObject param) {
String taskCode = param.getString("task_code");
String deviceCode = param.getString("device_code");
Assert.notBlank(taskCode, "任务编码不能为空");
SchBaseTask task = taskService.getByCode(taskCode);
AbstractTask factoryTask = taskFactory.getTask(task.getConfig_code());
JSONObject request = JSONObject.parseObject(task.getRequest_param());
request.put("release_point", deviceCode);
task.setRequest_param(request.toString());
factoryTask.agvReleaseCompleted(task);
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());
result.put("message", "放货完成请求成功!");
return result;
}
}

View File

@@ -1,5 +1,6 @@
package org.nl.wms.ext.acs.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
@@ -25,11 +26,11 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
private ISysInteractRecordService interactRecordService;
@Override
public Map<String, Object> issueTaskToAcs(List<AcsTaskDto> list) {
public JSONObject issueTaskToAcs(List<AcsTaskDto> list) {
String api = "api/wms/task";
JSONArray jsonArray = new JSONArray();
for (AcsTaskDto dto : list) {
jsonArray.add(JSONObject.toJSONString(dto));
jsonArray.add(JSON.toJSON(dto));
}
return AcsUtil.notifyAcs(api, jsonArray);
}

View File

@@ -229,7 +229,8 @@ public class RawFoilPdaServiceImpl implements RawFoilPdaService {
MDC.put(GeneralDefinition.MDC_KEY, TagNameEnum.RAW_READY.getTag());
log.info("手持生箔准备就绪, {}", param);
// param: point_code
String pointCode = param.getString("point_code") + "_M";
String pointCode = param.getString("point_code");
String option = param.getString("option");
// 将工单设置确认下卷如果是空轴任务就不用再写信号给ACS
// 1、获取对应的任务
SchBaseTask task = taskService.getTaskByPointCodeX(null, pointCode, null, null);
@@ -237,6 +238,11 @@ public class RawFoilPdaServiceImpl implements RawFoilPdaService {
// 可能是起点
task = taskService.getTaskByPointCodeX(null, null, pointCode, null);
}
// 有可能是空
if (ObjectUtil.isEmpty(task)) {
pointCode = param.getString("point_code");
task = taskService.getTaskByPointCodeX(null, pointCode, null, null);
}
if (ObjectUtil.isEmpty(task)) {
log.error("该点查不到任务!");
throw new BadRequestException("该点查不到任务!");
@@ -253,10 +259,10 @@ public class RawFoilPdaServiceImpl implements RawFoilPdaService {
//下发ACS执行AGV动作
JSONArray paramArr = new JSONArray();
JSONObject acsParam = new JSONObject();
acsParam.put("device_code", pointCode);
acsParam.put("device_code", param.getString("point_code"));
acsParam.put("task_code", task.getTask_code());
acsParam.put("product_area", task.getProduct_area());
acsParam.put("option", "1");
acsParam.put("option", option);
paramArr.add(acsParam);
JSONObject jsonObject = wmsToAcsService.updateTask(paramArr);
log.info("生箔下发ACS执行AGV动作请求参数{},返回结果:{}", paramArr, jsonObject);

View File

@@ -22,6 +22,8 @@ import org.nl.wms.pdm.ivt.bcut.service.IBstIvtCutpointivtService;
import org.nl.wms.pdm.ivt.bcut.service.dao.BstIvtCutpointivt;
import org.nl.wms.pdm.ivt.cut.service.dao.StIvtCutpointivt;
import org.nl.wms.pdm.ivt.cut.service.IstIvtCutpointivtService;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.task.service.ISchBaseTaskService;
import org.nl.wms.sch.task.service.dao.SchBaseTask;
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
@@ -62,6 +64,8 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
@Autowired
private WmsToAcsService wmsToAcsService;
@Autowired
private ISchBasePointService pointService;
@Autowired
private SlitterSendRollAGVTask slitterSendRollAGVTask;
@Autowired
private IstIvtCutpointivtService cutpointivtService;
@@ -98,7 +102,11 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
Stream.of(zcPoint, pointCode).collect(Collectors.toList()));
// 判断是否呼叫过任务
if (isTask) {
throw new BadRequestException("点位[" + pointCode + "]已经创建过任务!");
throw new BadRequestException("点位[" + pointCode + "" + zcPoint + "]已经创建过任务!");
}
SchBasePoint zcPointObj = pointService.getById(zcPoint);
if (ObjectUtil.isEmpty(zcPointObj.getMaterial_code())) {
throw new BadRequestException("点位不存在该母卷或者该母卷已搬运");
}
StIvtCutpointivt cutPoint = cutpointivtService.getOneByCode(pointCode);
param.put("config_code", "SlitterUpTrussTask");
@@ -155,15 +163,14 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
throw new BadRequestException("系统识别到分切上料位[ " + pointCode + " ]无空轴!");
}
// 校验是否有任务
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(cutPoint.getEmpty_point_code());
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(pointCode);
if (schBaseTasks.size() > 0) {
throw new BadRequestException("点位[" + pointCode + "]已经存在任务!");
}
param.put("device_code", cutPoint.getEmpty_point_code());
param.put("device_code", pointCode);
param.put("config_code", "SlitterSendRollAGVTask");
// 最后一趟送回去的才需要清
param.put("is_flag", "1");
param.put("vehicle_code", cutPoint.getFull_vehicle_code());
param.put("create_mode", GeneralDefinition.PDA_CREATION);
slitterSendRollAGVTask.apply(param);
JSONObject result = new JSONObject();
@@ -233,7 +240,6 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
JSONObject taskParam = new JSONObject();
taskParam.put("device_code", pointCode);
taskParam.put("config_code", "SlitterInHotAGVTask");
// todo: 流转单号暂时当作母卷号
taskParam.put("order_code", rawOrder.getContainer_name());
taskParam.put("create_mode", GeneralDefinition.PDA_CREATION);
slitterInHotAGVTask.apply(taskParam);
@@ -325,7 +331,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
if (StrUtil.isEmpty(device_code)) {
throw new BadRequestException("输入的设备号不能为空!");
}
StIvtCutpointivt device = cutpointivtService.getOneByCode(device_code);
StIvtCutpointivt device = cutpointivtService.getPintByExtCode(device_code, false);
JSONArray jsonArray = new JSONArray();
JSONObject p1 = new JSONObject();
p1.put("text", device.getPoint_code() + "上轴位");

View File

@@ -126,6 +126,11 @@ public class NbjPdaServiceImpl implements NbjPdaService {
if (schBaseTasks.size() > 0) {
throw new BadRequestException("该点位已经创建过任务!");
}
// 判断子卷是否存在
PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName);
if (ObjectUtil.isEmpty(plan)) {
throw new BadRequestException("子卷[" + containerName + "]的分切计划不存在!");
}
SchBasePoint startPoint = pointService.getById(pointCode);
startPoint.setPoint_status("3");
// 子卷号
@@ -159,7 +164,7 @@ public class NbjPdaServiceImpl implements NbjPdaService {
if (ObjectUtil.isEmpty(plan)) {
throw new BadRequestException("子卷号[ " + containerName + " ]分切计划不存在!");
}
log.info("更新子卷:{} - 重量:{} - 纸管重量", containerName, rollWeight, paperWeight);
log.info("更新子卷:{} - 重量:{} - 纸管重量{}", containerName, rollWeight, paperWeight);
if (ObjectUtil.isNotEmpty(rollWeight)) {
plan.setWeight(rollWeight);
}
@@ -193,7 +198,10 @@ public class NbjPdaServiceImpl implements NbjPdaService {
// param: point_coderow
String pointCode = param.getString("point_code");
BstIvtCutpointivt tzzcPoint = bstIvtCutpointivtService.getPintByTrussCode(pointCode, false);
if (!"1".equals(tzzcPoint.getPoint_status())) {
if (pointCode.equals(tzzcPoint.getTruss_point_code1()) && ObjectUtil.isNotEmpty(tzzcPoint.getQzz_no1())) {
throw new BadRequestException("系统检测到点位[" + pointCode + "]状态不为空, 如实际已经清空,请手持操作点位清除!");
}
if (pointCode.equals(tzzcPoint.getTruss_point_code2()) && ObjectUtil.isNotEmpty(tzzcPoint.getQzz_no2())) {
throw new BadRequestException("系统检测到点位[" + pointCode + "]状态不为空, 如实际已经清空,请手持操作点位清除!");
}
JSONArray rows = param.getJSONArray("row");

View File

@@ -139,10 +139,12 @@ public class OtherPdaServiceImpl implements OtherPdaService {
JSONArray acs = new JSONArray();
JSONObject acsParam = new JSONObject();
acsParam.put("task_code", task.getTask_code());
acsParam.put("product_area", task.getProduct_area());
acs.add(acsParam);
acsParam.put("device_code", pointCode);
acsParam.put("product_area", "A1");
acsParam.put("option", "3");
log.info("通知ACS完成上一个任务的参数 - {}", acs);
JSONObject jsonObject = wmsToAcsService.canFinishPreviousTask(acs);
acs.add(acsParam);
JSONObject jsonObject = wmsToAcsService.updateTask(acs);
log.info("通知ACS完成上一个任务的反馈 - {}", jsonObject);
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());

View File

@@ -47,6 +47,8 @@ public abstract class AbstractTask {
private ISchBasePointService pointService;
@Autowired
private WmsToAcsService wmsToAcsService;
@Autowired
private TaskFactory taskFactory;
/**
* 不走任务配置的创建任务类, 不会被定时任务扫描自动创建
@@ -112,11 +114,13 @@ public abstract class AbstractTask {
taskDto.setNext_device_code2(task.getPoint_code4());
taskDto.setVehicle_code(task.getVehicle_code());
taskDto.setVehicle_code2(task.getVehicle_code2());
taskDto.setProduct_area(task.getProduct_area());
taskDto.setProduct_area(ObjectUtil.isNotEmpty(task.getProduct_area())
? task.getProduct_area() : taskDto.getProduct_area());
taskDto.setCar_no(task.getCar_no());
// 如果各类方法对返回参数有不同可以通过调用子类实现的deliveryBeforeProcessing方法来完成赋值
// 也可以是统一封装到参数值中。
this.deliveryBeforeProcessing(task, taskDto);
AbstractTask t = taskFactory.getTask(task.getConfig_code());
t.deliveryBeforeProcessing(task, taskDto);
list.add(taskDto);
}
wmsToAcsService.issueTaskToAcs(list);

View File

@@ -1,6 +1,7 @@
package org.nl.wms.sch.task_manage;
import cn.hutool.core.util.ObjectUtil;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.velocity.runtime.directive.Break;
@@ -30,8 +31,7 @@ import java.util.Set;
@Component
@Order(value = 1)
public class AutoCreateTask {
private static Set<Class<? extends AbstractTask>> subTypes = null;
private Map<Class<?>, Method> methodCache = new HashMap<>();
private static Set<Class<? extends AbstractTask>> subTypes;
// 类加载时候执行扫描
static {
Reflections reflections = new Reflections("org.nl.wms.sch.task_manage.tasks");
@@ -79,6 +79,10 @@ public class AutoCreateTask {
String name = split[split.length - 1];
ISchBaseTaskconfigService bean = SpringContextHolder.getBean(ISchBaseTaskconfigService.class);
SchBaseTaskconfig config = bean.getByConfigCode(name);
if (ObjectUtil.isEmpty(config)) {
log.error("找不到对应[{}]的配置...", name);
return false;
}
return config.getIs_used();
}

View File

@@ -51,7 +51,6 @@ public class OtherOperationServiceImpl implements OtherOperationService {
log.info("ACS反馈废箔重量: {}", param);
// task_code, point_code, weight
String taskCode = param.getString("task_code");
String pointCode = param.getString("point_code");
String weight = param.getString("weight");
Assert.notBlank(taskCode, "任务编码不能为空!");
// 获取当前任务
@@ -72,11 +71,11 @@ public class OtherOperationServiceImpl implements OtherOperationService {
BigDecimal netWeight = currentWeight.subtract(upWeight);
requestObj.put("netWeight", netWeight);
// 记录数据
SchBasePoint fbPoint = pointService.getById(pointCode);
SchBasePoint fbPoint = pointService.getById(currentTask.getPoint_code1());
Wastefoilrecord wastefoilrecord = new Wastefoilrecord();
wastefoilrecord.setWeight(String.valueOf(netWeight));
wastefoilrecord.setRecord_id(IdUtil.getSnowflake(1,1).nextIdStr());
wastefoilrecord.setPoint_code(pointCode);
wastefoilrecord.setPoint_code(currentTask.getPoint_code1());
wastefoilrecord.setPoint_name(fbPoint.getPoint_name());
wastefoilrecord.setCreate_id(SecurityUtils.getCurrentUserId());
wastefoilrecord.setCreate_name(SecurityUtils.getCurrentNickName());

View File

@@ -10,6 +10,7 @@ import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.task.service.ISchBaseTaskService;
import org.nl.wms.sch.task.service.dao.SchBaseTask;
import org.nl.wms.sch.task_manage.AbstractTask;
import org.nl.wms.sch.task_manage.AcsTaskDto;
import org.nl.wms.sch.task_manage.TaskStatus;
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
import org.nl.wms.sch.task_manage.core.enums.TaskFinishedTypeEnum;
@@ -39,6 +40,12 @@ public class GxOutStorageTask extends AbstractTask {
}
@Override
public void deliveryBeforeProcessing(SchBaseTask task, AcsTaskDto acsTaskDto) {
acsTaskDto.setVehicle_code("");
acsTaskDto.setVehicle_code2("");
}
@Override
public String createTask(JSONObject form) {
// 创建任务

View File

@@ -1,5 +1,6 @@
package org.nl.wms.sch.task_manage.tasks.nbj;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.SneakyThrows;
@@ -12,6 +13,7 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask;
import org.nl.wms.sch.task_manage.AbstractTask;
import org.nl.wms.sch.task_manage.TaskStatus;
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
import org.nl.wms.sch.task_manage.core.constant.RegionConstant;
import org.nl.wms.sch.task_manage.core.enums.TaskFinishedTypeEnum;
import org.nl.wms.util.PointUtils;
import org.nl.wms.util.TaskUtils;
@@ -48,8 +50,8 @@ public class SubRollDownAGVTask extends AbstractTask {
@Override
public void createCompletion(SchBaseTask task) {
// update: 查找空位没任务的货梯 -> 查找一楼暂存位空位
TaskUtils.taskLock("A1-ZXZC", () -> {
List<SchBasePoint> zxPoints = pointService.getAllBusinessNotTaskPoint("A1", "A1-ZXZC",
TaskUtils.taskLock(RegionConstant.REGION_A1_ZXZC, () -> {
List<SchBasePoint> zxPoints = pointService.getAllBusinessNotTaskPoint("A1", RegionConstant.REGION_A1_ZXZC,
"1", "1", null, null);
if (zxPoints.size() == 0) {
throw new BadRequestException("暂无可用的装箱暂存位!");
@@ -57,7 +59,7 @@ public class SubRollDownAGVTask extends AbstractTask {
SchBasePoint zxPoint = zxPoints.get(0);
task.setPoint_code2(zxPoint.getPoint_code());
// 创建搬运空架子的任务
List<SchBasePoint> emptyPoint = pointService.getAllBusinessNotTaskPoint("A1", "A1-ZXZC",
List<SchBasePoint> emptyPoint = pointService.getAllBusinessNotTaskPoint("A1", RegionConstant.REGION_A1_ZXZC,
"1", "2", null, null);
if (emptyPoint.size() > 0) {
// 有空架子就是四点任务
@@ -78,20 +80,10 @@ public class SubRollDownAGVTask extends AbstractTask {
@Transactional(rollbackFor = Exception.class)
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
checkTaskOptionStatus(taskObj);
JSONObject requestObj = JSONObject.parseObject(taskObj.getRequest_param());
// 终点赋值
SchBasePoint endPoint = pointService.getById(taskObj.getPoint_code2());
endPoint.setPoint_status("3");
endPoint.setMaterial_code(requestObj.getString("container_name"));
endPoint.setVehicle_code(taskObj.getVehicle_code());
setUpdateByType(endPoint, taskFinishedType);
pointService.updateById(endPoint);
// 判断是否为4点任务
String startPointCode2 = taskObj.getPoint_code3();
if (StrUtil.isNotBlank(startPointCode2)) {
// 四点任务
SchBasePoint startPoint2 = pointService.getById(startPointCode2);
clearPoint(startPoint2, taskFinishedType);
SchBasePoint endPoint2 = pointService.getById(taskObj.getPoint_code4());
endPoint2.setPoint_status("2");
endPoint2.setMaterial_code("");
@@ -120,18 +112,40 @@ public class SubRollDownAGVTask extends AbstractTask {
@Override
public void agvPickUpCompleted(SchBaseTask task) {
if (TaskStatus.PICK_UP_COMPLETED.getCode().equals(task.getTask_status())) {
log.warn("该任务已经执行过取货完成!");
return;
}
JSONObject request = JSONObject.parseObject(task.getRequest_param());
// 取货完成
// 起点清空(没有取货完成的业务),终点赋值
String startPointCode = task.getPoint_code1();
SchBasePoint startPoint = pointService.getById(startPointCode);
clearPoint(startPoint, TaskFinishedTypeEnum.AUTO_ACS);
// 任务设置071
task.setTask_status(TaskStatus.PICK_UP_COMPLETED.getCode());
TaskUtils.setUpdateByType(task, TaskFinishedTypeEnum.AUTO_ACS);
taskService.updateById(task);
if (request.getString("pick_point").equals(task.getPoint_code1())) {
// 起点清空(没有取货完成的业务),终点赋值
String startPointCode = task.getPoint_code1();
SchBasePoint startPoint = pointService.getById(startPointCode);
clearPoint(startPoint, TaskFinishedTypeEnum.AUTO_ACS);
}
if (ObjectUtil.isNotEmpty(task.getPoint_code3())
&& request.getString("pick_point").equals(task.getPoint_code3())) {
SchBasePoint startPoint2 = pointService.getById(task.getPoint_code3());
clearPoint(startPoint2, TaskFinishedTypeEnum.AUTO_ACS);
}
if (!TaskStatus.PICK_UP_COMPLETED.getCode().equals(task.getTask_status())) {
// 任务设置071
task.setTask_status(TaskStatus.PICK_UP_COMPLETED.getCode());
TaskUtils.setUpdateByType(task, TaskFinishedTypeEnum.AUTO_ACS);
taskService.updateById(task);
}
}
@Override
public void agvReleaseCompleted(SchBaseTask task) {
JSONObject request = JSONObject.parseObject(task.getRequest_param());
if (request.getString("release_point").equals(task.getPoint_code2())) {
JSONObject requestObj = JSONObject.parseObject(task.getRequest_param());
// 终点赋值
SchBasePoint endPoint = pointService.getById(task.getPoint_code2());
endPoint.setPoint_status("3");
endPoint.setMaterial_code(requestObj.getString("container_name"));
endPoint.setVehicle_code(task.getVehicle_code());
setUpdateByType(endPoint, TaskFinishedTypeEnum.AUTO_ACS);
pointService.updateById(endPoint);
}
}
}

View File

@@ -102,12 +102,12 @@ public class SendWasteFoilAGVTask extends AbstractTask {
public void updateStatus(JSONObject task, TaskStatus status) {
String taskCode = task.getString("task_code");
BigDecimal weight = task.getBigDecimal("weight");
// 校验任务
SchBaseTask taskObj = taskService.getByCode(taskCode);
if (ObjectUtil.isNotEmpty(weight)) {
// 调用更新重量
otherOperationService.acsRequestWasteFoilWeight(task);
}
// 校验任务
SchBaseTask taskObj = taskService.getByCode(taskCode);
// 根据传来的类型去对任务进行操作
if (TaskStatus.EXECUTING.equals(status) || ObjectUtil.isNotEmpty(task.getString("car_no"))) {
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());

View File

@@ -49,7 +49,7 @@ public class RawCallRollAGVTask extends AbstractTask {
String startPointCode = requestObj.getString("start_point_code");
// 创建任务
task.setPoint_code1(startPointCode);
task.setPoint_code2(task.getPoint_code2() + "_K");
task.setPoint_code2(task.getPoint_code2());
task.setHandle_class(THIS_CLASS);
task.setTask_status(TaskStatus.START_AND_POINT.getCode());
setUpdateByPC(task);
@@ -61,7 +61,7 @@ public class RawCallRollAGVTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
checkTaskOptionStatus(taskObj);
String pointCode2 = taskObj.getPoint_code2();
StIvtSbpointivt sbPoint = sbpointivtService.getByPointCode(pointCode2.substring(0, pointCode2.length() - 2), false);
StIvtSbpointivt sbPoint = sbpointivtService.getByPointCode(pointCode2, false);
sbPoint.setVehicle_code(taskObj.getVehicle_code());
setSbUpdateByType(sbPoint, taskFinishedType);
sbpointivtService.updateById(sbPoint);

View File

@@ -78,12 +78,12 @@ public class RawDownAGVTask extends AbstractTask {
// 标记一下是哪个生箔机的收卷辊
// task.setVehicle_code2(pointCode.getExt_code());
task.setPoint_code1(startPointCode);
task.setPoint_code2(deviceCode + "_K");
task.setPoint_code3(deviceCode + "_M");
task.setPoint_code2(deviceCode);
task.setPoint_code3(deviceCode);
task.setPoint_code4(hxPoint.getPoint_code());
} else {
// 创建两点任务: 搬运到烘箱位置
task.setPoint_code1(deviceCode + "_M");
task.setPoint_code1(deviceCode);
task.setPoint_code2(hxPoint.getPoint_code());
}
// 保存任务参数

View File

@@ -78,7 +78,7 @@ public class SlitterUpAGVTask extends AbstractTask {
// 四点任务
task.setPoint_code1(deviceCode);
task.setPoint_code2(cutPoint.getFull_point_code());
task.setPoint_code3(cutPoint.getEmpty_point_code());
task.setPoint_code3(cutPoint.getFull_point_code());
task.setPoint_code4(sjgPoint.getPoint_code());
}
// 创建任务