From f5a09608d032226f7fd4854d69eac045befc306b Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 19 Feb 2025 14:25:08 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A1.=E5=9B=9E=E4=BC=A0=E5=8D=A1?= =?UTF-8?q?=E6=8E=A7=E4=BB=BB=E5=8A=A12.=E6=9C=A8=E7=AE=B1=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PdmBiSubpackagerelationServiceImpl.java | 2 +- .../impl/InAndOutRetrunServiceImpl.java | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index 667428fec..4bcda8fb2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -380,7 +380,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl pageQuery(Map whereJson, Pageable page) { @@ -260,6 +269,9 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { // 返检出库:回传mes if (StrUtil.equals(bill_type, "1006")) { JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "2").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0); + // 判断是否有未完成的任务 + ifUnTask(disArr.toJavaList(JSONObject.class)); + for (int j = 0; j < disArr.size(); j++) { JSONObject json = disArr.getJSONObject(j); // 删除对应的包装关系 @@ -368,6 +380,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { // 改切出库:回传mes if (StrUtil.equals(bill_type, "1003")) { JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "2").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0); + // 判断是否有未完成的任务 + ifUnTask(disArr.toJavaList(JSONObject.class)); for (int j = 0; j < disArr.size(); j++) { JSONObject json = disArr.getJSONObject(j); @@ -1492,6 +1506,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { // 改切出库:回传mes if (StrUtil.equals(bill_type, "1003")) { JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "2").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0); + // 判断是否有未完成的任务 + ifUnTask(disArr.toJavaList(JSONObject.class)); for (int j = 0; j < disArr.size(); j++) { JSONObject json = disArr.getJSONObject(j); // 删除对应的包装关系 @@ -1530,6 +1546,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { // 返检出库:回传mes if (StrUtil.equals(bill_type, "1006")) { JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "2").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0); + // 判断是否有未完成的任务 + ifUnTask(disArr.toJavaList(JSONObject.class)); for (int j = 0; j < disArr.size(); j++) { JSONObject json = disArr.getJSONObject(j); // 删除对应的包装关系 @@ -1699,5 +1717,28 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { } } + /** + * 判断返检/改切出库是否有未完成的任务 + * @param disList:出库单明细(木箱号) + */ + private void ifUnTask(List disList) { + // 查询有没有未完成的任务 + List box_no = disList.stream() + .map(row -> row.getString("box_no")) + .collect(Collectors.toList()); + + List taskList = schBaseTaskService.list( + new QueryWrapper().lambda() + .in(SchBaseTask::getVehicle_code, box_no) + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + .ne(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + ); + + if (ObjectUtil.isNotEmpty(taskList)) { + throw new BadRequestException("请等待木箱【"+taskList.stream().map(SchBaseTask::getVehicle_code).collect(Collectors.joining(","))+"】的所有任务完成之后再回传!"); + } + + } + }