From d851b6c6ba0476af65ef65be6fba7909967bb032 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Sat, 29 Jun 2024 14:10:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=87=E8=B4=A7=E5=8C=BA=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IPdmBiSlittingproductionplanService.java | 7 +++++ ...dmBiSlittingproductionplanServiceImpl.java | 7 +++++ .../slitter/auto/AutoCallAirShaftTask.java | 19 ++++++------ .../service/impl/SlitterServiceImpl.java | 31 ++++++++++++++++--- 4 files changed, 51 insertions(+), 13 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java index b62a1608c..42aa1309e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java @@ -70,4 +70,11 @@ public interface IPdmBiSlittingproductionplanService extends IService getAllHalfPlan(List qzzs); + + /** + * 根据子卷获取分切 + * @param containerName 子卷 + * @return / + */ + PdmBiSlittingproductionplan getByContainerName(String containerName); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java index 8f05ce315..1598433e1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java @@ -104,5 +104,12 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl lam = new QueryWrapper().lambda(); + lam.eq(PdmBiSlittingproductionplan::getContainer_name, containerName); + return pdmBiSlittingproductionplanMapper.selectOne(lam); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index 3f1ad4eec..3bce7b377 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -243,15 +243,6 @@ public class AutoCallAirShaftTask { // 找一个点位: 目的需要的点位 BstIvtStockingivt needPoint = stockingivtList.get(0); // 找到就创建AGV搬运任务 - // 查找一个没有任务的空位 - List list = stockingivtService.getEmptyPointNotTask(location, "0"); - if (list.size() == 0) { - noticeService.createNotice("备货区找不到空位置搬运", - "点位[" + empty.getPoint_name() + "]无法从备货区找到空位", - NoticeTypeEnum.EXCEPTION.getCode()); - return; - } - BstIvtStockingivt endPoint = list.get(0); // 筛选3个位置中数量最少的搬走 BstIvtStockingivt needMovePoint = stockingivtService.getCanMovePointOne(location, "1"); // 空位就直接创建搬过来的任务 @@ -261,6 +252,7 @@ public class AutoCallAirShaftTask { param.put("point_code1", needPoint.getPoint_code()); param.put("point_code2", needMovePoint.getPoint_code()); param.put("vehicle_code", needPoint.getVehicle_code()); + param.put("product_area", SlitterConstant.SLITTER_TASK_AREA); param.put("task_type", SlitterEnum.TASK_TYPE.code("备货区送纸管")); // 存储纸管信息 List paperList = mdPbPapervehicleService.list(new LambdaQueryWrapper() @@ -269,6 +261,15 @@ public class AutoCallAirShaftTask { stockAreaCallTubeTask.createTask(param); return; } + // 查找一个没有任务的空位 + List list = stockingivtService.getEmptyPointNotTask(location, "0"); + if (list.size() == 0) { + noticeService.createNotice("备货区找不到空位置搬运", + "点位[" + empty.getPoint_name() + "]无法从备货区找到空位", + NoticeTypeEnum.EXCEPTION.getCode()); + return; + } + BstIvtStockingivt endPoint = list.get(0); // 创建任务 -> HINT: 在此任务完成之后会调用搬回来的任务,因此任务中要记录需要搬运的点位放在任务请求参数中。 JSONObject param = new JSONObject(); param.put("point_code1", needMovePoint.getPoint_code()); 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 4988af4c0..6005d5ccf 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 @@ -840,6 +840,9 @@ public class SlitterServiceImpl implements SlitterService { @Override @Transactional(rollbackFor = Exception.class) public JSONObject acsActionFinishRequestToRelease(JSONObject param) { + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.HTTP_OK); + result.put("message", "反馈取货成功!"); String taskCode = param.getString("task_code"); if (ObjectUtil.isEmpty(taskCode)) { throw new BadRequestException("ACS二楼请求取货完成失败,任务号不能为空!"); @@ -848,6 +851,11 @@ public class SlitterServiceImpl implements SlitterService { // 起点释放 String startPoint = task.getPoint_code1(); BstIvtCutpointivt startPointObj = bcutpointivtService.getPintByAgvCode(startPoint, false); + if (ObjectUtil.isEmpty(startPointObj)) { + log.error("BstIvtCutpointivt-任务{}起点不存在,放行", taskCode); + result.put("message", "不更新库存,放行!"); + return result; + } startPointObj.setPoint_status("1"); startPointObj.setQzz_no1(""); startPointObj.setQzz_no2(""); @@ -856,9 +864,6 @@ public class SlitterServiceImpl implements SlitterService { task.setTask_status(TaskStatusEnum.PICK_UP_COMPLETED.getCode()); TaskUtils.updateOptMessageByTask(task); taskService.updateById(task); - JSONObject result = new JSONObject(); - result.put("status", HttpStatus.HTTP_OK); - result.put("message", "反馈取货成功!"); return result; } @@ -976,7 +981,25 @@ public class SlitterServiceImpl implements SlitterService { @Override public JSONObject slitterSpliceOperation(JSONObject param) { - // todo: + // param:OutsideContainerName 、 InsideContainerName、CarrierStatus + String outsideContainerName = param.getString("OutsideContainerName"); + String insideContainerName = param.getString("InsideContainerName"); + String carrierStatus = param.getString("CarrierStatus"); + if (SlitterConstant.SLITTER_NO.equals(carrierStatus)) { + // 不下卷需要修改。 + PdmBiSlittingproductionplan outPlan = slittingproductionplanService.getByContainerName(outsideContainerName); + PdmBiSlittingproductionplan inPlan = slittingproductionplanService.getByContainerName(insideContainerName); + outPlan.setQzzno(inPlan.getQzzno()); + outPlan.setStatus(inPlan.getStatus()); + outPlan.setIs_child_tz_ok(inPlan.getIs_child_tz_ok()); + outPlan.setIs_paper_ok(inPlan.getIs_paper_ok()); + TaskUtils.updateOptMessageBySlitterPlan(outPlan); + inPlan.setQzzno(inPlan.getQzzno() + "拼接"); + inPlan.setStatus("09"); + TaskUtils.updateOptMessageBySlitterPlan(outPlan); + List collect = Stream.of(outPlan, inPlan).collect(Collectors.toList()); + slittingproductionplanService.updateBatchById(collect); + } return null; } }