From c91aedb344767e3e6275451754d95e446a38f7e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Fri, 6 Mar 2026 19:53:04 +0800 Subject: [PATCH] =?UTF-8?q?WMS=E5=87=BA=E5=BA=93=E4=BA=A4=E6=8E=A5?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=B8=8B=E5=8F=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../persistence/HandoverTaskOrderImpl.java | 14 ++++- .../HandoverTaskOrderDomainService.java | 53 +++++++++++++++++-- .../HandoverTaskOrderDTO.java | 30 +++++++++++ 3 files changed, 91 insertions(+), 6 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java index d89cf45fc..47d8b07b1 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/repository/persistence/HandoverTaskOrderImpl.java @@ -18,6 +18,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 交接作业单Service业务层处理 @@ -88,6 +89,17 @@ public class HandoverTaskOrderImpl extends ServiceImpl handoverTaskOrderIds = handoverTaskOrderDO.getHandoverTaskOrderIds(); + if (handoverTaskOrderIds == null || handoverTaskOrderIds.isEmpty()) { + return false; + } + // 过滤掉 null 值 + handoverTaskOrderIds = handoverTaskOrderIds.stream() + .filter(id -> id != null) + .collect(Collectors.toList()); + if (handoverTaskOrderIds.isEmpty()) { + return false; + } HandoverTaskOrder handoverTaskOrder = new HandoverTaskOrder(); handoverTaskOrder.setTaskDistribution(1); handoverTaskOrder.setTaskDistributionTime(new Date()); @@ -95,7 +107,7 @@ public class HandoverTaskOrderImpl extends ServiceImpl().lambda() - .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderDO.getHandoverTaskOrderIds())); + .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderIds)); return i > 0; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java index 4b5d188d3..a44639a5c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java @@ -36,6 +36,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 交接作业单 @@ -108,6 +109,17 @@ public class HandoverTaskOrderDomainService { * @return Boolean */ public Boolean allocationPlatform(HandoverTaskOrderDO handoverTaskOrderDO){ + List handoverTaskOrderIds = handoverTaskOrderDO.getHandoverTaskOrderIds(); + if (handoverTaskOrderIds == null || handoverTaskOrderIds.isEmpty()) { + return false; + } + // 过滤掉 null 值 + handoverTaskOrderIds = handoverTaskOrderIds.stream() + .filter(id -> id != null) + .collect(Collectors.toList()); + if (handoverTaskOrderIds.isEmpty()) { + return false; + } LoginUser loginUser = SecurityUtils.getLoginUser(); return handoverTaskOrderService.update(null, new UpdateWrapper().lambda() .set(HandoverTaskOrder::getPlatformUseStatus, 1) @@ -120,7 +132,7 @@ public class HandoverTaskOrderDomainService { .set(HandoverTaskOrder::getUpdateBy, loginUser.getUserid()) .set(HandoverTaskOrder::getUpdateByName, loginUser.getUsername()) .set(HandoverTaskOrder::getUpdateTime, new Date()) - .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderDO.getHandoverTaskOrderIds()) + .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderIds) ); } @@ -132,13 +144,24 @@ public class HandoverTaskOrderDomainService { * @return Boolean */ public Boolean releasePlatform(HandoverTaskOrderDO handoverTaskOrderDO){ + List handoverTaskOrderIds = handoverTaskOrderDO.getHandoverTaskOrderIds(); + if (handoverTaskOrderIds == null || handoverTaskOrderIds.isEmpty()) { + return false; + } + // 过滤掉 null 值 + handoverTaskOrderIds = handoverTaskOrderIds.stream() + .filter(id -> id != null) + .collect(Collectors.toList()); + if (handoverTaskOrderIds.isEmpty()) { + return false; + } LoginUser loginUser = SecurityUtils.getLoginUser(); return handoverTaskOrderService.update(null, new UpdateWrapper().lambda() .set(HandoverTaskOrder::getPlatformUseStatus, 3) .set(HandoverTaskOrder::getUpdateBy, loginUser.getUserid()) .set(HandoverTaskOrder::getUpdateByName, loginUser.getUsername()) .set(HandoverTaskOrder::getUpdateTime, new Date()) - .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderDO.getHandoverTaskOrderIds()) + .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderIds) ); } @@ -152,7 +175,14 @@ public class HandoverTaskOrderDomainService { */ public Boolean completeHandover(HandoverTaskOrderDO handoverTaskOrderDO) { List handoverTaskOrderIds = handoverTaskOrderDO.getHandoverTaskOrderIds(); - if (handoverTaskOrderIds == null || handoverTaskOrderIds.size() == 0) { + if (handoverTaskOrderIds == null || handoverTaskOrderIds.isEmpty()) { + return false; + } + // 过滤掉 null 值 + handoverTaskOrderIds = handoverTaskOrderIds.stream() + .filter(id -> id != null) + .collect(Collectors.toList()); + if (handoverTaskOrderIds.isEmpty()) { return false; } LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -163,7 +193,7 @@ public class HandoverTaskOrderDomainService { .set(HandoverTaskOrder::getUpdateBy, loginUser.getUserid()) .set(HandoverTaskOrder::getUpdateByName, loginUser.getUsername()) .set(HandoverTaskOrder::getUpdateTime, new Date()) - .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderDO.getHandoverTaskOrderIds()) + .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderIds) ); } @@ -293,8 +323,21 @@ public class HandoverTaskOrderDomainService { */ @Transactional(rollbackFor = Exception.class) public boolean taskDistribution(HandoverTaskOrderDO handoverTaskOrderDO) { + List handoverTaskOrderIds = handoverTaskOrderDO.getHandoverTaskOrderIds(); + if (handoverTaskOrderIds == null || handoverTaskOrderIds.isEmpty()) { + throw new ServiceException("未选择交接作业单,请重新选择"); + } + // 过滤掉 null 值 + handoverTaskOrderIds = handoverTaskOrderIds.stream() + .filter(id -> id != null) + .collect(Collectors.toList()); + if (handoverTaskOrderIds.isEmpty()) { + throw new ServiceException("交接作业单ID不能为空,请重新选择"); + } + // 更新 DO 对象中的列表,确保后续调用使用过滤后的列表 + handoverTaskOrderDO.setHandoverTaskOrderIds(handoverTaskOrderIds); List handoverTaskOrders = handoverTaskOrderService.list(new LambdaQueryWrapper() - .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderDO.getHandoverTaskOrderIds()) + .in(HandoverTaskOrder::getHandoverTaskOrderId, handoverTaskOrderIds) .eq(HandoverTaskOrder::getTaskDistribution, 2) ); if (CollectionUtils.isEmpty(handoverTaskOrders)) { diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/handoverTaskOrder/HandoverTaskOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/handoverTaskOrder/HandoverTaskOrderDTO.java index 0a9f4c95b..1f64a802a 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/handoverTaskOrder/HandoverTaskOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/handoverTaskOrder/HandoverTaskOrderDTO.java @@ -6,6 +6,7 @@ import com.mhd.common.core.web.domain.BaseVOEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -132,6 +133,35 @@ public class HandoverTaskOrderDTO extends BaseVOEntity { @ApiModelProperty("交接作业单id") private List handoverTaskOrderIds; + /** + * 自定义setter方法,支持单个整数和数组两种格式 + */ + public void setHandoverTaskOrderIds(Object value) { + if (value == null) { + this.handoverTaskOrderIds = null; + return; + } + + List result = new ArrayList<>(); + + if (value instanceof List) { + // 如果是列表,遍历并转换 + List list = (List) value; + for (Object item : list) { + if (item != null) { + if (item instanceof Number) { + result.add(((Number) item).longValue()); + } + } + } + } else if (value instanceof Number) { + // 如果是单个数字,转换为列表 + result.add(((Number) value).longValue()); + } + + this.handoverTaskOrderIds = result.isEmpty() ? null : result; + } + @ApiModelProperty("作业人用户ID") @Excel(name = "作业人用户ID") private Long operatorsBy;