diff --git a/src/main/java/com/ccsens/ptccsens/api/DebugController.java b/src/main/java/com/ccsens/ptccsens/api/DebugController.java index 0556835..489443c 100644 --- a/src/main/java/com/ccsens/ptccsens/api/DebugController.java +++ b/src/main/java/com/ccsens/ptccsens/api/DebugController.java @@ -2,24 +2,30 @@ package com.ccsens.ptccsens.api; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.ccsens.ptccsens.bean.po.*; import com.ccsens.ptccsens.persist.dao.PluDeliverDao; import com.ccsens.ptccsens.persist.dao.ProTaskPluginDao; import com.ccsens.ptccsens.persist.dao.ProTaskSubDao; -import com.ccsens.ptccsens.util.Constant; import com.ccsens.util.JsonResponse; +import com.ccsens.util.RestTemplateUtil; import com.ccsensptos.tallsdk.bean.vo.TallPluginVo; +import com.ccsensptos.tallsdk.util.Constant; import com.ccsensptos.tallsdk.util.PluginUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.List; @Api(tags = "DEBUG" , description = "DebugController | ") @@ -70,7 +76,6 @@ public class DebugController { // // }); // } - return JsonResponse.newInstance().ok("测试"); } diff --git a/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java b/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java index 7b2fa93..8f0dbc7 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java +++ b/src/main/java/com/ccsens/ptccsens/bean/dto/DeliverDto.java @@ -73,6 +73,8 @@ public class DeliverDto { @NotNull(message = "请选择检查人") @ApiModelProperty("检查人id") private List checkerList; + @ApiModelProperty("消息id") + private Long msgId; } @Data @@ -90,7 +92,8 @@ public class DeliverDto { private String remark; @ApiModelProperty("分数") private BigDecimal score; - + @ApiModelProperty("消息id") + private Long msgId; } diff --git a/src/main/java/com/ccsens/ptccsens/bean/message/NotificationMessageDto.java b/src/main/java/com/ccsens/ptccsens/bean/message/NotificationMessageDto.java new file mode 100644 index 0000000..b5b69fa --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/message/NotificationMessageDto.java @@ -0,0 +1,22 @@ +package com.ccsens.ptccsens.bean.message; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * @author 逗 + */ +@Data +public class NotificationMessageDto { + /**消息类型*/ + private String type; + private String event; + /**消息内容*/ + private String content; + + public NotificationMessageDto(){ + setType("Notification"); + } + +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/message/RemindMessageDto.java b/src/main/java/com/ccsens/ptccsens/bean/message/RemindMessageDto.java new file mode 100644 index 0000000..34717e1 --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/message/RemindMessageDto.java @@ -0,0 +1,51 @@ +package com.ccsens.ptccsens.bean.message; + +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.util.WebConstant; +import com.ccsens.util.message.BaseMessageDto; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + + +/** + * @author 逗 + */ +@Data +public class RemindMessageDto { + /**消息类型*/ + private String type; + private String event; + /**消息内容*/ + private Data data; + + public RemindMessageDto(){ + setType("Remind"); + } + + @Setter + @Getter + public static class Data{ + private String projectId; + private String roleId; + private String taskId; + private String pluginId; + //日常0 定期1 + private byte taskType = 0; + private String remark; + } + + public RemindMessageDto(Long projectId,Long roleId,Long taskId,Long pluginId,Byte taskType,String remark){ + this(); + Data d = new Data(); + d.setProjectId(projectId.toString()); + d.setRoleId(roleId.toString()); + d.setTaskId(taskId.toString()); + d.setPluginId(pluginId.toString()); + d.setRemark(remark); + if(ObjectUtil.isNotNull(taskType)){ + d.setTaskType(taskType); + } + setData(d); + } +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/message/RingMessageDto.java b/src/main/java/com/ccsens/ptccsens/bean/message/RingMessageDto.java new file mode 100644 index 0000000..e67c3ec --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/message/RingMessageDto.java @@ -0,0 +1,38 @@ +package com.ccsens.ptccsens.bean.message; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * @author 逗 + */ +@Data +public class RingMessageDto { + /**消息类型*/ + private String type; + private String event; + /**消息内容*/ + private Data data; + + public RingMessageDto(){ + setType("Ring"); + } + + @Setter + @Getter + public static class Data{ + private String projectId; + private String projectName; + private String content; + } + + public RingMessageDto(Long projectId,String projectName,String content){ + this(); + Data d = new Data(); + d.setProjectId(projectId.toString()); + d.setProjectName(projectName); + d.setContent(content); + setData(d); + } +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/message/StatusMessageDto.java b/src/main/java/com/ccsens/ptccsens/bean/message/StatusMessageDto.java new file mode 100644 index 0000000..b27e50e --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/message/StatusMessageDto.java @@ -0,0 +1,35 @@ +package com.ccsens.ptccsens.bean.message; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +/** + * @author 逗 + */ +@Data +public class StatusMessageDto { + /**消息类型*/ + private String type; + private String event; + /**消息内容*/ + private Data data; + + public StatusMessageDto(){ + + } + + @Setter + @Getter + public static class Data{ + private String msgId; + } + + public StatusMessageDto(String type,Long msgId){ + this(); + this.type = type; + Data d = new Data(); + d.setMsgId(msgId.toString()); + setData(d); + } +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java index 3ce15dc..2b641ea 100644 --- a/src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java +++ b/src/main/java/com/ccsens/ptccsens/bean/vo/DeliverVo.java @@ -17,7 +17,7 @@ public class DeliverVo { @ApiModel("查询任务下的交付物信息") public static class DeliverOfTask{ @ApiModelProperty("交付物id") - private Long deliverId; + private String deliverId; @ApiModelProperty("交付物名字") private String deliverName; @ApiModelProperty("交付物提交记录id") diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java index 00b1ce8..ec1fc36 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/ProRoleDao.java @@ -66,4 +66,10 @@ public interface ProRoleDao extends ProRoleMapper { */ Integer isPmByUserId(@Param("userId")Long userId, @Param("projectId")Long projectId); + /** + * 通过分解后的任务id查询任务所属的角色信息 + * @param taskSubId 分解任务id + * @return 返回角色id + */ + List getRoleIdBySubTaskId(@Param("taskSubId")Long taskSubId); } diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java index 6213e90..a10a424 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskDetailDao.java @@ -96,4 +96,25 @@ public interface ProTaskDetailDao extends ProTaskDetailMapper { * @return 返回pwbs */ List queryPwbs( @Param("startTime")Long startTime, @Param("endTime")Long endTime, @Param("userId")Long userId, @Param("parentId")Long parentId); + + /** + * 分页查找定期任务 + * @param roleId 角色id + * @return 返回任务列表 + */ + List pageQueryRegularTask(@Param("roleId")Long roleId, @Param("timeNode")Long timeNode, @Param("timeUnit")int timeUnit, @Param("queryType")int queryType); + + /** + * 通过分解任务id查找任务关联的交付物插件id + * @param taskSubId 分解任务id + * @return 返回任务插件关联id + */ + Long getDeliverPluginIdBySubTaskId(@Param("taskSubId")Long taskSubId); + + /** + * 通过分解任务id判断任务是日常还是定期 + * @param taskSubId 分解任务id + * @return 任务状态 + */ + Byte getTaskTypeBySubTaskId(@Param("taskSubId")Long taskSubId); } diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java index ea40593..8162953 100644 --- a/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/ProTaskSubDao.java @@ -40,4 +40,13 @@ public interface ProTaskSubDao extends ProTaskSubMapper { * @param taskDetailId 任务详情id */ void deleteOldSubTask(@Param("taskDetailId") Long taskDetailId); + + /** + * 查询规定时间时进行的任务的开始时间 + * @param timeNode 时间点 + * @param roleId 角色id + * @return 返回开始时间 + */ + Long getTimeByProgressTask(@Param("timeNode")Long timeNode, @Param("roleId")Long roleId); + } diff --git a/src/main/java/com/ccsens/ptccsens/service/DeliverService.java b/src/main/java/com/ccsens/ptccsens/service/DeliverService.java index ddc5a22..53dfebd 100644 --- a/src/main/java/com/ccsens/ptccsens/service/DeliverService.java +++ b/src/main/java/com/ccsens/ptccsens/service/DeliverService.java @@ -4,6 +4,9 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import com.ccsens.ptccsens.bean.dto.DeliverDto; +import com.ccsens.ptccsens.bean.message.NotificationMessageDto; +import com.ccsens.ptccsens.bean.message.RemindMessageDto; +import com.ccsens.ptccsens.bean.message.StatusMessageDto; import com.ccsens.ptccsens.bean.po.*; import com.ccsens.ptccsens.bean.vo.DeliverVo; import com.ccsens.ptccsens.persist.dao.*; @@ -12,14 +15,19 @@ import com.ccsens.ptccsens.persist.mapper.PluDeliverRecordCheckMapper; import com.ccsens.ptccsens.persist.mapper.PluDeliverRecordFileMapper; import com.ccsens.ptccsens.persist.mapper.PluDeliverRecordMapper; import com.ccsens.ptccsens.util.BasicsCodeError; +import com.ccsens.util.bean.message.common.MessageConstant; import com.ccsens.util.exception.BaseException; +import com.ccsensptos.tallsdk.util.MessageUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * @author AUSU @@ -34,12 +42,18 @@ public class DeliverService implements IDeliverService { @Resource private ProTaskSubDao taskSubDao; @Resource + private ProTaskDetailDao proTaskDetailDao; + @Resource private ProDeliverDao deliverDao; @Resource private ProRoleTaskDao roleTaskDao; @Resource private ProRoleMemberDao roleMemberDao; @Resource + private ProRoleDao proRoleDao; + @Resource + private ProMemberDao proMemberDao; + @Resource private Snowflake snowflake; @Resource private PluDeliverDao pluDeliverDao; @@ -76,6 +90,7 @@ public class DeliverService implements IDeliverService { pluDeliver.setName(param.getDeliverName()); pluDeliverDao.insertSelective(pluDeliver); } + //TODO 发送消息 } @@ -114,13 +129,35 @@ public class DeliverService implements IDeliverService { }); } //添加检查人信息 + List phoneList = new ArrayList<>(); if(CollectionUtil.isNotEmpty(param.getCheckerList())){ param.getCheckerList().forEach(checkerId ->{ - PluDeliverRecordCheck recordCheck = new PluDeliverRecordCheck(); - recordCheck.setId(snowflake.nextId()); - recordCheck.setCheckerId(checkerId); - recordCheck.setDeliverRecordId(deliverRecord.getId()); - deliverRecordCheckMapper.insertSelective(recordCheck); + //查询检查人的成员信息 + ProMember proMember = proMemberDao.selectByPrimaryKey(checkerId); + if(ObjectUtil.isNotNull(proMember)){ + phoneList.add(proMember.getPhone()); + + PluDeliverRecordCheck recordCheck = new PluDeliverRecordCheck(); + recordCheck.setId(snowflake.nextId()); + recordCheck.setCheckerId(checkerId); + recordCheck.setDeliverRecordId(deliverRecord.getId()); + deliverRecordCheckMapper.insertSelective(recordCheck); + } + }); + } + //----------------消息------------------------ + //获取任务的角色信息 + List roleIdList = proRoleDao.getRoleIdBySubTaskId(pluDeliver.getTaskSubId()); + //查询任务是定期还是日常 + Byte taskType = proTaskDetailDao.getTaskTypeBySubTaskId(pluDeliver.getTaskSubId()); + //查询当前任务的交付物插件id + Long pluginId = proTaskDetailDao.getDeliverPluginIdBySubTaskId(pluDeliver.getTaskSubId()); + if(CollectionUtil.isNotEmpty(roleIdList)){ + roleIdList.forEach(roleId -> { + //生成消息内容 + RemindMessageDto remindMessageDto = new RemindMessageDto(param.getProjectId(),roleId,pluDeliver.getTaskSubId(),pluginId,taskType,"提交交付物"); + //TODO 发送消息 + MessageUtil.sendToUser(phoneList,null,remindMessageDto); }); } } @@ -154,6 +191,38 @@ public class DeliverService implements IDeliverService { checkLog.setScore(param.getScore()); checkLog.setTime(System.currentTimeMillis()); checkLogMapper.insertSelective(checkLog); + //----------------消息------------------------ + //获取提交人的userId + List userIdList = new ArrayList<>(); + ProMember proMember = proMemberDao.selectByPrimaryKey(deliverRecord.getMemberId()); + if(ObjectUtil.isNotNull(proMember)){ + userIdList.add(proMember.getPhone()); + } + NotificationMessageDto remindMessageDto = new NotificationMessageDto(); + remindMessageDto.setContent("XXX交付物检查"); + //TODO 发送消息(暂定是通知) + MessageUtil.sendToUser(userIdList,null,remindMessageDto); +// //查找交付物信息 +// PluDeliver pluDeliver = pluDeliverDao.selectByPrimaryKey(deliverRecord.getDeliverId()); +// //获取任务的角色信息 +// List roleIdList = proRoleDao.getRoleIdBySubTaskId(pluDeliver.getTaskSubId()); +// //查询当前任务的交付物插件id +// Long pluginId = proTaskDetailDao.getDeliverPluginIdBySubTaskId(pluDeliver.getTaskSubId()); +// if(CollectionUtil.isNotEmpty(roleIdList)){ +// roleIdList.forEach(roleId -> { +// //生成消息内容 +// NotificationMessageDto remindMessageDto = new NotificationMessageDto(); +// remindMessageDto.setContent("XXX交付物检查"); +// //TODO 发送消息(暂定是通知) +// MessageUtil.sendToUser(userIdSet,remindMessageDto); +// }); +// } + + //TODO 修改消息状态(已处理) + if(ObjectUtil.isNotNull(param.getMsgId())){ + StatusMessageDto statusMessageDto = new StatusMessageDto(MessageConstant.ClientMessageType.SetMsgSuccess.name(),param.getMsgId()); + MessageUtil.sendToUser(userIdList,null,statusMessageDto); + } } @Override diff --git a/src/main/java/com/ccsens/ptccsens/service/TallService.java b/src/main/java/com/ccsens/ptccsens/service/TallService.java index 9c48a28..1b6af59 100644 --- a/src/main/java/com/ccsens/ptccsens/service/TallService.java +++ b/src/main/java/com/ccsens/ptccsens/service/TallService.java @@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.ccsens.ptccsens.bean.dto.FinanceDto; import com.ccsens.ptccsens.bean.po.ProRole; +import com.ccsens.ptccsens.bean.po.ProTaskSub; import com.ccsens.ptccsens.bean.po.ProUser; import com.ccsens.ptccsens.bean.vo.DeliverVo; import com.ccsens.ptccsens.bean.vo.FinanceVo; @@ -29,6 +30,8 @@ import com.ccsensptos.tallsdk.bean.vo.TallTaskVo; import com.ccsensptos.tallsdk.bean.vo.TallTokenVo; import com.ccsensptos.tallsdk.service.ITallService; import com.ccsensptos.tallsdk.util.TokenUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -55,6 +58,8 @@ public class TallService implements ITallService { @Resource private ProTaskDetailDao taskDetailDao; @Resource + private ProTaskSubDao proTaskSubDao; + @Resource private ProRoleDao roleDao; @Resource private ProMemberDao memberDao; @@ -248,14 +253,19 @@ public class TallService implements ITallService { @Override public List queryPermanentGlobalTask(String token, TallTaskDto.QueryPermanentGlobalTask param) { - //TODO 通过token向tall获取用户信息, -// Long userId = null; -// -// //查找当前角色是否有查看权限 -// Boolean isLook = queryRoleIsLook(param.getRoleId(), userId); -// if (BooleanUtil.isFalse(isLook)) { -// throw new BaseException(CodeEnum.NO_POWER); -// } + TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET)); + if(ObjectUtil.isNull(userByToken)){ + throw new BaseException(CodeEnum.NOT_LOGIN); + } + //通过手机号获取用户在服务内的userId + ProUser user = new ProUser(); + if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ + user = userDao.getUserIdByPhone(userByToken.getPhone()); + } + if(user == null){ + throw new BaseException(CodeEnum.NOT_LOGIN); + } + List roleIds = new ArrayList<>(); roleIds.add(param.getRoleId()); @@ -264,19 +274,27 @@ public class TallService implements ITallService { queryPluginForTask(permanentGlobalTask); //查询任务下的检查人 queryCheckerOfTask(permanentGlobalTask); + + //TODO 查询插件展示信息 + queryPluginShow(permanentGlobalTask,user.getId()); return permanentGlobalTask; } @Override public List queryGlobalTask(String token, TallTaskDto.QueryGlobalTask param) { -// //TODO 通过token向tall获取用户信息, -// Long userId = null; -// -// //查找当前角色是否有查看权限 -// Boolean isLook = queryRoleIsLook(param.getRoleId(), userId); -// if (BooleanUtil.isFalse(isLook)) { -// throw new BaseException(CodeEnum.NO_POWER); -// } + TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET)); + if(ObjectUtil.isNull(userByToken)){ + throw new BaseException(CodeEnum.NOT_LOGIN); + } + //通过手机号获取用户在服务内的userId + ProUser user = new ProUser(); + if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ + user = userDao.getUserIdByPhone(userByToken.getPhone()); + } + if(user == null){ + throw new BaseException(CodeEnum.NOT_LOGIN); + } + List roleIds = new ArrayList<>(); roleIds.add(param.getRoleId()); //查询当前角色是否项目经理 @@ -284,6 +302,9 @@ public class TallService implements ITallService { queryPluginForTask(globalTask); //查询任务下的检查人 queryCheckerOfTask(globalTask); + + //TODO 查询插件展示信息 + queryPluginShow(globalTask,user.getId()); return globalTask; } @@ -480,7 +501,7 @@ public class TallService implements ITallService { /** * 查看定期任务和任务下的插件展示信息 - * @param header token + * @param token token * @param param 查询条件 * @return 返回任务列表和对应的插件展示信息 */ @@ -536,6 +557,8 @@ public class TallService implements ITallService { queryPluginForTask(replenishTask); //查询任务下的检查人 queryCheckerOfTask(replenishTask); + //TODO 查询插件展示信息 + queryPluginShow(regularTask,user.getId()); return replenishTask; } queryPluginForTask(regularTask); @@ -573,6 +596,66 @@ public class TallService implements ITallService { }); } } + } + + @Override + public PageInfo pageQueryRegularTask(String token, TallTaskDto.PageQueryRegularTask param) { + //TODO 根据token获取用户信息 + TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET)); + if(ObjectUtil.isNull(userByToken)){ + throw new BaseException(CodeEnum.NOT_LOGIN); + } + //通过手机号获取用户在服务内的userId + ProUser user = new ProUser(); + if(ObjectUtil.isNotNull(userByToken) && StrUtil.isNotBlank(userByToken.getPhone())){ + user = userDao.getUserIdByPhone(userByToken.getPhone()); + } + if(user == null){ + throw new BaseException(CodeEnum.NOT_LOGIN); + } + //查询用的时间 + Long queryTime = System.currentTimeMillis(); + + if(ObjectUtil.isNotNull(param.getTaskId())){ + //根据任务id查找任务,以任务的开始时间当做查询的时间点 + ProTaskSub proTaskSub = proTaskSubDao.selectByPrimaryKey(param.getTaskId()); + if(ObjectUtil.isNotNull(proTaskSub) && proTaskSub.getPlanStartTime() != 0L){ + queryTime = proTaskSub.getPlanStartTime(); + } + }else { + if(ObjectUtil.isNotNull(param.getTimeNode())){ + //没有任务id则根据时间基准线查询当前正在进行的任务(如果多个则选择时间最早的一个) + Long startTime = proTaskSubDao.getTimeByProgressTask(param.getTimeNode(),param.getRoleId()); + if(ObjectUtil.isNotNull(startTime)){ + queryTime = startTime; + } + }else { + //如果没有时间基准线则按当前时间查询查询任务 + Long startTime = proTaskSubDao.getTimeByProgressTask(System.currentTimeMillis(),param.getRoleId()); + if(ObjectUtil.isNotNull(startTime)){ + queryTime = startTime; + } + } + } + + //获取任务列表 + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + List regularTask = taskDetailDao.pageQueryRegularTask(param.getRoleId(),queryTime,param.getTimeUnit(),param.getQueryType()); + if(param.getQueryType() == 0){ + //向上查找任务顺序是倒的,需要改成正序 + List taskList = new ArrayList<>(); + for (int i = regularTask.size() - 1; i >= 0; i--) { + taskList.add(regularTask.get(i)); + } + regularTask = taskList; + } + //查询任务下的插件 + queryPluginForTask(regularTask); + //查询任务下的检查人 + queryCheckerOfTask(regularTask); + //TODO 查询插件展示信息 + queryPluginShow(regularTask,user.getId()); + return new PageInfo<>(regularTask); } } diff --git a/src/main/resources/mapper_dao/ProRoleDao.xml b/src/main/resources/mapper_dao/ProRoleDao.xml index c8afc47..3f768fe 100644 --- a/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/src/main/resources/mapper_dao/ProRoleDao.xml @@ -120,4 +120,18 @@ and r.rec_status = 0 and l.rec_status = 0 + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/ProTaskDetailDao.xml b/src/main/resources/mapper_dao/ProTaskDetailDao.xml index 0ce58e8..5c321d8 100644 --- a/src/main/resources/mapper_dao/ProTaskDetailDao.xml +++ b/src/main/resources/mapper_dao/ProTaskDetailDao.xml @@ -434,4 +434,107 @@ and s.plan_start_time <= #{endTime} and s.plan_end_time >= #{startTime} + + + \ No newline at end of file diff --git a/src/main/resources/mapper_dao/ProTaskSubDao.xml b/src/main/resources/mapper_dao/ProTaskSubDao.xml index 066c824..54ff8bd 100644 --- a/src/main/resources/mapper_dao/ProTaskSubDao.xml +++ b/src/main/resources/mapper_dao/ProTaskSubDao.xml @@ -59,5 +59,24 @@ AND s.plan_start_time >= #{planTime} LIMIT 1 + \ No newline at end of file