From 93fec20f3cf9d7801eeaa10acef4687ed110d435 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 20 一月 2025 17:59:09 +0800
Subject: [PATCH] 添加接口备注

---
 land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java |   89 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 78 insertions(+), 11 deletions(-)

diff --git a/land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java b/land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java
index 13491c2..52770db 100644
--- a/land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java
+++ b/land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java
@@ -5,14 +5,23 @@
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.aizuda.bpm.engine.FlowLongEngine;
 import com.aizuda.bpm.engine.core.FlowCreator;
 import com.aizuda.bpm.engine.core.enums.TaskType;
-import com.aizuda.bpm.engine.entity.*;
+import com.aizuda.bpm.engine.entity.FlowEntity;
+import com.aizuda.bpm.engine.entity.FlwHisInstance;
+import com.aizuda.bpm.engine.entity.FlwHisTask;
+import com.aizuda.bpm.engine.entity.FlwHisTaskActor;
+import com.aizuda.bpm.engine.entity.FlwProcess;
+import com.aizuda.bpm.engine.entity.FlwTask;
+import com.aizuda.bpm.engine.entity.FlwTaskActor;
 import com.aizuda.bpm.engine.model.NodeModel;
-import com.aizuda.bpm.mybatisplus.mapper.*;
+import com.aizuda.bpm.mybatisplus.mapper.FlwHisInstanceMapper;
+import com.aizuda.bpm.mybatisplus.mapper.FlwHisTaskActorMapper;
+import com.aizuda.bpm.mybatisplus.mapper.FlwHisTaskMapper;
+import com.aizuda.bpm.mybatisplus.mapper.FlwTaskActorMapper;
+import com.aizuda.bpm.mybatisplus.mapper.FlwTaskMapper;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONWriter;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -23,7 +32,11 @@
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.zzg.common.core.domain.BaseEntity;
-import com.zzg.common.core.domain.entity.state.*;
+import com.zzg.common.core.domain.entity.state.StateProcessExtInstance;
+import com.zzg.common.core.domain.entity.state.StateProcessInstanceAction;
+import com.zzg.common.core.domain.entity.state.StateProcessModule;
+import com.zzg.common.core.domain.entity.state.StateProcessTemplate;
+import com.zzg.common.core.domain.entity.state.StateTaskCenter;
 import com.zzg.common.core.domain.entity.system.SysUser;
 import com.zzg.common.core.domain.model.LoginUser;
 import com.zzg.common.enums.StateProcessActionType;
@@ -31,23 +44,37 @@
 import com.zzg.common.exception.state.StateErrorCode;
 import com.zzg.common.utils.SecurityUtils;
 import com.zzg.common.utils.uuid.IdUtils;
-import com.zzg.system.domain.bo.*;
-import com.zzg.system.domain.vo.City;
+import com.zzg.system.domain.bo.DeployBO;
+import com.zzg.system.domain.bo.ProcessAgreeBO;
+import com.zzg.system.domain.bo.ProcessCreateBO;
+import com.zzg.system.domain.bo.ProcessRefuseBO;
+import com.zzg.system.domain.bo.ProcessStartBO;
+import com.zzg.system.domain.bo.ProcessTaskListBO;
+import com.zzg.system.domain.bo.ProcessTemplatePageBO;
+import com.zzg.system.domain.bo.ProcessUpdateBO;
 import com.zzg.system.domain.vo.ProcessTaskListVO;
 import com.zzg.system.mapper.state.StateProcessTemplateMapper;
-import com.zzg.system.service.state.*;
+import com.zzg.system.service.state.StateProcessExtInstanceService;
+import com.zzg.system.service.state.StateProcessInstanceActionService;
+import com.zzg.system.service.state.StateProcessModuleService;
+import com.zzg.system.service.state.StateProcessTemplateService;
+import com.zzg.system.service.state.StateTaskCenterService;
 import com.zzg.system.service.system.ISysRoleService;
 import com.zzg.system.service.system.ISysUserService;
 import lombok.AllArgsConstructor;
 import org.apache.commons.io.IOUtils;
-import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -68,13 +95,20 @@
     private final FlwHisTaskActorMapper flwHisTaskActorMapper;
     private final ISysUserService sysUserService;
 
+    /**
+     * 流程模版分页
+     * @param request
+     * @return
+     */
     @Override
     public Page<StateProcessTemplate> page(ProcessTemplatePageBO request) {
+        //查询流程模板列表
         Page<StateProcessTemplate> templatePage = this.baseMapper.page(new Page<>(request.getCurrentPage(), request.getPageSize()), request);
 
-
+        //更新人id列表
         List<String> updateUserNameList = templatePage.getRecords().stream().map(BaseEntity::getUpdateBy).collect(Collectors.toList());
         if (!CollectionUtils.isEmpty(updateUserNameList)) {
+            //根据用户id列表查询用户信息
             List<SysUser> sysUsers = sysUserService.selectUserByUserNameList(updateUserNameList);
             Map<String, SysUser> sysUserMap;
             if (!CollectionUtils.isEmpty(sysUsers)) {
@@ -82,6 +116,7 @@
             } else {
                 sysUserMap = new HashMap<>();
             }
+            //遍历列表,设置更新人名称
             templatePage.getRecords().forEach(e -> {
                 SysUser sysUser = sysUserMap.get(e.getUpdateBy());
                 if (Objects.nonNull(sysUser)) {
@@ -92,10 +127,17 @@
         return templatePage;
     }
 
+    /**
+     * 修改并部署模版
+     * @param processUpdateBO
+     * @return
+     */
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean update(ProcessUpdateBO processUpdateBO) {
+        //查询流程模板
         StateProcessTemplate temp = this.getById(processUpdateBO.getId());
+        //根据template_key查询最新版本的模板
         StateProcessTemplate template = this.getOne(Wrappers.<StateProcessTemplate>lambdaQuery()
                 .eq(StateProcessTemplate::getTemplateKey, temp.getTemplateKey())
                 .apply("(template_key, template_version) in("
@@ -149,6 +191,11 @@
         return stateProcessModuleService.updateBatchById(stateProcessModules);
     }
 
+    /**
+     * 创建并部署模版
+     * @param processCreateBO
+     * @return
+     */
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean create(ProcessCreateBO processCreateBO) {
@@ -186,6 +233,11 @@
         return this.save(processTemplate);
     }
 
+    /**
+     * 启动流程
+     * @param processStartBO
+     * @return
+     */
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean start(ProcessStartBO processStartBO) {
@@ -255,6 +307,11 @@
         return true;
     }
 
+    /**
+     * 待办
+     * @param processTaskListBO
+     * @return
+     */
     @Override
     public PageInfo<ProcessTaskListVO> waitTaskPage(ProcessTaskListBO processTaskListBO) {
         List<ProcessTaskListVO> page = new ArrayList<>();
@@ -262,7 +319,7 @@
         //获取当前登录用户信息
         String userId = SecurityUtils.getLoginUser().getUserId();
 
-        //或签时查询其他审批人是否通过(不能省略)
+        //或签时查询其他审批人是否通过(不能省略),比如 同一任务需要A,B审核,A通过了,B不用在审核了,在历史表查询A的审核记录
         LambdaQueryWrapper<FlwHisInstance> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.orderByDesc(FlowEntity::getCreateTime);
         //待审核
@@ -277,8 +334,10 @@
         //查询任务参与者
         LambdaQueryWrapper<FlwTaskActor> query = new LambdaQueryWrapper<>();
         query.and(qy -> qy.eq(FlwTaskActor::getActorId, userId)
+                //0指定用户
                 .eq(FlwTaskActor::getActorType, 0)
                 .or().in(FlwTaskActor::getActorId, userId)
+                //1指定角色
                 .eq(FlwTaskActor::getActorType, 1));
         if (ObjectUtil.isNotNull(processTaskListBO) && ObjectUtil.isNotNull(flwHisInstances)) {
             // 添加条件
@@ -312,6 +371,7 @@
             stateTaskQuery.like(StateTaskCenter::getCreateBy, processTaskListBO.getCreateBy());
         }
         stateTaskQuery.in(StateTaskCenter::getFlowId, instanceIds);
+        //1集体 2国有
         stateTaskQuery.eq(StateTaskCenter::getType,2);
         stateTaskQuery.orderByDesc(BaseEntity::getCreateTime);
         List<StateTaskCenter> taskCenters = stateTaskCenterService.list(stateTaskQuery);
@@ -324,6 +384,7 @@
         List<String> updateUserId = processTaskListVOS.stream().map(ProcessTaskListVO::getCreateBy).collect(Collectors.toList());
         Map<String, SysUser> sysUserMap;
         if (!CollectionUtils.isEmpty(updateUserId)) {
+            //根据用户id查询更新人信息
             List<SysUser> sysUsers = sysUserService.selectUserByIdList(updateUserId);
 
             if (!CollectionUtils.isEmpty(sysUsers)) {
@@ -341,6 +402,7 @@
         for (ProcessTaskListVO processTaskListVO : processTaskListVOS) {
             List<FlwTask> flwTask = flwHisTaskMap.get(NumberUtil.parseLong(processTaskListVO.getFlowId()));
             if (!CollectionUtils.isEmpty(flwTask) && ObjectUtil.isNotEmpty(flwTask.get(0))) {
+                //待审核
                 processTaskListVO.setStatus("0");
                 processTaskListVO.setNodeName(flwTask.get(0).getTaskName());
                 processTaskListVO.setTaskId(flwTask.get(0).getId().toString());
@@ -368,7 +430,9 @@
 
         LambdaQueryWrapper<FlwHisTaskActor> query = Wrappers.<FlwHisTaskActor>lambdaQuery()
                 .and(qy -> qy.eq(FlwTaskActor::getActorId, userId)
+                        //0指定用户
                         .eq(FlwTaskActor::getActorType, 0)
+                        //指定角色
                         .or().in(FlwTaskActor::getActorId, userId)
                         .eq(FlwTaskActor::getActorType, 1));
 
@@ -410,6 +474,7 @@
         if (ObjectUtil.isEmpty(instanceId)) {
             return new PageInfo<>();
         }
+        //1集体 2国有
         stateTaskQuery.eq(StateTaskCenter::getType,2);
         stateTaskQuery.in(StateTaskCenter::getFlowId, instanceId);
         stateTaskQuery.orderByDesc(BaseEntity::getCreateTime);
@@ -491,6 +556,7 @@
         }
         List<FlwHisTask> flwHisTaskList = flwHisTaskMapper.selectList(
                 Wrappers.<FlwHisTask>lambdaQuery()
+                        //2=抄送
                         .eq(FlwHisTask::getTaskType, 2)
                         .in(FlwHisTask::getId, hisTaskIds));
 
@@ -514,6 +580,7 @@
         if (ObjectUtil.isEmpty(instanceId)) {
             return new PageInfo<>();
         }
+        //1集体 2国有
         stateTaskQuery.eq(StateTaskCenter::getType,2);
         stateTaskQuery.in(StateTaskCenter::getFlowId, instanceId);
         stateTaskQuery.orderByDesc(BaseEntity::getCreateTime);

--
Gitblit v1.7.1