From 1fc203f758ace853f4bfa900c422c2f741d09e79 Mon Sep 17 00:00:00 2001 From: yanghb <yangbhwork@163.com> Date: 星期二, 18 二月 2025 09:05:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++----- 1 files changed, 68 insertions(+), 10 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 3538814..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<>(); @@ -327,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)) { -- Gitblit v1.7.1