Prechádzať zdrojové kódy

通用流程详情信息添加附件列表信息

dongpo 9 mesiacov pred
rodič
commit
ea09c6599d

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/universal/OaUniversalController.java

@@ -96,8 +96,8 @@ public class OaUniversalController {
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     @PreAuthorize("@ss.hasPermission('bpm:oa-universal:query')")
     public CommonResult<OaUniversalRespVO> getOaUniversal(@RequestParam("id") Long id) {
-        OaUniversalDO oaUniversal = oaUniversalService.getOaUniversal(id);
-        return success(BeanUtils.toBean(oaUniversal, OaUniversalRespVO.class));
+        OaUniversalRespVO respVO = oaUniversalService.getOaUniversal(id);
+        return success(respVO);
     }
 
     @GetMapping("/page")

+ 5 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/universal/vo/OaUniversalRespVO.java

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.universal.vo;
 
 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
+import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -8,6 +9,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "管理后台 - 通用审批流程信息 Response VO")
 @Data
@@ -114,4 +116,7 @@ public class OaUniversalRespVO {
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 
+    @Schema(description = "附件列表")
+    private List<FileDTO> fileList;
+
 }

+ 2 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/universal/OaUniversalService.java

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.service.oa.universal;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.universal.vo.OaUniversalPageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.universal.vo.OaUniversalRespVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.universal.vo.OaUniversalSaveReqVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskApproveReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.universal.OaUniversalDO;
@@ -53,7 +54,7 @@ public interface OaUniversalService extends IService<OaUniversalDO> {
      * @param id 编号
      * @return 通用审批流程信息
      */
-    OaUniversalDO getOaUniversal(Long id);
+    OaUniversalRespVO getOaUniversal(Long id);
 
     /**
      * 获得通用审批流程信息分页

+ 13 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/universal/OaUniversalServiceImpl.java

@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.universal.vo.OaUniversalPageReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.oa.universal.vo.OaUniversalRespVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.universal.vo.OaUniversalSaveReqVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskApproveReqVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskReturnReqVO;
@@ -14,6 +15,7 @@ import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.universal.OaUniversalDO;
 import cn.iocoder.yudao.module.bpm.dal.mysql.oa.universal.OaUniversalMapper;
 import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
 import cn.iocoder.yudao.module.infra.api.file.FileApi;
+import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
@@ -246,8 +248,17 @@ public class OaUniversalServiceImpl extends ServiceImpl<OaUniversalMapper, OaUni
     }
 
     @Override
-    public OaUniversalDO getOaUniversal(Long id) {
-        return oaUniversalMapper.selectById(id);
+    public OaUniversalRespVO getOaUniversal(Long id) {
+        OaUniversalDO oaUniversalDO = oaUniversalMapper.selectById(id);
+        OaUniversalRespVO oaUniversalRespVO = BeanUtils.toBean(oaUniversalDO, OaUniversalRespVO.class);
+
+        // 附件列表
+        List<FileDTO> fileList = fileApi.getFileDTOListByBiz(oaUniversalDO.getUniversalId());
+        oaUniversalRespVO.setFileList(fileList);
+
+        // TODO dp 审批记录
+
+        return oaUniversalRespVO;
     }
 
     @Override

+ 8 - 0
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java

@@ -59,4 +59,12 @@ public interface FileApi {
      * @param serviceId  业务id
      */
     Integer updateFileBiz(List<Long> fileIdList, String serviceId);
+
+    /**
+     * 根据业务id获取文件信息列表
+     *
+     * @param universalId 业务id
+     * @return
+     */
+    List<FileDTO> getFileDTOListByBiz(String universalId);
 }

+ 6 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApiImpl.java

@@ -40,4 +40,10 @@ public class FileApiImpl implements FileApi {
         return fileService.updateFileBiz(fileIdList, serviceId);
     }
 
+    @Override
+    public List<FileDTO> getFileDTOListByBiz(String universalId) {
+        List<FileDO> fileDOList = fileService.getFileListByBiz(universalId);
+        return BeanUtils.toBean(fileDOList, FileDTO.class);
+    }
+
 }

+ 7 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java

@@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.infra.service.file;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.*;
 import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 
 import java.util.List;
 
@@ -87,4 +86,11 @@ public interface FileService {
      * @param serviceId  业务id
      */
     Integer updateFileBiz(List<Long> fileIdList, String serviceId);
+
+    /**
+     * 根据业务id获得文件列表
+     *
+     * @param serviceId 业务id
+     */
+    List<FileDO> getFileListByBiz(String serviceId);
 }

+ 9 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java

@@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.infra.framework.file.core.client.s3.FilePresigned
 import cn.iocoder.yudao.module.infra.framework.file.core.utils.FileTypeUtils;
 import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO;
 import cn.iocoder.yudao.module.infra.dal.mysql.file.FileMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import lombok.SneakyThrows;
 import org.springframework.stereotype.Service;
@@ -184,4 +185,12 @@ public class FileServiceImpl implements FileService {
         return fileMapper.update(updateWrapper);
     }
 
+    @Override
+    public List<FileDO> getFileListByBiz(String serviceId) {
+        LambdaQueryWrapper<FileDO> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(FileDO::getServiceId, serviceId)
+                .orderByAsc(FileDO::getId);
+        return fileMapper.selectList(queryWrapper);
+    }
+
 }