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) {