fix: 修复联调中存在的问题
This commit is contained in:
@@ -254,6 +254,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
|
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
|
||||||
try {
|
try {
|
||||||
plcToAgvDeviceDriver.writing("AGVInOP", "0");
|
plcToAgvDeviceDriver.writing("AGVInOP", "0");
|
||||||
|
plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "0");
|
||||||
|
plcToAgvDeviceDriver.writing("AGVSetOutReqLower", "0");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.info("下发AGVInOP信号:{}失败", "0");
|
log.info("下发AGVInOP信号:{}失败", "0");
|
||||||
}
|
}
|
||||||
@@ -383,8 +385,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
|
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
|
||||||
try {
|
try {
|
||||||
plcToAgvDeviceDriver.writing("AGVInOP", "0");
|
plcToAgvDeviceDriver.writing("AGVInOP", "0");
|
||||||
|
plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "0");
|
||||||
|
plcToAgvDeviceDriver.writing("AGVSetInReqLower", "0");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.info("下发AGVInOP信号:{}失败", "0");
|
log.info("下发AGVInOP信号失败");
|
||||||
}
|
}
|
||||||
data = feedBackStatus(data, index, 4, inst, task, 2, false);
|
data = feedBackStatus(data, index, 4, inst, task, 2, false);
|
||||||
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import org.nl.acs.task.service.TaskService;
|
|||||||
import org.nl.acs.task.service.dto.TaskDto;
|
import org.nl.acs.task.service.dto.TaskDto;
|
||||||
import org.nl.acs.task.service.mapper.TaskMapper;
|
import org.nl.acs.task.service.mapper.TaskMapper;
|
||||||
import org.nl.acs.utils.ConvertUtil;
|
import org.nl.acs.utils.ConvertUtil;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.CodeUtil;
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.config.SpringContextHolder;
|
import org.nl.config.SpringContextHolder;
|
||||||
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
||||||
@@ -44,7 +45,7 @@ import java.util.*;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Data
|
@Data
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver , DeviceStageMonitor {
|
public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver, DeviceStageMonitor {
|
||||||
protected ItemProtocol itemProtocol = new ItemProtocol(this);
|
protected ItemProtocol itemProtocol = new ItemProtocol(this);
|
||||||
|
|
||||||
InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl");
|
InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl");
|
||||||
@@ -57,16 +58,16 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
|
|||||||
|
|
||||||
TaskMapper taskMapper;
|
TaskMapper taskMapper;
|
||||||
|
|
||||||
AcsToWmsService acsToWmsService=SpringContextHolder.getBean("acsToWmsServiceImpl");
|
AcsToWmsService acsToWmsService = SpringContextHolder.getBean("acsToWmsServiceImpl");
|
||||||
|
|
||||||
LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean(LuceneExecuteLogService.class);
|
LuceneExecuteLogService luceneExecuteLogService = SpringContextHolder.getBean(LuceneExecuteLogService.class);
|
||||||
|
|
||||||
|
|
||||||
int AGVSetInLowerAllowed =0;
|
int AGVSetInLowerAllowed = 0;
|
||||||
int AGVSetOutLowerAllowed=0;
|
int AGVSetOutLowerAllowed = 0;
|
||||||
int AGVSetInUpperAllowed =0;
|
int AGVSetInUpperAllowed = 0;
|
||||||
int AGVSetOutUpperAllowed=0;
|
int AGVSetOutUpperAllowed = 0;
|
||||||
int AGVEnable=0;
|
int AGVEnable = 0;
|
||||||
|
|
||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
@@ -89,7 +90,8 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
|
|||||||
AGVEnable = this.itemProtocol.getAGVEnable();
|
AGVEnable = this.itemProtocol.getAGVEnable();
|
||||||
|
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
log.info("读取信号失败,失败原因:{}", var17.getMessage());
|
||||||
|
throw new BadRequestException("读取信号失败,失败原因:" + var17.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -162,13 +164,11 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void executing(Server server, Map<String, Object> itemMap) {
|
public void executing(Server server, Map<String, Object> itemMap) {
|
||||||
this.control(itemMap);
|
this.control(itemMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject getDeviceStatusName() {
|
public JSONObject getDeviceStatusName() {
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
|
|||||||
@@ -529,28 +529,10 @@ public class RouteLineServiceImpl extends CommonServiceImpl<RouteLineMapper, Rou
|
|||||||
RoutePlanDto routePlan = (RoutePlanDto) var2.next();
|
RoutePlanDto routePlan = (RoutePlanDto) var2.next();
|
||||||
Map map1 = new HashMap();
|
Map map1 = new HashMap();
|
||||||
map1.put("route_plan_id", routePlan.getPlan_uuid());
|
map1.put("route_plan_id", routePlan.getPlan_uuid());
|
||||||
//List<Entity> allRouteLines = Db.use().query(initsql,param);
|
|
||||||
|
|
||||||
/*long l = System.currentTimeMillis();
|
|
||||||
List<Entity> allRouteLines = Db.use((DataSource) SpringContextHolder.getBean("dataSource")).query(initsql,param);
|
|
||||||
long l1 = System.currentTimeMillis();
|
|
||||||
System.out.println("加载时间"+(l1-l));*/
|
|
||||||
|
|
||||||
replaceAccess(routePlan.getPlan_uuid());
|
replaceAccess(routePlan.getPlan_uuid());
|
||||||
this.routePlans.put(routePlan.getPlan_code(), routePlan);
|
this.routePlans.put(routePlan.getPlan_code(), routePlan);
|
||||||
|
|
||||||
/*List<RouteLineDto> routeDaoList = allRouteLines.stream().map(entity -> {
|
|
||||||
RouteLineDto routeLineDto = new RouteLineDto();
|
|
||||||
routeLineDto.setDevice_code(entity.get("device_code").toString());
|
|
||||||
routeLineDto.setNext_device_code(entity.get("next_device_code").toString());
|
|
||||||
routeLineDto.setRoute_plan_id(entity.get("route_plan_id").toString());
|
|
||||||
routeLineDto.setType(entity.get("type").toString());
|
|
||||||
routeLineDto.setPath(entity.get("path").toString());
|
|
||||||
routeLineDto.setWeights(Integer.parseInt(entity.get("weights").toString()));
|
|
||||||
return routeLineDto;
|
|
||||||
}).collect(Collectors.toList());*/
|
|
||||||
|
|
||||||
|
|
||||||
List<RouteLineDto> routeDaoList = routePlansList.stream().map(entity -> {
|
List<RouteLineDto> routeDaoList = routePlansList.stream().map(entity -> {
|
||||||
RouteLineDto routeLineDto = new RouteLineDto();
|
RouteLineDto routeLineDto = new RouteLineDto();
|
||||||
routeLineDto.setDevice_code(entity.get("device_code").toString());
|
routeLineDto.setDevice_code(entity.get("device_code").toString());
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import cn.hutool.http.HttpStatus;
|
|||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.config.MapOf;
|
||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
import org.nl.wms.ext.connector.service.ConnectorToWmsService;
|
import org.nl.wms.ext.connector.service.ConnectorToWmsService;
|
||||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
@@ -95,7 +96,11 @@ public class ConnectorToWmsServiceImpl implements ConnectorToWmsService {
|
|||||||
param.put("task_code", task_code);
|
param.put("task_code", task_code);
|
||||||
param.put("remark", remark);
|
param.put("remark", remark);
|
||||||
param.put("ext_data", data);
|
param.put("ext_data", data);
|
||||||
connectorTask.apply(param);
|
try{
|
||||||
|
connectorTask.apply(param);
|
||||||
|
}catch (Exception e){
|
||||||
|
return MapOf.of("status", 400,"msg", e.getMessage());
|
||||||
|
}
|
||||||
schBasePoint.setIs_lock(true);
|
schBasePoint.setIs_lock(true);
|
||||||
schBasePointService.updateById(schBasePoint);
|
schBasePointService.updateById(schBasePoint);
|
||||||
map1.put("task_code", task_code);
|
map1.put("task_code", task_code);
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package org.nl.wms.ext.sorting.service.impl;
|
package org.nl.wms.ext.sorting.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@@ -18,6 +21,8 @@ import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
|||||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||||
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCMTTask;
|
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCMTTask;
|
||||||
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCNTTask;
|
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCNTTask;
|
||||||
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSMTTask;
|
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSMTTask;
|
||||||
@@ -37,13 +42,7 @@ import java.util.Map;
|
|||||||
public class SortingServiceImpl implements SortingService {
|
public class SortingServiceImpl implements SortingService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SortingCMTTask sortingCMTTask;
|
private TaskFactory taskFactory;
|
||||||
@Autowired
|
|
||||||
private SortingCNTTask sortingCNTTask;
|
|
||||||
@Autowired
|
|
||||||
private SortingSMTTask sortingSMTTask;
|
|
||||||
@Autowired
|
|
||||||
private SortingSNTTask sortingSNTTask;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISchBasePointService iSchBasePointService;
|
private ISchBasePointService iSchBasePointService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -69,6 +68,13 @@ public class SortingServiceImpl implements SortingService {
|
|||||||
String vehicle_code = jsonObject.getString("vehicle_code");
|
String vehicle_code = jsonObject.getString("vehicle_code");
|
||||||
//托盘上的堆垛信息
|
//托盘上的堆垛信息
|
||||||
JSONArray jsonArray = JSONUtil.parseArray(jsonObject.get("pallet_detail"));
|
JSONArray jsonArray = JSONUtil.parseArray(jsonObject.get("pallet_detail"));
|
||||||
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(pointCode);
|
||||||
|
if(ObjectUtil.isEmpty(schBasePoint)) {
|
||||||
|
return MapOf.of("status", 400,"msg", "点位编码不存在!");
|
||||||
|
}
|
||||||
|
if(schBasePoint.getIs_lock()){
|
||||||
|
return MapOf.of("status", 400,"msg", "该点位已创建任务!");
|
||||||
|
}
|
||||||
// TODO:呼叫空托
|
// TODO:呼叫空托
|
||||||
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>()
|
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>()
|
||||||
.set("is_lock",true)
|
.set("is_lock",true)
|
||||||
@@ -76,21 +82,23 @@ public class SortingServiceImpl implements SortingService {
|
|||||||
.eq("point_code",pointCode));
|
.eq("point_code",pointCode));
|
||||||
JSONObject taskParam = new JSONObject(MapOf.of("task_code",task_code,"job_name",jobname,"device_code",pointCode,"requestNo"
|
JSONObject taskParam = new JSONObject(MapOf.of("task_code",task_code,"job_name",jobname,"device_code",pointCode,"requestNo"
|
||||||
, "sorting_"+IdUtil.getStringId(),"ext_data",jsonObject,"vehicle_code",vehicle_code,"ext_data",jsonObject));
|
, "sorting_"+IdUtil.getStringId(),"ext_data",jsonObject,"vehicle_code",vehicle_code,"ext_data",jsonObject));
|
||||||
|
AbstractTask connectorTask = taskFactory.getTask("CNTTask");
|
||||||
if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
|
if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
|
||||||
taskParam.put("config_code","SortingCNTTask");
|
taskParam.put("config_code","SortingCNTTask");
|
||||||
sortingCNTTask.apply(taskParam);
|
|
||||||
//TODO:叫料
|
//TODO:叫料
|
||||||
}else if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
}else if(SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
||||||
taskParam.put("config_code","SortingCMTTask");
|
taskParam.put("config_code","SortingCMTTask");
|
||||||
sortingCMTTask.apply(taskParam);
|
|
||||||
//TODO:将空托盘放到线边库
|
//TODO:将空托盘放到线边库
|
||||||
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
|
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)){
|
||||||
taskParam.put("config_code","SortingSNTTask");
|
taskParam.put("config_code","SortingSNTTask");
|
||||||
sortingSNTTask.apply(taskParam);
|
|
||||||
//TODO:将满料放到线边库
|
//TODO:将满料放到线边库
|
||||||
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
||||||
taskParam.put("config_code","SortingSMTTask");
|
taskParam.put("config_code","SortingSMTTask");
|
||||||
sortingSMTTask.apply(taskParam);
|
}
|
||||||
|
try{
|
||||||
|
connectorTask.apply(taskParam);
|
||||||
|
}catch (Exception e){
|
||||||
|
return MapOf.of("status", 400,"msg", e.getMessage());
|
||||||
}
|
}
|
||||||
return MapOf.of("status", 200,"msg", "sucess");
|
return MapOf.of("status", 200,"msg", "sucess");
|
||||||
}catch (Exception ex){
|
}catch (Exception ex){
|
||||||
@@ -106,6 +114,8 @@ public class SortingServiceImpl implements SortingService {
|
|||||||
for (SchBaseVehiclematerialgroup schBaseVehiclematerialgroup : list) {
|
for (SchBaseVehiclematerialgroup schBaseVehiclematerialgroup : list) {
|
||||||
Gson gson = new Gson();
|
Gson gson = new Gson();
|
||||||
ConnectorDto connectorDto = gson.fromJson(schBaseVehiclematerialgroup.getExtend(), ConnectorDto.class);
|
ConnectorDto connectorDto = gson.fromJson(schBaseVehiclematerialgroup.getExtend(), ConnectorDto.class);
|
||||||
|
connectorDto.setDueDate(StrUtil.isNotEmpty(connectorDto.getDueDate())?connectorDto.getDueDate():RegionEnum.TRUBEND_SHELVES_3_1_1.getRegion_code());
|
||||||
|
connectorDto.setNextOperation(StrUtil.isNotEmpty(connectorDto.getNextOperation())?connectorDto.getNextOperation(): DateUtil.now());
|
||||||
connectors.add(connectorDto);
|
connectors.add(connectorDto);
|
||||||
}
|
}
|
||||||
// List<PointMaterialInfo> structList = iSchBasePointService.getStructList(RegionEnum.ZDFJ.getRegion_code(), "1");
|
// List<PointMaterialInfo> structList = iSchBasePointService.getStructList(RegionEnum.ZDFJ.getRegion_code(), "1");
|
||||||
|
|||||||
@@ -25,16 +25,7 @@ public class WmsToSortingService {
|
|||||||
private ISchBaseTaskService iSchBaseTaskService;
|
private ISchBaseTaskService iSchBaseTaskService;
|
||||||
|
|
||||||
public AcsResponse feedAgvTaskStatus(JSONObject json) {
|
public AcsResponse feedAgvTaskStatus(JSONObject json) {
|
||||||
String task_code = json.getString("task_code");
|
AcsResponse acsResponse = ConnectorUtil.notifyEextSystem("api/external/wms/agv", json, GeneralDefinition.SORTING_URL);
|
||||||
SchBaseTask task = iSchBaseTaskService.getByCode(task_code);
|
|
||||||
String request_param = task.getRequest_param();
|
|
||||||
JSONObject toJSON = (JSONObject)JSONObject.toJSON(request_param);
|
|
||||||
if (toJSON == null){
|
|
||||||
throw new BadRequestException("WmsToSortingService反馈异常,sorting对接数据ext_data为空");
|
|
||||||
}
|
|
||||||
AcsResponse acsResponse = ConnectorUtil.notifyEextSystem("api/external/wms/agv", toJSON, GeneralDefinition.SORTING_URL);
|
|
||||||
return acsResponse;
|
return acsResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ public abstract class AbstractTask {
|
|||||||
// taskDto.setStart_wait_code(task.getStart_wait_point());
|
// taskDto.setStart_wait_code(task.getStart_wait_point());
|
||||||
// taskDto.setNext_wait_code(task.getNext_wait_point());
|
// taskDto.setNext_wait_code(task.getNext_wait_point());
|
||||||
taskDto.setVehicle_code(task.getVehicle_code());
|
taskDto.setVehicle_code(task.getVehicle_code());
|
||||||
this.setTask(task.getConfig_code(), taskDto,task);
|
this.setTask(task.getConfig_code(), taskDto, task);
|
||||||
list.add(taskDto);
|
list.add(taskDto);
|
||||||
JSONObject result = AcsUtil.notifyAcs("api/wms/task", list);
|
JSONObject result = AcsUtil.notifyAcs("api/wms/task", list);
|
||||||
if (HttpStatus.OK.value() == result.getInteger("status")) {
|
if (HttpStatus.OK.value() == result.getInteger("status")) {
|
||||||
@@ -124,7 +124,7 @@ public abstract class AbstractTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private AcsTaskDto setTask(String config_code, AcsTaskDto taskDto,SchBaseTask task) {
|
private AcsTaskDto setTask(String config_code, AcsTaskDto taskDto, SchBaseTask task) {
|
||||||
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||||
.eq(SchBaseTaskconfig::getConfig_code, config_code));
|
.eq(SchBaseTaskconfig::getConfig_code, config_code));
|
||||||
taskDto.setPriority(taskConfig.getPriority());
|
taskDto.setPriority(taskConfig.getPriority());
|
||||||
@@ -243,6 +243,7 @@ public abstract class AbstractTask {
|
|||||||
// 获取对接位点位对象
|
// 获取对接位点位对象
|
||||||
SchBasePoint pointObj = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
SchBasePoint pointObj = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||||
.eq(SchBasePoint::getPoint_code, apply_point_code));
|
.eq(SchBasePoint::getPoint_code, apply_point_code));
|
||||||
|
if (ObjectUtil.isEmpty(pointObj)) throw new BadRequestException("点位编码不存在!");
|
||||||
// 判断是否校验工单
|
// 判断是否校验工单
|
||||||
if (taskConfig.getIs_check_workorder()) {
|
if (taskConfig.getIs_check_workorder()) {
|
||||||
// 校验工单
|
// 校验工单
|
||||||
@@ -295,12 +296,12 @@ public abstract class AbstractTask {
|
|||||||
task.setGroup_id(bean.setGroupPlate(param));
|
task.setGroup_id(bean.setGroupPlate(param));
|
||||||
// 创建一条单点任务。
|
// 创建一条单点任务。
|
||||||
taskService.save(task);
|
taskService.save(task);
|
||||||
try{
|
try {
|
||||||
bean.create();
|
bean.create();
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class)
|
taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class)
|
||||||
.set(SchBaseTask::getRemark,"下发任务失败"+ e.getMessage())
|
.set(SchBaseTask::getRemark, "下发任务失败" + e.getMessage())
|
||||||
.eq(SchBaseTask::getTask_code,task.getTask_code()));
|
.eq(SchBaseTask::getTask_code, task.getTask_code()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,14 +120,14 @@ public class FTGTask extends AbstractTask {
|
|||||||
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
PointUtils.updateByIngTaskCode(schBasePoint);
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint)
|
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint)
|
||||||
.set(SchBasePoint::getIs_lock, false));
|
.set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code, null));
|
||||||
}
|
}
|
||||||
String point_code2 = taskObj.getPoint_code2();
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
PointUtils.updateByIngTaskCode(schBasePoint2);
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2)
|
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2)
|
||||||
.set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code, null));
|
.set(SchBasePoint::getIs_lock, false));
|
||||||
}
|
}
|
||||||
// 任务完成
|
// 任务完成
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.nl.common.enums.region.RegionEnum;
|
import org.nl.common.enums.region.RegionEnum;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.system.service.notice.ISysNoticeService;
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
|
import org.nl.wms.database.vehicle.service.IMdBaseVehicleService;
|
||||||
|
import org.nl.wms.database.vehicle.service.dao.MdBaseVehicle;
|
||||||
|
import org.nl.wms.database.vehicle.service.dto.MdBaseVehicleQuery;
|
||||||
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||||
@@ -52,6 +55,8 @@ public class SortingCMTTask extends AbstractTask {
|
|||||||
private ISchBasePointService schBasePointService;
|
private ISchBasePointService schBasePointService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService;
|
private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService;
|
||||||
|
@Autowired
|
||||||
|
private IMdBaseVehicleService iMdBaseVehicleService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void create() throws BadRequestException {
|
protected void create() throws BadRequestException {
|
||||||
@@ -72,7 +77,20 @@ public class SortingCMTTask extends AbstractTask {
|
|||||||
String jobname = jsonObject.getString("jobname");
|
String jobname = jsonObject.getString("jobname");
|
||||||
//载具托盘号
|
//载具托盘号
|
||||||
String vehicle_code = jsonObject.getString("vehicle_code");
|
String vehicle_code = jsonObject.getString("vehicle_code");
|
||||||
SchBasePoint structPoint = schBasePointService.getOne(new QueryWrapper<SchBasePoint>().eq("vehicle_code", vehicle_code));
|
MdBaseVehicle vehicle_code1 = iMdBaseVehicleService.getOne(new QueryWrapper<MdBaseVehicle>().eq("vehicle_code", vehicle_code));
|
||||||
|
if(ObjectUtil.isEmpty(vehicle_code1)) throw new BadRequestException("载具不存在");
|
||||||
|
SchBasePoint structPoint = schBasePointService.getOne(new QueryWrapper<SchBasePoint>()
|
||||||
|
.eq("vehicle_code", vehicle_code)
|
||||||
|
.eq("point_status","2")
|
||||||
|
.eq("is_lock",false));
|
||||||
|
if (ObjectUtil.isEmpty(structPoint)) {
|
||||||
|
task.setRemark("未找到所需点位!");
|
||||||
|
taskService.updateById(task);
|
||||||
|
// 消息通知
|
||||||
|
noticeService.createNotice("未找到所需点位!", TASK_CONFIG_CODE + task.getTask_code(),
|
||||||
|
NoticeTypeEnum.WARN.getCode());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
taskService.update(new UpdateWrapper<SchBaseTask>()
|
taskService.update(new UpdateWrapper<SchBaseTask>()
|
||||||
.set("task_status",TaskStatus.CREATED.getCode())
|
.set("task_status",TaskStatus.CREATED.getCode())
|
||||||
.set("point_code1",structPoint.getPoint_code())
|
.set("point_code1",structPoint.getPoint_code())
|
||||||
@@ -122,14 +140,14 @@ public class SortingCMTTask extends AbstractTask {
|
|||||||
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
PointUtils.updateByIngTaskCode(schBasePoint);
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint)
|
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint)
|
||||||
.set(SchBasePoint::getIs_lock, false));
|
.set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code,null));
|
||||||
}
|
}
|
||||||
String point_code2 = taskObj.getPoint_code2();
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
PointUtils.updateByIngTaskCode(schBasePoint2);
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2)
|
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2)
|
||||||
.set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code,null));
|
.set(SchBasePoint::getIs_lock, false));
|
||||||
}
|
}
|
||||||
// 任务完成
|
// 任务完成
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
|||||||
@@ -111,14 +111,14 @@ public class SortingCNTTask extends AbstractTask {
|
|||||||
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
PointUtils.updateByIngTaskCode(schBasePoint);
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint)
|
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, startPoint)
|
||||||
.set(SchBasePoint::getIs_lock, false));
|
.set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code,null));
|
||||||
}
|
}
|
||||||
String point_code2 = taskObj.getPoint_code2();
|
String point_code2 = taskObj.getPoint_code2();
|
||||||
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
SchBasePoint schBasePoint2 = pointService.selectByPointCode(point_code2);
|
||||||
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
if (ObjectUtil.isNotEmpty(schBasePoint2)) {
|
||||||
PointUtils.updateByIngTaskCode(schBasePoint2);
|
PointUtils.updateByIngTaskCode(schBasePoint2);
|
||||||
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2)
|
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getPoint_code, point_code2)
|
||||||
.set(SchBasePoint::getIs_lock, false).set(SchBasePoint::getVehicle_code,null));
|
.set(SchBasePoint::getIs_lock, false));
|
||||||
}
|
}
|
||||||
// 任务完成
|
// 任务完成
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
|||||||
Reference in New Issue
Block a user