From aa14b289d4e42bc1178de4dc5a0cd9872dd9713f Mon Sep 17 00:00:00 2001 From: pengqiang Date: Fri, 12 Nov 2021 17:15:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A1=A8=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E9=A1=B9=E7=9B=AE=E7=9A=84=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../palmte/work/model/ProjectTaskRecord.java | 22 +++++++++++--- .../work/service/ActProcInsService.java | 2 ++ .../work/service/ActTaskDefService.java | 2 ++ .../service/ProjectTaskRecordService.java | 29 +++++++++++++++++-- 4 files changed, 48 insertions(+), 7 deletions(-) diff --git a/src/main/java/cn/palmte/work/model/ProjectTaskRecord.java b/src/main/java/cn/palmte/work/model/ProjectTaskRecord.java index fca0582..d20751d 100644 --- a/src/main/java/cn/palmte/work/model/ProjectTaskRecord.java +++ b/src/main/java/cn/palmte/work/model/ProjectTaskRecord.java @@ -33,20 +33,34 @@ public class ProjectTaskRecord { @Column(name = "task_name") private String taskName; + /** + * @see cn.palmte.work.bean.ApproveStatusEnum#approveStatus + */ @Column(name = "task_status") private int taskStatus; - @Column(name = "task_assignee_id") - private String taskAssigneeId; + /** + * 审批人id + */ + @Column(name = "assignee_id") + private String assigneeId; - @Column(name = "task_assignee_name") - private String taskAssigneeName; + /** + * 审批人姓名 + */ + @Column(name = "assignee_name") + private String assigneeName; + /** + * 审批意见 + */ @Column(name = "task_comment") private String taskComment; @Column(name = "create_time") private Date createTime; + @Transient + private String roleName; } diff --git a/src/main/java/cn/palmte/work/service/ActProcInsService.java b/src/main/java/cn/palmte/work/service/ActProcInsService.java index d6c8616..6ac7e85 100644 --- a/src/main/java/cn/palmte/work/service/ActProcInsService.java +++ b/src/main/java/cn/palmte/work/service/ActProcInsService.java @@ -15,6 +15,7 @@ import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.activiti.engine.history.HistoricActivityInstance; import org.activiti.engine.history.HistoricProcessInstance; +import org.activiti.engine.impl.identity.Authentication; import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; @@ -93,6 +94,7 @@ public class ActProcInsService { task.setAssignee(assignee); String taskId = task.getId(); String comment = "提交" + processDefinition.getName(); + Authentication.setAuthenticatedUserId(assignee); taskService.addComment(taskId, procInsId, comment); taskService.complete(taskId); diff --git a/src/main/java/cn/palmte/work/service/ActTaskDefService.java b/src/main/java/cn/palmte/work/service/ActTaskDefService.java index e053e54..d55c265 100644 --- a/src/main/java/cn/palmte/work/service/ActTaskDefService.java +++ b/src/main/java/cn/palmte/work/service/ActTaskDefService.java @@ -9,6 +9,7 @@ import cn.palmte.work.utils.ActUtil; import cn.palmte.work.utils.InterfaceUtil; import com.alibaba.fastjson.JSONObject; import org.activiti.engine.*; +import org.activiti.engine.impl.identity.Authentication; import org.activiti.engine.impl.persistence.entity.TaskEntity; import org.activiti.engine.task.Task; import org.apache.commons.lang.StringUtils; @@ -59,6 +60,7 @@ public class ActTaskDefService { private void completeTask(String taskId, String procInsId, String message, int type) { String userId = InterfaceUtil.getAdminId() + ""; + Authentication.setAuthenticatedUserId(userId); taskService.addComment(taskId, procInsId, message); actTaskDefRepository.updateHiTaskAssign(userId, procInsId, taskId); diff --git a/src/main/java/cn/palmte/work/service/ProjectTaskRecordService.java b/src/main/java/cn/palmte/work/service/ProjectTaskRecordService.java index e16f65d..4b34640 100644 --- a/src/main/java/cn/palmte/work/service/ProjectTaskRecordService.java +++ b/src/main/java/cn/palmte/work/service/ProjectTaskRecordService.java @@ -4,15 +4,16 @@ import cn.palmte.work.model.ProjectTaskRecord; import cn.palmte.work.model.ProjectTaskRecordRepository; import cn.palmte.work.utils.ActUtil; import cn.palmte.work.utils.InterfaceUtil; -import org.activiti.engine.TaskService; import org.activiti.engine.task.Task; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import top.jfunc.common.db.QueryHelper; import top.jfunc.common.db.utils.Pagination; import java.util.Date; +import java.util.List; @Service @@ -28,6 +29,13 @@ public class ProjectTaskRecordService { private ActUtil actUtil; + /** + * 保存审批任务记录 + * + * @param task + * @param status + * @param comment + */ public void saveTaskRecord(Task task, int status, String comment) { int projectId = actUtil.getProjectId(task.getProcessInstanceId()); if (projectId == 0) { @@ -42,8 +50,8 @@ public class ProjectTaskRecordService { record.setTaskName(task.getName()); record.setTaskComment(comment); record.setTaskStatus(status); - record.setTaskAssigneeId(InterfaceUtil.getAdminId() + ""); - record.setTaskAssigneeName(InterfaceUtil.getAdmin().getRealName()); + record.setAssigneeId(InterfaceUtil.getAdminId() + ""); + record.setAssigneeName(InterfaceUtil.getAdmin().getRealName()); record.setCreateTime(new Date()); try { projectTaskRecordRepository.save(record); @@ -53,4 +61,19 @@ public class ProjectTaskRecordService { } + /** + * 根据项目id查询审批任务记录 + * + * @param projectId + * @return + */ + public List list(int projectId) { + String select = "tr.*, su.role_name"; + QueryHelper queryHelper = new QueryHelper(select, " project_task_record tr LEFT JOIN sys_user su on su.id=tr.assignee_id "); + queryHelper.addCondition("tr.project_id=?", projectId); + queryHelper.addOrderProperty("tr.create_time", true); + return pagination.find(queryHelper.getSql(), ProjectTaskRecord.class); + } + + }