新增任务管理

This commit is contained in:
qimingjin 2021-11-14 15:31:27 +08:00
parent 9de01e4112
commit 237d3ccaa3
7 changed files with 23 additions and 20 deletions

View File

@ -94,6 +94,9 @@ public class SysOaTaskController extends BaseController
{
startPage();
List<SysOaTaskDistribute> list = sysOaTaskDistributeService.selectSysOaTaskDistributeList(sysOaTaskDistribute);
if(CollUtil.isNotEmpty(list)){
warpSysOaTask(list);
}
return getDataTable(list);
}
/**

View File

@ -244,6 +244,7 @@
detailUrl: prefix + "/detail/{id}",
updateUrl: prefix + "/edit/{id}",
createUrl: prefix + "/add",
removeUrl: prefix + "/remove",
toolbar: "toolbar2",
queryParams:queryParamMy,
detailView: true,

View File

@ -36,7 +36,7 @@ public class WorkRecodeEventService implements ISyncDingTalkInfo {
Integer code = eventType.getCode();
//钉钉创建待办
if(code.equals(DingTalkListenerType.WORK_RECODE_CREATE.getCode())){
SysOaTaskDistribute sysOaTask=(SysOaTaskDistribute)syncEvent.getSource();
SysOaTask sysOaTask=(SysOaTask)syncEvent.getSource();
log.info("@@创建钉钉待办系统传入的参数:{}",JSON.toJSONString(sysOaTask));
workRecodeService.createTodoTask(sysOaTask);
}

View File

@ -31,7 +31,7 @@ public interface WorkRecodeService {
* @param sysOaTask
* @return
*/
String createTodoTask(SysOaTaskDistribute sysOaTaskDistribute);
String createTodoTask(SysOaTask sysOaTask);
/**
* 删除待办

View File

@ -88,8 +88,8 @@ public class WorkRecodeServiceImpl extends BaseService implements WorkRecodeServ
}
@Override
public String createTodoTask(SysOaTaskDistribute sysOaTaskDistribute) {
SysOaTask sysOaTask = sysOaTaskDistribute.getSysOaTask();
public String createTodoTask(SysOaTask sysOaTask) {
List<String> taskDistributeId = sysOaTask.getTaskDistributeId();
CreateTodoTaskHeaders createTodoTaskHeaders = new CreateTodoTaskHeaders();
@ -109,9 +109,6 @@ public class WorkRecodeServiceImpl extends BaseService implements WorkRecodeServ
.setIsOnlyShowExecutor(true)
.setPriority(sysOaTask.getPriority())
.setNotifyConfigs(notifyConfigs);
if (ObjectUtil.isNotNull(sysOaTask.getTaskCompleteTime())) {
createTodoTaskRequest.setDueTime(sysOaTaskDistribute.getTaskCompleteTime().getTime());
}
//执行者id
if(CollUtil.isNotEmpty(taskDistributeId)){
List<String> executorIds = taskDistributeId.stream().map(t -> {
@ -119,6 +116,9 @@ public class WorkRecodeServiceImpl extends BaseService implements WorkRecodeServ
}).collect(Collectors.toList());
createTodoTaskRequest.setExecutorIds(executorIds);
}
if(ObjectUtil.isNotNull(sysOaTask.getExpectedTime())){
createTodoTaskRequest.setDueTime(sysOaTask.getExpectedTime().getTime());
}
try {
CreateTodoTaskResponse response = createTodoClient().createTodoTaskWithOptions(userService.getUnionIdBySysUserId(Long.parseLong(sysOaTask.getCreateBy())), createTodoTaskRequest, createTodoTaskHeaders, new RuntimeOptions());
return response.getBody().id;

View File

@ -68,13 +68,6 @@ public class SysOaTask extends BaseEntity
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date taskCompleteTime;
/** 任务开始时间 */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date taskStartTime;
/** 任务挂起时间 */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date taskSuspendTime;
/** 乐观锁 */
@Excel(name = "乐观锁")
@ -84,4 +77,6 @@ public class SysOaTask extends BaseEntity
@Excel(name = "删除标识")
private Long isDelete;
private List<com.snow.system.domain.SysOaTaskDistribute> sysOaTaskDistributeList;
}

View File

@ -21,12 +21,14 @@ import com.snow.system.mapper.SysOaTaskMapper;
import com.snow.system.service.ISysOaTaskDistributeService;
import com.snow.system.service.ISysOaTaskService;
import com.snow.system.service.ISysUserService;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.compress.utils.Sets;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
/**
@ -44,7 +46,7 @@ public class SysOaTaskServiceImpl implements ISysOaTaskService
@Autowired
private ISysOaTaskDistributeService sysOaTaskDistributeService;
@Autowired
@Resource
private SysOaTaskDistributeMapper sysOaTaskDistributeMapper;
@Autowired
@ -95,11 +97,11 @@ public class SysOaTaskServiceImpl implements ISysOaTaskService
sysOaTask.setTaskNo(newSequenceNo);
sysOaTask.setTaskStatus(TaskStatus.UN_FINISH.getCode());
List<String> taskDistributeIdList= sysOaTask.getTaskDistributeId();
List<SysOaTaskDistribute> sysOaTaskDistributeList= Lists.newArrayList();
if(CollUtil.isNotEmpty(taskDistributeIdList)){
taskDistributeIdList.forEach(t->{
SysOaTaskDistribute sysOaTaskDistribute=new SysOaTaskDistribute();
//任务分配人
sysOaTaskDistribute.setTaskDistributeId(sysOaTask.getCreateBy());
sysOaTaskDistribute.setTaskDistributeId(t);
sysOaTaskDistribute.setTaskNo(newSequenceNo);
sysOaTaskDistribute.setTaskExecuteStatus(DingFlowTaskType.RUNNING.getCode());
sysOaTaskDistribute.setCreateBy(sysOaTask.getCreateBy());
@ -107,11 +109,13 @@ public class SysOaTaskServiceImpl implements ISysOaTaskService
sysOaTaskDistribute.setSysOaTask(sysOaTask);
//发送消息
sendInnerMessage(sysOaTaskDistribute);
//事件发送
SyncEvent<SysOaTaskDistribute> syncEvent = new SyncEvent(sysOaTaskDistribute, DingTalkListenerType.WORK_RECODE_CREATE);
applicationContext.publishEvent(syncEvent);
sysOaTaskDistributeList.add(sysOaTaskDistribute);
});
}
sysOaTask.setSysOaTaskDistributeList(sysOaTaskDistributeList);
//事件发送
SyncEvent<SysOaTask> syncEvent = new SyncEvent(sysOaTask, DingTalkListenerType.WORK_RECODE_CREATE);
applicationContext.publishEvent(syncEvent);
return sysOaTaskMapper.insertSysOaTask(sysOaTask);
}