liding
11 小时以前 3ce8c1cfbf2b0a577c8fbb155128dc85c3857606
fix(approval): 修复审批实例创建中的业务ID和模板查询问题

- 修复发货审批完成处理中的业务ID字段引用错误,从title改为businessId
- 优化采购台账审批模板查询逻辑,添加删除状态过滤条件
- 优化销售报价审批模板查询逻辑,添加删除状态过滤条件并统一查询方式
- 修复重新提交审批时的模板查询重复问题
- 更新发货信息审批模板查询,修正业务类型为7L并添加删除状态过滤
已修改4个文件
38 ■■■■ 文件已修改
src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
@@ -565,7 +565,7 @@
    private void handleShippingApprovalFinished(ApprovalInstance instance, String status) {
        ShippingInfo shippingInfo = shippingInfoMapper.selectOne(
                new LambdaQueryWrapper<ShippingInfo>()
                        .eq(ShippingInfo::getId, instance.getTitle())
                        .eq(ShippingInfo::getId, instance.getBusinessId())
                        .orderByDesc(ShippingInfo::getCreateTime)
                        .last("limit 1")
        );
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -621,8 +621,13 @@
            return;
        }
        ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,5L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,5L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
        ApprovalTemplate purchaseTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
                .eq(ApprovalTemplate::getBusinessType, 5L)
                .eq(ApprovalTemplate::getDeleted, 0)
                .orderByDesc(ApprovalTemplate::getId)
                .last("LIMIT 1"));
        approvalInstance.setTemplateId(purchaseTemplate.getId());
        approvalInstance.setTemplateName(purchaseTemplate.getTemplateName());
        approvalInstance.setBusinessId(purchaseLedger.getId());
        approvalInstance.setBusinessType(5L);
        approvalInstance.setCurrentLevel(1);
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -105,8 +105,13 @@
        salesQuotationProductService.saveBatch(products);
        // 报价审批
        ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
        ApprovalTemplate quotationTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
                .eq(ApprovalTemplate::getBusinessType, 6L)
                .eq(ApprovalTemplate::getDeleted, 0)
                .orderByDesc(ApprovalTemplate::getId)
                .last("LIMIT 1"));
        approvalInstance.setTemplateId(quotationTemplate.getId());
        approvalInstance.setTemplateName(quotationTemplate.getTemplateName());
        approvalInstance.setBusinessId(salesQuotation.getId());
        approvalInstance.setBusinessType(6L);
        approvalInstance.setCurrentLevel(1);
@@ -151,8 +156,13 @@
        approvalInstanceService.lambdaUpdate().set(ApprovalInstance::getStatus,"REJECTED").eq(ApprovalInstance::getBusinessId,salesQuotation.getId()).eq(ApprovalInstance::getBusinessType,6L).update();
        ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
        ApprovalTemplate reSubmitTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
                .eq(ApprovalTemplate::getBusinessType, 6L)
                .eq(ApprovalTemplate::getDeleted, 0)
                .orderByDesc(ApprovalTemplate::getId)
                .last("LIMIT 1"));
        approvalInstance.setTemplateId(reSubmitTemplate.getId());
        approvalInstance.setTemplateName(reSubmitTemplate.getTemplateName());
        approvalInstance.setBusinessId(salesQuotation.getId());
        approvalInstance.setBusinessType(6L);
        approvalInstance.setCurrentLevel(1);
src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -180,8 +180,13 @@
        boolean save = this.add(req);
        // 发货审批
        ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
        ApprovalTemplate shippingTemplate = approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>()
                .eq(ApprovalTemplate::getBusinessType, 7L)
                .eq(ApprovalTemplate::getDeleted, 0)
                .orderByDesc(ApprovalTemplate::getId)
                .last("LIMIT 1"));
        approvalInstance.setTemplateId(shippingTemplate.getId());
        approvalInstance.setTemplateName(shippingTemplate.getTemplateName());
        approvalInstance.setBusinessId(req.getId());
        approvalInstance.setBusinessType(7L);
        approvalInstance.setCurrentLevel(1);