From 8c2587007ce4f2aa2f9431786f883f2f52965ce6 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 9 Dec 2025 10:47:31 +0800 Subject: [PATCH] =?UTF-8?q?fix(oa):=20=E5=A2=9E=E5=8A=A0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=81=A5=E5=A3=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在查询发货单详情时增加项目ID空值判断 - 增加订单ID列表空值判断以避免SQL语法错误 - 在查询工艺卡详情时增加项目ID空值判断 - 增加工艺卡ID列表空值判断以防止空查询 - 统一返回空列表的处理方式 --- .../oa/service/impl/OaDeliveryOrderDetailServiceImpl.java | 7 +++++++ .../oa/service/impl/OaProcessCardDetailServiceImpl.java | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java index ea7fb3d..67bb3f6 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java @@ -131,12 +131,19 @@ public class OaDeliveryOrderDetailServiceImpl implements IOaDeliveryOrderDetailS @Override public List queryListByProjectId(Long projectId) { + if (projectId == null) { + return Collections.emptyList(); + } //拿到projectId下的所有orderId LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); wrapper.eq(OaDeliveryOrder::getProjectId, projectId); List orderList = oaDeliveryOrderMapper.selectList(wrapper); //然后根据orderId拿到所有的detail List orderIdList = orderList.stream().map(OaDeliveryOrder::getOrderId).collect(Collectors.toList()); + // 如果orderIdList为空,则直接返回空列表,避免SQL语法错误 + if (orderIdList.isEmpty()) { + return Collections.emptyList(); + } return baseMapper.selectVoListByOrderIds(orderIdList); } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java index 31488fd..cc180d6 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java @@ -17,6 +17,7 @@ import com.ruoyi.oa.domain.OaProcessCardDetail; import com.ruoyi.oa.mapper.OaProcessCardDetailMapper; import com.ruoyi.oa.service.IOaProcessCardDetailService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -127,11 +128,18 @@ public class OaProcessCardDetailServiceImpl implements IOaProcessCardDetailServi @Override public List queryListByProjectId(Long projectId) { //拿到projectId下的所有cardId + if (projectId == null) { + return new ArrayList<>(); + } LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); wrapper.eq(OaProcessCard::getProjectId, projectId); List cardList = oaProcessCardMapper.selectList(wrapper); //然后根据cardId拿到所有的detail List cardIdList = cardList.stream().map(OaProcessCard::getCardId).collect(Collectors.toList()); + //如果cardIdList为空,则直接返回空列表 + if (cardIdList.isEmpty()) { + return new ArrayList<>(); + } return baseMapper.selectVoListByCardIds(cardIdList); } }