diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java index dc3fa1573..2448253a2 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java @@ -790,10 +790,10 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { cutpointivtTypeMap.put("A1_TZZC03", "2"); } if (move3 == 1) { - cutpointivtTypeMap.put("A1_TZZC04", "1"); + cutpointivtTypeMap.put("A1_TZZC04", "2"); } if (move4 == 1) { - cutpointivtTypeMap.put("A1_TZZC04", "2"); + cutpointivtTypeMap.put("A1_TZZC04", "1"); } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java index 2c0295815..c0239a799 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.config.lucene.TagNameEnum; +import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.pda.st.service.NbjPdaService; import org.nl.wms.pdm.bi.dao.PdmBiSlittingproductionplan; import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService; @@ -26,6 +27,7 @@ import org.nl.wms.sch.task_manage.tasks.nbj.PdaSendShaftAGVTask; import org.nl.wms.sch.task_manage.tasks.nbj.SubRollDownAGVTask; import org.nl.wms.util.PointUtils; import org.nl.wms.util.TaskUtils; +import org.nl.wms.util.URLEnum; import org.slf4j.MDC; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -65,6 +67,11 @@ public class NbjPdaServiceImpl implements NbjPdaService { private IBstIvtCutpointivtService bcutpointivtService; @Autowired private PdaSendShaftAGVTask pdaSendShaftAGVTask; + + + @Autowired + private WmsToAcsService wmsToAcsService; + @Override public JSONObject changeLiftStatus(JSONObject param) { MDC.put(GeneralDefinition.MDC_KEY, TagNameEnum.SWITCH_STATUS_OF_LIFT.getTag()); @@ -430,6 +437,7 @@ public class NbjPdaServiceImpl implements NbjPdaService { taskParam.put("vehicle_code", currentUpPlan.getQzzno()); taskParam.put("vehicle_code2", currentDownPlan.getQzzno()); } + StIvtCutpointivt endPoint; if (ObjectUtil.isEmpty(device)) { if (plans.size() == 0) { throw new BadRequestException("系统找不到对应的分切计划,请确保维护了点位信息,或者指定设备!"); @@ -437,14 +445,40 @@ public class NbjPdaServiceImpl implements NbjPdaService { PdmBiSlittingproductionplan demoPlan = plans.get(0); // 如果没有选择目的地,就是根据点位上维护的信息送 taskParam.put("is_flag", "1"); - StIvtCutpointivt endPoint = stIvtCutpointivtService.getPintByExtCode(demoPlan.getResource_name(), false); + endPoint = stIvtCutpointivtService.getPintByExtCode(demoPlan.getResource_name(), false); taskParam.put("point_code2", endPoint.getPoint_code()); } else { - StIvtCutpointivt endPoint = stIvtCutpointivtService.getPintByExtCode(device, false); + endPoint = stIvtCutpointivtService.getPintByExtCode(device, false); taskParam.put("point_code2", endPoint.getPoint_code()); // 不需要修改点位信息 taskParam.put("is_flag", "0"); } + + //校验终点和起点实际点位轴类型是否匹配 + String endPointCode = (String) taskParam.get("point_code2"); + String startPointCode = (String) taskParam.get("point_code1"); + if (startPoint.getIvt_id().equals("3") || startPoint.getIvt_id().equals("4")) { + JSONArray acsArray = new JSONArray(); + JSONObject acs = new JSONObject(); + acs.put("device_code", endPointCode); + acs.put("product_area", URLEnum.ACS_URL_A1.getProduct_area()); + acsArray.add(acs); + //acs查询缓存架类型 + log.info("送轴,获取缓存架类型 - {}", acsArray); + JSONObject jsonObject = wmsToAcsService.getCutpointivtType(acsArray); + log.info("送轴,获取缓存架类型返回 - {}", jsonObject); + JSONObject message = (JSONObject) jsonObject.get("message"); + if (message == null) { + throw new BadRequestException("获取缓存架类型失败!"); + } + if (message.containsKey(startPointCode) && !endPoint.getPlan().equals(message.get(startPointCode))) { + throw new BadRequestException("请求搬运失败,缓存架气涨轴类型与分切机不匹配!"); + } + + + } + + pdaSendShaftAGVTask.createTask(taskParam); } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java index 7702f7212..beabf14cd 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java @@ -133,7 +133,6 @@ public class OtherPdaServiceImpl implements OtherPdaService { taskService.updateById(nextTask); } // 通知ACS完成上一个任务 - // 通知ACS完成上一个任务 JSONArray acs = new JSONArray(); JSONObject result = new JSONObject(); JSONObject acsParam = new JSONObject(); diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/hot/service/impl/StIvtHotpointivtServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/hot/service/impl/StIvtHotpointivtServiceImpl.java index 1015e63ed..0ae0b8b89 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/hot/service/impl/StIvtHotpointivtServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/hot/service/impl/StIvtHotpointivtServiceImpl.java @@ -53,16 +53,20 @@ public class StIvtHotpointivtServiceImpl extends ServiceImpl resultPage = new Page<>(page.getPage() + 1, page.getSize()); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(ObjectUtil.isNotEmpty(pointCode), StIvtHotpointivt::getPoint_code, pointCode) .eq(ObjectUtil.isNotEmpty(pointStatus), StIvtHotpointivt::getPoint_status, pointStatus) .eq(ObjectUtil.isNotEmpty(productArea), StIvtHotpointivt::getProduct_area, productArea) .eq(ObjectUtil.isNotEmpty(isUsed), StIvtHotpointivt::getIs_used, isUsed) + .like(ObjectUtil.isNotEmpty(container_name), StIvtHotpointivt::getContainer_name, container_name) .eq(ObjectUtil.isNotEmpty(pointLocation), StIvtHotpointivt::getPoint_location, pointLocation).orderByDesc(StIvtHotpointivt::getInstorage_time); return stIvtHotpointivtMapper.selectPage(resultPage, queryWrapper); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/PdaSendShaftAGVTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/PdaSendShaftAGVTask.java index b5aa2e793..a54b04412 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/PdaSendShaftAGVTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/PdaSendShaftAGVTask.java @@ -3,12 +3,14 @@ package org.nl.wms.sch.task_manage.tasks.nbj; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.pdm.bi.dao.PdmBiSlittingproductionplan; import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService; import org.nl.wms.pdm.ivt.bcut.service.IBstIvtCutpointivtService; @@ -25,6 +27,7 @@ import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition; import org.nl.wms.sch.task_manage.core.enums.TaskFinishedTypeEnum; import org.nl.wms.util.PointUtils; import org.nl.wms.util.TaskUtils; +import org.nl.wms.util.URLEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -58,6 +61,7 @@ public class PdaSendShaftAGVTask extends AbstractTask { private ISchBasePointService pointService; @Autowired private IBstIvtCutpointivtService bcutpointivtService; + @Override public void create() throws BadRequestException { @@ -65,6 +69,7 @@ public class PdaSendShaftAGVTask extends AbstractTask { @Override public String createTask(JSONObject form) { + // 创建任务 SchBaseTask task = new SchBaseTask(); task.setTask_id(IdUtil.getSnowflake(1,1).nextIdStr()); @@ -81,6 +86,7 @@ public class PdaSendShaftAGVTask extends AbstractTask { task.setHandle_class(THIS_CLASS); task.setTask_status(TaskStatus.START_AND_POINT.getCode()); TaskUtils.setCreateByDefault(task); + taskService.save(task); return task.getTask_id(); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterDownAGVTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterDownAGVTask.java index 34a634b50..02e9b7cc5 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterDownAGVTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/slitter/SlitterDownAGVTask.java @@ -109,28 +109,9 @@ public class SlitterDownAGVTask extends AbstractTask { acs.put("device_code", requestObj.getString("device_code")); acs.put("product_area", URLEnum.ACS_URL_A1.getProduct_area()); acsArray.add(acs); - //acs查询缓存架类型 - log.info("获取缓存架类型 - {}", acsArray); - JSONObject jsonObject = wmsToAcsService.getCutpointivtType(acsArray); - log.info("获取缓存架类型返回 - {}", jsonObject); - JSONObject message = (JSONObject)jsonObject.get("message"); - if (message == null){ - throw new BadRequestException("获取缓存架类型失败!"); - } - for (BstIvtCutpointivt bstIvtCutpointivt : areaEmptyNotTaskPoint) { - if (message.containsKey(bstIvtCutpointivt.getPoint_code())){ - if ( bstIvtCutpointivt.getPlan().equals(message.get(bstIvtCutpointivt.getPoint_code()))) { - endPoint = bstIvtCutpointivt; - } else { - throw new BadRequestException("请求搬运失败,缓存架光电信息不满足!"); - } - } else { - endPoint = bstIvtCutpointivt; - } - } - if (endPoint == null) { - throw new BadRequestException("请求搬运失败,缓存架没有匹配的位置!"); - } + //校验acs与lms气涨轴类型 + endPoint = checkType(acsArray, areaEmptyNotTaskPoint, endPoint); +// endPoint = areaEmptyNotTaskPoint.get(0); task.setPoint_code2(endPoint.getPoint_code()); // 设置气胀轴 task.setVehicle_code(currentUpPlan != null ? currentUpPlan.getQzzno() : ""); @@ -150,6 +131,31 @@ public class SlitterDownAGVTask extends AbstractTask { }); } + private BstIvtCutpointivt checkType(JSONArray acsArray, List areaEmptyNotTaskPoint, BstIvtCutpointivt endPoint) { + log.info("分切下料,获取缓存架类型 - {}", acsArray); + JSONObject jsonObject = wmsToAcsService.getCutpointivtType(acsArray); + log.info("分切下料,获取缓存架类型返回 - {}", jsonObject); + JSONObject message = (JSONObject)jsonObject.get("message"); + if (message == null){ + throw new BadRequestException("获取缓存架类型失败!"); + } + for (BstIvtCutpointivt bstIvtCutpointivt : areaEmptyNotTaskPoint) { + if (message.containsKey(bstIvtCutpointivt.getPoint_code())){ + if ( bstIvtCutpointivt.getPlan().equals(message.get(bstIvtCutpointivt.getPoint_code()))) { + endPoint = bstIvtCutpointivt; + } else { + throw new BadRequestException("请求搬运失败,缓存架气涨轴类型与分切机不匹配!"); + } + } else { + endPoint = bstIvtCutpointivt; + } + } + if (endPoint == null) { + throw new BadRequestException("请求搬运失败,缓存架没有匹配的位置!"); + } + return endPoint; + } + @Override @Transactional(rollbackFor = Exception.class) public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {