From 67e842c62fba72eb5fae39bb7fda14bcd7b6bc75 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Wed, 13 Nov 2024 15:31:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E6=96=99=E7=AE=A1=E7=90=86--=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BF=AE=E6=94=B9=E9=A2=86=E6=96=99=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LeaseApplyInfoController.java | 4 +-- .../impl/LeaseApplyInfoServiceImpl.java | 36 ++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java index 67f661c7..f02bb966 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java @@ -76,7 +76,7 @@ public class LeaseApplyInfoController extends BaseController { //@RequiresPermissions("lease:info:add") @SysLog(title = "领料任务", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增领料任务") @PostMapping - public AjaxResult add(@RequestBody TmTaskRequestVo tmTaskRequestVo) { + public AjaxResult add(@RequestBody @NotNull(message = "领料任务不能为空") TmTaskRequestVo tmTaskRequestVo) { try { return leaseApplyInfoService.insertLeaseApplyInfo(tmTaskRequestVo); } catch (Exception e) { @@ -92,7 +92,7 @@ public class LeaseApplyInfoController extends BaseController { //@RequiresPermissions("lease:info:edit") @SysLog(title = "领料任务", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改领料任务") @PutMapping - public AjaxResult edit(@RequestBody TmTaskRequestVo tmTaskRequestVo) { + public AjaxResult edit(@RequestBody @NotNull TmTaskRequestVo tmTaskRequestVo) { try { return toAjax(leaseApplyInfoService.updateLeaseApplyInfo(tmTaskRequestVo)); } catch (Exception e) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index f2c94666..c740c026 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -3,6 +3,7 @@ package com.bonus.material.lease.service.impl; import java.util.List; import java.util.Optional; +import cn.hutool.core.collection.CollectionUtil; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.enums.PurchaseTaskStatusEnum; import com.bonus.common.biz.enums.TmTaskTypeEnum; @@ -101,6 +102,9 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { if (tmTaskRequestVo.getLeaseApplyInfo() == null) { return AjaxResult.error("请先填写领料任务信息"); } + if (CollectionUtil.isEmpty(tmTaskRequestVo.getLeaseApplyDetailsList())) { + return AjaxResult.error("请先添加领料任务物资明细"); + } tmTaskRequestVo.getLeaseApplyInfo().setCreateTime(DateUtils.getNowDate()); tmTaskRequestVo.getLeaseApplyInfo().setCreateBy(SecurityUtils.getUsername()); try { @@ -168,16 +172,32 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { */ @Override public boolean updateLeaseApplyInfo(TmTaskRequestVo tmTaskRequestVo) { - tmTaskRequestVo.getLeaseApplyInfo().setUpdateTime(DateUtils.getNowDate()); - tmTaskRequestVo.getLeaseApplyInfo().setUpdateBy(SecurityUtils.getUsername()); try { - Long[] ids = new Long[]{tmTaskRequestVo.getLeaseApplyInfo().getId()}; - leaseApplyDetailsMapper.deleteLeaseApplyDetailsByParentIds(ids); - insertPurchaseCheckDetails(tmTaskRequestVo.getLeaseApplyDetailsList(), tmTaskRequestVo.getLeaseApplyInfo().getTaskId()); - leaseApplyInfoMapper.updateLeaseApplyInfo(tmTaskRequestVo.getLeaseApplyInfo()); - return true; + // 提取到局部变量中,减少重复代码 + LeaseApplyInfo leaseApplyInfo = tmTaskRequestVo.getLeaseApplyInfo(); + if (leaseApplyInfo != null) { + leaseApplyInfo.setUpdateTime(DateUtils.getNowDate()); + leaseApplyInfo.setUpdateBy(SecurityUtils.getUsername()); + + // 去除创建一个新的数组对象,直接复用 + Long[] ids = {leaseApplyInfo.getId()}; + + if (CollectionUtil.isNotEmpty(tmTaskRequestVo.getLeaseApplyDetailsList())) { + // 业务逻辑代码 + leaseApplyDetailsMapper.deleteLeaseApplyDetailsByParentIds(ids); + insertPurchaseCheckDetails(tmTaskRequestVo.getLeaseApplyDetailsList(), leaseApplyInfo.getTaskId()); + } + // 修改外层info + leaseApplyInfoMapper.updateLeaseApplyInfo(leaseApplyInfo); + return true; + } + return false; + } catch (DataAccessException dae) { + throw new ServiceException("数据访问异常: " + dae.getMessage()); + } catch (IllegalArgumentException iae) { + throw new ServiceException("非法参数异常: " + iae.getMessage()); } catch (Exception e) { - throw new ServiceException("错误信息描述"); + throw new ServiceException("未知异常: " + e.getMessage()); } }