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); + } + + }