From f1b88b349a9a100bf2d3cf39eadea6057dd843c3 Mon Sep 17 00:00:00 2001
From: furongxin <419481438@qq.com>
Date: Thu, 10 Apr 2025 01:20:06 +0800
Subject: [PATCH] =?UTF-8?q?fix(bpm):=20=E4=BF=AE=E5=A4=8D=E6=8A=A5?=
=?UTF-8?q?=E9=94=80=E5=92=8C=E5=80=9F=E6=AC=BE=E7=9B=B8=E5=85=B3=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 修改报销查询条件,使用月份格式比较时间- 更新报销和借款关联方式,使用 LEFT JOIN
- 在报销流程中添加工厂 ID 变量- 优化借款查询 SQL,移除不必要的条件
---
.../bpm/service/oa/BpmOAExpensesServiceImpl.java | 1 +
.../main/resources/mapper/oa/BpmOAExpensesMapper.xml | 12 ++++++------
.../src/main/resources/mapper/oa/BpmOALoanMapper.xml | 2 --
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAExpensesServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAExpensesServiceImpl.java
index 14b86f30..8d818e93 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAExpensesServiceImpl.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAExpensesServiceImpl.java
@@ -112,6 +112,7 @@ public class BpmOAExpensesServiceImpl extends BpmOABaseService implements BpmOAE
String type = bpmOAExpensesItemDOS.stream().map(item -> item.getType().toString()).collect(Collectors.joining(","));
processInstanceVariables.put("type", type);
processInstanceVariables.put("factoryType", expenses.getFactoryType());
+ processInstanceVariables.put("factory_id", bpmOAExpensesItemDOS.get(0).getDeptId());
String processInstanceId = processInstanceService.createProcessInstance(userId,
new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
.setVariables(processInstanceVariables).setBusinessKey(String.valueOf(expenses.getId())));
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOAExpensesMapper.xml b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOAExpensesMapper.xml
index 77a1a869..fe28024a 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOAExpensesMapper.xml
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOAExpensesMapper.xml
@@ -52,10 +52,10 @@
- and c.end_time >= #{pageReqVO.endTime[0]}
+ and DATE_FORMAT(c.end_time, '%Y-%m') >= #{pageReqVO.endTime[0]}
- and c.end_time <= #{pageReqVO.endTime[1]}
+ and DATE_FORMAT(c.end_time, '%Y-%m') <= #{pageReqVO.endTime[1]}
ORDER BY c.end_time DESC, a.expenses_id
@@ -68,8 +68,8 @@
SUM(a.total_money) - SUM(a.amount_paid) AS remainingPayable
FROM
bpm_oa_expenses a
- JOIN bpm_oa_expenses_item b ON b.expenses_id = b.id
- JOIN bpm_process_instance_ext c ON c.process_instance_id = a.process_instance_id
+ LEFT JOIN bpm_oa_expenses_item b ON b.expenses_id = a.id
+ LEFT JOIN bpm_process_instance_ext c ON c.process_instance_id = a.process_instance_id
WHERE
a.deleted = 0
AND b.deleted = 0
@@ -88,10 +88,10 @@
- and c.end_time >= #{pageReqVO.endTime[0]}
+ and DATE_FORMAT(c.end_time, '%Y-%m') >= #{pageReqVO.endTime[0]}
- and c.end_time <= #{pageReqVO.endTime[1]}
+ and DATE_FORMAT(c.end_time, '%Y-%m') <= #{pageReqVO.endTime[1]}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOALoanMapper.xml b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOALoanMapper.xml
index 2e6b4d27..71978e72 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOALoanMapper.xml
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/resources/mapper/oa/BpmOALoanMapper.xml
@@ -59,7 +59,6 @@
1 AS type
FROM
bpm_oa_expenses e
- JOIN bpm_oa_loan l ON e.user_id = l.user_id AND l.sf_user_id = #{pageReqVO.staffId}
LEFT JOIN system_users u ON e.user_id = u.id
LEFT JOIN system_dept d ON u.dept_id = d.id
LEFT JOIN bpm_process_instance_ext p ON e.process_instance_id = p.process_instance_id
@@ -67,7 +66,6 @@
e.deleted = 0
AND e.result = 2
AND e.status = 2
- AND l.deleted = 0
AND u.deleted = 0
AND d.deleted = 0
AND p.deleted = 0