From 49afbb309657585aa82095bf3b7dfc14b1265ac6 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 21 三月 2025 16:04:24 +0800
Subject: [PATCH] 首页消息

---
 business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 73 insertions(+), 27 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index 47438f0..5579d72 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -18,6 +18,7 @@
 import com.ycl.domain.entity.*;
 import com.ycl.domain.form.*;
 import com.ycl.domain.json.*;
+import com.ycl.domain.query.ProcessLogQuery;
 import com.ycl.domain.vo.*;
 import com.ycl.event.event.TaskLogEvent;
 import com.ycl.mapper.ProjectEngineeringMapper;
@@ -28,6 +29,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.domain.query.ProjectProcessQuery;
 import com.ycl.service.common.TaskCommonService;
+import com.ycl.system.domain.base.AbsQuery;
 import com.ycl.system.service.ISysDeptService;
 import com.ycl.system.service.ISysDictTypeService;
 import com.ycl.system.service.ISysRoleService;
@@ -923,6 +925,37 @@
         return Result.ok("鎿嶄綔鎴愬姛");
     }
 
+    @Override
+    public Result getProcessMsg(AbsQuery q) {
+        // 鏌ヨ嚜宸辩殑鏃ュ織
+        ProcessLogQuery query = new ProcessLogQuery();
+        if (! SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
+            query.setUserId(SecurityUtils.getUserId());
+        }
+        query.setEventTypeList(Arrays.asList(ProcessLogEventTypeEnum.DELEGATE.getValue(),
+                ProcessLogEventTypeEnum.REJECT.getValue(),
+                ProcessLogEventTypeEnum.JUMP.getValue(),
+                ProcessLogEventTypeEnum.FINISHED.getValue(),
+                ProcessLogEventTypeEnum.WAIT.getValue()));
+        query.setCurrentPage(q.getCurrentPage());
+        query.setPageSize(q.getPageSize());
+        Result result = processLogService.projectProcessLogPage(query);
+        List<ProcessLogVO> logs = (List<ProcessLogVO>) result.get("data");
+
+        logs.stream().forEach(log -> {
+            if (ProcessLogEventTypeEnum.FINISHED.equals(log.getEventType())) {
+                log.setContent("鎮ㄥ畬鎴愪簡浠诲姟锛�" + log.getTaskName());
+            } else if (ProcessLogEventTypeEnum.REJECT.equals(log.getEventType())) {
+                log.setContent("鎮ㄩ┏鍥炰簡浠诲姟锛�" + log.getTaskName());
+            } else if (ProcessLogEventTypeEnum.WAIT.equals(log.getEventType())) {
+                log.setContent("鎮ㄥ缂轰簡浠诲姟锛�" + log.getTaskName());
+            } else if (ProcessLogEventTypeEnum.JUMP.equals(log.getEventType())) {
+                log.setContent("鎮ㄨ烦杩囦簡浠诲姟锛�" + log.getTaskName());
+            }
+        });
+        return Result.ok().data(logs).total((Long) result.get("total"));
+    }
+
     /**
      * 鏌ヨ寰呭姙浠诲姟
      *
@@ -1169,11 +1202,13 @@
                 vo.setExecutionId(hisTaskList.get(0).getExecutionId());
                 vo.setCreateTime(hisTaskList.get(0).getStartTime());
                 // 鏌ヨ瀹為檯澶勭悊浜�
-                long handlerUserId = Long.parseLong(hisTaskList.get(0).getAssignee());
-                SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
-                if (Objects.nonNull(handlerUser)) {
-                    vo.setActualHandlerUserId(hisTaskList.get(0).getAssignee());
-                    vo.setActualHandlerUserName(handlerUser.getNickName());
+                if (StringUtils.isNotBlank(hisTaskList.get(0).getAssignee())) {
+                    long handlerUserId = Long.parseLong(hisTaskList.get(0).getAssignee());
+                    SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
+                    if (Objects.nonNull(handlerUser)) {
+                        vo.setActualHandlerUserId(hisTaskList.get(0).getAssignee());
+                        vo.setActualHandlerUserName(handlerUser.getNickName());
+                    }
                 }
                 vo.setTaskDefinitionKey(hisTaskList.get(0).getTaskDefinitionKey());
                 this.setHandler(vo, hisTaskList.get(0).getIdentityLinks());
@@ -1270,13 +1305,7 @@
                             taskVO.getHandlerUnitId().add(dept.getDeptId());
                             taskVO.getHandlerUnitName().add(dept.getDeptName());
                             taskVO.getPromoterName().add(this.getDeptLeaderShowName(dept));
-                            String[] str = dept.getAncestors().split(",");
-                            if (str.length >= 4){
-                                taskVO.getPromoterUnitName().add(dept.getParentName() +"-"+dept.getDeptName());
-                            }else {
-                                taskVO.getPromoterUnitName().add(dept.getDeptName());
-                            }
-
+                            taskVO.getPromoterUnitName().add(this.setDeptNameWithParentName(dept));
                         }
                     }
                 } else {
@@ -1448,14 +1477,16 @@
                 vo.setCreateTime(hisTask.getStartTime());
 
                 // 鏌ヨ瀹為檯澶勭悊浜�
-                long handlerUserId = Long.parseLong(hisTask.getAssignee());
-                SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
-                if (Objects.nonNull(handlerUser)) {
-                    vo.getHandlerId().add(handlerUserId);
-                    vo.getHandlerName().add(this.getUserShowName(handlerUser));
-                    if (Objects.nonNull(handlerUser.getDept())) {
-                        vo.getHandlerUnitId().add(handlerUser.getDept().getDeptId());
-                        vo.getHandlerUnitName().add(handlerUser.getDept().getDeptName());
+                if (StringUtils.isNotBlank(hisTask.getAssignee())) {
+                    long handlerUserId = Long.parseLong(hisTask.getAssignee());
+                    SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
+                    if (Objects.nonNull(handlerUser)) {
+                        vo.getHandlerId().add(handlerUserId);
+                        vo.getHandlerName().add(this.getUserShowName(handlerUser));
+                        if (Objects.nonNull(handlerUser.getDept())) {
+                            vo.getHandlerUnitId().add(handlerUser.getDept().getDeptId());
+                            vo.getHandlerUnitName().add(handlerUser.getDept().getDeptName());
+                        }
                     }
                 }
                 vo.setTaskDefinitionKey(hisTask.getTaskDefinitionKey());
@@ -1840,12 +1871,14 @@
                 vo.setCreateTime(hisTask.getStartTime());
 
                 // 鏌ヨ瀹為檯澶勭悊浜�
-                long handlerUserId = Long.parseLong(hisTask.getAssignee());
-                SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
-                if (Objects.nonNull(handlerUser)) {
-                    vo.getHandlerId().add(handlerUserId);
-                    if (Objects.nonNull(handlerUser.getDept())) {
-                        vo.getHandlerUnitId().add(handlerUser.getDept().getDeptId());
+                if (StringUtils.isNotBlank(hisTask.getAssignee())) {
+                    long handlerUserId = Long.parseLong(hisTask.getAssignee());
+                    SysUser handlerUser = sysUserService.selectUserById(handlerUserId);
+                    if (Objects.nonNull(handlerUser)) {
+                        vo.getHandlerId().add(handlerUserId);
+                        if (Objects.nonNull(handlerUser.getDept())) {
+                            vo.getHandlerUnitId().add(handlerUser.getDept().getDeptId());
+                        }
                     }
                 }
                 this.setHandler(vo, hisTask.getIdentityLinks());
@@ -2092,7 +2125,7 @@
                         // 閮ㄩ棬
                         SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1]));
                         if (Objects.nonNull(dept)) {
-                            vo.getPromoterUnitName().add(dept.getDeptName());
+                            vo.getPromoterUnitName().add(this.setDeptNameWithParentName(dept));
                             vo.getPromoterName().add(this.getDeptLeaderShowName(dept));
                         }
                     }
@@ -2108,6 +2141,19 @@
     }
 
     /**
+     * 璁剧疆閮ㄩ棬鍚嶇О鏃跺甫涓婁笂绾ч儴闂ㄥ悕绉�
+     * @param dept
+     */
+    private String setDeptNameWithParentName(SysDept dept) {
+        String[] str = dept.getAncestors().split(",");
+        if (str.length >= 4){
+            return dept.getParentName() + "  /  " + dept.getDeptName();
+        }else {
+            return dept.getDeptName();
+        }
+    }
+
+    /**
      * 璁剧疆浠诲姟鐨勫彂璧蜂汉&澶勭悊浜�   鍙湁寰呭姙浠诲姟鍜屽凡瀹屾垚浠诲姟鎵嶄細鎺夎繖涓柟娉�
      *
      * @param taskVO

--
Gitblit v1.8.0