From 338257ab9f95bb248593296f321803439a973c11 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 9 Jun 2025 17:18:33 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E5=A5=97=E8=BD=B4=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IBstIvtCutpointivtService.java | 8 +++++++ .../impl/BstIvtCutpointivtServiceImpl.java | 12 ++++++++++ .../slitter/SendNBJExceptionPointTask.java | 22 ++++++++++++++++++- .../slitter/auto/AutoSendAirShaftAgvTask.java | 1 - .../service/impl/SlitterServiceImpl.java | 22 +++++++++---------- 5 files changed, 52 insertions(+), 13 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java index ac3e1fd77..6e27853d2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java @@ -138,4 +138,12 @@ public interface IBstIvtCutpointivtService extends IService { List getNBJCanUsePoint(String type, String pointStatus, String area, String sort); List getNBJAreaNotTaskPointByStatus(String type, String pointStatus, String area, String sort); + + /*** + * 获取桁架或者AGV点位编码 + * @param endPoint + * @param b + * @return + */ + BstIvtCutpointivt getPointByTrussOrAgvCode(String endPoint, boolean flag); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java index 5908cdfa2..ad873b347 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java @@ -169,4 +169,16 @@ public class BstIvtCutpointivtServiceImpl extends ServiceImpl getNBJAreaNotTaskPointByStatus(String type, String pointStatus, String area, String sort) { return bstIvtCutpointivtMapper.getNBJAreaNotTaskPointByStatus(type, pointStatus, area, sort); } + + @Override + public BstIvtCutpointivt getPointByTrussOrAgvCode(String point, boolean flag) { + LambdaQueryWrapper lam = new QueryWrapper().lambda(); + lam.eq(flag, BstIvtCutpointivt::getIs_used, "1") + .and(ll -> ll.eq(BstIvtCutpointivt::getPoint_code, point) + .or() + .eq(BstIvtCutpointivt::getTruss_point_code1, point) + .or() + .eq(BstIvtCutpointivt::getTruss_point_code2, point)); + return bstIvtCutpointivtMapper.selectOne(lam); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendNBJExceptionPointTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendNBJExceptionPointTask.java index bc7141c77..816794014 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendNBJExceptionPointTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SendNBJExceptionPointTask.java @@ -5,9 +5,13 @@ import cn.hutool.core.util.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; @@ -38,6 +42,8 @@ public class SendNBJExceptionPointTask extends AbstractAcsTask { private IschBaseTaskService taskService; @Autowired private IBstIvtCutpointivtService bcutpointivtService; + @Autowired + private IBstIvtShafttubeivtService shaftivtService; @Override public List addTask() { /* @@ -80,8 +86,22 @@ public class SendNBJExceptionPointTask extends AbstractAcsTask { // 互换资源 // update: 在acs请求取货完成就已经清空点位信息 String endPoint = task.getPoint_code2(); - BstIvtCutpointivt endPointObj = bcutpointivtService.getPintByAgvCode(endPoint, false); + BstIvtCutpointivt endPointObj = bcutpointivtService.getPointByTrussOrAgvCode(endPoint, false); TaskUtils.pointMaintenanceInventory(task, endPointObj, "2"); + // (桁架任务的时候)起点要清空 + if (task.getPoint_code2().equals(endPointObj.getTruss_point_code1()) + || task.getPoint_code2().equals(endPointObj.getTruss_point_code2())) { + BstIvtShafttubeivt shafttubeivt = shaftivtService.getByPointCode(task.getPoint_code1(), false); + shafttubeivt.setQzz_size(""); + shafttubeivt.setHave_qzz("0"); + shafttubeivt.setTube_code1(""); + shafttubeivt.setTube_code2(""); + shafttubeivt.setTube_name1(""); + shafttubeivt.setTube_name2(""); + shafttubeivt.setContainer_name1(""); + shafttubeivt.setContainer_name2(""); + shaftivtService.updateById(shafttubeivt); + } bcutpointivtService.updateById(endPointObj); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java index a0591e595..df5bdebce 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java @@ -97,7 +97,6 @@ public class AutoSendAirShaftAgvTask { log.info("异常处理位无空位!"); // 点位禁用 cutPoint.setRemark("计划状态已被改变!"); - cutPoint.setIs_used("0"); cutPoint.setUpdate_time(DateUtil.now()); bcutpointivtService.updateById(cutPoint); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index cee41aae6..fdece2c57 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -326,8 +326,8 @@ public class SlitterServiceImpl implements SlitterService { // 去异常位 if (plans.size() == 0) { log.error("找不到[{}]对应的分切计划,分切计划可能被删除或者拼接!", collect); - // 移动到异常处理位 - List exceptionPoints = bcutpointivtService.getAreaNotTaskPointByStatus("4", "1", "0", "0"); + // 移动到异常处理位(随机一个点位,在送到B2对面的位置) + List exceptionPoints = bcutpointivtService.getAreaNotTaskPointByStatus("1", "1", "0", "0"); if (exceptionPoints.size() > 0) { BstIvtCutpointivt exceptionPoint = exceptionPoints.get(0); // 枷锁 @@ -335,17 +335,16 @@ public class SlitterServiceImpl implements SlitterService { boolean tryLockPointR = lockPointR.tryLock(0, TimeUnit.SECONDS); try { if (tryLockPointR) { - List planTemp = slittingproductionplanService.list( - new LambdaQueryWrapper() - .in(PdmBiSlittingproductionplan::getContainer_name, collect)); - PdmBiSlittingproductionplan tempPlan = planTemp.get(0); // 需要枷锁 JSONObject exParam = new JSONObject(); exParam.put("point_code1", startPoint.getPoint_code()); - exParam.put("point_code2", SlitterConstant.SLITTER_SHAFT_UP.equals(tempPlan.getUp_or_down()) + exParam.put("point_code2", ObjectUtil.isEmpty(exceptionPoint.getQzz_no1()) ? exceptionPoint.getTruss_point_code1() : exceptionPoint.getTruss_point_code2()); - exParam.put("vehicle_code1", SlitterTaskUtil.getQzzNoByUpOrDown(tempPlan)); - exParam.put("vehicle_code2", SlitterTaskUtil.getQzzNoByUpOrDown(tempPlan)); + if (ObjectUtil.isEmpty(exceptionPoint.getQzz_no1())) { + exParam.put("vehicle_code1", collect); + } else { + exParam.put("vehicle_code2", collect); + } exParam.put("task_type", SlitterEnum.TASK_TYPE.code("套轴异常处理桁架任务")); exParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA); sendNBJExceptionPointTask.createTask(exParam); @@ -361,9 +360,9 @@ public class SlitterServiceImpl implements SlitterService { } } } else { - stepTipLogs.add("套轴完成->[" + collect + "]对应的分切计划状态已更改,异常处理位没位置,创建任务失败!"); + stepTipLogs.add("套轴完成->[" + collect + "]对应的分切计划状态已更改,无暂存位置,创建任务失败!"); redisUtils.set("ERROR" + deviceCode, stepTipLogs); - throw new BadRequestException("[" + collect + "]对应的分切计划状态已更改,异常处理位没位置!"); + throw new BadRequestException("[" + collect + "]对应的分切计划状态已更改,无暂存位置!"); } } // 分切计划设置纸卷重量 @@ -1097,6 +1096,7 @@ public class SlitterServiceImpl implements SlitterService { startPointObj.setPoint_status("1"); startPointObj.setQzz_no1(""); startPointObj.setQzz_no2(""); + startPointObj.setRemark(""); TaskUtils.updateOptMessageByBCutPoint(startPointObj); bcutpointivtService.updateById(startPointObj); task.setTask_status(TaskStatusEnum.PICK_UP_COMPLETED.getCode());