Browse Source

Merge branch 'pt' of dd.tall.wiki:ccsens_wiki/ccsenscloud into pt

recovery
zy_Java 4 years ago
parent
commit
7f8c69063b
  1. 21
      tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java
  2. 11
      tall/src/main/java/com/ccsens/tall/bean/po/SysOperation.java
  3. 60
      tall/src/main/java/com/ccsens/tall/bean/po/SysOperationExample.java
  4. 15
      tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java
  5. 12
      tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java
  6. 8
      tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java
  7. 9
      tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationDao.java
  8. 19
      tall/src/main/java/com/ccsens/tall/persist/dao/SysOperationMessageDao.java
  9. 15
      tall/src/main/java/com/ccsens/tall/service/IInputDocService.java
  10. 71
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  11. 20
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  12. 1
      tall/src/main/java/com/ccsens/tall/service/ProjectMessageService.java
  13. 6
      tall/src/main/java/com/ccsens/tall/service/RobotService.java
  14. 2
      tall/src/main/java/com/ccsens/tall/util/RobotUtil.java
  15. 24
      tall/src/main/java/com/ccsens/tall/web/InputDocController.java
  16. 34
      tall/src/main/resources/mapper_dao/ProRoleDao.xml
  17. 13
      tall/src/main/resources/mapper_dao/SysOperationDao.xml
  18. 18
      tall/src/main/resources/mapper_dao/SysOperationMessageDao.xml
  19. 27
      tall/src/main/resources/mapper_raw/SysOperationMapper.xml

21
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;
}
}

11
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();
}

60
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<Long> values) {
addCriterion("task_detail_id in", values, "taskDetailId");
return (Criteria) this;
}
public Criteria andTaskDetailIdNotIn(List<Long> 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 {

15
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<MessageVo.Message> messages;
}
}

12
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))

8
tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java

@ -17,6 +17,7 @@ public interface ProRoleDao extends ProRoleMapper{
List<ProRole> selectFirstRoleByProjectIdAndUserId(@Param("projectId") Long projectId, @Param("userId") Long userId);
List<ProjectVo.RoleInfo> selectSecondRolesByProjectId(@Param("projectId") Long projectId);
List<ProjectVo.RoleInfo> selectSecondRolesShowByProjectId(@Param("projectId") Long projectId);
List<Long> selectCareLessRoleByProjectIdAndUserId(@Param("projectId") Long projectId, @Param("userId") Long currentUserId);
@ -85,6 +86,13 @@ public interface ProRoleDao extends ProRoleMapper{
*/
List<RoleVo.JueSeByProId> queryRoleShowslistBefore(Long projectId, List<Long> listBeforeId);
/**
* 根据角色id查询要展示的角色
* @param projectId
* @return
*/
List<ProjectVo.RoleInfo> selectSecondRolesShowByRoleId(@Param("projectId") Long projectId,@Param("roleIdList") List<Long> roleIdList);
// /**
// * 查找项目下的所有成员的名字用“,”分隔
// * @param projectId 项目id

9
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<ProjectMessageVo.ProjectMsg> queryProjectMsg(ProjectMessageDto.ProjectMsg param);
/**
* 查询任务下的输入输入文档消息id
* @param taskId
* @return
*/
List<InputDocVo.DocRecordOfTask> findMessageByOperate(Long taskId);
}

19
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<MessageVo.Message> selectContentByOpId(Long operationId);
}

15
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<InputDocVo.DocRecordOfTask> findDocRecordByTask(InputDocDto.FindDocRecordByTask param);
/**
* 删除输入文档下所有的文件
* @param param 输入文档id
*/
void delAllRecordOfTask(InputDocDto.DelAllRecordOfTask param);
}

71
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<ProTaskInputRecord> 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<InputDocVo.DocRecordOfTask> findDocRecordByTask(InputDocDto.FindDocRecordByTask param) {
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<InputDocVo.DocRecordOfTask> sysOperations = sysOperationDao.findMessageByOperate(param.getTaskId());
sysOperations.forEach(sysOperation -> {
List<MessageVo.Message> 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<ProTaskInputRecord> 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 文档 改回未上传状态
}
}

20
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -254,7 +254,7 @@ public class ProRoleService implements IProRoleService {
@Override
public List<ProjectVo.RoleInfo> getRealMemberRolesShowByProjectId(Long projectId,Long userId) {
//返回的对象
List<ProjectVo.RoleInfo> memberRoleList = null;
List<ProjectVo.RoleInfo> 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<ProMemberRole> 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<ProMemberRoleShow> proMemberRoleShowsNew = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExampleNew);
List<Long> roleIds = new ArrayList<>();
for (ProMemberRoleShow roleShow : proMemberRoleShowsNew) {
roleIds.add(roleShow.getRoleId());
}
//查询二级角色
memberRoleList = proRoleDao.selectSecondRolesShowByRoleId(projectId,roleIds);
//在show表查找可见的角色
return memberRoleList;

1
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);
// 操作内容

6
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));

2
tall/src/main/java/com/ccsens/tall/util/RobotUtil.java

@ -24,11 +24,13 @@ public class RobotUtil {
private List<String> mentionedMobileList = new ArrayList<>();
private boolean isAtAll = false;
private Long projectId;
private Long taskId;
private List<MessageVo.Message> params = new ArrayList<>();
public Message(){
}
public Message(String msgType,Long projectId){
this.msgType = msgType;
this.projectId = projectId;

24
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<InputDocDto.ViewDocHistory> params) {
public JsonResponse<List<InputDocVo.HistoryRecord>> viewDocHistory(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.ViewDocHistory> params) {
log.info("查看文档上传历史记录:{}",params);
List<InputDocVo.HistoryRecord> 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<PageInfo<InputDocVo.DocRecordOfTask>> findDocRecordByTask(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.FindDocRecordByTask> params) {
log.info("查询输入文档上传记录:{}",params);
PageInfo<InputDocVo.DocRecordOfTask> 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<InputDocDto.DelAllRecordOfTask> params) {
log.info("删除输入文档下所有的文件:{}",params);
iInputDocService.delAllRecordOfTask(params.getParam());
log.info("删除输入文档下所有的文件");
return JsonResponse.newInstance().ok();
}
}

34
tall/src/main/resources/mapper_dao/ProRoleDao.xml

@ -124,6 +124,40 @@
AND (m.rec_status = 0 or m.rec_status is null)
</select>
<select id="selectSecondRolesShowByRoleId" parameterType="java.util.Map"
resultMap="resultMap_ProRoleInfo">
select
pr.id as rId,
pr.name as rName,
pr.parent_id as parentId,
m.id as mId,
m.nickname as mName,
m.phone as mPhone,
m.user_id as mUserId,
m.stakeholder_id as stakeholderId,
if((SELECT `name` FROM t_pro_role WHERE id = pr.parent_id) = 'ProjectVirtualRole',1,0) as projectRole,
pr.relevance_project_id as relevanceProjectId,
(SELECT `name` FROM t_sys_project WHERE id = pr.relevance_project_id) as relevanceProjectName
from
t_pro_role pr LEFT JOIN t_pro_member_role_show mr ON mr.role_id = pr.id
LEFT JOIN t_pro_member m ON mr.member_id = m.id
where
pr.project_id = #{projectId}
AND
pr.id in
<foreach collection="roleIdList" item="role" separator="," open="(" close=")">
#{role}
</foreach>
and
(SELECT name FROM t_pro_role r WHERE pr.parent_id = r.id) in ('PM','Member','ProjectVirtualRole')
AND
pr.name not IN ('全体成员','观众','MVP')
AND
pr.rec_status = 0
AND (mr.rec_status = 0 or mr.rec_status is null)
AND (m.rec_status = 0 or m.rec_status is null)
</select>
<select id="selectCareLessRoleByProjectIdAndUserId" parameterType="java.util.Map"
resultType="Long">
select

13
tall/src/main/resources/mapper_dao/SysOperationDao.xml

@ -76,4 +76,17 @@
o.project_id = #{projectId}
AND o.rec_status = 0
</select>
<select id="findMessageByOperate" resultType="com.ccsens.tall.bean.vo.InputDocVo$DocRecordOfTask">
SELECT
so.id AS operationId,
so.created_at AS createTime
FROM
t_sys_operation AS so
WHERE
so.task_detail_id = #{taskId}
AND so.operate_type IN (7, 8, 9, 14, 15, 16)
AND so.rec_status = 0
ORDER BY created_at DESC
</select>
</mapper>

18
tall/src/main/resources/mapper_dao/SysOperationMessageDao.xml

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.tall.persist.dao.SysOperationMessageDao">
<select id="selectContentByOpId" resultType="com.ccsens.tall.bean.vo.MessageVo$Message">
SELECT
som.content AS content,
som.type AS type,
som.settings AS settings
FROM
t_sys_operation_message AS som
WHERE
som.operation_id = #{operationId}
ORDER BY
som.sort
</select>
</mapper>

27
tall/src/main/resources/mapper_raw/SysOperationMapper.xml

@ -10,6 +10,7 @@
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="task_detail_id" jdbcType="BIGINT" property="taskDetailId" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -71,7 +72,7 @@
</sql>
<sql id="Base_Column_List">
id, operator_id, project_id, operate_type, operation_time, created_at, updated_at,
rec_status
rec_status, task_detail_id
</sql>
<select id="selectByExample" parameterType="com.ccsens.tall.bean.po.SysOperationExample" resultMap="BaseResultMap">
select
@ -106,10 +107,12 @@
<insert id="insert" parameterType="com.ccsens.tall.bean.po.SysOperation">
insert into t_sys_operation (id, operator_id, project_id,
operate_type, operation_time, created_at,
updated_at, rec_status)
updated_at, rec_status, task_detail_id
)
values (#{id,jdbcType=BIGINT}, #{operatorId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT},
#{operateType,jdbcType=TINYINT}, #{operationTime,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{taskDetailId,jdbcType=BIGINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.tall.bean.po.SysOperation">
insert into t_sys_operation
@ -138,6 +141,9 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="taskDetailId != null">
task_detail_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -164,6 +170,9 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="taskDetailId != null">
#{taskDetailId,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.tall.bean.po.SysOperationExample" resultType="java.lang.Long">
@ -199,6 +208,9 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.taskDetailId != null">
task_detail_id = #{record.taskDetailId,jdbcType=BIGINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -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}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -242,6 +255,9 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="taskDetailId != null">
task_detail_id = #{taskDetailId,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -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}
</update>
</mapper>
Loading…
Cancel
Save