| src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/sales/SalesLedgerProductMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
@@ -420,20 +420,8 @@ instance.setStatus("REJECTED"); instance.setFinishTime(now); this.updateById(instance); // 驳回对应的企业新闻, 差旅报销 if (instance.getBusinessType().equals(TypeEnums.ENTERPRISE_NEWS_APPROVAL.getCode())) { enterpriseNewsMapper.update( new LambdaUpdateWrapper<EnterpriseNews>() .eq(EnterpriseNews::getId, instance.getBusinessId()) .set(EnterpriseNews::getStatus, "REJECTED") ); }else if (instance.getBusinessType().equals(TypeEnums.TRAVEL_REIMBURSEMENT_APPROVAL.getCode())||instance.getBusinessType().equals(TypeEnums.EXPENSE_APPROVAL.getCode())) { finReimbursementMapper.update( new LambdaUpdateWrapper<FinReimbursement>() .eq(FinReimbursement::getId, instance.getBusinessId()) .set(FinReimbursement::getBillStatus, "REJECTED") ); } // 统一处理业务状态更新 handleBusinessAfterApprovalFinished(instance); return R.ok("审批已驳回"); } @@ -682,7 +670,7 @@ private void handleShippingApprovalFinished(ApprovalInstance instance, String status) { ShippingInfo shippingInfo = shippingInfoMapper.selectOne( new LambdaQueryWrapper<ShippingInfo>() .eq(ShippingInfo::getId, instance.getTitle()) .eq(ShippingInfo::getShippingNo, instance.getTitle()) .orderByDesc(ShippingInfo::getCreateTime) .last("limit 1") ); src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -185,4 +185,8 @@ @TableField(exist = false) @Schema(description = "待发货数量") private BigDecimal noQuantity; @TableField(exist = false) @Schema(description = "审批中数量") private BigDecimal pendingApprovalQuantity; } src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java
@@ -68,6 +68,7 @@ private String shippingCarNumber; @Schema(description = "创建时间") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @Schema(description = "修改时间") src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -185,7 +185,7 @@ approvalInstance.setBusinessId(req.getId()); approvalInstance.setBusinessType(7L); approvalInstance.setCurrentLevel(1); approvalInstance.setTitle(sh+"审批"); approvalInstance.setTitle(sh); approvalInstance.setApplicantId(loginUser.getUserId()); approvalInstance.setApplicantName(loginUser.getNickName()); approvalInstance.setApplyTime(LocalDateTime.now()); src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
@@ -34,8 +34,10 @@ ELSE 0 END as has_sufficient_stock, (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0)) as no_quantity, IFNULL(t5.pending_approval_quantity, 0) as pending_approval_quantity, CASE WHEN IFNULL(t3.shipped_quantity, 0) = 0 THEN '待发货' WHEN IFNULL(t3.shipped_quantity, 0) = 0 AND IFNULL(t5.pending_approval_quantity, 0) = 0 THEN '待发货' WHEN IFNULL(t3.shipped_quantity, 0) = 0 AND IFNULL(t5.pending_approval_quantity, 0) > 0 THEN '审批中' WHEN (IFNULL(T1.quantity, 0) - IFNULL(t3.shipped_quantity, 0)) > 0 THEN '部分发货' ELSE '已发货' END as shippingStatus, @@ -56,7 +58,7 @@ SELECT sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) as shipped_quantity FROM shipping_info si LEFT JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id where si.status != '审核拒绝' where si.status = '审核通过' OR si.status = '已发货' GROUP BY sales_ledger_product_id ) t3 ON t3.sales_ledger_product_id = T1.id LEFT JOIN ( @@ -92,6 +94,13 @@ ) rel GROUP BY rel.sales_ledger_product_id ) t4 ON t4.sales_ledger_product_id = T1.id LEFT JOIN ( SELECT sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) as pending_approval_quantity FROM shipping_info si LEFT JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id WHERE si.status IN ('待审核', '审核中') GROUP BY sales_ledger_product_id ) t5 ON t5.sales_ledger_product_id = T1.id left join product_model pm ON T1.product_model_id = pm.id left join product p ON pm.product_id = p.id <where>