business/src/main/java/com/ycl/controller/FlowLogController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
business/src/main/java/com/ycl/event/listener/ProcessLogEventListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
business/src/main/java/com/ycl/service/ProcessLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
flowable/src/main/java/com/ycl/domain/query/ProcessLogQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
flowable/src/main/java/com/ycl/mapper/ProcessLogMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
flowable/src/main/resources/mapper/ProcessLogMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
business/src/main/java/com/ycl/controller/FlowLogController.java
File was renamed from flowable/src/main/java/com/ycl/controller/FlowLogController.java @@ -35,4 +35,10 @@ return processLogService.page(query); } @GetMapping("/project-process/log") @ApiOperation(value = "流程推进日志", notes = "流程推进日志") // @PreAuthorize("@ss.hasPermi('flowLog:page')") public Result projectProcessLogPage(ProcessLogQuery query) { return processLogService.projectProcessLogPage(query); } } business/src/main/java/com/ycl/event/listener/ProcessLogEventListener.java
@@ -1,11 +1,9 @@ package com.ycl.event.listener; import com.alibaba.fastjson2.JSON; import com.ycl.common.enums.business.ProcessLogEventTypeEnum; import com.ycl.common.utils.SecurityUtils; import com.ycl.domain.entity.ProcessLog; import com.ycl.event.event.TaskLogEvent; import com.ycl.service.ProcessLogService; import lombok.RequiredArgsConstructor; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Component; business/src/main/java/com/ycl/service/ProcessLogService.java
File was renamed from flowable/src/main/java/com/ycl/service/ProcessLogService.java @@ -1,10 +1,11 @@ package com.ycl.service; import com.ycl.common.enums.business.ProcessLogEventTypeEnum; import com.ycl.domain.entity.ProcessLog; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.common.base.Result; import com.ycl.common.enums.business.ProcessLogEventTypeEnum; import com.ycl.domain.entity.ProcessLog; import com.ycl.domain.query.ProcessLogQuery; import java.util.List; /** @@ -67,4 +68,12 @@ * @return */ Boolean taskDelegation(String processInstanceId, String taskId); /** * 流程推进日志 * * @param query * @return */ Result projectProcessLogPage(ProcessLogQuery query); } business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
File was renamed from flowable/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java @@ -1,19 +1,25 @@ package com.ycl.service.impl; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.common.base.Result; import com.ycl.common.enums.business.ProcessLogEventTypeEnum; import com.ycl.domain.entity.ProcessLog; import com.ycl.domain.json.DelegateData; import com.ycl.domain.json.JumpData; import com.ycl.domain.json.RejectData; import com.ycl.domain.json.SuperviseData; import com.ycl.domain.query.ProcessLogQuery; import com.ycl.domain.vo.ProcessLogVO; import com.ycl.framework.utils.PageUtil; import com.ycl.mapper.ProcessLogMapper; import com.ycl.service.ProcessLogService; import com.ycl.common.base.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.domain.vo.ProcessLogVO; import com.ycl.domain.query.ProcessLogQuery; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import com.ycl.framework.utils.PageUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import java.util.List; @@ -118,4 +124,25 @@ .list(); return CollectionUtils.isNotEmpty(list); } @Override public Result projectProcessLogPage(ProcessLogQuery query) { List<ProcessLogVO> list = baseMapper.projectProcessLogPage(query); // json反序列化 list.stream().forEach(log -> { if (StringUtils.isNotBlank(log.getEventDataJson())) { if (ProcessLogEventTypeEnum.DELEGATE.equals(log.getEventType())) { log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), DelegateData.class)); } else if (ProcessLogEventTypeEnum.JUMP.equals(log.getEventType())) { log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), JumpData.class)); } else if (ProcessLogEventTypeEnum.REJECT.equals(log.getEventType())) { log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), RejectData.class)); } else if (ProcessLogEventTypeEnum.SUPERVISE.equals(log.getEventType())) { log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), SuperviseData.class)); } } }); return Result.ok().data(list); } } flowable/src/main/java/com/ycl/domain/query/ProcessLogQuery.java
@@ -18,5 +18,16 @@ @Data @ApiModel(value = "FlowLog查询参数", description = "流程日志查询参数") public class ProcessLogQuery extends AbsQuery { /** * 项目id */ private Long projectId; /** * 流程实例id */ private String processInsId; } flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
@@ -1,5 +1,6 @@ package com.ycl.domain.vo; import com.ycl.common.enums.business.ProcessLogEventTypeEnum; import com.ycl.system.domain.base.AbsVo; import com.ycl.domain.entity.ProcessLog; import org.springframework.lang.NonNull; @@ -24,7 +25,7 @@ /** 事件日志类型 */ @ApiModelProperty("事件日志类型") private String eventType; private ProcessLogEventTypeEnum eventType; /** 项目id */ @ApiModelProperty("项目id") @@ -38,10 +39,16 @@ @ApiModelProperty("产生日志的人/或其它") private Long userId; @ApiModelProperty("用户名") private String nickName; /** 事件数据,根据不同的事件可存储对应的扩展数据。如转办事件可存储转办前后的处理人信息 */ @ApiModelProperty("事件数据,根据不同的事件可存储对应的扩展数据。如转办事件可存储转办前后的处理人信息") private String eventDataJson; @ApiModelProperty("json转换后的对象") private Object eventDataObj; public static ProcessLogVO getVoByEntity(@NonNull ProcessLog entity, ProcessLogVO vo) { if(vo == null) { vo = new ProcessLogVO(); flowable/src/main/java/com/ycl/mapper/ProcessLogMapper.java
@@ -8,6 +8,8 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 流程日志 Mapper 接口 * @@ -29,4 +31,11 @@ */ IPage getPage(IPage page, @Param("query") ProcessLogQuery query); /** * 获取流程推进日志 * * @param query * @return */ List<ProcessLogVO> projectProcessLogPage(@Param("query") ProcessLogQuery query); } flowable/src/main/resources/mapper/ProcessLogMapper.xml
@@ -5,10 +5,12 @@ <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProcessLogVO"> <result column="task_id" property="taskId" /> <result column="event_type" property="eventType" /> <result column="event_type" property="eventType" typeHandler="com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler"/> <result column="project_id" property="projectId" /> <result column="flow_ins_id" property="flowInsId" /> <result column="user_id" property="userId" /> <result column="nick_name" property="nickName" /> <result column="gmt_create" property="gmtCreate" /> <result column="event_data_json" property="eventDataJson" /> </resultMap> @@ -42,6 +44,7 @@ TFL.flow_ins_id, TFL.user_id, TFL.event_data_json, TFL.gmt_create, TFL.id FROM t_process_log TFL @@ -49,4 +52,25 @@ TFL.deleted = 0 </select> <select id="projectProcessLogPage" resultMap="BaseResultMap"> SELECT TFL.task_id, TFL.event_type, TFL.project_id, TFL.flow_ins_id, TFL.user_id, SU.nick_name, TFL.event_data_json, TFL.gmt_create, TFL.id FROM t_process_log TFL LEFT JOIN sys_user SU ON SU.user_id = TFL.user_id WHERE TFL.deleted = 0 AND TFL.project_id = #{query.projectId} AND TFL.process_ins_id = #{query.processInsId} ORDER BY TFL.gmt_create DESC </select> </mapper>