From 15f00340a93bcf9007427cf6d4e5195a534235f4 Mon Sep 17 00:00:00 2001 From: Yangk Date: Thu, 8 Jan 2026 15:16:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(erp):=20=E6=B7=BB=E5=8A=A0=E5=94=AE?= =?UTF-8?q?=E5=90=8E=E6=B5=81=E7=A8=8B=E8=87=AA=E5=8A=A8=E6=8A=84=E9=80=81?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD=E5=B9=B6?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=B7=A5=E6=97=B6=E8=A1=A8=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ErpAfterSalesServiceImpl.java | 20 +++++++++++++++++++ .../impl/ErpTimesheetInfoServiceImpl.java | 2 ++ 2 files changed, 22 insertions(+) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpAfterSalesServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpAfterSalesServiceImpl.java index 86f79ab2..dcf3fe65 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpAfterSalesServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpAfterSalesServiceImpl.java @@ -39,11 +39,17 @@ import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.context.event.EventListener; import org.dromara.workflow.api.event.ProcessEvent; +import org.dromara.workflow.api.event.ProcessTaskEvent; +import org.dromara.common.core.utils.StreamUtils; +import org.dromara.system.api.RemoteUserService; +import org.dromara.system.api.domain.vo.RemoteUserVo; +import org.dromara.workflow.api.domain.RemoteFlowCopy; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Collections; /** * 项目售后信息Service业务层处理 @@ -64,6 +70,9 @@ public class ErpAfterSalesServiceImpl implements IErpAfterSalesService { @DubboReference() private RemoteCodeRuleService remoteCodeRuleService; + @DubboReference + private RemoteUserService remoteUserService; + private final IErpAfterSalesLaborCostsService laborCostsService; private final IErpAfterSalesMaterialCostsService materialCostsService; @@ -313,6 +322,17 @@ public class ErpAfterSalesServiceImpl implements IErpAfterSalesService { bo.setVariables(new HashMap<>()); } bo.getVariables().put("ignore", true); + + // 预设抄送用户变量:查询"项目管理"角色下的用户ID + Long projectMgrRoleId = 1985260184236380162L; + List copyUsers = remoteUserService.selectUsersByRoleIds( + Collections.singletonList(projectMgrRoleId)); + if (CollUtil.isNotEmpty(copyUsers)) { + String copyUserIds = StreamUtils.join(copyUsers, user -> String.valueOf(user.getUserId())); + bo.getVariables().put("afterSalesCopyUsers", copyUserIds); + log.info("【售后抄送】预设抄送用户变量: {}", copyUserIds); + } + RemoteStartProcess startProcess = new RemoteStartProcess(); startProcess.setBusinessId(bo.getAfterSalesId().toString()); startProcess.setFlowCode(bo.getFlowCode()); diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetInfoServiceImpl.java index 38c82fac..0d371eb1 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpTimesheetInfoServiceImpl.java @@ -344,6 +344,8 @@ public class ErpTimesheetInfoServiceImpl implements IErpTimesheetInfoService { completeTask.setTaskId(result.getTaskId()); // 审批意见,提交时默认为 "提交申请" completeTask.setMessage("提交申请"); + // 消息类型 1=站内信 + completeTask.setMessageType(Collections.singletonList("1")); completeTask.setVariables(variables); boolean completeFlag = remoteWorkflowService.completeTask(completeTask); if (!completeFlag) {