From 331f55863345f2d3153ce5c1ad9a6eae43734567 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 5 Nov 2025 17:01:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(oa/erp):=E4=BF=AE=E5=A4=8D=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=AE=A1=E5=88=92=E6=9F=A5=E8=AF=A2=E5=92=8C=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加空值检查避免空指针异常 - 优化项目计划阶段列表的插入逻辑- 使用ObjectUtils工具类进行对象判空- 调整条件判断顺序提高代码可读性 --- .../service/impl/ErpProjectPlanServiceImpl.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java index 70aa5826..1208e561 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectPlanServiceImpl.java @@ -9,6 +9,7 @@ import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.OAStatusEnum; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.ObjectUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; @@ -66,6 +67,9 @@ public class ErpProjectPlanServiceImpl implements IErpProjectPlanService { public ErpProjectPlanVo queryById(Long projectPlanId){ // 使用自定义方法查询,包含关联数据 ErpProjectPlanVo projectPlanVo = baseMapper.selectCustomErpProjectPlanVoById(projectPlanId); + if (ObjectUtils.isEmpty(projectPlanVo)) { + return null; + } // 查询项目计划阶段列表 MPJLambdaWrapper lqw = JoinWrappers.lambda(ErpProjectPlanStage.class) .selectAll(ErpProjectPlanStage.class) @@ -139,12 +143,14 @@ public class ErpProjectPlanServiceImpl implements IErpProjectPlanService { validateProjectManager(bo.getManagerId()); List planStageList = bo.getPlanStageList(); boolean flag = baseMapper.insert(add) > 0; - if (flag && planStageList != null && !planStageList.isEmpty()) { + if (flag) { bo.setProjectPlanId(add.getProjectPlanId()); - for (ErpProjectPlanStage planStage : planStageList) { - planStage.setProjectPlanId(add.getProjectPlanId()); - planStage.setProjectId(add.getProjectId()); - planStageMapper.insert(planStage); + if ( ObjectUtils.isNotEmpty(planStageList)) { + for (ErpProjectPlanStage planStage : planStageList) { + planStage.setProjectPlanId(add.getProjectPlanId()); + planStage.setProjectId(add.getProjectId()); + planStageMapper.insert(planStage); + } } } return flag;