Browse Source

增加输出文档删除所有文件接口,修改文件显示

recovery
ma 4 years ago
parent
commit
8f84385c6b
  1. 20
      tall/src/main/java/com/ccsens/tall/bean/dto/DeliverDto.java
  2. 11
      tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java
  3. 39
      tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java
  4. 2
      tall/src/main/java/com/ccsens/tall/service/IRobotService.java
  5. 12
      tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java
  6. 43
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  7. 1
      tall/src/main/java/com/ccsens/tall/service/ProjectMessageService.java
  8. 33
      tall/src/main/java/com/ccsens/tall/service/RobotService.java
  9. 39
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  10. 2
      tall/src/main/java/com/ccsens/tall/util/RobotUtil.java
  11. 25
      tall/src/main/java/com/ccsens/tall/web/DeliverController.java
  12. 8
      tall/src/main/java/com/ccsens/tall/web/InputDocController.java
  13. 2
      tall/src/main/resources/mapper_dao/DeliverDao.xml
  14. 9
      tall/src/main/resources/mapper_dao/IInputDocDao.xml
  15. 1
      tall/src/main/resources/mapper_dao/SysOperationDao.xml

20
tall/src/main/java/com/ccsens/tall/bean/dto/DeliverDto.java

@ -8,8 +8,10 @@ import lombok.Setter;
import javax.validation.constraints.Max; import javax.validation.constraints.Max;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
public class DeliverDto { public class DeliverDto {
@ApiModel @ApiModel
@Data @Data
@ -54,4 +56,22 @@ public class DeliverDto {
@ApiModelProperty("wps文件Id,可以为空") @ApiModelProperty("wps文件Id,可以为空")
private Long wpsFileId; private Long wpsFileId;
} }
@ApiModel
@Data
public static class DelAllFileOfDeliver {
@NotNull(message = "请选择输出文档")
@ApiModelProperty("交付物ID")
private Long deliverId;
}
@ApiModel
@Data
public static class UpdateRemarkOfDeliver {
@NotNull(message = "请选择要修改输出文档记录")
@ApiModelProperty("输出文档上传记录id")
private Long recordId;
@ApiModelProperty("备注信息")
private String remark;
}
} }

11
tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java

@ -56,12 +56,21 @@ public class InputDocVo {
@Data @Data
@ApiModel("查看文档历史记录") @ApiModel("查看文档历史记录")
public static class HistoryRecord{ public static class HistoryRecord{
@ApiModelProperty("记录id")
private String recordId;
@ApiModelProperty("文件名称") @ApiModelProperty("文件名称")
private String fileName; private String fileName;
@ApiModelProperty("文件访问地址") @ApiModelProperty("文件访问地址")
private String docUrl; private String docUrl;
@ApiModelProperty("备注")
private String remark;
@JsonIgnore
@ApiModelProperty("文件id")
private String fileId;
@ApiModelProperty("文件状态 0未使用 1正在使用") @ApiModelProperty("文件状态 0未使用 1正在使用")
private String status; private String status;
@ApiModelProperty("文件列表")
private List<FileVo.FilePosition> fileList = new ArrayList<>();
} }
@Data @Data
@ -70,6 +79,8 @@ public class InputDocVo {
@JsonIgnore @JsonIgnore
@ApiModelProperty("消息操作ID") @ApiModelProperty("消息操作ID")
private Long operationId; private Long operationId;
@ApiModelProperty("消息操作ID(0-默认,1-上传,2-修改,3-删除,4-通过,5-驳回)")
private Byte doType;
@JsonFormat(pattern="yyyy-MM-dd HH:mm") @JsonFormat(pattern="yyyy-MM-dd HH:mm")
@ApiModelProperty("发送时间") @ApiModelProperty("发送时间")
private Date createTime; private Date createTime;

39
tall/src/main/java/com/ccsens/tall/bean/vo/MessageVo.java

@ -38,6 +38,8 @@ public class MessageVo {
private Long operatorId; private Long operatorId;
@ApiModelProperty("任务id") @ApiModelProperty("任务id")
private Long taskId; private Long taskId;
@ApiModelProperty("操作类型(0-默认,1-上传,2-修改,3-删除,4-通过,5-驳回)")
private Byte doType;
@ApiModelProperty("消息列表") @ApiModelProperty("消息列表")
private List<Message> messages = new ArrayList<>(); private List<Message> messages = new ArrayList<>();
@ -55,10 +57,23 @@ public class MessageVo {
this.taskId = taskId; this.taskId = taskId;
} }
public Inform(Long projectId, Long operatorId, Byte doType) {
this.projectId = projectId;
this.operatorId = operatorId;
this.doType = doType;
}
public Inform appendMessage(Message message) { public Inform appendMessage(Message message) {
messages.add(message); messages.add(message);
return this; return this;
} }
public Inform(Long projectId, Long operatorId, Long taskId, Byte doType) {
this.projectId = projectId;
this.operatorId = operatorId;
this.taskId = taskId;
this.doType = doType;
}
} }
@Data @Data
@ -148,8 +163,8 @@ public class MessageVo {
* @param deliverName * @param deliverName
* @return * @return
*/ */
public static Inform addDeliver(Long userId, String userName, Long projectId, String projectName, String taskName, String deliverName) { public static Inform addDeliver(Long userId, String userName, Long projectId, String projectName, String taskName, String deliverName,Byte doType) {
MessageVo.Inform inform = new MessageVo.Inform(projectId, userId); MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,doType);
inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) 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.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId)))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value, deliverName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value, deliverName))
@ -168,8 +183,8 @@ public class MessageVo {
* @param deliverName * @param deliverName
* @return * @return
*/ */
public static Inform checkDeliver(Long userId, String userName, Long projectId, String projectName, String taskName, String principalName, String deliverName) { public static Inform checkDeliver(Long userId, String userName, Long projectId, String projectName, String taskName, String principalName, String deliverName,Byte doType) {
MessageVo.Inform inform = new MessageVo.Inform(projectId, userId); MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,doType);
inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) 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.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId)))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value, deliverName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value, deliverName))
@ -178,8 +193,8 @@ public class MessageVo {
return inform; return inform;
} }
public static Inform deleteDeliver(Long userId, String userName, Long projectId, String projectName, String taskName, String deliverName) { public static Inform deleteDeliver(Long userId, String userName, Long projectId, String projectName, String taskName, String deliverName,Byte doType) {
MessageVo.Inform inform = new MessageVo.Inform(projectId, userId); MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,doType);
inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) 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.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId)))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value, deliverName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Deliverable.value, deliverName))
@ -222,8 +237,8 @@ public class MessageVo {
* @param taskName * @param taskName
* @return * @return
*/ */
public static Inform uploadForDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId) { public static Inform uploadForDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId,Byte doType) {
MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId); MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId,doType);
inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) 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.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId)))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName))
@ -240,8 +255,8 @@ public class MessageVo {
* @param taskName * @param taskName
* @return * @return
*/ */
public static Inform delDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId) { public static Inform delDocComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId,Byte doType) {
MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId); MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId,doType);
inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) 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.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId)))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName))
@ -258,8 +273,8 @@ public class MessageVo {
* @param taskName * @param taskName
* @return * @return
*/ */
public static Inform updateDocRemarkComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId) { public static Inform updateDocRemarkComment(Long userId, String userName, Long projectId, String projectName, String taskName,String deliverName,Long taskId,Byte doType) {
MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId); MessageVo.Inform inform = new MessageVo.Inform(projectId, userId,taskId,doType);
inform.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.Operator.value, userName)) 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.ProjectName.value, projectName, WebConstant.Message.TYPE_LINK, Message.getProjectSettings(projectId)))
.appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName)) .appendMessage(new MessageVo.Message(WebConstant.TemplateParam.TaskName.value,taskName))

2
tall/src/main/java/com/ccsens/tall/service/IRobotService.java

@ -61,7 +61,7 @@ public interface IRobotService {
* @param userIdSet * @param userIdSet
* @param name * @param name
*/ */
void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long userIdSet, String name) throws Exception; void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long userIdSet, String name,Boolean flag) throws Exception;
/** /**
* 评论任务信息 * 评论任务信息

12
tall/src/main/java/com/ccsens/tall/service/ITaskDeliverService.java

@ -34,4 +34,16 @@ public interface ITaskDeliverService {
void deleteDeliver(Long userId, Long deliverId, Long taskId) throws Exception; void deleteDeliver(Long userId, Long deliverId, Long taskId) throws Exception;
Long isTaskOrSubTime(Long id)throws Exception; Long isTaskOrSubTime(Long id)throws Exception;
/**
* 删除输出文档下所有的文件
* @param param
*/
void delAllFileOfDeliver(DeliverDto.DelAllFileOfDeliver param);
/**
* 修改输出文档下的备注信息
* @param param
*/
void updateRemarkOfDeliver(DeliverDto.UpdateRemarkOfDeliver param);
} }

43
tall/src/main/java/com/ccsens/tall/service/InputDocService.java

@ -293,7 +293,40 @@ public class InputDocService implements IInputDocService {
*/ */
@Override @Override
public List<InputDocVo.HistoryRecord> viewDocHistory(InputDocDto.ViewDocHistory param) { public List<InputDocVo.HistoryRecord> viewDocHistory(InputDocDto.ViewDocHistory param) {
return iInputDocDao.viewDocHistory(param.getDocId()); List<InputDocVo.HistoryRecord> historyRecords = iInputDocDao.viewDocHistory(param.getDocId());
historyRecords.forEach(historyRecord ->{
if (StrUtil.isNotBlank(historyRecord.getFileId())){
if (historyRecord.getFileId().contains(",")){
//拆分文件id
String[] split = historyRecord.getFileId().split(",");
List<String> splits =new ArrayList<>(Arrays.asList(split));
if(split.length != 0) {
//获取文件项目的路径
String requestUrl = PropUtil.filedeal;
//通过文件id查询文件信息
String c = RestTemplateUtil.postBody1(requestUrl, splits);
JsonResponse<List<FileVo.FilePosition>> a = JSONObject.parseObject(c, JsonResponse.class);
if (ObjectUtil.isNotNull(a) && ObjectUtil.isNotNull(a.getData())) {
List<FileVo.FilePosition> fileList = a.getData();
historyRecord.setFileList(fileList);
}
}
}else{
List<String> idList = new ArrayList<>();
idList.add(historyRecord.getFileId());
//获取文件项目的路径
String requestUrl = PropUtil.filedeal;
//通过文件id查询文件信息
String c = RestTemplateUtil.postBody1(requestUrl, idList);
JsonResponse<List<FileVo.FilePosition>> a = JSONObject.parseObject(c, JsonResponse.class);
if (ObjectUtil.isNotNull(a) && ObjectUtil.isNotNull(a.getData())) {
List<FileVo.FilePosition> fileList = a.getData();
historyRecord.setFileList(fileList);
}
}
}
});
return historyRecords;
} }
/** /**
@ -486,9 +519,13 @@ public class InputDocService implements IInputDocService {
ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord();
proTaskInputRecord.setRecStatus((byte)2); proTaskInputRecord.setRecStatus((byte)2);
proTaskInputRecordMapper.updateByExampleSelective(proTaskInputRecord,example2); proTaskInputRecordMapper.updateByExampleSelective(proTaskInputRecord,example2);
}
//TODO 文档 改回未上传状态
//文档 改回未上传状态
ProTaskInputDoc doc = new ProTaskInputDoc();
doc.setId(param.getDocId());
doc.setIsUpload(0);
proTaskInputDocMapper.updateByPrimaryKeySelective(doc);
}
} }
} }

1
tall/src/main/java/com/ccsens/tall/service/ProjectMessageService.java

@ -198,6 +198,7 @@ public class ProjectMessageService implements IProjectMessageService {
operation.setOperatorId(inform.getOperatorId()); operation.setOperatorId(inform.getOperatorId());
operation.setOperateType((byte)operateType.value()); operation.setOperateType((byte)operateType.value());
operation.setTaskDetailId(inform.getTaskId()); operation.setTaskDetailId(inform.getTaskId());
operation.setDoType(inform.getDoType());
log.info("保存操作记录:{}", operation); log.info("保存操作记录:{}", operation);
sysOperationDao.insertSelective(operation); sysOperationDao.insertSelective(operation);
// 操作内容 // 操作内容

33
tall/src/main/java/com/ccsens/tall/service/RobotService.java

@ -251,6 +251,14 @@ public class RobotService implements IRobotService{
RobotUtil.setWxTemplate(WxTemplateUtil.getChangeTask(normalTask.getProjectId(), userName, normalTask.getName())); RobotUtil.setWxTemplate(WxTemplateUtil.getChangeTask(normalTask.getProjectId(), userName, normalTask.getName()));
} }
/**
* 上传交付物信息 消息
* @param currentUserId
* @param deliverName
* @param subTimeId
* @param project
* @throws Exception
*/
@Override @Override
public void addDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId,SysProject project) throws Exception { public void addDeliverRobotSend(Long currentUserId, String deliverName, Long subTimeId,SysProject project) throws Exception {
String userName = userService.getUserNameByUserId(currentUserId); String userName = userService.getUserNameByUserId(currentUserId);
@ -281,7 +289,7 @@ public class RobotService implements IRobotService{
} }
RobotUtil.setRobotMessage(message); RobotUtil.setRobotMessage(message);
// 添加消息通知 // 添加消息通知
MessageVo.Inform inform = MessageVo.addDeliver(currentUserId, userName, taskDetail.getProjectId(), projectName, taskDetail.getName(),deliverName); MessageVo.Inform inform = MessageVo.addDeliver(currentUserId, userName, taskDetail.getProjectId(), projectName, taskDetail.getName(),deliverName,(byte)1);
RobotUtil.setInform(inform); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加wx消息通知
RobotUtil.setWxTemplate(WxTemplateUtil.getAddDeliver(taskDetail.getProjectId(), userName, deliverName)); RobotUtil.setWxTemplate(WxTemplateUtil.getAddDeliver(taskDetail.getProjectId(), userName, deliverName));
@ -318,14 +326,22 @@ public class RobotService implements IRobotService{
} }
RobotUtil.setRobotMessage(message); RobotUtil.setRobotMessage(message);
MessageVo.Inform inform = MessageVo.deleteDeliver(currentUserId, userName, project.getId(), project.getName(), taskDetail.getName(), deliverName); MessageVo.Inform inform = MessageVo.deleteDeliver(currentUserId, userName, project.getId(), project.getName(), taskDetail.getName(), deliverName,(byte)3);
RobotUtil.setInform(inform); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加wx消息通知
RobotUtil.setWxTemplate(WxTemplateUtil.getDeleteDeliver(taskDetail.getProjectId(), userName, deliverName)); RobotUtil.setWxTemplate(WxTemplateUtil.getDeleteDeliver(taskDetail.getProjectId(), userName, deliverName));
} }
/**
* 检查交付物 消息
* @param currentUserId
* @param task
* @param uploadUserId
* @param deliverName
* @throws Exception
*/
@Override @Override
public void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long uploadUserId, String deliverName) throws Exception { public void checkDeliverRobotSend(Long currentUserId, ProTaskDetail task, Long uploadUserId, String deliverName,Boolean flag) throws Exception {
String userName = userService.getUserNameByUserId(currentUserId); String userName = userService.getUserNameByUserId(currentUserId);
String uploadUserName = ""; String uploadUserName = "";
if(ObjectUtil.isNotNull(uploadUserId)){ if(ObjectUtil.isNotNull(uploadUserId)){
@ -352,8 +368,11 @@ public class RobotService implements IRobotService{
message.appendMentionedMobileList(memberPhone); message.appendMentionedMobileList(memberPhone);
} }
RobotUtil.setRobotMessage(message); RobotUtil.setRobotMessage(message);
//判断是审核状态是通过还是驳回
byte doType = flag == true ? (byte) 4 : (byte) 5 ;
MessageVo.Inform inform = MessageVo.checkDeliver(currentUserId, userName, project.getId(), project.getName(), task.getName(), uploadUserName, deliverName); MessageVo.Inform inform = MessageVo.checkDeliver(currentUserId, userName, project.getId(), project.getName(), task.getName(), uploadUserName, deliverName,doType);
RobotUtil.setInform(inform); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加wx消息通知
RobotUtil.setWxTemplate(WxTemplateUtil.getCheckDeliver(project.getId(), userName, deliverName)); RobotUtil.setWxTemplate(WxTemplateUtil.getCheckDeliver(project.getId(), userName, deliverName));
@ -413,7 +432,7 @@ public class RobotService implements IRobotService{
} }
RobotUtil.setRobotMessage(message); RobotUtil.setRobotMessage(message);
MessageVo.Inform inform = MessageVo.uploadForDocComment(currentUserId, userName, project.getId(), project.getName(), task.getName(),deliverable,task.getId()); MessageVo.Inform inform = MessageVo.uploadForDocComment(currentUserId, userName, project.getId(), project.getName(), task.getName(),deliverable,task.getId(),(byte)1);
RobotUtil.setInform(inform); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加wx消息通知
RobotUtil.setWxTemplate(WxTemplateUtil.uploadFileForDoc(project.getId(), userName,project.getName(),task.getName(),deliverable)); RobotUtil.setWxTemplate(WxTemplateUtil.uploadFileForDoc(project.getId(), userName,project.getName(),task.getName(),deliverable));
@ -450,7 +469,7 @@ public class RobotService implements IRobotService{
} }
RobotUtil.setRobotMessage(message); RobotUtil.setRobotMessage(message);
MessageVo.Inform inform = MessageVo.delDocComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name,taskDetail.getId()); MessageVo.Inform inform = MessageVo.delDocComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name,taskDetail.getId(),(byte)3);
RobotUtil.setInform(inform); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加wx消息通知
RobotUtil.setWxTemplate(WxTemplateUtil.delFileForDoc(project.getId(), userName,project.getName(),taskDetail.getName(),name)); RobotUtil.setWxTemplate(WxTemplateUtil.delFileForDoc(project.getId(), userName,project.getName(),taskDetail.getName(),name));
@ -487,7 +506,7 @@ public class RobotService implements IRobotService{
} }
RobotUtil.setRobotMessage(message); RobotUtil.setRobotMessage(message);
MessageVo.Inform inform = MessageVo.updateDocRemarkComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name,taskDetail.getId()); MessageVo.Inform inform = MessageVo.updateDocRemarkComment(userId, userName, project.getId(), project.getName(), taskDetail.getName(),name,taskDetail.getId(),(byte)2);
RobotUtil.setInform(inform); RobotUtil.setInform(inform);
// 添加wx消息通知 // 添加wx消息通知
RobotUtil.setWxTemplate(WxTemplateUtil.updateDocRemark(project.getId(), userName,project.getName(),taskDetail.getName(),name)); RobotUtil.setWxTemplate(WxTemplateUtil.updateDocRemark(project.getId(), userName,project.getName(),taskDetail.getName(),name));

39
tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java

@ -672,7 +672,7 @@ public class TaskDeliverService implements ITaskDeliverService {
//检查完,返回数据 //检查完,返回数据
DeliverVo.DeliverInfo deliverInfo = selectDeliverInfo(currentUserId, deliver.getId(), checkDeliver.getTaskId(),token); DeliverVo.DeliverInfo deliverInfo = selectDeliverInfo(currentUserId, deliver.getId(), checkDeliver.getTaskId(),token);
//用智能助手发送消息+ws/公众号发送 //用智能助手发送消息+ws/公众号发送
robotService.checkDeliverRobotSend(currentUserId,task,uploadUserId,deliver.getName()); robotService.checkDeliverRobotSend(currentUserId,task,uploadUserId,deliver.getName(),checkDeliver.getCheckStatus());
return deliverInfo; return deliverInfo;
} }
@ -916,4 +916,41 @@ public class TaskDeliverService implements ITaskDeliverService {
file.delete(); file.delete();
} }
} }
/**
* 删除输出文档下的所有文件
* @param param
*/
@Override
public void delAllFileOfDeliver(DeliverDto.DelAllFileOfDeliver param) {
ProTaskDeliverPostLogExample example = new ProTaskDeliverPostLogExample();
example.createCriteria().andDeliverIdEqualTo(param.getDeliverId());
List<ProTaskDeliverPostLog> proTaskDeliverPostLogs = deliverPostLogDao.selectByExample(example);
if (CollectionUtil.isNotEmpty(proTaskDeliverPostLogs)){
for (ProTaskDeliverPostLog deliverPostLog : proTaskDeliverPostLogs) {
deliverPostLog.setRecStatus((byte)2);
deliverPostLogDao.updateByPrimaryKeySelective(deliverPostLog);
}
//将交付物改为未上传状态
ProTaskDeliver taskDeliver = new ProTaskDeliver();
taskDeliver.setId(param.getDeliverId());
taskDeliver.setIsUpload(0);
taskDeliverDao.updateByPrimaryKeySelective(taskDeliver);
}
}
/**
* 修改输出文档下的备注信息
* @param param
*/
@Override
public void updateRemarkOfDeliver(DeliverDto.UpdateRemarkOfDeliver param) {
ProTaskDeliverPostLog deliverPostLog = new ProTaskDeliverPostLog();
deliverPostLog.setId(param.getRecordId());
if (StrUtil.isNotBlank(param.getRemark())){
deliverPostLog.setDescription(param.getRemark());
}
deliverPostLogDao.updateByPrimaryKeySelective(deliverPostLog);
}
} }

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

@ -25,6 +25,8 @@ public class RobotUtil {
private boolean isAtAll = false; private boolean isAtAll = false;
private Long projectId; private Long projectId;
private Long taskId; private Long taskId;
//操作类型(0-默认无,1-上传,2-修改,3-删除,4-通过,5-驳回)
private byte doType;
private List<MessageVo.Message> params = new ArrayList<>(); private List<MessageVo.Message> params = new ArrayList<>();
public Message(){ public Message(){

25
tall/src/main/java/com/ccsens/tall/web/DeliverController.java

@ -1,6 +1,8 @@
package com.ccsens.tall.web; package com.ccsens.tall.web;
import com.ccsens.tall.annotation.MustLoginTall;
import com.ccsens.tall.bean.dto.DeliverDto; import com.ccsens.tall.bean.dto.DeliverDto;
import com.ccsens.tall.bean.dto.InputDocDto;
import com.ccsens.tall.bean.vo.DeliverVo; import com.ccsens.tall.bean.vo.DeliverVo;
import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.service.ITaskDeliverService; import com.ccsens.tall.service.ITaskDeliverService;
@ -8,8 +10,10 @@ import com.ccsens.util.JsonResponse;
import com.ccsens.util.UploadFileUtil_Servlet3; import com.ccsens.util.UploadFileUtil_Servlet3;
import com.ccsens.util.WebConstant; import com.ccsens.util.WebConstant;
import com.ccsens.util.annotation.OperateType; import com.ccsens.util.annotation.OperateType;
import com.ccsens.util.bean.dto.QueryDto;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -25,6 +29,7 @@ import java.util.List;
*/ */
@Api(tags = "交付物相关API", description = "DeliverController | 交付物操作控制器类") @Api(tags = "交付物相关API", description = "DeliverController | 交付物操作控制器类")
@RestController @RestController
@Slf4j
@RequestMapping("/delivers") @RequestMapping("/delivers")
public class DeliverController { public class DeliverController {
@Autowired @Autowired
@ -156,4 +161,24 @@ public class DeliverController {
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@MustLoginTall
@ApiOperation(value = "删除输出文档下所有的文件", notes = "m:删除输出文档下所有的文件")
@RequestMapping(value = "/delAllFileOfDeliver", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse delAllFileOfDeliver(@ApiParam @Validated @RequestBody QueryDto<DeliverDto.DelAllFileOfDeliver> params) {
log.info("删除输出文档下所有的文件:{}",params);
deliverService.delAllFileOfDeliver(params.getParam());
log.info("删除输出文档下所有的文件");
return JsonResponse.newInstance().ok();
}
@MustLoginTall
@ApiOperation(value = "修改输出文档中的备注", notes = "m:修改输出文档中的备注")
@RequestMapping(value = "/updateRemarkOfDeliver", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updateRemarkOfDeliver(@ApiParam @Validated @RequestBody QueryDto<DeliverDto.UpdateRemarkOfDeliver> params) {
log.info("修改输出文档中的备注:{}",params);
deliverService.updateRemarkOfDeliver(params.getParam());
log.info("修改输出文档中的备注");
return JsonResponse.newInstance().ok();
}
} }

8
tall/src/main/java/com/ccsens/tall/web/InputDocController.java

@ -69,7 +69,7 @@ public class InputDocController {
} }
@MustLoginTall @MustLoginTall
@ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录") @ApiOperation(value = "查看文档上传文件历史记录", notes = "1007:查看文档上传历史记录")
@RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<InputDocVo.HistoryRecord>> viewDocHistory(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.ViewDocHistory> params) { public JsonResponse<List<InputDocVo.HistoryRecord>> viewDocHistory(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.ViewDocHistory> params) {
log.info("查看文档上传历史记录:{}",params); log.info("查看文档上传历史记录:{}",params);
@ -131,12 +131,12 @@ public class InputDocController {
} }
@MustLoginTall @MustLoginTall
@ApiOperation(value = "查询历史记录(根据任务id)", notes = "1007:查询输入文档上传记录") @ApiOperation(value = "查询操作历史记录(根据任务id)", notes = "1007:查询输入文档上传记录")
@RequestMapping(value = "/docRecordByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @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) { public JsonResponse<PageInfo<InputDocVo.DocRecordOfTask>> findDocRecordByTask(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.FindDocRecordByTask> params) {
log.info("查询输入文档上传记录:{}",params); log.info("查询文档操作历史记录:{}",params);
PageInfo<InputDocVo.DocRecordOfTask> docRecordByTask = iInputDocService.findDocRecordByTask(params.getParam()); PageInfo<InputDocVo.DocRecordOfTask> docRecordByTask = iInputDocService.findDocRecordByTask(params.getParam());
log.info("查询输入文档上传记录"); log.info("查询文档操作历史记录");
return JsonResponse.newInstance().ok(docRecordByTask); return JsonResponse.newInstance().ok(docRecordByTask);
} }

2
tall/src/main/resources/mapper_dao/DeliverDao.xml

@ -151,6 +151,8 @@
WHERE WHERE
l.rec_status = 0 l.rec_status = 0
and and
l.deliver_id = #{deliverId}
and
l.task_sub_time_id = #{subTimeId} l.task_sub_time_id = #{subTimeId}
ORDER BY l.time DESC ORDER BY l.time DESC
</select> </select>

9
tall/src/main/resources/mapper_dao/IInputDocDao.xml

@ -168,14 +168,15 @@
<select id="viewDocHistory" resultType="com.ccsens.tall.bean.vo.InputDocVo$HistoryRecord"> <select id="viewDocHistory" resultType="com.ccsens.tall.bean.vo.InputDocVo$HistoryRecord">
SELECT SELECT
tir.id, tid.id AS docId,
tf.file_name, tir.id AS recordId,
tf.visit_location, tir.remark,
tir.file_id,
tir.`status` tir.`status`
FROM FROM
t_pro_task_input_record AS tir t_pro_task_input_record AS tir
LEFT JOIN t_file AS tf ON tir.file_id = tf.id
LEFT JOIN t_pro_task_input_doc AS tid ON tid.id = tir.input_doc_id LEFT JOIN t_pro_task_input_doc AS tid ON tid.id = tir.input_doc_id
AND tid.rec_status = 0
WHERE WHERE
tid.id = #{docId} tid.id = #{docId}
ORDER BY ORDER BY

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

@ -80,6 +80,7 @@
<select id="findMessageByOperate" resultType="com.ccsens.tall.bean.vo.InputDocVo$DocRecordOfTask"> <select id="findMessageByOperate" resultType="com.ccsens.tall.bean.vo.InputDocVo$DocRecordOfTask">
SELECT SELECT
so.id AS operationId, so.id AS operationId,
so.do_type AS doType,
so.created_at AS createTime so.created_at AS createTime
FROM FROM
t_sys_operation AS so t_sys_operation AS so

Loading…
Cancel
Save