新增表保存一个项目的所有审批记录

master
pengqiang 2021-11-12 17:15:24 +08:00
parent 9c11f95987
commit aa14b289d4
4 changed files with 48 additions and 7 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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<ProjectTaskRecord> 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);
}
}