xiexiang 1 年之前
父节点
当前提交
bbd7a74976

+ 0 - 32
src/main/java/cn/cslg/pas/common/dto/business/AvoidDesignUpdateDTO.java

@@ -1,32 +0,0 @@
-package cn.cslg.pas.common.dto.business;
-
-import lombok.Data;
-
-/**
- * 回避设计UpdateDTO
- * @Author xiexiang
- * @Date 2023/12/5
- */
-@Data
-public class AvoidDesignUpdateDTO {
-    /**
-     * id
-     */
-    private Integer id;
-
-    /**
-     * 对应特征
-     */
-    private Integer featureId;
-
-    /**
-     * 所属报告
-     */
-    private Integer projectId;
-
-    /**
-     * 回避设计方向
-     */
-    private String direction;
-    
-}

+ 0 - 28
src/main/java/cn/cslg/pas/common/dto/business/AvoidDesignWholeUpdateDTO.java

@@ -1,28 +0,0 @@
-package cn.cslg.pas.common.dto.business;
-
-import lombok.Data;
-
-
-/**
- * 回避设计方向DTO
- * @Author xiexiang
- * @Date 2023/12/5
- */
-@Data
-public class AvoidDesignWholeUpdateDTO {
-    /**
-     * id
-     */
-    private Integer id;
-
-    /**
-     * 所属报告
-     */
-    private Integer projectId;
-
-    /**
-     * 内容
-     */
-    private String content;
-    
-}

+ 68 - 0
src/main/java/cn/cslg/pas/common/dto/business/ProductMessageDTO.java

@@ -0,0 +1,68 @@
+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;
+import java.util.List;
+
+/**
+ * FTO、侵权分析报告 标的产品信息
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+public class ProductMessageDTO {
+    /**
+     * 产品id
+     */
+    private String id;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+    /**
+     * 产品说明
+     */
+    private String productDescription;
+
+    /**
+     * 调查区域
+     */
+    private String surveyArea;
+
+    /**
+     * 检索策略
+     */
+    private String searchPolicy;
+
+    /**
+     * 检索截止日期
+     */
+    private Date deadLine;
+
+    /**
+     * 关注企业/发明人/技术方向
+     */
+    private String focusInformation;
+
+    /**
+     * 备注
+     */
+    private String description;
+
+    /**
+     * 项目id(报告)
+     */
+    private Integer projectId;
+
+    /**
+     * 图片guids
+     */
+    private List<String> fileGuids;
+
+}

+ 7 - 9
src/main/java/cn/cslg/pas/common/model/cronModel/SystemFile.java

@@ -14,14 +14,11 @@ import java.util.Date;
 @Data
 
 public class SystemFile  {
-
-
+    /**
+     * 文件guid
+     */
     private String guid;
 
-
-
-
-
     /**
      * 文件名称
      */
@@ -30,9 +27,10 @@ public class SystemFile  {
     /**
      * 原始名称
      */
-
     private String originalName;
 
-     private String type;
-
+    /**
+     * 文件类型
+     */
+    private String type;
 }

+ 82 - 0
src/main/java/cn/cslg/pas/common/vo/business/ProductMessageVO.java

@@ -0,0 +1,82 @@
+package cn.cslg.pas.common.vo.business;
+
+import cn.cslg.pas.common.model.cronModel.SystemFile;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * FTO、侵权分析报告 标的产品信息返回VO
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+public class ProductMessageVO {
+    /**
+     * 产品id
+     */
+    private Integer id;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+    /**
+     * 产品说明
+     */
+    private String productDescription;
+
+    /**
+     * 调查区域
+     */
+    private String surveyArea;
+
+    /**
+     * 检索策略
+     */
+    private String searchPolicy;
+
+    /**
+     * 检索截止日期
+     */
+    private Date deadLine;
+
+    /**
+     * 关注企业/发明人/技术方向
+     */
+    private String focusInformation;
+
+    /**
+     * 备注
+     */
+    private String description;
+
+    /**
+     * 项目id(报告)
+     */
+    private Integer projectId;
+
+    /**
+     * 图片详情
+     */
+    private List<SystemFile> systemFileList;
+
+    /**
+     * 创建人id
+     */
+    private String createId;
+
+    /**
+     * 创建人名称
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+}

+ 44 - 0
src/main/java/cn/cslg/pas/controller/FTOReportController.java

@@ -0,0 +1,44 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.business.ProductMessageDTO;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.vo.business.ProductMessageVO;
+import cn.cslg.pas.service.business.ProductMessageService;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * FTO
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/fto")
+@RestController
+public class FTOReportController {
+    @Autowired
+    private ProductMessageService productMessageService;
+
+    @Operation(summary = "编辑/保存标的产品信息")
+    @PostMapping("/addProductMessage")
+    public Response addProductMessage(@RequestBody ProductMessageDTO productMessageDTO){
+        Integer id = productMessageService.addOrUpdateProductMessage(productMessageDTO);
+        Records records = new Records();
+        records.setData(id);
+        return Response.success(records);
+    }
+
+    @Operation(summary = "查询标的产品信息")
+    @GetMapping("/getProductMessage")
+    public Response getProductMessage(Integer projectId){
+        Records records = new Records();
+        ProductMessageVO productMessageVO = productMessageService.getProductMessage(projectId);
+        records.setData(productMessageVO);
+        return Response.success(records);
+    }
+
+}

+ 0 - 16
src/main/java/cn/cslg/pas/controller/ProjectTaskController.java

@@ -39,9 +39,6 @@ public class ProjectTaskController {
     @Autowired
     private TaskHandleResultService taskHandleResultService;
 
-//    @Autowired
-//    private AssoTaskFileService assoTaskFileService;
-
     @Operation(summary = "添加项目开卷审核任务")
     @PostMapping("/addProjectOpenAuditTask")
     public Response addProjectOpenAuditTask(@RequestBody PatentDigProjectTaskDTO patentDigProjectTaskDTO) throws Exception {
@@ -104,17 +101,4 @@ public class ProjectTaskController {
             return Response.error("失败");
         }
     }
-//    @Operation(summary = "查询任务与附件关联")
-//    @PostMapping("/getAssoTaskFile")
-//    public Response getAssoTaskFile(@RequestBody GetAssoTaskFileDTO getAssoTaskFileDTO) throws IOException {
-//        List<AssoTaskFileVO> assoTaskFileVOS = assoTaskFileService.getAssoTaskFile(getAssoTaskFileDTO.getTaskId());
-//        return Response.success(assoTaskFileVOS);
-//    }
-//
-//    @Operation(summary = "删除任务与附件关联")
-//    @PostMapping("/deleteAssoTaskFile")
-//    public String deleteAssoTaskFile(@RequestBody List<Integer> ids){
-//        assoTaskFileService.deleteAssoTaskFile(ids);
-//        return Response.success();
-//    }
 }

+ 26 - 0
src/main/java/cn/cslg/pas/domain/business/AssoProductMessageFile.java

@@ -0,0 +1,26 @@
+package cn.cslg.pas.domain.business;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 标的产品与图片关联表
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+@TableName("asso_product_message_file")
+public class AssoProductMessageFile {
+    /**
+     * 标的产品id
+     */
+    @TableField(value = "product_message_id")
+    private Integer productMessageId;
+
+    /**
+     * 文件guid
+     */
+    @TableField(value = "file_guid")
+    private String fileGuid;
+}

+ 77 - 0
src/main/java/cn/cslg/pas/domain/business/ProductMessage.java

@@ -0,0 +1,77 @@
+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;
+
+/**
+ * FTO、侵权分析报告 标的产品信息
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+@TableName("product_message")
+public class ProductMessage extends BaseEntity<ProductMessage> {
+    /**
+     * 产品名称
+     */
+    @TableField(value = "product_name")
+    private String productName;
+
+    /**
+     * 产品说明
+     */
+    @TableField(value = "product_description")
+    private String productDescription;
+
+    /**
+     * 调查区域
+     */
+    @TableField(value = "survey_area")
+    private String surveyArea;
+
+    /**
+     * 检索策略
+     */
+    @TableField(value = "search_policy")
+    private String searchPolicy;
+
+    /**
+     * 检索截止日期
+     */
+    @TableField(value = "dead_line")
+    private Date deadLine;
+
+    /**
+     * 关注企业/发明人/技术方向
+     */
+    @TableField(value = "focus_information")
+    private String focusInformation;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "description")
+    private String description;
+
+    /**
+     * 项目id(报告)
+     */
+    @TableField(value = "project_id")
+    private Integer projectId;
+
+    /**
+     * 创建人id
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+}

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

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.AssoProductMessageFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 标的产品与图片关联Mapper层
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Repository
+public interface AssoProductMessageFileMapper extends BaseMapper<AssoProductMessageFile> {
+}

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

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.ProductMessage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 标的产品信息Mapper
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Repository
+public interface ProductMessageMapper extends BaseMapper<ProductMessage> {
+}

+ 17 - 0
src/main/java/cn/cslg/pas/service/business/AssoProductMessageFileService.java

@@ -0,0 +1,17 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.domain.business.AssoProductMessageFile;
+import cn.cslg.pas.mapper.AssoProductMessageFileMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * 标的产品与图片关联Service层
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Service
+@Slf4j
+public class AssoProductMessageFileService extends ServiceImpl<AssoProductMessageFileMapper, AssoProductMessageFile> {
+}

+ 18 - 10
src/main/java/cn/cslg/pas/service/business/AvoidDesignWholeService.java

@@ -1,15 +1,18 @@
 package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.dto.business.AvoidDesignWholeDTO;
-import cn.cslg.pas.common.dto.business.AvoidDesignWholeUpdateDTO;
 import cn.cslg.pas.common.dto.business.GetAvoidDesignDTO;
 import cn.cslg.pas.common.model.cronModel.Personnel;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.vo.PatentRightVo;
 import cn.cslg.pas.common.vo.business.AvoidDesignRightVO;
 import cn.cslg.pas.common.vo.business.AvoidDesignVO;
 import cn.cslg.pas.common.vo.business.AvoidDesignWholeVO;
 import cn.cslg.pas.common.vo.business.SplitVO;
 import cn.cslg.pas.domain.business.*;
+import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.AvoidDesignWholeMapper;
 import cn.cslg.pas.service.permissions.PermissionService;
@@ -49,6 +52,12 @@ public class AvoidDesignWholeService extends ServiceImpl<AvoidDesignWholeMapper,
     @Autowired
     private ReportProjectService reportProjectService;
 
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
     /**
      * 新增回避设计方案总体方向
      * @param avoidDesignWholeDTO
@@ -57,15 +66,14 @@ public class AvoidDesignWholeService extends ServiceImpl<AvoidDesignWholeMapper,
     public Integer addAvoidDesignWhole(AvoidDesignWholeDTO avoidDesignWholeDTO){
         AvoidDesignWhole avoidDesignWhole = new AvoidDesignWhole();
         BeanUtils.copyProperties(avoidDesignWholeDTO, avoidDesignWhole);
-//        //获取登录人信息
-//        PersonnelVO personnelVO = new PersonnelVO();
-//        try {
-//            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-//        } catch (Exception e) {
-//            throw new UnLoginException("未登录");
-//        }
-//        avoidDesignWhole.setCreateId(personnelVO.getId());
-        avoidDesignWhole.setCreateId("328");
+        //获取登录人信息
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+        avoidDesignWhole.setCreateId(personnelVO.getId());
         avoidDesignWhole.insert();
         return avoidDesignWhole.getId();
     }

+ 237 - 0
src/main/java/cn/cslg/pas/service/business/ProductMessageService.java

@@ -0,0 +1,237 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.dto.business.ProductMessageDTO;
+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.business.ProductMessageVO;
+import cn.cslg.pas.domain.business.AssoProductMessageFile;
+import cn.cslg.pas.domain.business.ProductMessage;
+import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.mapper.ProductMessageMapper;
+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.context.annotation.Bean;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 标的产品信息的Service
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Service
+@Slf4j
+public class ProductMessageService extends ServiceImpl<ProductMessageMapper, ProductMessage> {
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
+    @Autowired
+    private AssoProductMessageFileService assoProductMessageFileService;
+
+    @Autowired
+    private FileManagerService fileManagerService;
+
+    @Autowired
+    private PermissionService permissionService;
+
+    /**
+     * 编辑or保存标的产品信息
+     * @param productMessageDTO
+     * @return
+     */
+    public Integer addOrUpdateProductMessage(ProductMessageDTO productMessageDTO){
+        //判空
+        if (productMessageDTO == null) {
+            throw new XiaoShiException("入参不能为空");
+        }
+        if (productMessageDTO.getProjectId() == null) {
+            throw new XiaoShiException("报告id不能为空!");
+        }
+        //获取登录人信息
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+        //判断产品id是否传入
+        if (productMessageDTO.getId() != null) {
+            //传入了id,执行更新操作
+            //根据id查询产品信息
+            ProductMessage productMessage = this.getById(productMessageDTO.getId());
+            BeanUtils.copyProperties(productMessageDTO, productMessage);
+            productMessage.updateById();
+            Integer productMessageId = productMessage.getId();
+            //如果文件集合不为空,则需要更新产品与文件关联表
+            if (productMessageDTO.getFileGuids() != null && !productMessageDTO.getFileGuids().isEmpty()) {
+                List<String> newFileGuids = productMessageDTO.getFileGuids();
+                //更新产品与文件关联表
+                this.saveAssoProductMessageFile(productMessageId, newFileGuids);
+            }
+            return productMessageId;
+        } else {
+            //未传入id,执行新增操作
+            ProductMessage productMessage = new ProductMessage();
+            BeanUtils.copyProperties(productMessageDTO, productMessage);
+            productMessage.setCreateId(personnelVO.getId());
+            productMessage.insert();
+            Integer productMessageId = productMessage.getId();
+            if (productMessageId != null) {
+                //如果文件集合不为空,需要插入产品与文件关联表
+                List<String> fileGuids = productMessageDTO.getFileGuids();
+                if (fileGuids != null && !fileGuids.isEmpty()) {
+                    this.addAssoProductMessageFile(productMessageId, fileGuids);
+                }
+            } else {
+                throw new XiaoShiException("产品信息插入失败");
+            }
+            return productMessage.getId();
+        }
+    }
+
+    /**
+     * 更新产品与文件关联
+     * @param productMessageId
+     * @param newFileGuids
+     */
+    public void saveAssoProductMessageFile(Integer productMessageId, List<String> newFileGuids){
+        List<String> oldFileGuids = new ArrayList<>();
+        //根据标的产品id查询出关联的文件集合
+        LambdaQueryWrapper<AssoProductMessageFile> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoProductMessageFile::getProductMessageId, productMessageId);
+        List<AssoProductMessageFile> assoProductMessageFiles = assoProductMessageFileService.list(queryWrapper);
+        if (!assoProductMessageFiles.isEmpty()) {
+            oldFileGuids = assoProductMessageFiles.stream().map(AssoProductMessageFile::getFileGuid).collect(Collectors.toList());
+            //新旧文件集合作差,多余的新增,没有的删除;
+            List<String> filesToAdd = new ArrayList<>(newFileGuids);
+            List<String> filesToRemove = new ArrayList<>(oldFileGuids);
+            //需要新增的文件
+            filesToAdd.removeAll(oldFileGuids);
+            //需要删除的文件
+            filesToRemove.removeAll(newFileGuids);
+            //先删除
+            LambdaQueryWrapper<AssoProductMessageFile> deleteWrapper = new LambdaQueryWrapper<>();
+            deleteWrapper.in(AssoProductMessageFile::getFileGuid, filesToRemove);
+            assoProductMessageFileService.remove(deleteWrapper);
+            //后新增
+            List<AssoProductMessageFile> newAssoFile = new ArrayList<>();
+            filesToAdd.forEach(item -> {
+                AssoProductMessageFile assoProductMessageFile = new AssoProductMessageFile();
+                assoProductMessageFile.setFileGuid(item);
+                assoProductMessageFile.setProductMessageId(productMessageId);
+                newAssoFile.add(assoProductMessageFile);
+            });
+            assoProductMessageFileService.saveBatch(newAssoFile);
+        }
+    }
+
+    /**
+     * 新增产品与文件关联
+     * @param productMessageId
+     * @param fileGuids
+     */
+    public void addAssoProductMessageFile(Integer productMessageId, List<String> fileGuids){
+        List<AssoProductMessageFile> assoProductMessageFiles = new ArrayList<>();
+        fileGuids.forEach(item -> {
+            AssoProductMessageFile assoProductMessageFile = new AssoProductMessageFile();
+            assoProductMessageFile.setProductMessageId(productMessageId);
+            assoProductMessageFile.setFileGuid(item);
+            assoProductMessageFiles.add(assoProductMessageFile);
+        });
+        //批量保存产品与文件关联信息
+        assoProductMessageFileService.saveBatch(assoProductMessageFiles);
+    }
+
+    /**
+     * 根据projectId查询标的产品信息
+     * @param projectId
+     * @return
+     */
+    public ProductMessageVO getProductMessage(Integer projectId) {
+        //新建返回VO
+        ProductMessageVO productMessageVO = new ProductMessageVO();
+        //根据projectId查询产品信息
+        LambdaQueryWrapper<ProductMessage> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ProductMessage::getProjectId, projectId);
+        ProductMessage productMessage = this.getOne(queryWrapper, false);
+        if (productMessage != null) {
+            //复制给返回VO
+            BeanUtils.copyProperties(productMessage, productMessageVO);
+            //查询文件信息
+            List<String> fileGuids = this.getFileGuids(productMessageVO.getId());
+            if (!fileGuids.isEmpty()) {
+                List<SystemFile> systemFiles = new ArrayList<>();
+                try {
+                    String res = fileManagerService.getSystemFileFromFMS(fileGuids);
+                    systemFiles = JSONObject.parseArray(res, SystemFile.class);
+                } catch (Exception e) {
+                    throw new XiaoShiException("查询文件详细信息错误" + e);
+                }
+                productMessageVO.setSystemFileList(systemFiles);
+            }
+            this.loadProductMessageVO(productMessageVO);
+        } else {
+            throw new XiaoShiException("未查询到产品");
+        }
+        return productMessageVO;
+    }
+
+    /**
+     * 根据产品id查询关联文件Guids
+     * @param productMessageId
+     * @return
+     */
+    public List<String> getFileGuids(Integer productMessageId){
+        LambdaQueryWrapper<AssoProductMessageFile> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoProductMessageFile::getProductMessageId, productMessageId);
+        List<AssoProductMessageFile> assoProductMessageFiles = assoProductMessageFileService.list(queryWrapper);
+        List<String> fileGuids = new ArrayList<>();
+        if (!assoProductMessageFiles.isEmpty()) {
+            fileGuids = assoProductMessageFiles.stream().map(AssoProductMessageFile::getFileGuid).collect(Collectors.toList());
+        }
+        return fileGuids;
+    }
+
+    /**
+     * 装载返回VO
+     * @param productMessageVO
+     */
+    public void loadProductMessageVO(ProductMessageVO productMessageVO){
+        List<String> createIds = new ArrayList<>();
+        createIds.add(productMessageVO.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) {
+                throw new XiaoShiException("查询创建人名称错误");
+            }
+            //装载人员信息
+            Personnel personnel = personnels.stream().filter(item -> item.getId().equals(productMessageVO.getCreateId())).findFirst().orElse(null);
+            if (personnel != null) {
+                productMessageVO.setCreateName(personnel.getPersonnelName());
+            } else {
+                throw new XiaoShiException("未获取到当前登陆人信息");
+            }
+        }
+    }
+}

+ 1 - 135
src/main/java/cn/cslg/pas/service/business/ProjectTaskService.java

@@ -80,7 +80,7 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
      * @param patentDigProjectTaskDTO
      * @return
      */
-    public Object addProjectOpenAuditTask(PatentDigProjectTaskDTO patentDigProjectTaskDTO){
+    public Object  addProjectOpenAuditTask(PatentDigProjectTaskDTO patentDigProjectTaskDTO){
         PatentDigProjectDTO patentDigProjectDTO = patentDigProjectTaskDTO.getPatentDigProjectDTO();
         ProjectTaskDTO projectTaskDTO = patentDigProjectTaskDTO.getProjectTaskDTO();
         //如果专利挖掘项目DTO不为空,则需要先建立专利挖掘项目
@@ -264,140 +264,6 @@ public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTa
         }
     }
 
-//    /**
-//     * 根据任务id查询任务详情以及处理结果以及审核历史
-//     * @param taskId
-//     * @return
-//     */
-//    public TaskDetailsVO queryAuditHistory(Integer taskId) throws IOException {
-//        //新建返回VO类
-//        TaskDetailsVO taskDetailsVO = new TaskDetailsVO();
-//        List<HandleResultFileVO> handleResultFileVOS = new ArrayList<>();
-//        List<AuditHistoryVO> auditHistoryVOS = new ArrayList<>();
-//        //根据taskId查询此条任务详情
-//        ProjectTask currentTask = this.getById(taskId);
-//        //根据此条任务详情获取assoTaskId
-//        Integer assoTaskId = currentTask.getAssoTaskId();
-//        List<ProjectTask> allProjectTasks = new ArrayList<>();
-//        if (assoTaskId != null) {
-//            //根据assoTaskId获取最初任务的详情
-//            LambdaQueryWrapper<ProjectTask> assoTaskWrapper = new LambdaQueryWrapper<>();
-//            assoTaskWrapper.eq(ProjectTask::getId, assoTaskId);
-//            ProjectTaskVO projectTaskVO = new ProjectTaskVO();
-//            ProjectTask assoTask = this.list(assoTaskWrapper).get(0);
-//            if (assoTask != null) {
-//                //装载最初任务详情
-//                BeanUtils.copyProperties(assoTask, projectTaskVO);
-//                taskDetailsVO.setProjectTaskVO(projectTaskVO);
-//                if (assoTask.getType() == 7) {
-//                    //专利挖掘文件任务
-//                    LambdaQueryWrapper<PatentDigProjectFiles> queryWrapper = new LambdaQueryWrapper<>();
-//                    queryWrapper.eq(PatentDigProjectFiles::getTaskId, assoTask.getId());
-//                    List<PatentDigProjectFiles> patentDigProjectFiles = patentDigProjectFilesService.list(queryWrapper);
-//                    List<String> fileGuids = new ArrayList<>();
-//                    List<SystemFile> systemFiles = new ArrayList<>();
-//                    if (!patentDigProjectFiles.isEmpty()) {
-//                        fileGuids = patentDigProjectFiles.stream().map(PatentDigProjectFiles::getFileGuid).collect(Collectors.toList());
-//                    }
-//                    //调用文件系统查询文件信息接口
-//                    if (!fileGuids.isEmpty()) {
-//                        String res = fileManagerService.getSystemFileFromFMS(fileGuids);
-//                        systemFiles = JSONObject.parseArray(res, SystemFile.class);
-//                    }
-//                    if (!systemFiles.isEmpty()) {
-//                        for (PatentDigProjectFiles patentDigProjectFiles1 : patentDigProjectFiles) {
-//                            HandleResultFileVO handleResultFileVO = new HandleResultFileVO();
-//                            //装载文件信息
-//                            SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(patentDigProjectFiles1.getFileGuid())).findFirst().orElse(null);
-//                            if (systemFile != null) {
-//                                BeanUtils.copyProperties(patentDigProjectFiles1, handleResultFileVO);
-//                                handleResultFileVO.setGuid(patentDigProjectFiles1.getFileGuid());
-//                                handleResultFileVO.setType(systemFile.getType());
-//                                handleResultFileVO.setOriginalName(systemFile.getOriginalName());
-//                            }
-//                            handleResultFileVOS.add(handleResultFileVO);
-//                        }
-//                    }
-//                }
-//                //根据assoTaskId查询所有任务的id
-//                LambdaQueryWrapper<ProjectTask> allTaskWrapper = new LambdaQueryWrapper<>();
-//                allTaskWrapper.eq(ProjectTask::getAssoTaskId, assoTaskId);
-//                allProjectTasks = this.list(allTaskWrapper);
-//            }
-//        }
-//        //审核历史返回VO以及集合
-//        if (allProjectTasks != null) {
-//           for (ProjectTask item : allProjectTasks) {
-//               if (item != null) {
-//                   if (item.getId() != item.getAssoTaskId()) {
-//                       AuditHistoryVO auditHistoryVO = new AuditHistoryVO();
-//                       //任务详情VO
-//                       ProjectTaskVO auditHistoryTaskVO = new ProjectTaskVO();
-//                       BeanUtils.copyProperties(item, auditHistoryTaskVO);
-//                       //处理结果VO
-//                       TaskHandleResultVO taskHandleResultVO = new TaskHandleResultVO();
-//                       LambdaQueryWrapper<TaskHandleResult> queryWrapper = new LambdaQueryWrapper<>();
-//                       queryWrapper.eq(TaskHandleResult::getTaskId, item.getId());
-//                       List<TaskHandleResult> taskHandleResults = taskHandleResultService.list(queryWrapper);
-//                       if (taskHandleResults.size() != 0) {
-//                           TaskHandleResult taskHandleResult = taskHandleResults.get(0);
-//                           if (taskHandleResult != null) {
-//                               BeanUtils.copyProperties(taskHandleResult, taskHandleResultVO);
-//                               auditHistoryVO.setProjectTaskVO(auditHistoryTaskVO);
-//                               auditHistoryVO.setTaskHandleResultVO(taskHandleResultVO);
-//                           }
-//                       }
-//                       auditHistoryVOS.add(auditHistoryVO);
-//                   }
-//               }
-//            }
-//            taskDetailsVO.setAuditHistoryVOS(auditHistoryVOS);
-//        }
-//        //全部的文件信息(获取所有的任务的id,查出所有的结果id)
-//        List<Integer> allTaskIds = allProjectTasks.stream().map(ProjectTask::getId).collect(Collectors.toList());
-//        LambdaQueryWrapper<TaskHandleResult> queryWrapper = new LambdaQueryWrapper<>();
-//        queryWrapper.in(TaskHandleResult::getTaskId, allTaskIds);
-//        List<TaskHandleResult> taskHandleResults = taskHandleResultService.list(queryWrapper);
-//        List<Integer> resultIds = new ArrayList<>();
-//        if (taskHandleResults != null && !taskHandleResults.isEmpty()) {
-//            resultIds = taskHandleResults.stream().map(TaskHandleResult::getId).collect(Collectors.toList());
-//        }
-//        //根据所有的结果ids查询所有fileGuids
-//        if (resultIds != null && !resultIds.isEmpty()) {
-//            LambdaQueryWrapper<AssoHandleResultFile> allGuidsWrapper = new LambdaQueryWrapper<>();
-//            allGuidsWrapper.in(AssoHandleResultFile::getTaskHandleResultId, resultIds);
-//            List<AssoHandleResultFile> assoHandleResultFiles = assoHandleResultFileService.list(allGuidsWrapper);
-//            List<String> fileGuids = new ArrayList<>();
-//            List<SystemFile> systemFiles = new ArrayList<>();
-//            if (!assoHandleResultFiles.isEmpty()) {
-//                fileGuids = assoHandleResultFiles.stream().map(AssoHandleResultFile::getFileGuid).collect(Collectors.toList());
-//            }
-//            //调用文件系统查询文件信息接口
-//            if (!fileGuids.isEmpty()) {
-//                String res = fileManagerService.getSystemFileFromFMS(fileGuids);
-//                systemFiles = JSONObject.parseArray(res, SystemFile.class);
-//            }
-//            if (!systemFiles.isEmpty()) {
-//                for (AssoHandleResultFile assoHandleResultFile : assoHandleResultFiles) {
-//                    HandleResultFileVO handleResultFileVO = new HandleResultFileVO();
-//                    //装载文件信息
-//                    SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(assoHandleResultFile.getFileGuid())).findFirst().orElse(null);
-//                    if (systemFile != null) {
-//                        BeanUtils.copyProperties(assoHandleResultFile, handleResultFileVO);
-//                        handleResultFileVO.setGuid(assoHandleResultFile.getFileGuid());
-//                        handleResultFileVO.setType(systemFile.getType());
-//                        handleResultFileVO.setOriginalName(systemFile.getOriginalName());
-//                    }
-//                    handleResultFileVOS.add(handleResultFileVO);
-//                }
-//            }
-//        }
-//        taskDetailsVO.setSystemFileList(handleResultFileVOS);
-//        //装载名称
-//        this.loadTaskDetails(taskDetailsVO);
-//        return taskDetailsVO;
-//    }
-
 
     /**
      * 根据任务id查询任务详情以及处理结果以及审核历史

+ 2 - 1
src/main/java/cn/cslg/pas/service/business/ReportProjectService.java

@@ -298,6 +298,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
         ReportProject reportProject = new ReportProject();
         BeanUtils.copyProperties(reportProjectDTO, reportProject);
         reportProject.setProjectId(project.getId());
+        //根据是否直接完成设置报告的状态
         if (reportProjectDTO.getIfFinish() == true) {
             reportProject.setStatus(3);
         } else {
@@ -807,7 +808,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper, Repor
             }
 
             //装载报告状态
-            SystemDict systemDictStatus = reportTypeList.stream().filter(item -> reportProjectVO.getReportType().equals(Integer.parseInt(item.getValue()))&&item.getType().equals("REPORT_STATE")).findFirst().orElse(null);
+            SystemDict systemDictStatus = reportTypeList.stream().filter(item -> reportProjectVO.getStatus().equals(Integer.parseInt(item.getValue()))&&item.getType().equals("REPORT_STATE")).findFirst().orElse(null);
             if (systemDict != null) {
                 if (systemDictStatus != null) {
                     reportProjectVO.setStatusName(systemDictStatus.getLabel());

+ 1 - 1
src/main/resources/jsons/reportProject.json

@@ -34,7 +34,7 @@
   "ifSearch":"true",
   "ifGroup": "false",
     "ifShow":"true",
-    "defaultHidden": "true"
+    "defaultHidden": "false"
 },
   {"name":"创建人",
     "type":"String",

+ 1 - 23
src/test/java/cn/cslg/pas/service/AvoidDesignServiceTests.java

@@ -2,7 +2,6 @@ package cn.cslg.pas.service;
 
 import cn.cslg.pas.common.dto.business.AvoidDesignDTO;
 import cn.cslg.pas.common.dto.business.AvoidDesignInsertDTO;
-import cn.cslg.pas.common.dto.business.AvoidDesignUpdateDTO;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.controller.AvoidDesignController;
 import cn.cslg.pas.service.business.AvoidDesignService;
@@ -27,33 +26,12 @@ public class AvoidDesignServiceTests {
 
     @Test
     public void test() throws Exception {
-        List<AvoidDesignDTO> avoidDesignDTOS = new ArrayList<>();
-        for (int i = 6; i < 12; i++) {
-            AvoidDesignDTO avoidDesignDTO = new AvoidDesignDTO();
-            avoidDesignDTO.setContent("内容" + i);
-            avoidDesignDTO.setRightSort(i);
-            avoidDesignDTO.setRightType(0);
-            avoidDesignDTO.setExplainText("解释" + i);
-            avoidDesignDTO.setDirection("回避设计方向" + i);
-            avoidDesignDTOS.add(avoidDesignDTO);
-        }
-        AvoidDesignInsertDTO avoidDesignInsertDTO = new AvoidDesignInsertDTO();
-        avoidDesignInsertDTO.setProjectId(49);
 
-        avoidDesignInsertDTO.setAvoidDesignDTOS(avoidDesignDTOS);
-        Response response =  avoidDesignController.addAvoidDesign(avoidDesignInsertDTO);
-        System.out.println("-----" + response.getData());
     }
 
     @Test
     public void testUpdate() {
-        AvoidDesignUpdateDTO avoidDesignUpdateDTO = new AvoidDesignUpdateDTO();
-        avoidDesignUpdateDTO.setId(2);
-        avoidDesignUpdateDTO.setFeatureId(1);
-        avoidDesignUpdateDTO.setProjectId(2);
-        avoidDesignUpdateDTO.setDirection("测试更新");
-//        Integer id = avoidDesignService.updateAvoidDesign(avoidDesignUpdateDTO);
-//        System.out.println("testUpdate:" + id);
+
     }
 
     @Test