buhuazhen
2026-03-21 e4ae2029b107b412c64f7f6619445069ef219665
feat(purchase): 新增按ID删除采购退货单功能

- 在控制器层添加通过ID删除退货单的接口
- 在服务接口中声明deleteById方法
- 实现服务层删除退货单记录及其相关产品数据逻辑
- 删除相关财务账户收入信息,确保数据一致性
- 使用事务管理保证删除操作的原子性
已修改3个文件
25 ■■■■■ 文件已修改
src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java
@@ -53,5 +53,11 @@
        return AjaxResult.success(purchaseReturnOrdersService.getPurchaseReturnOrderDtoById(id));
    }
    @PostMapping("/deleteById/{id}")
    public AjaxResult deleteById(@PathVariable Long id) {
        purchaseReturnOrdersService.deleteById(id);
        return AjaxResult.success();
    }
}
src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
@@ -25,4 +25,6 @@
    PurchaseReturnDetailsVo getPurchaseReturnOrderDtoById(@NotNull Long id);
    void deleteById(@NotNull Long id);
}
src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -117,4 +118,20 @@
        return purchaseReturnOrderDto;
    }
    @Override
    @Transactional
    public void deleteById(Long id) {
        purchaseReturnOrdersMapper.deleteById(id);
        LambdaUpdateWrapper<PurchaseReturnOrderProducts> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(PurchaseReturnOrderProducts::getPurchaseReturnOrderId, id);
        purchaseReturnOrderProductsMapper.delete(updateWrapper);
        // 财务
        LambdaUpdateWrapper<AccountIncome> updateWrapperAccountIncome = new LambdaUpdateWrapper<>();
        updateWrapperAccountIncome.eq(AccountIncome::getBusinessId, id);
        updateWrapperAccountIncome.eq(AccountIncome::getBusinessType, 1);
        updateWrapperAccountIncome.eq(AccountIncome::getIncomeType, 4);
        accountIncomeService.remove(updateWrapperAccountIncome);
    }
}