Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# 诺力开发平台
|
||||
# 龙电华鑫铜箔LMS
|
||||
|
||||
```shell
|
||||
cd ../
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -160,4 +160,11 @@ public interface AcsToWmsService {
|
||||
* @return /
|
||||
*/
|
||||
JSONObject acsFeedbackTubeInStorageComplete(JSONObject param);
|
||||
|
||||
/**
|
||||
* agv放货完成
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
JSONObject releaseComplete(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public interface WmsToAcsService {
|
||||
* @param list: 任务链表
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> issueTaskToAcs(List<AcsTaskDto> list);
|
||||
JSONObject issueTaskToAcs(List<AcsTaskDto> list);
|
||||
|
||||
/**
|
||||
* 更新任务状态
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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() + "上轴位");
|
||||
|
||||
@@ -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_code,row
|
||||
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");
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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) {
|
||||
// 创建任务
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
// 保存任务参数
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
// 创建任务
|
||||
|
||||
Reference in New Issue
Block a user