From 084cecd7a5c4cfbc4641b40377064a355234e926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E8=8D=A3=E6=99=9F?= <9691125+pan-rongsheng@user.noreply.gitee.com> Date: Thu, 27 Nov 2025 15:25:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=88=A0=E9=99=A4=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salesorder/SalesOrderDetailServiceImpl.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java index c846def0..d7077791 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/salesorder/SalesOrderDetailServiceImpl.java @@ -1,11 +1,13 @@ package com.zt.plat.module.contractorder.service.salesorder; import cn.hutool.core.collection.CollUtil; +import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderDetailPageReqVO; import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderDetailRespVO; import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderDetailSaveReqVO; import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDetailDO; import com.zt.plat.module.contractorder.dal.mysql.salesorder.SalesOrderDetailMapper; +import com.zt.plat.module.receivedeliver.api.bill.BillMainApi; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -33,6 +35,8 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService { @Resource private SalesOrderDetailMapper salesOrderDetailMapper; + @Resource + private BillMainApi billMainApi; @Override @Transactional @@ -76,12 +80,22 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService { @Override @Transactional(rollbackFor = Exception.class) public void deleteSalesOrderDetailListByIds(List ids) { + //校验是否可以删除 + validateBillMainCanDelete(ids); // 校验存在 validateSalesOrderDetailExists(ids); // 删除 salesOrderDetailMapper.deleteByIds(ids); } - + private void validateBillMainCanDelete(List ids) { + ids.forEach(id -> { + CommonResult booleanCommonResult = billMainApi.notOffsetIsExistOrderDetailId(id); + if (booleanCommonResult.isSuccess() && booleanCommonResult.getData()) { + SalesOrderDetailDO salesOrderDetailDO = salesOrderDetailMapper.selectById(id); + throw new RuntimeException("行目为【" + salesOrderDetailDO.getLineNumber() + "】的订单明细存在发货数据。不允许删除"); + } + }); + } private void validateSalesOrderDetailExists(List ids) { List list = salesOrderDetailMapper.selectByIds(ids); if (CollUtil.isEmpty(list) || list.size() != ids.size()) {