Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

lwhhszx 1 anno fa
parent
commit
7847d2243c

+ 59 - 0
src/main/java/cn/cslg/pas/common/dto/business/PatentDigProjectFilesDTO.java

@@ -0,0 +1,59 @@
+package cn.cslg.pas.common.dto.business;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 新增专利挖掘文件DTO
+ * @Author xiexiang
+ * @Date 2023/11/15
+ */
+@Data
+public class PatentDigProjectFilesDTO {
+    /**
+     * 项目id
+     */
+    private Integer projectId;
+
+    /**
+     * 任务id
+     */
+    private Integer taskId;
+
+    /**
+     * 所属流程id
+     */
+    private Integer processId;
+
+    /**
+     * 文件guid
+     */
+    private String fileGuid;
+
+    /**
+     * 文件名称
+     */
+    private String name;
+
+    /**
+     * 是否最终
+     */
+    private Boolean ifFinal;
+
+    /**
+     * 发生时间
+     */
+    private Date event_date;
+
+    /**
+     * 文件类型
+     */
+    private Integer type;
+
+    /**
+     * 描述
+     */
+    private String description;
+
+}

+ 63 - 0
src/main/java/cn/cslg/pas/common/dto/business/UpdatePatentDigProjectFilesDTO.java

@@ -0,0 +1,63 @@
+package cn.cslg.pas.common.dto.business;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 更新专利挖掘文件DTO
+ * @Author xiexiang
+ * @Date 2023/11/15
+ */
+@Data
+public class UpdatePatentDigProjectFilesDTO {
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 项目id
+     */
+    private Integer projectId;
+
+    /**
+     * 任务id
+     */
+    private Integer taskId;
+
+    /**
+     * 所属流程id
+     */
+    private Integer processId;
+
+    /**
+     * 文件guid
+     */
+    private String fileGuid;
+
+    /**
+     * 文件名称
+     */
+    private String name;
+
+    /**
+     * 是否最终
+     */
+    private Boolean ifFinal;
+
+    /**
+     * 发生时间
+     */
+    private Date event_date;
+
+    /**
+     * 文件类型
+     */
+    private Integer type;
+
+    /**
+     * 描述
+     */
+    private String description;
+}

+ 77 - 0
src/main/java/cn/cslg/pas/common/vo/business/PatentDigProjectFilesVO.java

@@ -0,0 +1,77 @@
+package cn.cslg.pas.common.vo.business;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/11/15
+ */
+@Data
+public class PatentDigProjectFilesVO {
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 文件名称
+     */
+    private String name;
+
+    /**
+     * 项目id
+     */
+    private Integer projectId;
+
+    /**
+     * 任务id
+     */
+    private Integer taskId;
+
+    /**
+     * 所属流程id
+     */
+    private Integer processId;
+
+    /**
+     * 文件guid
+     */
+    private String fileGuid;
+
+    /**
+     * 是否最终
+     */
+    private Boolean ifFinal;
+
+    /**
+     * 发生时间
+     */
+    private Date event_date;
+
+    /**
+     * 文件类型
+     */
+    private Integer type;
+
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 创建人
+     */
+    private String createId;
+
+    /**
+     * 创建人名称
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+}

+ 45 - 0
src/main/java/cn/cslg/pas/domain/business/AssoTaskField.java

@@ -0,0 +1,45 @@
+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;
+
+/**
+ * 任务与栏位关联表
+ * @Author xiexiang
+ * @Date 2023/11/15
+ */
+@Data
+@TableName("asso_task_field")
+public class AssoTaskField extends BaseEntity<AssoTaskField> {
+    /**
+     * 任务id
+     */
+    @TableField(value = "import_task_id")
+    private Integer importTaskId;
+
+    /**
+     * 专题库/报告/产品id
+     */
+    @TableField(value = "project_id")
+    private Integer projectId;
+
+    /**
+     * 栏位类型
+     */
+    @TableField(value = "field_type")
+    private Integer fieldType;
+
+    /**
+     * 栏位
+     */
+    @TableField(value = "field_id")
+    private Integer fieldId;
+
+    /**
+     * 栏位值id
+     */
+    @TableField(value = "field_value_id")
+    private Integer fieldValueId;
+}

+ 46 - 0
src/main/java/cn/cslg/pas/domain/business/AssoTaskSynergy.java

@@ -0,0 +1,46 @@
+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/11/15
+ */
+@Data
+@TableName("asso_task_synergy")
+public class AssoTaskSynergy extends BaseEntity<AssoTaskSynergy> {
+    /**
+     * 任务id
+     */
+    @TableField(value = "task_id")
+    private Integer taskId;
+
+    /**
+     *
+     */
+    @TableField(value = "synergy_person")
+    private String synergyPerson;
+
+    /**
+     *
+     */
+    @TableField(value = "if_inner")
+    private Boolean ifInner;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+}

+ 107 - 0
src/main/java/cn/cslg/pas/domain/business/projectTask.java

@@ -0,0 +1,107 @@
+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;
+
+/**
+ * project与任务
+ * @Author xiexiang
+ * @Date 2023/11/15
+ */
+@Data
+@TableName("project_task")
+public class projectTask extends BaseEntity<projectTask> {
+    /**
+     * 任务名称
+     */
+    @TableField(value = "name")
+    private String name;
+
+    /**
+     * 专题库/报告id
+     */
+    @TableField(value = "project_id")
+    private Integer projectId;
+
+    /**
+     * 0标引任务
+     * 1项目开卷审核任务
+     * 2检索条件任务
+     * 3对比任务
+     * 4协同任务
+     * 5任务审核任务
+     */
+    @TableField(value = "type")
+    private Integer type;
+
+    /**
+     * 内部人员:人员id
+     * 外部人员:人员的邮箱
+     */
+    @TableField(value = "handle")
+    private String handle;
+
+    /**
+     * 0内部人员1外部人员
+     */
+    @TableField(value = "handle_type")
+    private Integer handleType;
+
+    /**
+     * 截止时间
+     */
+    @TableField(value = "deadline_time")
+    private Date deadLineTime;
+
+    /**
+     * 完成时间
+     */
+    @TableField(value = "finish_time")
+    private Date finishTime;
+
+    /**
+     * 上一级任务id
+     */
+    @TableField(value = "last_task_id")
+    private Integer lastTaskId;
+
+    /**
+     * 被审核的任务id
+     */
+    @TableField(value = "asso_task_id")
+    private Integer assoTaskId;
+
+    /**
+     * 状态
+     */
+    @TableField(value = "status")
+    private Integer status;
+
+    /**
+     * 进度
+     */
+    @TableField(value = "progress")
+    private double progress;
+
+    /**
+     * 结果
+     */
+    @TableField(value = "result")
+    private Integer result;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+}

+ 3 - 3
src/main/java/cn/cslg/pas/mapper/PatentDigProjectFilesMapper.java

@@ -1,7 +1,6 @@
 package cn.cslg.pas.mapper;
 
-import cn.cslg.pas.common.vo.business.EventVO;
-import cn.cslg.pas.domain.business.Event;
+import cn.cslg.pas.common.vo.business.PatentDigProjectFilesVO;
 import cn.cslg.pas.domain.business.PatentDigProjectFiles;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
@@ -16,5 +15,6 @@ import java.util.List;
  */
 @Repository
 public interface PatentDigProjectFilesMapper extends BaseMapper<PatentDigProjectFiles> {
-
+    List<PatentDigProjectFilesVO> getPatentDigProjectFiles(String sql1, String sql2, String sql3);
+    Long getPatentDigProjectFilesCount(String sql);
 }

+ 107 - 43
src/main/java/cn/cslg/pas/service/business/PatentDigProjectFilesService.java

@@ -1,25 +1,31 @@
 package cn.cslg.pas.service.business;
 
-import cn.cslg.pas.common.dto.business.PatentDigProjectDTO;
-import cn.cslg.pas.common.dto.business.ReportProjectDTO;
+import cn.cslg.pas.common.dto.business.PatentDigProjectFilesDTO;
+import cn.cslg.pas.common.dto.business.UpdatePatentDigProjectFilesDTO;
+import cn.cslg.pas.common.model.cronModel.Personnel;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.request.GroupRequest;
 import cn.cslg.pas.common.model.request.QueryRequest;
-import cn.cslg.pas.domain.business.PatentDigProject;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.common.vo.business.PatentDigProjectFilesVO;
 import cn.cslg.pas.domain.business.PatentDigProjectFiles;
-import cn.cslg.pas.domain.business.Project;
-import cn.cslg.pas.domain.business.RdProject;
+import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.mapper.PatentDigProjectFilesMapper;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import cn.cslg.pas.service.permissions.PermissionService;
+import cn.cslg.pas.service.query.FormatQueryService;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import lombok.experimental.Accessors;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -30,12 +36,38 @@ import java.util.List;
 public class PatentDigProjectFilesService extends ServiceImpl<PatentDigProjectFilesMapper, PatentDigProjectFiles> implements Business {
 
     @Autowired
-    private  RdProjectService rdProjectService;
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
+    @Autowired
+    private FormatQueryService formatQueryService;
+
+    @Autowired
+    private PatentDigProjectFilesMapper patentDigProjectFilesMapper;
+
+    @Autowired
+    private PermissionService permissionService;
 
 
     @Override
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
-        return null;
+        //根据专题库/报告id查询自定义栏位
+        List<String> sqls = formatQueryService.reSqls(queryRequest,"patentDigProjectFiles");
+        //根据sql查询自定义栏位信息
+        List<PatentDigProjectFilesVO> patentDigProjectFilesVOS = patentDigProjectFilesMapper.getPatentDigProjectFiles(sqls.get(0), sqls.get(1), sqls.get(2));
+        //查询总数
+        Long total = patentDigProjectFilesMapper.getPatentDigProjectFilesCount(sqls.get(0));
+        //装载自定义栏位信息
+        this.loadPatentDigProjectFiles(patentDigProjectFilesVOS);
+        //装载返回信息
+        Records records = new Records();
+        records.setCurrent(queryRequest.getCurrent());
+        records.setSize(queryRequest.getSize());
+        records.setData(patentDigProjectFilesVOS);
+        records.setTotal(total);
+        return records;
     }
 
     @Override
@@ -60,44 +92,76 @@ public class PatentDigProjectFilesService extends ServiceImpl<PatentDigProjectFi
 
     @Override
     public Object addMessage(Object object) {
-        PatentDigProjectDTO patentDigProjectDTO = (PatentDigProjectDTO) object;
-
-        PatentDigProject patentDigProject = new PatentDigProject();
-        BeanUtils.copyProperties(patentDigProjectDTO, patentDigProject);
-        Project project =new Project();
-        project.setTenantId(1);
-        project.setType(3);
-        project.setCreateId("328");
-          project.insert();
-        patentDigProject.setProjectId(project.getId());
-
-        //判断rdProjectId是否为空
-        if (patentDigProjectDTO.getRdProjectId() == null) {
-            //根据编号查询研发项目
-            if (patentDigProjectDTO.getRdnumber() != null) {
-                //根据研发项目编号查询研发项目
-                LambdaQueryWrapper<RdProject> queryWrapper =new LambdaQueryWrapper<>();
-                queryWrapper.eq(RdProject::getNumber,patentDigProjectDTO.getRdnumber());
-              List<RdProject> rdProjects =  rdProjectService.list(queryWrapper);
-              if(rdProjects.size()!=0){
-                  patentDigProject.setRdProjectId(rdProjects.get(0).getId());
-              }
-else{
-    RdProject rdProject =new RdProject();
-    rdProject.setCreateId("328");
-    rdProject.setTenantId(1);
-    rdProject.setNumber(patentDigProjectDTO.getRdnumber());
-    rdProject.setProductPhase(patentDigProjectDTO.getProductPhase());
-              }
-            }
-
+        if (object.equals(null)) {
+            throw new XiaoShiException("传入参数不能为空");
         }
-
-        return null;
+        PatentDigProjectFilesDTO patentDigProjectFilesDTO = (PatentDigProjectFilesDTO) object;
+        if (patentDigProjectFilesDTO.getProjectId().equals(null)) {
+            throw new XiaoShiException("projectId不能为空");
+        }
+        if (patentDigProjectFilesDTO.getType().equals(null)) {
+            throw new XiaoShiException("文件类型不能为空");
+        }
+        PatentDigProjectFiles patentDigProjectFiles = new PatentDigProjectFiles();
+        BeanUtils.copyProperties(patentDigProjectFilesDTO, patentDigProjectFiles);
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+        patentDigProjectFiles.setCreateId(personnelVO.getId());
+        patentDigProjectFiles.insert();
+        return patentDigProjectFiles.getId();
     }
 
     @Override
     public Object updateMessage(Object object) {
-        return null;
+        if (object.equals(null)) {
+            throw new XiaoShiException("传入参数不能为空");
+        }
+        UpdatePatentDigProjectFilesDTO updatePatentDigProjectFilesDTO = (UpdatePatentDigProjectFilesDTO) object;
+        if (updatePatentDigProjectFilesDTO.getProjectId().equals(null)) {
+            throw new XiaoShiException("projectId不能为空");
+        }
+        if (updatePatentDigProjectFilesDTO.getType().equals(null)) {
+            throw new XiaoShiException("文件类型不能为空");
+        }
+        PatentDigProjectFiles patentDigProjectFiles = this.getById(updatePatentDigProjectFilesDTO.getId());
+        BeanUtils.copyProperties(updatePatentDigProjectFilesDTO, patentDigProjectFiles);
+        patentDigProjectFiles.updateById();
+        return patentDigProjectFiles.getId();
+    }
+
+    /**
+     * 装载
+     * @param patentDigProjectFilesVOS
+     */
+    private void loadPatentDigProjectFiles(List<PatentDigProjectFilesVO> patentDigProjectFilesVOS) throws IOException {
+        List<String> createIds = new ArrayList<>();
+        patentDigProjectFilesVOS.forEach(
+                item -> {
+                    if (item.getCreateId() != null) {
+                        createIds.add(item.getCreateId());
+                    }
+                }
+        );
+        List<Personnel> personnels = new ArrayList<>();
+        //查询创建人名称
+        if (createIds.size() != 0) {
+            String res = permissionService.getPersonnelByIdsFromPCS(createIds);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
+        }
+        for (PatentDigProjectFilesVO patentDigProjectFilesVO : patentDigProjectFilesVOS) {
+            //装载人员信息
+            Personnel personnel = personnels.stream().filter(item -> item.getId().equals(patentDigProjectFilesVO.getCreateId())).findFirst().orElse(null);
+            if (personnel != null) {
+                patentDigProjectFilesVO.setCreateName(personnel.getPersonnelName());
+            } else {
+                throw new XiaoShiException("未获取到当前登陆人信息");
+            }
+        }
     }
 }

+ 25 - 0
src/main/resources/mapper/PatentDigProjectFilesMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.cslg.pas.mapper.PatentDigProjectFilesMapper">
+  <select id="getPatentDigProjectFiles"  resultType="cn.cslg.pas.common.vo.business.PatentDigProjectFilesVO">
+   select id,name,description,project_id as projectId,task_id as taskId,process_id as processId,file_guid as fileGuid,if_final as ifFinal,event_date as eventDate,type,status,create_id as createId,create_time as createTime from patent_dig_project_files
+
+
+        <if test="sql1!=''">
+
+        where    ${sql1}
+        </if>
+
+
+      ${sql2} ${sql3}
+  </select>
+
+    <select id="getPatentDigProjectFilesCount" resultType="java.lang.Long">
+        select count(*) from patent_dig_project_files
+        <if test="sql!=''">
+
+            where    ${sql}
+        </if>
+    </select>
+
+</mapper>