diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java index 2d44b92c..099f2890 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java @@ -100,5 +100,26 @@ public class InputDocDto { private String remark; } + @Data + @ApiModel("根据任务id查询文档上传记录") + public static class FindDocRecordByTask{ + @NotNull(message = "请选择任务") + @ApiModelProperty("任务详情id") + private Long taskId; + @ApiModelProperty("页码") + private Integer pageNum = 1; + @ApiModelProperty("分页大小") + private Integer PageSize = 10; + + } + + @Data + @ApiModel("删除输入文档下所有的文件") + public static class DelAllRecordOfTask{ + @NotNull(message = "请选择输入文档") + @ApiModelProperty("输入文档id") + private Long docId; + } + } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysOperation.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysOperation.java index 5a9bca1c..3fcceaee 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysOperation.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysOperation.java @@ -20,6 +20,8 @@ public class SysOperation implements Serializable { private Byte recStatus; + private Long taskDetailId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -86,6 +88,14 @@ public class SysOperation implements Serializable { this.recStatus = recStatus; } + public Long getTaskDetailId() { + return taskDetailId; + } + + public void setTaskDetailId(Long taskDetailId) { + this.taskDetailId = taskDetailId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -100,6 +110,7 @@ public class SysOperation implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", taskDetailId=").append(taskDetailId); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysOperationExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysOperationExample.java index d37f5397..fe396c2d 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysOperationExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysOperationExample.java @@ -584,6 +584,66 @@ public class SysOperationExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andTaskDetailIdIsNull() { + addCriterion("task_detail_id is null"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdIsNotNull() { + addCriterion("task_detail_id is not null"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdEqualTo(Long value) { + addCriterion("task_detail_id =", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdNotEqualTo(Long value) { + addCriterion("task_detail_id <>", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdGreaterThan(Long value) { + addCriterion("task_detail_id >", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdGreaterThanOrEqualTo(Long value) { + addCriterion("task_detail_id >=", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdLessThan(Long value) { + addCriterion("task_detail_id <", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdLessThanOrEqualTo(Long value) { + addCriterion("task_detail_id <=", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdIn(List values) { + addCriterion("task_detail_id in", values, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdNotIn(List values) { + addCriterion("task_detail_id not in", values, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdBetween(Long value1, Long value2) { + addCriterion("task_detail_id between", value1, value2, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdNotBetween(Long value1, Long value2) { + addCriterion("task_detail_id not between", value1, value2, "taskDetailId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java index 89d5ffb1..fe7cbb96 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java @@ -1,11 +1,13 @@ package com.ccsens.tall.bean.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -62,5 +64,18 @@ public class InputDocVo { private String status; } + @Data + @ApiModel("根据任务id查看输入输出文档记录") + public static class DocRecordOfTask{ + @JsonIgnore + @ApiModelProperty("消息操作ID") + private Long operationId; + @JsonFormat(pattern="yyyy-MM-dd HH:mm") + @ApiModelProperty("发送时间") + private Date createTime; + @ApiModelProperty("文件名称") + List messages; + } + } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java index 2c2dc6f1..efe3218f 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java @@ -222,8 +222,8 @@ public class MessageVo { * @param taskName * @return */ - public static Inform uploadForDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName) { - MessageVo.Inform inform = new MessageVo.Inform(projectId, userId); + public static Inform uploadForDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId) { + MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId); inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId))) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)) @@ -240,8 +240,8 @@ public class MessageVo { * @param taskName * @return */ - public static Inform delDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName) { - MessageVo.Inform inform = new MessageVo.Inform(projectId, userId); + public static Inform delDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId) { + MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId); inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId))) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)) @@ -258,8 +258,8 @@ public class MessageVo { * @param taskName * @return */ - public static Inform updateDocRemarkComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName) { - MessageVo.Inform inform = new MessageVo.Inform(projectId, userId); + public static Inform updateDocRemarkComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId) { + MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId); inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId))) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)) diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java index ca3fe9e5..fa532290 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java @@ -17,6 +17,7 @@ public interface ProRoleDao extends ProRoleMapper{ List selectFirstRoleByProjectIdAndUserId(@Param("projectId") Long projectId, @Param("userId") Long userId); List selectSecondRolesByProjectId(@Param("projectId") Long projectId); + List selectSecondRolesShowByProjectId(@Param("projectId") Long projectId); List selectCareLessRoleByProjectIdAndUserId(@Param("projectId") Long projectId, @Param("userId") Long currentUserId); @@ -85,6 +86,13 @@ public interface ProRoleDao extends ProRoleMapper{ */ List queryRoleShowslistBefore(Long projectId, List listBeforeId); + /** + * 根据角色id查询要展示的角色 + * @param projectId + * @return + */ + List selectSecondRolesShowByRoleId(@Param("projectId") Long projectId,@Param("roleIdList") List roleIdList); + // /** // * 查找项目下的所有成员的名字用“,”分隔 // * @param projectId 项目id diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationDao.java index c63a9009..83968aea 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationDao.java @@ -1,6 +1,8 @@ package com.ccsens.tall.persist.dao; import com.ccsens.tall.bean.dto.ProjectMessageDto; +import com.ccsens.tall.bean.po.SysOperation; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.MessageVo; import com.ccsens.tall.bean.vo.ProjectMessageVo; import com.ccsens.tall.persist.mapper.SysOperationMapper; @@ -39,4 +41,11 @@ public interface SysOperationDao extends SysOperationMapper { * @return */ List queryProjectMsg(ProjectMessageDto.ProjectMsg param); + + /** + * 查询任务下的输入输入文档消息id + * @param taskId + * @return + */ + List findMessageByOperate(Long taskId); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationMessageDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationMessageDao.java new file mode 100644 index 00000000..5f3c02e3 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationMessageDao.java @@ -0,0 +1,19 @@ +package com.ccsens.tall.persist.dao; + +import com.ccsens.tall.bean.vo.MessageVo; +import com.ccsens.tall.persist.mapper.SysOperationMessageMapper; + +import java.util.List; + +/** + * @author mz + */ +public interface SysOperationMessageDao extends SysOperationMessageMapper { + + /** + * 查看消息内容 + * @param operationId 操作id + * @return + */ + List selectContentByOpId(Long operationId); +} diff --git a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java index 4cf55dde..2d769a92 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java @@ -6,6 +6,8 @@ import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LwbsVo; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageInfo; import java.util.List; @@ -83,4 +85,17 @@ public interface IInputDocService { * @param param */ void updateDocOfRemark(InputDocDto.UpdateDocOfRemark param,Long userId) throws Exception; + + /** + * 查询历史记录(根据任务id) + * @param param + * @return + */ + PageInfo findDocRecordByTask(InputDocDto.FindDocRecordByTask param); + + /** + * 删除输入文档下所有的文件 + * @param param 输入文档id + */ + void delAllRecordOfTask(InputDocDto.DelAllRecordOfTask param); } diff --git a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java index 1991bc15..8d8e1ae7 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -13,13 +13,8 @@ import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LwbsDto; import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.FileVo; -import com.ccsens.tall.bean.vo.InputDocVo; -import com.ccsens.tall.bean.vo.LwbsVo; -import com.ccsens.tall.bean.vo.TaskVo; -import com.ccsens.tall.persist.dao.IInputDocDao; -import com.ccsens.tall.persist.dao.TaskDetailDao; -import com.ccsens.tall.persist.dao.TaskSubTimeDao; +import com.ccsens.tall.bean.vo.*; +import com.ccsens.tall.persist.dao.*; import com.ccsens.tall.persist.mapper.*; import com.ccsens.tall.util.TaskUtil; @@ -29,6 +24,9 @@ import com.ccsens.util.JsonResponse; import com.ccsens.util.PropUtil; import com.ccsens.util.RestTemplateUtil; import com.ccsens.util.exception.BaseException; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -61,6 +59,10 @@ public class InputDocService implements IInputDocService { private RobotService robotService; @Resource private ProTaskDetailMapper proTaskDetailMapper; + @Resource + private SysOperationDao sysOperationDao; + @Resource + private SysOperationMessageDao sysOperationMessageDao; @@ -259,7 +261,7 @@ public class InputDocService implements IInputDocService { } //如果备注信息不为空 - if (!StrUtil.isBlank(param.getRemark())){ + if (!StrUtil.isBlank(param.getRemark()) && ArrayUtil.isEmpty(param.getFileIds())){ ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); proTaskInputRecord.setInputDocId(param.getDocId()); proTaskInputRecord.setStatus((byte)1); @@ -393,6 +395,12 @@ public class InputDocService implements IInputDocService { public void delDocOfFile(InputDocDto.DeleteDocOfFile param,Long userId) throws Exception{ //查看该输入文档下是否还有正在使用的文件 ProTaskInputRecord proTaskInputRecord = proTaskInputRecordMapper.selectByPrimaryKey(param.getRecordId()); + if (ObjectUtil.isNull(proTaskInputRecord)){ + throw new BaseException(CodeEnum.FILE_NOT_FOUND); + } + //查出文档信息找到任务信息 + ProTaskInputDoc doc = proTaskInputDocMapper.selectByPrimaryKey(proTaskInputRecord.getInputDocId()); + //删除输入文档中的文件 ProTaskInputRecord record = new ProTaskInputRecord(); @@ -401,7 +409,7 @@ public class InputDocService implements IInputDocService { proTaskInputRecordMapper.updateByPrimaryKeySelective(record); ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); - proTaskInputRecordExample.createCriteria().andRecStatusEqualTo((byte)1) + proTaskInputRecordExample.createCriteria().andRecStatusEqualTo((byte)0) .andInputDocIdEqualTo(proTaskInputRecord.getInputDocId()); List proTaskInputRecords = proTaskInputRecordMapper.selectByExample(proTaskInputRecordExample); //如果没有将输入文档状态改为未上传 @@ -413,7 +421,6 @@ public class InputDocService implements IInputDocService { } //TODO 发送消息 - ProTaskInputDoc doc = proTaskInputDocMapper.selectByPrimaryKey(record.getInputDocId()); ProTaskDetail taskDetail = proTaskDetailMapper.selectByPrimaryKey(doc.getTaskDetailId()); if (ObjectUtil.isNotNull(taskDetail)){ robotService.delDocRobotSend(userId,taskDetail,doc.getName()); @@ -435,11 +442,53 @@ public class InputDocService implements IInputDocService { proTaskInputRecordMapper.updateByPrimaryKeySelective(record); //TODO 发送消息 - ProTaskInputDoc doc = proTaskInputDocMapper.selectByPrimaryKey(record.getInputDocId()); + ProTaskInputRecord inputRecord = proTaskInputRecordMapper.selectByPrimaryKey(record.getId()); + if (ObjectUtil.isNull(inputRecord)){ + throw new BaseException(CodeEnum.FILE_NOT_FOUND); + } + ProTaskInputDoc doc = proTaskInputDocMapper.selectByPrimaryKey(inputRecord.getInputDocId()); ProTaskDetail taskDetail = proTaskDetailMapper.selectByPrimaryKey(doc.getTaskDetailId()); if (ObjectUtil.isNotNull(taskDetail)){ robotService.updateRemarkRobotSend(userId,taskDetail,doc.getName()); } } + /** + * 查询历史记录(根据任务id) + * @param param + * @return + */ + @Override + public PageInfo findDocRecordByTask(InputDocDto.FindDocRecordByTask param) { + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + + List sysOperations = sysOperationDao.findMessageByOperate(param.getTaskId()); + sysOperations.forEach(sysOperation -> { + List sysOperationMessages = sysOperationMessageDao.selectContentByOpId(sysOperation.getOperationId()); + sysOperation.setMessages(sysOperationMessages); + }); + + return new PageInfo<>(sysOperations); + } + + /** + * 删除输入文档下所有的文件 + * @param param 输入文档id + */ + @Override + public void delAllRecordOfTask(InputDocDto.DelAllRecordOfTask param) { + ProTaskInputRecordExample example = new ProTaskInputRecordExample(); + example.createCriteria().andInputDocIdEqualTo(param.getDocId()).andRecStatusEqualTo((byte)0); + List records = proTaskInputRecordMapper.selectByExample(example); + if (ObjectUtil.isNotNull(records)){ + ProTaskInputRecordExample example2 = new ProTaskInputRecordExample(); + example2.createCriteria().andInputDocIdEqualTo(param.getDocId()); + ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); + proTaskInputRecord.setRecStatus((byte)2); + proTaskInputRecordMapper.updateByExampleSelective(proTaskInputRecord,example2); + } + //TODO 文档 改回未上传状态 + + } + } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 85c5fea4..0d8ae289 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -254,7 +254,7 @@ public class ProRoleService implements IProRoleService { @Override public List getRealMemberRolesShowByProjectId(Long projectId,Long userId) { //返回的对象 - List memberRoleList = null; + List memberRoleList; //先从userid和项目id获取当前用户的成员id,查看role-show里面是否有这个成员的数据 ProMemberExample proMemberExample=new ProMemberExample(); @@ -290,8 +290,8 @@ public class ProRoleService implements IProRoleService { proMemberRoleShowMapper.insertSelective(proMemberRoleShow); }); } + //这里插入项目经理 - //查一下项目经理的角色id, ProRoleExample proRoleExample=new ProRoleExample(); proRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andNameEqualTo(WebConstant.ROLE_NAME.PM.value).andParentIdEqualTo(0L).andProjectIdEqualTo(projectId); @@ -313,7 +313,7 @@ public class ProRoleService implements IProRoleService { //判断该成员是不是项目经理 ProMemberRoleExample proMemberRoleExample1=new ProMemberRoleExample(); - proMemberRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andMemberIdEqualTo(memberId).andRoleIdEqualTo(jili1.get(0)); + proMemberRoleExample1.createCriteria().andRecStatusEqualTo((byte)0).andMemberIdEqualTo(memberId).andRoleIdEqualTo(jili1.get(0)); List proMemberRoles1 = proMemberRoleMapper.selectByExample(proMemberRoleExample1); if(CollectionUtil.isEmpty(proMemberRoles1)){ isPm[0]=false; @@ -353,8 +353,18 @@ public class ProRoleService implements IProRoleService { } } } -// //查询二级角色 -// memberRoleList = proRoleDao.selectSecondRolesShowByProjectId(projectId); + + //查看角色展示列表中是否有数据 + ProMemberRoleShowExample proMemberRoleShowExampleNew=new ProMemberRoleShowExample(); + proMemberRoleShowExampleNew.createCriteria().andMemberIdEqualTo(memberId); + List proMemberRoleShowsNew = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExampleNew); + + List roleIds = new ArrayList<>(); + for (ProMemberRoleShow roleShow : proMemberRoleShowsNew) { + roleIds.add(roleShow.getRoleId()); + } + //查询二级角色 + memberRoleList = proRoleDao.selectSecondRolesShowByRoleId(projectId,roleIds); //在show表查找可见的角色 return memberRoleList; diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectMessageService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectMessageService.java index 683c5981..7d2758e5 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectMessageService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectMessageService.java @@ -197,6 +197,7 @@ public class ProjectMessageService implements IProjectMessageService { operation.setProjectId(inform.getProjectId()); operation.setOperatorId(inform.getOperatorId()); operation.setOperateType((byte)operateType.value()); + operation.setTaskDetailId(inform.getTaskId()); log.info("保存操作记录:{}", operation); sysOperationDao.insertSelective(operation); // 操作内容 diff --git a/tall/src/main/java/com/ccsens/tall/service/RobotService.java b/tall/src/main/java/com/ccsens/tall/service/RobotService.java index c7214d01..10474ee1 100644 --- a/tall/src/main/java/com/ccsens/tall/service/RobotService.java +++ b/tall/src/main/java/com/ccsens/tall/service/RobotService.java @@ -413,7 +413,7 @@ public class RobotService implements IRobotService{ } RobotUtil.setRobotMessage(message); - MessageVo.Inform inform = MessageVo.uploadForDocComment(currentUserId, userName, project.getId(), project.getName(), task.getName(),deliverable); + MessageVo.Inform inform = MessageVo.uploadForDocComment(currentUserId, userName, project.getId(), project.getName(), task.getName(),deliverable,task.getId()); RobotUtil.setInform(inform); // 添加wx消息通知 RobotUtil.setWxTemplate(WxTemplateUtil.uploadFileForDoc(project.getId(), userName,project.getName(),task.getName(),deliverable)); @@ -450,7 +450,7 @@ public class RobotService implements IRobotService{ } RobotUtil.setRobotMessage(message); - MessageVo.Inform inform = MessageVo.delDocComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name); + MessageVo.Inform inform = MessageVo.delDocComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name,taskDetail.getId()); RobotUtil.setInform(inform); // 添加wx消息通知 RobotUtil.setWxTemplate(WxTemplateUtil.delFileForDoc(project.getId(), userName,project.getName(),taskDetail.getName(),name)); @@ -487,7 +487,7 @@ public class RobotService implements IRobotService{ } RobotUtil.setRobotMessage(message); - MessageVo.Inform inform = MessageVo.updateDocRemarkComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name); + MessageVo.Inform inform = MessageVo.updateDocRemarkComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name,taskDetail.getId()); RobotUtil.setInform(inform); // 添加wx消息通知 RobotUtil.setWxTemplate(WxTemplateUtil.updateDocRemark(project.getId(), userName,project.getName(),taskDetail.getName(),name)); diff --git a/tall/src/main/java/com/ccsens/tall/util/RobotUtil.java b/tall/src/main/java/com/ccsens/tall/util/RobotUtil.java index db391727..0b53d544 100644 --- a/tall/src/main/java/com/ccsens/tall/util/RobotUtil.java +++ b/tall/src/main/java/com/ccsens/tall/util/RobotUtil.java @@ -24,11 +24,13 @@ public class RobotUtil { private List mentionedMobileList = new ArrayList<>(); private boolean isAtAll = false; private Long projectId; + private Long taskId; private List params = new ArrayList<>(); public Message(){ } + public Message(String msgType,Long projectId){ this.msgType = msgType; this.projectId = projectId; diff --git a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java index f6c9800d..556bd62e 100644 --- a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java +++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java @@ -11,6 +11,8 @@ import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; import com.ccsens.util.annotation.OperateType; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageInfo; import io.jsonwebtoken.Claims; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -69,7 +71,7 @@ public class InputDocController { @MustLoginTall @ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录") @RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse viewDocHistory(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse> viewDocHistory(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查看文档上传历史记录:{}",params); List historyRecords = iInputDocService.viewDocHistory(params.getParam()); log.info("查看文档上传历史记录"); @@ -128,4 +130,24 @@ public class InputDocController { return JsonResponse.newInstance().ok(); } + @MustLoginTall + @ApiOperation(value = "查询历史记录(根据任务id)", notes = "1007:查询输入文档上传记录") + @RequestMapping(value = "/docRecordByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> findDocRecordByTask(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询输入文档上传记录:{}",params); + PageInfo docRecordByTask = iInputDocService.findDocRecordByTask(params.getParam()); + log.info("查询输入文档上传记录"); + return JsonResponse.newInstance().ok(docRecordByTask); + } + + @MustLoginTall + @ApiOperation(value = "删除输入文档下所有的文件", notes = "1007:删除输入文档下所有的文件") + @RequestMapping(value = "/delAllRecordOfTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delAllRecordOfTask(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除输入文档下所有的文件:{}",params); + iInputDocService.delAllRecordOfTask(params.getParam()); + log.info("删除输入文档下所有的文件"); + return JsonResponse.newInstance().ok(); + } + } diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index 3624e021..753292ee 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -124,6 +124,40 @@ AND (m.rec_status = 0 or m.rec_status is null) + + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysOperationMessageDao.xml b/tall/src/main/resources/mapper_dao/SysOperationMessageDao.xml new file mode 100644 index 00000000..2d178cc9 --- /dev/null +++ b/tall/src/main/resources/mapper_dao/SysOperationMessageDao.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/SysOperationMapper.xml b/tall/src/main/resources/mapper_raw/SysOperationMapper.xml index bc28230a..2f541658 100644 --- a/tall/src/main/resources/mapper_raw/SysOperationMapper.xml +++ b/tall/src/main/resources/mapper_raw/SysOperationMapper.xml @@ -10,6 +10,7 @@ + @@ -71,7 +72,7 @@ id, operator_id, project_id, operate_type, operation_time, created_at, updated_at, - rec_status + rec_status, task_detail_id @@ -199,6 +208,9 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + task_detail_id = #{record.taskDetailId,jdbcType=BIGINT}, + @@ -213,7 +225,8 @@ operation_time = #{record.operationTime,jdbcType=BIGINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + task_detail_id = #{record.taskDetailId,jdbcType=BIGINT} @@ -242,6 +255,9 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + task_detail_id = #{taskDetailId,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -253,7 +269,8 @@ operation_time = #{operationTime,jdbcType=BIGINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + task_detail_id = #{taskDetailId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file