Compare commits

...

2 Commits

  1. 8
      src/main/java/com/biutag/supervision/controller/FileController.java
  2. 1
      src/main/java/com/biutag/supervision/controller/report/ReportFlowController.java
  3. 10
      src/main/java/com/biutag/supervision/pojo/vo/FileVo.java
  4. 13
      src/main/java/com/biutag/supervision/service/Report/ReportProjectService.java
  5. 21
      src/main/resources/mapper/ReportProjectMapper.xml

8
src/main/java/com/biutag/supervision/controller/FileController.java

@ -3,10 +3,12 @@ package com.biutag.supervision.controller;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.mapper.FileBase64Mapper; import com.biutag.supervision.mapper.FileBase64Mapper;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.FileBase64Dto; import com.biutag.supervision.pojo.dto.FileBase64Dto;
import com.biutag.supervision.pojo.entity.FileBase64; import com.biutag.supervision.pojo.entity.FileBase64;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.vo.FileVo; import com.biutag.supervision.pojo.vo.FileVo;
import com.biutag.supervision.service.FileService; import com.biutag.supervision.service.FileService;
import com.biutag.supervision.util.ImgUtils; import com.biutag.supervision.util.ImgUtils;
@ -22,6 +24,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.time.LocalDateTime;
import java.util.Base64; import java.util.Base64;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
@ -41,9 +44,12 @@ public class FileController {
public Result<FileVo> upload(@RequestPart("file") MultipartFile file) throws IOException { public Result<FileVo> upload(@RequestPart("file") MultipartFile file) throws IOException {
log.info("文件上传 upload------------------------------"); log.info("文件上传 upload------------------------------");
String filePath = fileService.upload(file); String filePath = fileService.upload(file);
UserAuth user = UserContextHolder.getCurrentUser();
return Result.success(new FileVo() return Result.success(new FileVo()
.setFileName(file.getOriginalFilename()) .setFileName(file.getOriginalFilename())
.setFilePath(filePath)); .setFilePath(filePath)
.setUploadUser(user.getNickName())
.setUploadTime(LocalDateTime.now()));
} }
@ResponseBody @ResponseBody

1
src/main/java/com/biutag/supervision/controller/report/ReportFlowController.java

@ -84,6 +84,7 @@ public class ReportFlowController {
List<String> nodes = new ArrayList<>(); List<String> nodes = new ArrayList<>();
nodes.add("进窗"); nodes.add("进窗");
nodes.add("退窗"); nodes.add("退窗");
nodes.add("重新进窗");
LambdaQueryWrapper<InformMessage> messages = new LambdaQueryWrapper<InformMessage>(); LambdaQueryWrapper<InformMessage> messages = new LambdaQueryWrapper<InformMessage>();
messages.eq(InformMessage::getReportId,param.getId()) messages.eq(InformMessage::getReportId,param.getId())
.in(InformMessage::getNode,nodes); .in(InformMessage::getNode,nodes);

10
src/main/java/com/biutag/supervision/pojo/vo/FileVo.java

@ -1,8 +1,12 @@
package com.biutag.supervision.pojo.vo; package com.biutag.supervision.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Accessors(chain = true) @Accessors(chain = true)
@Setter @Setter
@ -21,4 +25,10 @@ public class FileVo {
private String base64; private String base64;
private String uploadUser;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime uploadTime;
} }

13
src/main/java/com/biutag/supervision/service/Report/ReportProjectService.java

@ -51,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -264,6 +265,18 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
s.setReportId(queryParam.getProject().getId()); s.setReportId(queryParam.getProject().getId());
BeanUtil.copyProperties(s, file); BeanUtil.copyProperties(s, file);
file.setFiles(JSONObject.toJSONString(s.getFileData())); file.setFiles(JSONObject.toJSONString(s.getFileData()));
if (CollectionUtil.isEmpty(s.getFileData())) {
file.setCrtUser(null);
file.setCrtTime(null);
} else {
s.getFileData().stream()
.filter(fileVo -> fileVo.getUploadTime() != null)
.max(Comparator.comparing(FileVo::getUploadTime))
.ifPresent(latestFile -> {
file.setCrtUser(latestFile.getUploadUser());
file.setCrtTime(latestFile.getUploadTime());
});
}
files.add(file); files.add(file);
}); });
fileService.saveBatch(files); fileService.saveBatch(files);

21
src/main/resources/mapper/ReportProjectMapper.xml

@ -54,13 +54,30 @@
project.report_name as reportName, project.report_name as reportName,
project.report_type as reportType, project.report_type as reportType,
flow.report_code as work, flow.report_code as work,
flow.areport_time as time, <choose>
<when test="code == 'first'">
<!-- 待办恢复后显示较新的流转/重新进窗时间,兼容缺失时间。 -->
COALESCE(GREATEST(flow.areport_time, reentry.reentryTime),
flow.areport_time, reentry.reentryTime) as time,
</when>
<otherwise>
flow.areport_time as time,
</otherwise>
</choose>
flow.approver_state as approverState, flow.approver_state as approverState,
flow.report_link as flowCode, flow.report_link as flowCode,
flow.report_id as warningId, flow.report_id as warningId,
(CASE WHEN flow.type = 'warning' THEN 1 ELSE 0 END) as isWarning (CASE WHEN flow.type = 'warning' THEN 1 ELSE 0 END) as isWarning
FROM report_flow flow FROM report_flow flow
LEFT JOIN report_project project ON project.id = flow.report_id LEFT JOIN report_project project ON project.id = flow.report_id
<if test="code == 'first'">
LEFT JOIN (
SELECT report_id, MAX(crt_time) as reentryTime
FROM inform_message
WHERE node = '重新进窗'
GROUP BY report_id
) reentry ON reentry.report_id = project.id
</if>
<where> <where>
flow.is_init IS NULL flow.is_init IS NULL
AND project.delete_flag = 0 AND project.delete_flag = 0
@ -77,7 +94,7 @@
</if> </if>
</if> </if>
</where> </where>
ORDER BY flow.areport_time DESC ORDER BY time DESC
</select> </select>
<select id="getProjectTabWorkVo" resultType="com.biutag.supervision.pojo.vo.work.ProjectTabWorkVo"> <select id="getProjectTabWorkVo" resultType="com.biutag.supervision.pojo.vo.work.ProjectTabWorkVo">

Loading…
Cancel
Save