xiexiang 1 년 전
부모
커밋
3d9f45fb9c

+ 25 - 0
src/main/java/cn/cslg/pas/common/dto/business/AssoReportAffairFileDTO.java

@@ -0,0 +1,25 @@
+package cn.cslg.pas.common.dto.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 报告事务与文件关联表dto
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Data
+public class AssoReportAffairFileDTO {
+    /**
+     * 报告事务id
+     */
+    private Integer reportAffairId;
+
+    /**
+     * 文件guids
+     */
+    private List<String> fileGuids;
+}

+ 36 - 0
src/main/java/cn/cslg/pas/common/dto/business/ReportAffairDTO.java

@@ -0,0 +1,36 @@
+package cn.cslg.pas.common.dto.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 报告事务清单DTO
+ * @Author xiexiang
+ * @Date 2023/12/22
+ */
+@Data
+public class ReportAffairDTO {
+    /**
+     * 事务类型(0为口审记录,1为无效请求书,2为陈述意见书,3为无效决定书,4为行政诉讼书)
+     */
+    private Integer affairType;
+
+    /**
+     * 所属报告id
+     */
+    private Integer projectId;
+
+    /**
+     * 发生时间
+     */
+    private Date occurredTime;
+
+    /**
+     * 备注
+     */
+    private String description;
+}

+ 20 - 6
src/main/java/cn/cslg/pas/common/dto/invalidDTO/AddInvalidRequestFileDTO.java

@@ -1,15 +1,29 @@
 package cn.cslg.pas.common.dto.invalidDTO;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.util.Date;
 import java.util.List;
 
 /**
- * 上传无效请求书DTO类
+ * @Author xiexiang
+ * @Date 2023/12/23
  */
+@Data
 public class AddInvalidRequestFileDTO {
- private Date invalidRequestDate;
- private Date invalidFileSendDate;
- private Integer project;
- private List<String> fileGuids;
-private String description;
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date invalidRequestDate;
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date invalidFileSendDate;
+
+    private Integer projectId;
+
+    private List<String> fileGuids;
+
+    private String description;
 }

+ 28 - 0
src/main/java/cn/cslg/pas/common/dto/invalidDTO/UpdateInvalidRequestFileDTO.java

@@ -0,0 +1,28 @@
+package cn.cslg.pas.common.dto.invalidDTO;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Data
+public class UpdateInvalidRequestFileDTO {
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date invalidRequestDate;
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date invalidFileSendDate;
+
+    private Integer projectId;
+
+    private List<String> fileGuids;
+
+    private String description;
+}

+ 24 - 0
src/main/java/cn/cslg/pas/common/vo/invalidVO/InvalidRequestFileVO.java

@@ -0,0 +1,24 @@
+package cn.cslg.pas.common.vo.invalidVO;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 无效请求书VO
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Data
+public class InvalidRequestFileVO {
+    /**
+     * 无效请求日
+     */
+    private Date invalidRequestDate;
+
+    /**
+     * 无效请求书发文日期
+     */
+    private Date invalidFileSendDate;
+}

+ 58 - 0
src/main/java/cn/cslg/pas/common/vo/invalidVO/ReportAffairVO.java

@@ -0,0 +1,58 @@
+package cn.cslg.pas.common.vo.invalidVO;
+
+import cn.cslg.pas.common.model.cronModel.SystemFile;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 报告事务返回VO
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Data
+public class ReportAffairVO {
+    private Integer id;
+    /**
+     * 事务类型(0为口审记录,1为无效请求书,2为陈述意见书,3为无效决定书,4为行政诉讼书)
+     */
+    private Integer affairType;
+
+    private Integer projectId;
+
+    /**
+     * 发生时间
+     */
+    private Date occurredTime;
+
+    /**
+     * 备注
+     */
+    private String description;
+
+    /**
+     * 创建人id
+     */
+    private String createId;
+
+    /**
+     * 创建人
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 报告事务关联文件信息
+     */
+    private List<SystemFile> systemFileList;
+
+    /**
+     * 无效请求书返回VO
+     */
+    private InvalidRequestFileVO invalidRequestFileVO;
+}

+ 55 - 10
src/main/java/cn/cslg/pas/controller/ReportAffairController.java

@@ -1,29 +1,74 @@
 package cn.cslg.pas.controller;
 
 import cn.cslg.pas.common.core.base.Constants;
-import cn.cslg.pas.common.dto.invalidDTO.SplitClaimDTO;
+import cn.cslg.pas.common.dto.invalidDTO.AddInvalidRequestFileDTO;
+import cn.cslg.pas.common.dto.invalidDTO.UpdateInvalidRequestFileDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.vo.invalidVO.ReportAffairVO;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.factorys.businessFactory.Business;
+import cn.cslg.pas.service.business.InvalidRequestFileService;
+import cn.cslg.pas.service.business.ReportAffairService;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
- * @Author lrj
+ * @Author xiexiang
  * @Date 2023/12/22
  */
 @Slf4j
 @RequestMapping(Constants.API_XiaoSHI + "/reportAffair")
 @RestController
 public class ReportAffairController {
-    @Operation(summary = "")
-    @PostMapping("/queryReportAffair")
-    public Response splitClaim(@RequestBody SplitClaimDTO splitClaimDTO) throws Exception {
-        Records records =new Records();
+    @Autowired
+    @Lazy
+    private InvalidRequestFileService invalidRequestFileService;
+    @Autowired
+    private ReportAffairService reportAffairService;
+
+    @Operation(summary = "上传无效请求书")
+    @PostMapping("/addInvalidRequestFile")
+    public Response addInvalidRequestFile(@RequestBody AddInvalidRequestFileDTO addInvalidRequestFileDTO) throws Exception {
+        Integer id = invalidRequestFileService.add(addInvalidRequestFileDTO);
+        Records records = new Records();
+        records.setData(id);
+        return Response.success(records);
+    }
+
+    @Operation(summary = "修改无效请求书")
+    @PostMapping("/updateInvalidRequestFile")
+    public Response updateInvalidRequestFile(@RequestBody UpdateInvalidRequestFileDTO updateInvalidRequestFileDTO) throws Exception {
+        Integer id = invalidRequestFileService.update(updateInvalidRequestFileDTO);
+        Records records = new Records();
+        records.setData(id);
         return Response.success(records);
     }
 
+    @Operation(summary = "查询报告事务")
+    @GetMapping("/queryReportAffair")
+    public Response queryReportAffair(Integer projectId) throws Exception {
+        List<ReportAffairVO> reportAffairVOS = reportAffairService.queryReportAffair(projectId);
+        Records records = new Records();
+        records.setData(reportAffairVOS);
+        return Response.success(records);
+    }
+
+    @Operation(summary = "删除报告事务")
+    @PostMapping("/deleteReportAffair")
+    public String deleteReportAffair(@RequestBody List<Integer> ids) throws Exception {
+        if (ids != null && ids.size() != 0) {
+            reportAffairService.delete(ids);
+            Records records = new Records();
+            records.setData(ids);
+            return Response.success();
+        } else {
+            throw new XiaoShiException("需要删除的ids不能为空!");
+        }
+    }
 }

+ 25 - 0
src/main/java/cn/cslg/pas/domain/business/AssoReportAffairFile.java

@@ -0,0 +1,25 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+/**
+ * 报告事务与文件关联表
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Data
+public class AssoReportAffairFile extends BaseEntity<AssoReportAffairFile> {
+    /**
+     * 报告事务id
+     */
+    @TableField(value = "report_affair_id")
+    private Integer reportAffairId;
+
+    /**
+     * 文件guid
+     */
+    @TableField(value = "file_guid")
+    private String fileGuid;
+}

+ 35 - 0
src/main/java/cn/cslg/pas/domain/business/InvalidRequestFile.java

@@ -0,0 +1,35 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 无效请求书
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Data
+@TableName("invalid_request_file")
+public class InvalidRequestFile extends BaseEntity<InvalidRequestFile> {
+    /**
+     * 无效请求日
+     */
+    @TableField(value = "invalid_request_date")
+    private Date invalidRequestDate;
+
+    /**
+     * 无效请求书发文日期
+     */
+    @TableField(value = "invalid_file_send_date")
+    private Date invalidFileSendDate;
+
+    /**
+     * 报告事务id
+     */
+    @TableField(value = "report_affair_id")
+    private Integer reportAffairId;
+}

+ 53 - 0
src/main/java/cn/cslg/pas/domain/business/ReportAffair.java

@@ -0,0 +1,53 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 报告事务清单
+ * @Author xiexiang
+ * @Date 2023/12/22
+ */
+@Data
+@TableName("report_affair")
+public class ReportAffair extends BaseEntity<ReportAffair> {
+    /**
+     * 事务类型(0为口审记录,1为无效请求书,2为陈述意见书,3为无效决定书,4为行政诉讼书)
+     */
+    @TableField(value = "affair_type")
+    private Integer affairType;
+
+    /**
+     * 所属报告id
+     */
+    @TableField(value = "project_id")
+    private Integer projectId;
+
+    /**
+     * 发生时间
+     */
+    @TableField(value = "occurred_time")
+    private Date occurredTime;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "description")
+    private String description;
+
+    /**
+     * 创建人id
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+}

+ 14 - 0
src/main/java/cn/cslg/pas/mapper/AssoReportAffairFileMapper.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.AssoReportAffairFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 报告事务与文件关联Mapper层
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Repository
+public interface AssoReportAffairFileMapper extends BaseMapper<AssoReportAffairFile> {
+}

+ 14 - 0
src/main/java/cn/cslg/pas/mapper/InvalidRequestFileMapper.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.InvalidRequestFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 无效请求书Mapper层
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Repository
+public interface InvalidRequestFileMapper extends BaseMapper<InvalidRequestFile> {
+}

+ 14 - 0
src/main/java/cn/cslg/pas/mapper/ReportAffairMapper.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.ReportAffair;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 报告事务Mapper层
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Repository
+public interface ReportAffairMapper extends BaseMapper<ReportAffair> {
+}

+ 16 - 0
src/main/java/cn/cslg/pas/service/business/AssoReportAffairFileService.java

@@ -0,0 +1,16 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.domain.business.AssoReportAffairFile;
+import cn.cslg.pas.mapper.AssoReportAffairFileMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Service
+@Slf4j
+public class AssoReportAffairFileService extends ServiceImpl<AssoReportAffairFileMapper, AssoReportAffairFile> {
+}

+ 97 - 0
src/main/java/cn/cslg/pas/service/business/InvalidRequestFileService.java

@@ -0,0 +1,97 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.dto.business.ReportAffairDTO;
+import cn.cslg.pas.common.dto.invalidDTO.AddInvalidRequestFileDTO;
+import cn.cslg.pas.common.dto.invalidDTO.UpdateInvalidRequestFileDTO;
+import cn.cslg.pas.common.vo.invalidVO.InvalidRequestFileVO;
+import cn.cslg.pas.domain.business.AssoReportAffairFile;
+import cn.cslg.pas.domain.business.InvalidRequestFile;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.mapper.InvalidRequestFileMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 无效请求书的Service层
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Service
+@Slf4j
+public class InvalidRequestFileService extends ServiceImpl<InvalidRequestFileMapper, InvalidRequestFile> {
+    @Autowired
+    @Lazy
+    private ReportAffairService reportAffairService;
+
+    @Autowired
+    private AssoReportAffairFileService assoReportAffairFileService;
+
+    /**
+     * 上传无效请求书
+     * @param addInvalidRequestFileDTO
+     */
+    public Integer add(AddInvalidRequestFileDTO addInvalidRequestFileDTO){
+        if (addInvalidRequestFileDTO == null) {
+            throw new XiaoShiException("入参为空");
+        }
+        Integer projectId = addInvalidRequestFileDTO.getProjectId();
+        if (projectId == null) {
+            throw new XiaoShiException("报告id为空");
+        }
+        //1. 首先上传报告事务,拿到报告事务id
+        ReportAffairDTO reportAffairDTO = new ReportAffairDTO();
+        reportAffairDTO.setProjectId(projectId);
+        //无效请求书 1
+        reportAffairDTO.setAffairType(1);
+        //发生时间是无效请求日
+        reportAffairDTO.setOccurredTime(addInvalidRequestFileDTO.getInvalidRequestDate());
+        //备注
+        reportAffairDTO.setDescription(addInvalidRequestFileDTO.getDescription());
+        Integer reportAffairId = reportAffairService.addReportAffair(reportAffairDTO);
+
+        if (reportAffairId == null) {
+            throw new XiaoShiException("上传报告事务失败");
+        }
+        //2. 上传无效请求书
+        InvalidRequestFile invalidRequestFile = new InvalidRequestFile();
+        BeanUtils.copyProperties(addInvalidRequestFileDTO, invalidRequestFile);
+        invalidRequestFile.setReportAffairId(reportAffairId);
+        invalidRequestFile.insert();
+        //3. 添加报告事务与文件关联
+        List<String> fileGuids = addInvalidRequestFileDTO.getFileGuids();
+        if (fileGuids != null && !fileGuids.isEmpty()) {
+            List<AssoReportAffairFile> assoReportAffairFiles = new ArrayList<>();
+            fileGuids.forEach(item -> {
+                AssoReportAffairFile assoReportAffairFile = new AssoReportAffairFile();
+                assoReportAffairFile.setReportAffairId(reportAffairId);
+                assoReportAffairFile.setFileGuid(item);
+                assoReportAffairFiles.add(assoReportAffairFile);
+            });
+            assoReportAffairFileService.saveBatch(assoReportAffairFiles);
+        }
+        return reportAffairId;
+    }
+
+    public InvalidRequestFileVO getInvalidRequestFileVO(Integer reportAffairId) {
+        LambdaQueryWrapper<InvalidRequestFile> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InvalidRequestFile::getReportAffairId, reportAffairId);
+        InvalidRequestFile invalidRequestFile = this.getOne(queryWrapper, false);
+        InvalidRequestFileVO invalidRequestFileVO = new InvalidRequestFileVO();
+        if (invalidRequestFile != null) {
+            BeanUtils.copyProperties(invalidRequestFile, invalidRequestFileVO);
+        }
+        return invalidRequestFileVO;
+    }
+
+    public Integer update(UpdateInvalidRequestFileDTO updateInvalidRequestFileDTO){
+        return null;
+    }
+}

+ 204 - 0
src/main/java/cn/cslg/pas/service/business/ReportAffairService.java

@@ -0,0 +1,204 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.dto.business.ReportAffairDTO;
+import cn.cslg.pas.common.model.cronModel.Personnel;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.model.cronModel.SystemFile;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.common.vo.invalidVO.InvalidRequestFileVO;
+import cn.cslg.pas.common.vo.invalidVO.ReportAffairVO;
+import cn.cslg.pas.domain.business.AssoReportAffairFile;
+import cn.cslg.pas.domain.business.InvalidRequestFile;
+import cn.cslg.pas.domain.business.ReportAffair;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.mapper.ReportAffairMapper;
+import cn.cslg.pas.service.common.FileManagerService;
+import cn.cslg.pas.service.permissions.PermissionService;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 报告事务Service层
+ * @Author xiexiang
+ * @Date 2023/12/23
+ */
+@Slf4j
+@Service
+public class ReportAffairService extends ServiceImpl<ReportAffairMapper, ReportAffair> {
+    @Autowired
+    private CacheUtils cacheUtils;
+    @Autowired
+    private LoginUtils loginUtils;
+    @Autowired
+    private AssoReportAffairFileService assoReportAffairFileService;
+    @Autowired
+    private FileManagerService fileManagerService;
+    @Autowired
+    private InvalidRequestFileService invalidRequestFileService;
+    @Autowired
+    private PermissionService permissionService;
+
+    /**
+     * 创建报告事务
+     * @param reportAffairDTO
+     */
+    public Integer addReportAffair(ReportAffairDTO reportAffairDTO) {
+//        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        if (reportAffairDTO != null) {
+            ReportAffair reportAffair = new ReportAffair();
+            BeanUtils.copyProperties(reportAffairDTO, reportAffair);
+            reportAffair.setCreateId("328");
+            reportAffair.insert();
+            return reportAffair.getId();
+        } else {
+            throw new XiaoShiException("入参为空");
+        }
+    }
+
+    public void delete(List<Integer> ids) {
+        for (Integer id : ids) {
+            LambdaQueryWrapper<ReportAffair> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(ReportAffair::getId, id);
+            ReportAffair reportAffair = this.getOne(queryWrapper, false);
+            if (reportAffair != null) {
+                LambdaQueryWrapper<AssoReportAffairFile> queryWrapper2 = new LambdaQueryWrapper<>();
+                queryWrapper2.eq(AssoReportAffairFile::getReportAffairId, id);
+                assoReportAffairFileService.remove(queryWrapper2);
+                if (reportAffair.getAffairType() == 1) {
+                    LambdaQueryWrapper<InvalidRequestFile> queryWrapper1 = new LambdaQueryWrapper<>();
+                    queryWrapper1.eq(InvalidRequestFile::getReportAffairId, id);
+                    invalidRequestFileService.remove(queryWrapper1);
+                }
+                this.removeById(id);
+            }
+        }
+    }
+
+    /**
+     * 查询报告事务
+     * @param projectId
+     */
+    public List<ReportAffairVO> queryReportAffair(Integer projectId) {
+        List<ReportAffairVO> reportAffairVOS = new ArrayList<>();
+        //判空
+        if (projectId == null) {
+            throw new XiaoShiException("projectId为空");
+        }
+        //根据报告id查询事务
+        LambdaQueryWrapper<ReportAffair> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportAffair::getProjectId, projectId);
+        List<ReportAffair> reportAffairs = this.list(queryWrapper);
+        if (reportAffairs.isEmpty()) {
+            return reportAffairVOS;
+        }
+        reportAffairVOS = this.loadReportAffairVOS(reportAffairs);
+        return reportAffairVOS;
+    }
+
+
+    public List<ReportAffairVO> loadReportAffairVOS(List<ReportAffair> reportAffairs) {
+        List<ReportAffairVO> reportAffairVOS = new ArrayList<>();
+        reportAffairs.forEach(item -> {
+            ReportAffairVO reportAffairVO = new ReportAffairVO();
+            BeanUtils.copyProperties(item, reportAffairVO);
+            //根据事务类型选择不同的装载方式
+            Integer type = reportAffairVO.getAffairType();
+            if (type == 0) {
+
+            } else if (type == 1) {//无效请求书
+                this.loadInvalidRequestFile(reportAffairVO);
+            } else if (type == 2) {
+
+            } else if (type == 3) {
+
+            } else if (type == 4) {
+
+            }
+            reportAffairVOS.add(reportAffairVO);
+        });
+        if (!reportAffairVOS.isEmpty()) {
+            //装载文件信息
+            this.loadSystemFile(reportAffairVOS);
+            //装载创建人名
+            this.loadCreateName(reportAffairVOS);
+        }
+        return reportAffairVOS;
+    }
+
+    /**
+     * 装载文件
+     * @param reportAffairVOS
+     */
+    public void loadSystemFile(List<ReportAffairVO> reportAffairVOS){
+        reportAffairVOS.forEach(item -> {
+            Integer reportAffairId = item.getId();
+            List<SystemFile> systemFiles = new ArrayList<>();
+            LambdaQueryWrapper<AssoReportAffairFile> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(AssoReportAffairFile::getReportAffairId, reportAffairId);
+            List<AssoReportAffairFile> files = assoReportAffairFileService.list(queryWrapper);
+            if (!files.isEmpty()) {
+                List<String> fileGuids = files.stream().map(AssoReportAffairFile::getFileGuid).collect(Collectors.toList());
+                //根据fileGuids查询文件信息
+                //查询文件
+                if (fileGuids.size() != 0) {
+                    try {
+                        String res = fileManagerService.getSystemFileFromFMS(fileGuids);
+                        if (res != null && !res.trim().equals("")) {
+                            systemFiles = JSONObject.parseArray(res, SystemFile.class);
+                        }
+                    } catch (Exception e) {
+                        throw new XiaoShiException("查询文件详情错误");
+                    }
+                }
+            }
+            item.setSystemFileList(systemFiles);
+        });
+    }
+
+    /**
+     * 装载无效请求书
+     * @param reportAffairVO
+     */
+    public void loadInvalidRequestFile(ReportAffairVO reportAffairVO) {
+        Integer reportAffairId = reportAffairVO.getId();
+        InvalidRequestFileVO invalidRequestFileVO = invalidRequestFileService.getInvalidRequestFileVO(reportAffairId);
+        reportAffairVO.setInvalidRequestFileVO(invalidRequestFileVO);
+    }
+
+    public void loadCreateName(List<ReportAffairVO> reportAffairVOS) {
+        List<String> createIds = new ArrayList<>();
+        reportAffairVOS.forEach(item -> {
+            if (item.getCreateId() != null) {
+                createIds.add(item.getCreateId());
+            }
+        });
+        List<Personnel> personnels = new ArrayList<>();
+        //查询创建人名称
+        if (createIds.size() != 0) {
+            try {
+                String res = permissionService.getPersonnelByIdsFromPCS(createIds);
+                JSONObject jsonObject = JSONObject.parseObject(res);
+                personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
+            } catch (Exception e) {
+
+            }
+        }
+        for (ReportAffairVO reportAffairVO : reportAffairVOS) {
+            Personnel personnel = personnels.stream().filter(item -> item.getId().equals(reportAffairVO.getCreateId())).findFirst().orElse(null);
+            if (personnel != null) {
+                reportAffairVO.setCreateName(personnel.getPersonnelName());
+            }
+        }
+    }
+}