From f07a0b2091144e2b1d10a8850ac15e884639a408 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 12 六月 2025 11:44:43 +0800
Subject: [PATCH] art: 设备管理-设备履历修改
---
lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml | 113 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 68 insertions(+), 45 deletions(-)
diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml
index 27b7a5e..2eca38b 100644
--- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml
+++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml
@@ -3,17 +3,28 @@
<mapper namespace="org.jeecg.modules.flowable.apithird.business.mapper.FlowMyBusinessMapper">
<select id="PageList" resultType="org.jeecg.modules.flowable.apithird.business.dto.FlowMyBusinessDto">
SELECT
- flow_my_business.*,
- ACT_HI_PROCINST.START_TIME_ as start_time,
- ACT_HI_PROCINST.END_TIME_ as end_time,
- ACT_RE_PROCDEF.NAME_ as flowName,
- ACT_RE_PROCDEF.CATEGORY_ as category
+ flow_my_business.id,
+ flow_my_business.title as 'description',
+ flow_my_business.proposer,
+ flow_my_business.task_name,
+ flow_my_business.task_id,
+ flow_my_business.data_id AS 'dataId',
+ flow_my_business.process_definition_key,
+ flow_my_business.process_definition_id,
+ flow_my_business.process_instance_id,
+ flow_my_business.todo_users as todoUsers,
+ flow_my_business.done_Users,
+ ACT_HI_PROCINST.START_TIME_ AS start_time,
+ ACT_HI_PROCINST.END_TIME_ AS end_time,
+ ACT_RE_PROCDEF.NAME_ AS flowName,
+ ACT_RE_PROCDEF.CATEGORY_ AS category
FROM
- flow_my_business
- LEFT JOIN ACT_HI_PROCINST ON flow_my_business.process_instance_id = ACT_HI_PROCINST.ID_
- LEFT JOIN ACT_RE_PROCDEF ON flow_my_business.process_definition_id = ACT_RE_PROCDEF.ID_
- where
- 1 = 1
+ flow_my_business
+ LEFT JOIN ACT_HI_PROCINST ON flow_my_business.process_instance_id = ACT_HI_PROCINST.ID_
+ LEFT JOIN ACT_RE_PROCDEF ON flow_my_business.process_definition_id = ACT_RE_PROCDEF.ID_
+ left join ACT_RU_TASK on flow_my_business.task_id = ACT_RU_TASK.ID_
+ WHERE
+ 1 = 1
<if test="flowMyBusinessDto.category != null and flowMyBusinessDto.category != ''">
and ACT_RE_PROCDEF.CATEGORY_ = #{flowMyBusinessDto.category}
</if>
@@ -32,48 +43,60 @@
ORDER BY
flow_my_business.create_time desc
</select>
- <select id="PageListMyBusiness" resultType="org.jeecg.modules.flowable.domain.dto.FlowTaskDto">
+
+ <select id="ListMyBusiness" resultType="org.jeecg.modules.flowable.domain.dto.FlowTaskDto">
SELECT
- task.ID_ as 'hisProcInsId',
- TASK.PROC_INST_ID_ AS 'taskId',
- ACT_RE_PROCDEF.CATEGORY_ AS 'category',
- ACT_RE_PROCDEF.NAME_ 'procDefName',
- flow_my_business.title AS 'Description',
- flow_my_business.data_id AS 'dataId',
- flow_my_business.process_definition_key AS 'processDefinitionKey',
- flow_my_business.process_definition_id AS 'processDefinitionId',
- flow_my_business.process_instance_id AS 'processInstanceId',
- TASK.EXECUTION_ID_ AS 'executionId',
- task.NAME_ AS 'taskName',
- task.DURATION_ 'duration',
- task.START_TIME_ AS 'createTime',
- task.END_TIME_ AS 'finishTime',
- task.TASK_DEF_KEY_ AS 'TaskDefKey'
+ fmb.task_id AS 'taskId',
+ fmb.process_instance_id AS 'procInsId',
+ ACT_RE_PROCDEF.CATEGORY_ AS 'category',
+ ACT_RE_PROCDEF.NAME_ AS 'procDefName',
+ fmb.title AS 'Description',
+ fmb.data_id AS 'dataId',
+ fmb.process_definition_key AS 'processDefinitionKey',
+ fmb.process_definition_id AS 'processDefinitionId',
+ fmb.proposer,
+ fmb.todo_users,
+ fmb.task_name,
+ latest_task.NAME_ AS taskName,
+ fmb.create_time AS createTime,
+ latest_task.END_TIME_ AS finishTime
FROM
- ACT_HI_TASKINST TASK
- LEFT JOIN flow_my_business ON flow_my_business.process_instance_id = TASK.PROC_INST_ID_
- LEFT JOIN ACT_RE_PROCDEF ON flow_my_business.process_definition_id = ACT_RE_PROCDEF.ID_
+ flow_my_business fmb
+ LEFT JOIN ACT_RE_PROCDEF ON fmb.process_definition_id = ACT_RE_PROCDEF.ID_
+ LEFT JOIN ACT_HI_PROCINST ON fmb.process_instance_id = ACT_HI_PROCINST.ID_
+ LEFT JOIN (
+ SELECT
+ *,
+ ROW_NUMBER() OVER (
+ PARTITION BY PROC_INST_ID_
+ ORDER BY END_TIME_ DESC
+ ) AS rn
+ FROM ACT_HI_TASKINST
+ WHERE ASSIGNEE_ = #{dto.currentUser} <!-- 缁熶竴鍒悕 -->
+ <if test="dto.startTime != null">
+ AND START_TIME_ >= #{dto.startTime}
+ </if>
+ <if test="dto.endTime != null">
+ AND END_TIME_ <= #{dto.endTime}
+ </if>
+ ) latest_task
+ ON fmb.process_instance_id = latest_task.PROC_INST_ID_
+ AND latest_task.rn = 1
WHERE
- TASK.END_TIME_ IS NOT NULL
- <if test="flowMyBusinessDto.currentUser != null and flowMyBusinessDto.currentUser != ''">
- AND TASK.ASSIGNEE_ = #{flowMyBusinessDto.currentUser}
+ <!-- 鍔ㄦ�佹潯浠剁粺涓�浣跨敤 dto -->
+ <if test="dto.currentUser != null and dto.currentUser != ''">
+ fmb.done_users like concat('%',#{dto.currentUser},'%')
</if>
- <if test="flowMyBusinessDto.category != null and flowMyBusinessDto.category != ''">
- and ACT_RE_PROCDEF.CATEGORY_ = #{flowMyBusinessDto.category}
+ <if test="dto.category != null and dto.category != ''">
+ AND ACT_RE_PROCDEF.CATEGORY_ = #{dto.category}
</if>
- <if test="flowMyBusinessDto.flowName!= null and flowMyBusinessDto.flowName!= ''">
- AND ACT_RE_PROCDEF.name_ LIKE CONCAT('%',#{flowMyBusinessDto.flowName},'%')
+ <if test="dto.flowName != null and dto.flowName != ''">
+ AND ACT_RE_PROCDEF.NAME_ LIKE CONCAT('%', #{dto.flowName}, '%')
</if>
- <if test="flowMyBusinessDto.title != null and flowMyBusinessDto.title != ''">
- AND flow_my_business.title LIKE CONCAT('%',#{flowMyBusinessDto.title},'%')
- </if>
- <if test="flowMyBusinessDto.startTime!= null and flowMyBusinessDto.startTime!= ''">
- AND TASK.START_TIME_ >= #{flowMyBusinessDto.startTime}
- </if>
- <if test="flowMyBusinessDto.endTime!= null and flowMyBusinessDto.endTime!= ''">
- AND TASK.END_TIME_ <= #{flowMyBusinessDto.endTime}
+ <if test="dto.title != null and dto.title != ''">
+ AND fmb.title LIKE CONCAT('%', #{dto.title}, '%')
</if>
ORDER BY
- TASK.END_TIME_ DESC
+ latest_task.END_TIME_ DESC
</select>
</mapper>
--
Gitblit v1.9.3