From 336fe19e3b9fe545c63b9b32e8c808baaa5e7d4a Mon Sep 17 00:00:00 2001 From: zhengqiaowen <1275811465@qq.com> Date: Fri, 30 Sep 2022 16:01:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/rzyc/bean/task/dto/AddTaskDto.java | 13 +- .../rzyc/bean/task/vo/OADistributionVo.java | 156 ++++++++++++++++++ .../com/rzyc/bean/task/vo/TaskDetailVo.java | 111 +++++++++++++ .../com/rzyc/bean/task/vo/TaskNameVo.java | 26 +++ .../java/com/rzyc/bean/task/vo/TaskVo.java | 150 +++++++++++++++++ .../java/com/rzyc/mapper/OATaskMapper.java | 10 +- .../com/rzyc/mapper/OaTaskTypeMapper.java | 2 + .../src/main/java/com/rzyc/model/OATask.java | 16 +- .../main/resources/mapper/OATaskMapper.xml | 82 ++++++--- .../resources/mapper/OaTaskTypeMapper.xml | 4 + .../com/rzyc/controller/TaskController.java | 69 +++++++- 11 files changed, 592 insertions(+), 47 deletions(-) create mode 100644 inventory-dao/src/main/java/com/rzyc/bean/task/vo/OADistributionVo.java create mode 100644 inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskDetailVo.java create mode 100644 inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskNameVo.java create mode 100644 inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskVo.java diff --git a/inventory-dao/src/main/java/com/rzyc/bean/task/dto/AddTaskDto.java b/inventory-dao/src/main/java/com/rzyc/bean/task/dto/AddTaskDto.java index 5075d4b..6ae5771 100644 --- a/inventory-dao/src/main/java/com/rzyc/bean/task/dto/AddTaskDto.java +++ b/inventory-dao/src/main/java/com/rzyc/bean/task/dto/AddTaskDto.java @@ -38,8 +38,9 @@ public class AddTaskDto { private String sendId; @ApiModelProperty(value = "接收用户id",required = true) - @TableField("SysUserId") - private String sysuserid; + @TableField("user_id") + private String userId; + /** * 0刚发出来 100已完成 */ @@ -95,12 +96,12 @@ public class AddTaskDto { private Integer delState = 1; - public String getSysuserid() { - return sysuserid; + public String getUserId() { + return userId; } - public void setSysuserid(String sysuserid) { - this.sysuserid = sysuserid; + public void setUserId(String userId) { + this.userId = userId; } public Integer getDelState() { diff --git a/inventory-dao/src/main/java/com/rzyc/bean/task/vo/OADistributionVo.java b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/OADistributionVo.java new file mode 100644 index 0000000..93eea9f --- /dev/null +++ b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/OADistributionVo.java @@ -0,0 +1,156 @@ +package com.rzyc.bean.task.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +/** + * @Description: + * @Author: ZQW + * @CreateTime: 2022/9/29 14:10 + */ + +@ApiModel("任务执行情况返回实体") +public class OADistributionVo { + + + @ApiModelProperty("主键id") + @TableId("OADistributionId") + private String oadistributionid; + + @ApiModelProperty("任务id") + @TableField("OATaskId") + private String oataskid; + + @ApiModelProperty("指派用户id") + @TableField("sned_id") + private String snedId; + + @ApiModelProperty("接收用户id") + @TableField("SysUserId") + private String sysuserid; + + @ApiModelProperty("接收用户姓名") + @TableField("SysChinaName") + private String syschinaname; + + /** + * 接收人名 + *//* + @ApiModelProperty("接收人名") + private String receiveName;*/ + + @ApiModelProperty("任务摘要") + @TableField("title") + private String title; + + @ApiModelProperty("任务内容") + @TableField("subject") + private String subject; + + @ApiModelProperty("开始时间") + @TableField("start_time") + private Date startTime; + + @ApiModelProperty("结束时间") + @TableField("end_time") + private Date endTime; + + /** + * 未执行 执行中 执行完成 + */ + @ApiModelProperty("1、未执行 2、执行中 3、执行完成") + @TableField("AppStatus") + private String appstatus; + + public String getOadistributionid() { + return oadistributionid; + } + + public void setOadistributionid(String oadistributionid) { + this.oadistributionid = oadistributionid; + } + + public String getOataskid() { + return oataskid; + } + + public void setOataskid(String oataskid) { + this.oataskid = oataskid; + } + + public String getSnedId() { + return snedId; + } + + public void setSnedId(String snedId) { + this.snedId = snedId; + } + + public String getSysuserid() { + return sysuserid; + } + + public void setSysuserid(String sysuserid) { + this.sysuserid = sysuserid; + } + + public String getSyschinaname() { + return syschinaname; + } + + public void setSyschinaname(String syschinaname) { + this.syschinaname = syschinaname; + } + + /* public String getReceiveName() { + return receiveName; + } + + public void setReceiveName(String receiveName) { + this.receiveName = receiveName; + }*/ + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public String getAppstatus() { + return appstatus; + } + + public void setAppstatus(String appstatus) { + this.appstatus = appstatus; + } +} diff --git a/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskDetailVo.java b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskDetailVo.java new file mode 100644 index 0000000..6cbbd45 --- /dev/null +++ b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskDetailVo.java @@ -0,0 +1,111 @@ +package com.rzyc.bean.task.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.rzyc.model.OADistribution; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @Description: + * @Author: ZQW + * @CreateTime: 2022/9/29 14:06 + */ + +@ApiModel("任务详情返回实体类") +public class TaskDetailVo { + + @TableId("OATaskId") + @ApiModelProperty("任务id") + private String oataskid; + + + @ApiModelProperty(value = "接收用户id",required = true) + @TableField("user_id") + private String userId; + + + @TableField("StartDate") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("开始时间") + private Date startdate; + + @TableField("EndDate") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("结束时间") + private Date enddate; + + + @TableField("title") + @ApiModelProperty("任务名称") + private String title; + + @TableField("Subject") + @ApiModelProperty("任务要求") + private String subject; + + + @ApiModelProperty("任务接收人") + private List distributions = new ArrayList<>(); + + public String getOataskid() { + return oataskid; + } + + public void setOataskid(String oataskid) { + this.oataskid = oataskid; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public Date getStartdate() { + return startdate; + } + + public void setStartdate(Date startdate) { + this.startdate = startdate; + } + + public Date getEnddate() { + return enddate; + } + + public void setEnddate(Date enddate) { + this.enddate = enddate; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public List getDistributions() { + return distributions; + } + + public void setDistributions(List distributions) { + this.distributions = distributions; + } +} diff --git a/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskNameVo.java b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskNameVo.java new file mode 100644 index 0000000..8766776 --- /dev/null +++ b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskNameVo.java @@ -0,0 +1,26 @@ +package com.rzyc.bean.task.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: + * @Author: ZQW + * @CreateTime: 2022/9/29 9:46 + */ + +@ApiModel("任务名称返回实体") +public class TaskNameVo { + + @ApiModelProperty("来源id") + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskVo.java b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskVo.java new file mode 100644 index 0000000..f6820b7 --- /dev/null +++ b/inventory-dao/src/main/java/com/rzyc/bean/task/vo/TaskVo.java @@ -0,0 +1,150 @@ +package com.rzyc.bean.task.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +/** + * @Description: + * @Author: ZQW + * @CreateTime: 2022/9/29 10:10 + */ + +@ApiModel("任务返回实体") +public class TaskVo { + + @ApiModelProperty("任务id") + private String oataskid; + + @ApiModelProperty("来源id") + private String otcid; + + @ApiModelProperty("任务类型") + private String tasktype; + + @ApiModelProperty("任务类型名称") + private String taskTypeName; + + @ApiModelProperty("任务发布人") + private String sendId; + + @ApiModelProperty(value = "接收用户id",required = true) + @TableField("user_id") + private String userId; + + @TableField("EndDate") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("结束时间") + private Date enddate; + + /** + * 发送部门 + */ + @ApiModelProperty("发送部门") + private String unitName; + + @TableField("title") + @ApiModelProperty("任务名称") + private String title; + + @ApiModelProperty("任务内容") + private String subject; + + /** + * 发布人 + */ + @ApiModelProperty("发布人") + private String sendName; + + public String getOataskid() { + return oataskid; + } + + public void setOataskid(String oataskid) { + this.oataskid = oataskid; + } + + public String getOtcid() { + return otcid; + } + + public void setOtcid(String otcid) { + this.otcid = otcid; + } + + public String getTasktype() { + return tasktype; + } + + public void setTasktype(String tasktype) { + this.tasktype = tasktype; + } + + public String getSendId() { + return sendId; + } + + public void setSendId(String sendId) { + this.sendId = sendId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public Date getEnddate() { + return enddate; + } + + public void setEnddate(Date enddate) { + this.enddate = enddate; + } + + public String getUnitName() { + return unitName; + } + + public void setUnitName(String unitName) { + this.unitName = unitName; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public String getSendName() { + return sendName; + } + + public void setSendName(String sendName) { + this.sendName = sendName; + } + + public String getTaskTypeName() { + return taskTypeName; + } + + public void setTaskTypeName(String taskTypeName) { + this.taskTypeName = taskTypeName; + } +} diff --git a/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java b/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java index 4903cd4..8c39e2b 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java @@ -2,6 +2,8 @@ package com.rzyc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.rzyc.bean.task.dto.IdDto; +import com.rzyc.bean.task.vo.TaskDetailVo; +import com.rzyc.bean.task.vo.TaskVo; import com.rzyc.bean.task.vo.ThingVo; import com.rzyc.model.OADistribution; import com.rzyc.model.OATask; @@ -109,13 +111,15 @@ public interface OATaskMapper extends BaseMapper { List thingsList(@Param("idDto") IdDto idDto); //插入任务 - int insertTask(OATask oaTask); + int insertTask(@Param("oaTask") OATask oaTask); //查询我发布的任务 - List deliverTaskList(@Param("condition")String condition, + List deliverTaskList(@Param("condition")String condition, @Param("sendId")String sendId); //查询我收到的任务 - List getTaskList(@Param("condition")String condition, + List getTaskList(@Param("condition")String condition, @Param("sendId")String sendId); + + TaskDetailVo selectDetail(@Param("OATaskId") String OATaskId); } diff --git a/inventory-dao/src/main/java/com/rzyc/mapper/OaTaskTypeMapper.java b/inventory-dao/src/main/java/com/rzyc/mapper/OaTaskTypeMapper.java index 32cc748..7e96ab1 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/OaTaskTypeMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/OaTaskTypeMapper.java @@ -15,4 +15,6 @@ public interface OaTaskTypeMapper { /*任务类型*/ List findBySortId(); + + OaTaskType selectById(@Param("typeId") String typeId); } diff --git a/inventory-dao/src/main/java/com/rzyc/model/OATask.java b/inventory-dao/src/main/java/com/rzyc/model/OATask.java index 4cad315..6cf3a81 100644 --- a/inventory-dao/src/main/java/com/rzyc/model/OATask.java +++ b/inventory-dao/src/main/java/com/rzyc/model/OATask.java @@ -34,9 +34,9 @@ public class OATask implements Serializable { @ApiModelProperty("任务发布人") private String sendId; - @ApiModelProperty("接收用户id") - @TableField("SysUserId") - private String sysuserid; + @ApiModelProperty(value = "接收用户id",required = true) + @TableField("user_id") + private String userId; /** * 0刚发出来 100已完成 @@ -161,12 +161,12 @@ public class OATask implements Serializable { @ApiModelProperty("任务接收人") private List distributions = new ArrayList<>(); - public String getSysuserid() { - return sysuserid; + public String getUserId() { + return userId; } - public void setSysuserid(String sysuserid) { - this.sysuserid = sysuserid; + public void setUserId(String userId) { + this.userId = userId; } public String getOtcid() { @@ -384,7 +384,7 @@ public class OATask implements Serializable { ", otcid='" + otcid + '\'' + ", tasktype='" + tasktype + '\'' + ", sendId='" + sendId + '\'' + - ", sysuserid='" + sysuserid + '\'' + + ", userId='" + userId + '\'' + ", syspercent=" + syspercent + ", startdate=" + startdate + ", enddate=" + enddate + diff --git a/inventory-dao/src/main/resources/mapper/OATaskMapper.xml b/inventory-dao/src/main/resources/mapper/OATaskMapper.xml index fc0f939..56299d0 100644 --- a/inventory-dao/src/main/resources/mapper/OATaskMapper.xml +++ b/inventory-dao/src/main/resources/mapper/OATaskMapper.xml @@ -426,7 +426,7 @@ - insert into OATask (OATaskId, TaskType,OTCId,send_id,SysUserId + insert into OATask (OATaskId, TaskType,OTCId,send_id,user_id, SysPercent, StartDate, EndDate, PlanEndDate, AppStatus,title, Subject, Frequency, @@ -434,36 +434,72 @@ CreatedOn, CreatedBy, ModifiedOn, ModifiedBy ) - values (#{oataskid,jdbcType=VARCHAR}, - #{tasktype,jdbcType=VARCHAR}, - #{otcid,jdbcType=VARCHAR}, - #{sendId,jdbcType=VARCHAR}, - #{SysUserId,jdbcType=VARCHAR}, - #{syspercent,jdbcType=INTEGER}, - #{startdate,jdbcType=TIMESTAMP}, #{enddate,jdbcType=TIMESTAMP}, #{planenddate,jdbcType=TIMESTAMP}, - #{appstatus,jdbcType=VARCHAR}, - #{title,jdbcType=VARCHAR}, - #{subject,jdbcType=VARCHAR}, - #{frequency,jdbcType=BIGINT}, - #{isfinish,jdbcType=VARCHAR}, - #{delState,jdbcType=VARCHAR},#{createdon,jdbcType=TIMESTAMP}, #{createdby,jdbcType=VARCHAR}, - #{modifiedon,jdbcType=TIMESTAMP}, #{modifiedby,jdbcType=VARCHAR} + values (#{oaTask.oataskid,jdbcType=VARCHAR}, + #{oaTask.tasktype,jdbcType=VARCHAR}, + #{oaTask.otcid,jdbcType=VARCHAR}, + #{oaTask.sendId,jdbcType=VARCHAR}, + #{oaTask.userId,jdbcType=VARCHAR}, + #{oaTask.syspercent,jdbcType=INTEGER}, + #{oaTask.startdate,jdbcType=TIMESTAMP}, #{oaTask.enddate,jdbcType=TIMESTAMP}, #{oaTask.planenddate,jdbcType=TIMESTAMP}, + #{oaTask.appstatus,jdbcType=VARCHAR}, + #{oaTask.title,jdbcType=VARCHAR}, + #{oaTask.subject,jdbcType=VARCHAR}, + #{oaTask.frequency,jdbcType=BIGINT}, + #{oaTask.isfinish,jdbcType=VARCHAR}, + #{oaTask.delState,jdbcType=VARCHAR},#{oaTask.createdon,jdbcType=TIMESTAMP}, #{oaTask.createdby,jdbcType=VARCHAR}, + #{oaTask.modifiedon,jdbcType=TIMESTAMP}, #{oaTask.modifiedby,jdbcType=VARCHAR} ) - + select ot.*,u.SysUserName as send_name,u.SysDeptName as unit_name,ott.name as task_type_name from OATask ot + left join sysuser u on ot.send_id = u.SysUserId + left join oa_task_type ott on ot.TaskType = ott.type_id where ot.subject like #{condition} and ot.send_id = #{sendId} order by ot.EndDate asc - + select ot.*,u.SysUserName as send_name,u.SysDeptName as unit_name,ott.name as task_type_name from OATask ot + left join sysuser u on ot.send_id = u.SysUserId + left join oa_task_type ott on ot.TaskType = ott.type_id + where ot.subject like #{condition} + and ot.user_id = #{sendId} order by ot.EndDate asc + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/inventory-dao/src/main/resources/mapper/OaTaskTypeMapper.xml b/inventory-dao/src/main/resources/mapper/OaTaskTypeMapper.xml index 1767956..e50ad45 100644 --- a/inventory-dao/src/main/resources/mapper/OaTaskTypeMapper.xml +++ b/inventory-dao/src/main/resources/mapper/OaTaskTypeMapper.xml @@ -109,4 +109,8 @@ + + diff --git a/inventory-gov/src/main/java/com/rzyc/controller/TaskController.java b/inventory-gov/src/main/java/com/rzyc/controller/TaskController.java index 226e02c..6307743 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/TaskController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/TaskController.java @@ -6,9 +6,13 @@ import com.common.utils.model.MultiResult; import com.common.utils.model.SingleResult; import com.rzyc.bean.task.dto.AddTaskDto; import com.rzyc.bean.task.dto.IdDto; +import com.rzyc.bean.task.vo.TaskDetailVo; +import com.rzyc.bean.task.vo.TaskNameVo; +import com.rzyc.bean.task.vo.TaskVo; import com.rzyc.bean.task.vo.ThingVo; import com.rzyc.model.OADistribution; import com.rzyc.model.OATask; +import com.rzyc.model.OaTaskType; import com.rzyc.model.task.dto.TaskAddOrUpdateDto; import com.rzyc.model.user.SysUser; import io.swagger.annotations.Api; @@ -65,6 +69,7 @@ public class TaskController extends BaseController{ oaTask.setCreatedby(getChinaName()); oaTask.setCreatedon(new Date()); oaTaskMapper.insertTask(oaTask); + System.out.println("用户id======" + oaTask.getUserId()); }else { oaTask.setModifiedby(getChinaName()); oaTask.setModifiedon(new Date()); @@ -100,10 +105,17 @@ public class TaskController extends BaseController{ @ApiImplicitParam(name = "id",value = "发布人id") }) @GetMapping("deliverTaskList") - public MultiResult deliverTaskList(@Valid IdDto idDto){ - MultiResult result = new MultiResult<>(); - List oaTasks = oaTaskMapper.deliverTaskList("%%",idDto.getId()); - System.out.println("任务============" + oaTasks); + public MultiResult deliverTaskList(@Valid IdDto idDto) throws Exception{ + MultiResult result = new MultiResult<>(); + SysUser user = sysUserMapper.selectByPrimaryKey(idDto.getId()); + System.out.println("user=========" + user); + List oaTasks = oaTaskMapper.deliverTaskList("%%",idDto.getId()); + + if(null == user){ + result.setCode(0); + result.setMessage("未知错误"); + return result; + } if(oaTasks != null){ result.setData(oaTasks); } @@ -121,15 +133,41 @@ public class TaskController extends BaseController{ @ApiImplicitParam(name = "id",value = "接收用户id") }) @GetMapping("getTaskList") - public MultiResult getTaskList(@Valid IdDto idDto){ - MultiResult result = new MultiResult<>(); - List oaTasks = oaTaskMapper.getTaskList("%%",idDto.getId()); + public MultiResult getTaskList(@Valid IdDto idDto){ + MultiResult result = new MultiResult<>(); + SysUser user = sysUserMapper.selectByPrimaryKey(idDto.getId()); + List oaTasks = oaTaskMapper.getTaskList("%%",idDto.getId()); + + if(null == user){ + result.setCode(0); + result.setMessage("未知错误"); + return result; + } if(oaTasks != null){ result.setData(oaTasks); } return result; } + /** + * @Description:查询任务名称 + * @Author ZQW + * @CreateTime 2022/9/29 9:44 + */ + @ApiOperation(value = "查询任务名称",position = 5) + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id",value = "任务类型1id") + }) + @GetMapping("getTaskName") + public SingleResult getTaskName(@Valid IdDto idDto){ + SingleResult result = new SingleResult<>(); + TaskNameVo taskNameVo = new TaskNameVo(); + OaTaskType oaTaskType = oaTaskTypeMapper.selectById(idDto.getId()); + taskNameVo.setName(oaTaskType.getName()); + result.setData(taskNameVo); + return result; + } + /** * @return: 新增任务执行情况 * @Author: ZQW @@ -174,4 +212,21 @@ public class TaskController extends BaseController{ return result; } + + /** + * @Description: 发布任务详情 + * @Author ZQW + * @CreateTime 2022/9/29 13:56 + */ + @ApiOperation(value = "发布(收到)任务详情",position = 11) + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "id",value = "任务1id") + }) + @GetMapping("deliverTaskDetail") + public SingleResult deliverTaskDetail(@Valid IdDto idDto){ + SingleResult result = new SingleResult<>(); + TaskDetailVo detailVo = oaTaskMapper.selectDetail(idDto.getId()); + result.setData(detailVo); + return result; + } }