销售订单明细删除校验
This commit is contained in:
@@ -1,11 +1,13 @@
|
|||||||
package com.zt.plat.module.contractorder.service.salesorder;
|
package com.zt.plat.module.contractorder.service.salesorder;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
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.SalesOrderDetailPageReqVO;
|
||||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderDetailRespVO;
|
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.controller.admin.salesorder.vo.SalesOrderDetailSaveReqVO;
|
||||||
import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDetailDO;
|
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.contractorder.dal.mysql.salesorder.SalesOrderDetailMapper;
|
||||||
|
import com.zt.plat.module.receivedeliver.api.bill.BillMainApi;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@@ -33,6 +35,8 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private SalesOrderDetailMapper salesOrderDetailMapper;
|
private SalesOrderDetailMapper salesOrderDetailMapper;
|
||||||
|
@Resource
|
||||||
|
private BillMainApi billMainApi;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
@@ -76,12 +80,22 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteSalesOrderDetailListByIds(List<Long> ids) {
|
public void deleteSalesOrderDetailListByIds(List<Long> ids) {
|
||||||
|
//校验是否可以删除
|
||||||
|
validateBillMainCanDelete(ids);
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateSalesOrderDetailExists(ids);
|
validateSalesOrderDetailExists(ids);
|
||||||
// 删除
|
// 删除
|
||||||
salesOrderDetailMapper.deleteByIds(ids);
|
salesOrderDetailMapper.deleteByIds(ids);
|
||||||
}
|
}
|
||||||
|
private void validateBillMainCanDelete(List<Long> ids) {
|
||||||
|
ids.forEach(id -> {
|
||||||
|
CommonResult<Boolean> booleanCommonResult = billMainApi.notOffsetIsExistOrderDetailId(id);
|
||||||
|
if (booleanCommonResult.isSuccess() && booleanCommonResult.getData()) {
|
||||||
|
SalesOrderDetailDO salesOrderDetailDO = salesOrderDetailMapper.selectById(id);
|
||||||
|
throw new RuntimeException("行目为【" + salesOrderDetailDO.getLineNumber() + "】的订单明细存在发货数据。不允许删除");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
private void validateSalesOrderDetailExists(List<Long> ids) {
|
private void validateSalesOrderDetailExists(List<Long> ids) {
|
||||||
List<SalesOrderDetailDO> list = salesOrderDetailMapper.selectByIds(ids);
|
List<SalesOrderDetailDO> list = salesOrderDetailMapper.selectByIds(ids);
|
||||||
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
|
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user