From 3ba19aa3ed3651a6c962457e833d1ee4e2ef485a Mon Sep 17 00:00:00 2001 From: yinq Date: Mon, 10 Nov 2025 18:13:18 +0800 Subject: [PATCH] =?UTF-8?q?1.0.33=20=E9=A1=B9=E7=9B=AE=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8A=A0=E6=B5=81=E7=A8=8B=E7=9B=91=E5=90=AC=E3=80=81=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3=E5=8A=A0=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E8=B4=9F=E8=B4=A3=E4=BA=BA=E3=80=81=E5=88=86=E7=AE=A1?= =?UTF-8?q?=E5=89=AF=E6=80=BBID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/erp/mapper/ErpContractInfoMapper.java | 4 +-- .../oa/erp/mapper/ErpProjectInfoMapper.java | 10 ++++++ .../impl/ErpProjectInfoServiceImpl.java | 36 +++++++++++++++++++ .../dromara/system/domain/vo/SysUserVo.java | 9 +++++ .../service/impl/SysUserServiceImpl.java | 10 +++--- 5 files changed, 63 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractInfoMapper.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractInfoMapper.java index 1122d73f..7b533564 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractInfoMapper.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractInfoMapper.java @@ -27,7 +27,7 @@ public interface ErpContractInfoMapper extends BaseMapperPlus selectCustomErpContractInfoVoList(@Param("page") Page page, @Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); @@ -39,7 +39,7 @@ public interface ErpContractInfoMapper extends BaseMapperPlus selectCustomErpContractInfoVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpProjectInfoMapper.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpProjectInfoMapper.java index a3a7d377..53b00961 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpProjectInfoMapper.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpProjectInfoMapper.java @@ -5,6 +5,8 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import org.dromara.common.mybatis.annotation.DataColumn; +import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.oa.erp.domain.ErpProjectInfo; import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -24,6 +26,10 @@ public interface ErpProjectInfoMapper extends BaseMapperPlus selectCustomErpProjectInfoVoList(@Param("page") Page page, @Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); /** @@ -32,6 +38,10 @@ public interface ErpProjectInfoMapper extends BaseMapperPlus selectCustomErpProjectInfoVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java index d116b31f..6c5e9299 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpProjectInfoServiceImpl.java @@ -1,5 +1,10 @@ package org.dromara.oa.erp.service.impl; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.map.MapUtil; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.enums.BusinessStatusEnum; +import org.dromara.common.core.enums.OAStatusEnum; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -8,6 +13,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import lombok.RequiredArgsConstructor; +import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.workflow.api.event.ProcessEvent; +import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.dromara.oa.erp.domain.bo.ErpProjectInfoBo; import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo; @@ -23,6 +31,7 @@ import org.dromara.workflow.api.domain.RemoteStartProcess; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Objects; /** * 项目信息Service业务层处理 @@ -32,6 +41,7 @@ import java.util.Collection; */ @RequiredArgsConstructor @Service +@Slf4j public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { private final ErpProjectInfoMapper baseMapper; @@ -185,4 +195,30 @@ public class ErpProjectInfoServiceImpl implements IErpProjectInfoService { } return MapstructUtils.convert(add, ErpProjectInfoVo.class); } + + /** + * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成等) + * + * @param processEvent 参数 + */ + @EventListener(condition = "#processEvent.flowCode =='xmsq'") + public void processHandler(ProcessEvent processEvent) { + TenantHelper.dynamic(processEvent.getTenantId(), () -> { + log.info("当前任务执行了{}", processEvent.toString()); + ErpProjectInfo projectInfo = baseMapper.selectById(Convert.toLong(processEvent.getBusinessId())); + projectInfo.setFlowStatus(processEvent.getStatus()); + Map params = processEvent.getParams(); + if (MapUtil.isNotEmpty(params)) { + // 办理人 + String handler = Convert.toStr(params.get("handler")); + } + if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.FINISH.getStatus())) { + projectInfo.setProjectStatus(OAStatusEnum.COMPLETED.getStatus()); + } else if (Objects.equals(processEvent.getStatus(), BusinessStatusEnum.INVALID.getStatus())) { + projectInfo.setProjectStatus(OAStatusEnum.INVALID.getStatus()); + } + baseMapper.updateById(projectInfo); + }); + } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java index 86249d20..16ad952e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java @@ -139,4 +139,13 @@ public class SysUserVo implements Serializable { */ private Long roleId; + /** + * 部门负责人 + */ + private Long chargeId; + + /** + * 分管副总 + */ + private Long deputyId; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index acc867a6..e0b309cb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -24,10 +24,7 @@ import org.dromara.system.domain.SysUserPost; import org.dromara.system.domain.SysUserRole; import org.dromara.system.domain.SysRole; import org.dromara.system.domain.bo.SysUserBo; -import org.dromara.system.domain.vo.SysPostVo; -import org.dromara.system.domain.vo.SysRoleVo; -import org.dromara.system.domain.vo.SysUserExportVo; -import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.domain.vo.*; import org.dromara.system.mapper.*; import org.dromara.system.service.ISysUserService; import org.springframework.cache.annotation.CacheEvict; @@ -208,6 +205,11 @@ public class SysUserServiceImpl implements ISysUserService { if (ObjectUtil.isNull(user)) { return user; } + if (ObjectUtil.isNotNull(user.getDeptId())) { + SysDeptVo sysDeptVo = deptMapper.selectVoById(user.getDeptId()); + user.setChargeId(sysDeptVo.getLeader()); + user.setDeputyId(sysDeptVo.getVicePresident()); + } user.setRoles(roleMapper.selectRolesByUserId(user.getUserId())); return user; }