新增任务管理
This commit is contained in:
parent
9de01e4112
commit
237d3ccaa3
|
@ -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);
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -244,6 +244,7 @@
|
|||
detailUrl: prefix + "/detail/{id}",
|
||||
updateUrl: prefix + "/edit/{id}",
|
||||
createUrl: prefix + "/add",
|
||||
removeUrl: prefix + "/remove",
|
||||
toolbar: "toolbar2",
|
||||
queryParams:queryParamMy,
|
||||
detailView: true,
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ public interface WorkRecodeService {
|
|||
* @param sysOaTask
|
||||
* @return
|
||||
*/
|
||||
String createTodoTask(SysOaTaskDistribute sysOaTaskDistribute);
|
||||
String createTodoTask(SysOaTask sysOaTask);
|
||||
|
||||
/**
|
||||
* 删除待办(新)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue