lwhhszx 1 năm trước cách đây
mục cha
commit
3e85be6aa3

+ 2 - 0
src/main/java/cn/cslg/pas/common/dto/business/PatentProjectDTO.java

@@ -33,6 +33,8 @@ public class PatentProjectDTO {
     private DateTime commissionCaseDay;
     @Schema(description = "描述")
     private String description;
+    @Schema(description = "应用场景")
+    private List<Integer> scenarios;
     @Schema(description = "是否更新")
     private Boolean ifUpdate;
     @Schema(description = "树结构")

+ 26 - 0
src/main/java/cn/cslg/pas/common/dto/business/QueryTreeNodeDTO.java

@@ -0,0 +1,26 @@
+package cn.cslg.pas.common.dto.business;
+
+public class QueryTreeNodeDTO {
+    /**
+     * 主键
+     */
+    private Integer id;
+
+    /**
+     * 类型
+     * (1产品类别,2产品,3技术分类,4自定义树)
+     */
+    private Integer type;
+
+    /**
+     * 抽象id
+     * (所属产品/产品类别/自定义树/技术分类)
+     */
+    private Integer typeId;
+
+    /**
+     * 节点名称
+     */
+    private String name;
+
+}

+ 130 - 0
src/main/java/cn/cslg/pas/common/vo/business/PatentProjectVO.java

@@ -0,0 +1,130 @@
+package cn.cslg.pas.common.vo.business;
+
+import cn.cslg.pas.common.model.cronModel.SystemFile;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.joda.time.DateTime;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 专题库DTO类
+ * </p>
+ *
+ * @author 李仁杰
+ * @since 2022-10-2
+ */
+@Data
+/*数据库中的表对应的类
+ */
+public class PatentProjectVO {
+
+    @Schema(description = "id")
+    private String id;
+
+    @Schema(description = "名称")
+    private String name;
+
+    /**
+     * 委托类型(1客户,2部门)
+     */
+    @Schema(description = "委托类型(1客户,2部门)")
+    private Integer entrustType;
+
+    /**
+     * 委托方id
+     */
+    @Schema(description = "委托方id")
+    private Integer entrustId;
+
+    /**
+     * 委托方姓名
+     */
+    @Schema(description = "委托方姓名")
+    private Integer entrustName;
+
+    /**
+     * 负责人id
+     */
+    @Schema(description = "head_id")
+    private Integer headId;
+
+    /**
+     * 负责人名称
+     */
+    @Schema(description = "负责人名称")
+    private Integer headName;
+
+
+    /**
+     * 负责部门id
+     */
+    @Schema(description = "负责部门id")
+    private Integer departmentId;
+
+    /**
+     * 负责部门名称
+     */
+    @Schema(description = "负责部门名称")
+    private Integer departmentName;
+
+    /**
+     * 项目类型(1专题库 2报告 3专利挖掘项目)
+     */
+    @Schema(description = "type")
+    private Integer type;
+
+    /**
+     * 合同号
+     */
+    @Schema(description = "合同号")
+    private String contractNo;
+
+    /**
+     * 内部卷号
+     */
+    @Schema(description = "内部卷号")
+    private String volumeNumber;
+
+    /**
+     * 委案日
+     */
+    @Schema(description = "委案日")
+    private String commissionCaseDay;
+
+    /**
+     * 描述
+     */
+    @Schema(description = "描述")
+    private String description;
+
+    /**
+     * 所属租户
+     */
+    @Schema(description = "所属租户")
+    private Integer tenantId;
+
+    /**
+     * 是否更新
+     */
+    @TableField(value = "if_update")
+    private Boolean ifUpdate;
+
+    /**
+     * 更新周期
+     */
+    private String crons;
+
+    /**
+     * 创建人
+     */
+    @Schema(description = "创建人")
+    private String createId;
+
+
+    @Schema(description= "创建时间")
+    private DateTime createTime;
+}

+ 173 - 0
src/main/java/cn/cslg/pas/common/vo/business/ReportProjectVO.java

@@ -0,0 +1,173 @@
+package cn.cslg.pas.common.vo.business;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.joda.time.DateTime;
+
+/**
+ * <p>
+ * 报告DTO类
+ * </p>
+ *
+ * @author 李仁杰
+ * @since 2022-10-2
+ */
+@Data
+/*数据库中的表对应的类
+ */
+public class ReportProjectVO {
+
+    @Schema(description = "id")
+    private String id;
+
+    @Schema(description = "名称")
+    private String name;
+
+    /**
+     * 委托类型(1客户,2部门)
+     */
+    @Schema(description = "委托类型(1客户,2部门)")
+    private Integer entrustType;
+
+    /**
+     * 委托方id
+     */
+    @Schema(description = "委托方id")
+    private Integer entrustId;
+
+    /**
+     * 委托方姓名
+     */
+    @Schema(description = "委托方姓名")
+    private Integer entrustName;
+
+    /**
+     * 负责人id
+     */
+    @Schema(description = "head_id")
+    private Integer headId;
+
+    /**
+     * 负责人名称
+     */
+    @Schema(description = "负责人名称")
+    private Integer headName;
+
+
+    /**
+     * 负责部门id
+     */
+    @Schema(description = "负责部门id")
+    private Integer departmentId;
+
+    /**
+     * 负责部门名称
+     */
+    @Schema(description = "负责部门名称")
+    private Integer departmentName;
+
+    /**
+     * 项目类型(1专题库 2报告 3专利挖掘项目)
+     */
+    @Schema(description = "type")
+    private Integer type;
+
+    /**
+     * 合同号
+     */
+    @Schema(description = "合同号")
+    private String contractNo;
+
+    /**
+     * 内部卷号
+     */
+    @Schema(description = "内部卷号")
+    private String volumeNumber;
+
+    /**
+     * 委案日
+     */
+    @Schema(description = "委案日")
+    private String commissionCaseDay;
+
+    /**
+     * 描述
+     */
+    @Schema(description = "描述")
+    private String description;
+
+    /**
+     * 所属租户
+     */
+    @Schema(description = "所属租户")
+    private Integer tenantId;
+
+
+    /**
+     *标的专利号
+     */
+    @Schema(description= "标的专利号")
+    private String signPatentNo;
+
+    /**
+     *标的产品号
+     */
+    @Schema(description = "标的产品号")
+    private Integer signProjectId;
+
+    /**
+     * 状态
+     */
+    @Schema(description = "状态")
+    private  Integer status;
+
+    /**
+     * 案件编号
+     */
+    @Schema(description = "案件编号")
+    private String caseNumber;
+
+    /**
+     * 发文序号
+     */
+    @Schema(description = "发文序号")
+    private String issueNumber;
+
+    /**
+     * 发明创造名称
+     */
+    @Schema(description = "发明创造名称")
+    private String inventionName;
+
+    /**
+     * 专利权人
+     */
+    @Schema(description = "专利权人")
+    private String currentApplication;
+
+
+    /**
+     * 无效宣告请求人
+     */
+    @Schema(description = "无效宣告请求人")
+    private String invalidApplication;
+
+
+
+    /**
+     * 结论论述
+     */
+    @Schema(description = "结论论述")
+    private String cron_description;
+
+    /**
+     * 创建人
+     */
+    @Schema(description = "创建人")
+    private String createId;
+
+
+    @Schema(description= "创建时间")
+    private DateTime createTime;
+}

+ 101 - 0
src/main/java/cn/cslg/pas/controller/PatentDigProjectController.java

@@ -0,0 +1,101 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.business.EventDTO;
+import cn.cslg.pas.common.dto.business.UpdateEventDTO;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.model.request.StringGroupRequest;
+import cn.cslg.pas.common.model.request.StringRequest;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.exception.ConditionException;
+import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.factorys.businessFactory.Business;
+import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
+import com.alibaba.fastjson.JSONObject;
+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.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.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @author 李仁杰
+ * @date 2023/11/2
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/patentDigProject")
+@RestController
+public class PatentDigProjectController {
+    @Autowired
+    private BusinessFactory businessFactory;
+
+    @Operation(summary = "查询专利挖掘项目")
+    @PostMapping("/queryPatentDigProject")
+    public Response queryPatentDigProject(@RequestBody StringRequest stringRequest) throws Exception {
+        Business business = businessFactory.getClass("reportProjectService");
+        Records records = (Records) business.queryMessage(stringRequest);
+        return Response.success(records);
+    }
+
+
+    @Operation(summary = "添加专利挖掘项目")
+    @PostMapping("/addPatentDigProject")
+    public Response addPatentDigProject(String event, List<MultipartFile> files) throws Exception {
+        if (event != null) {
+            EventDTO eventDTO = JSONObject.parseObject(event, EventDTO.class);
+            Business business = businessFactory.getClass("eventService");
+            Integer id = null;
+            try {
+                id = (Integer) business.addMessage(eventDTO, files);
+            } catch (Exception e) {
+                if (e instanceof XiaoShiException) {
+                    return Response.error(e.getMessage());
+                } else if (e instanceof UnLoginException) {
+                    return Response.unLogin(e.getMessage());
+                } else if (e instanceof ConditionException) {
+                    return Response.conditionError(e.getMessage());
+                }
+            }
+            return Response.success(id);
+        } else {
+            return Response.error("网络异常");
+        }
+    }
+
+    @Operation(summary = "更新专利挖掘项目")
+    @PostMapping("/updatePatentDigProject")
+    public Response updatePatentDigProject(String event, List<MultipartFile> files) throws Exception {
+        if (event != null) {
+            UpdateEventDTO updateEventDTO = JSONObject.parseObject(event, UpdateEventDTO.class);
+            Business business = businessFactory.getClass("eventService");
+            business.updateMessage(updateEventDTO, files);
+            return Response.success(1);
+        }
+        else {
+            return Response.error("网络异常");
+        }
+    }
+
+    @Operation(summary = "删除专利挖掘项目")
+    @PostMapping("/deletePatentDigProject")
+    public String deletePatentDigProject(@RequestBody List<Integer> ids) throws Exception {
+        Business business = businessFactory.getClass("eventService");
+        business.deleteMessage(ids);
+        return Response.success();
+    }
+
+    @Operation(summary = "分组专利挖掘项目")
+    @PostMapping("/groupPatentDigProject")
+    public Response groupPatentDigProject(@RequestBody StringGroupRequest stringGroupRequest) throws Exception {
+        Business business = businessFactory.getClass("eventService");
+        Records records = (Records)business.getGroup(stringGroupRequest,"event");
+        return Response.success(records);
+    }
+
+}

+ 1 - 1
src/main/java/cn/cslg/pas/controller/ReportProjectController.java

@@ -38,7 +38,7 @@ public class ReportProjectController {
     @Operation(summary = "查询报告")
     @PostMapping("/queryReportProject")
     public Response queryPatentProject(@RequestBody StringRequest stringRequest) throws Exception {
-        Business business = businessFactory.getClass("patentProjectService");
+        Business business = businessFactory.getClass("reportProjectService");
         Records records = (Records) business.queryMessage(stringRequest);
         return Response.success(records);
     }

+ 3 - 2
src/main/java/cn/cslg/pas/controller/TreeNodeController.java

@@ -1,6 +1,7 @@
 package cn.cslg.pas.controller;
 
 import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.business.QueryTreeNodeDTO;
 import cn.cslg.pas.common.dto.business.TreeNodeDTO;
 import cn.cslg.pas.common.model.request.StringRequest;
 import cn.cslg.pas.common.utils.Response;
@@ -34,9 +35,9 @@ public class TreeNodeController {
 
     @Operation(summary = "查询架构")
     @PostMapping("/queryTreeNode")
-    public String queryTreeNode(StringRequest stringRequest) throws Exception {
+    public String queryTreeNode(QueryTreeNodeDTO queryTreeNodeDTO) throws Exception {
         Business business = businessFactory.getClass("treeNodeService");
-        business.queryMessage(stringRequest);
+//        business.queryMessage(queryTreeNodeDTO);
         return "";
     }
 

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

@@ -0,0 +1,25 @@
+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 org.joda.time.DateTime;
+
+/**
+ * <p>
+ * 专题库或报告和场景id
+ * </p>
+ *
+ * @author xx
+ * @since 2022-11-2
+ */
+@Data
+@TableName("aso_project_scenario")
+public class AssoProjectScenario extends BaseEntity<AssoProjectScenario> {
+    @TableField(value = "project_id")
+    private Integer projectId;
+
+    @TableField(value = "scenario_id")
+    private Integer scenarioId;
+}

+ 2 - 0
src/main/java/cn/cslg/pas/domain/business/Project.java

@@ -84,6 +84,8 @@ public class Project extends BaseEntity<Project> {
     @TableField(value = "tenant_id")
     private Integer tenantId;
 
+
+
     /**
      * 创建人
      */

+ 15 - 0
src/main/java/cn/cslg/pas/mapper/AssoProjectScenarioMapper.java

@@ -0,0 +1,15 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.AssoProductFile;
+import cn.cslg.pas.domain.business.AssoProjectScenario;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author lirj
+ * @Date 2023/11/2
+ */
+@Repository
+public interface AssoProjectScenarioMapper extends BaseMapper<AssoProjectScenario> {
+
+}

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

@@ -1,8 +1,7 @@
 package cn.cslg.pas.mapper;
 
-import cn.cslg.pas.common.vo.business.EventVO;
-import cn.cslg.pas.domain.business.Event;
-import cn.cslg.pas.domain.business.PatentProject;
+
+import cn.cslg.pas.domain.business.PatentDigProject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
 
@@ -15,6 +14,6 @@ import java.util.List;
  * @Date 2023/10/20
  */
 @Repository
-public interface PatentDigProjectMapper extends BaseMapper<PatentProject> {
+public interface PatentDigProjectMapper extends BaseMapper<PatentDigProject> {
 
 }

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

@@ -0,0 +1,17 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.domain.business.AssoProjectScenario;
+import cn.cslg.pas.domain.business.AssoTreeNodeFile;
+import cn.cslg.pas.mapper.AssoProjectScenarioMapper;
+import cn.cslg.pas.mapper.AssoTreeNodeFileMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * @Author lirj
+ * @Date 2023/11/2
+ */
+@Service
+public class AssoProjectScenarioService extends ServiceImpl<AssoProjectScenarioMapper, AssoProjectScenario> {
+}

+ 5 - 5
src/main/java/cn/cslg/pas/service/business/EventService.java

@@ -180,7 +180,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Object updateMessage(Object object, List<MultipartFile> files) {
-
+        PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
         UpdateEventDTO updateEventDTO = (UpdateEventDTO) object;
         //检查事件格式
         if (updateEventDTO == null || updateEventDTO.getId() == null) {
@@ -210,7 +210,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
         if (updateEventDTO.getFileGuids() != null && updateEventDTO.getFileGuids().size() != 0) {
             updateFilGuId = updateEventDTO.getFileGuids();
         }
-        fileGuIds.retainAll(updateFilGuId);
+        fileGuIds.removeAll(updateFilGuId);
         //做差获得被删除的文件Id
         if (fileGuIds.size() != 0) {
             //根据文件Id删除报事件文件关联表记录
@@ -235,7 +235,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
                     AssoEventFile assoEventFile = new AssoEventFile();
                     assoEventFile.setEventId(event.getId());
                     assoEventFile.setFileGuid(item);
-                    assoEventFile.setCreateId("1");
+                    assoEventFile.setCreateId(personnelVO.getId());
                     assoEventFiles.add(assoEventFile);
                 });
                 if (assoEventFiles != null && assoEventFiles.size() != 0) {
@@ -358,8 +358,8 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
         //查询文件
         if (guids.size() != 0) {
             String res = fileManagerService.getSystemFileFromFMS(guids);
-            JSONObject jsonObject = JSONObject.parseObject(res);
-            systemFiles = JSONObject.parseArray(jsonObject.getString("data"), SystemFile.class);
+
+            systemFiles = JSONObject.parseArray(res, SystemFile.class);
         }
 
         //查询关联报告或专题库

+ 50 - 0
src/main/java/cn/cslg/pas/service/business/PatentDigProjectService.java

@@ -0,0 +1,50 @@
+package cn.cslg.pas.service.business;
+
+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.factorys.businessFactory.Business;
+
+import cn.cslg.pas.mapper.PatentDigProjectMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.List;
+
+public class PatentDigProjectService  extends ServiceImpl<PatentDigProjectMapper, PatentDigProject> implements Business {
+    @Override
+    public Object queryMessage(QueryRequest queryRequest) throws Exception {
+        return null;
+    }
+
+    @Override
+    public Object addMessage(Object object, List<MultipartFile> files) {
+        return null;
+    }
+
+    @Override
+    public Object deleteMessage(List<Integer> ids) throws IOException {
+        return null;
+    }
+
+    @Override
+    public Object updateMessage(Object object, List<MultipartFile> files) {
+        return null;
+    }
+
+    @Override
+    public Object getGroup(GroupRequest groupRequest, String tableName) throws Exception {
+        return null;
+    }
+
+    @Override
+    public Object addMessage(Object object) {
+        return null;
+    }
+
+    @Override
+    public Object updateMessage(Object object) {
+        return null;
+    }
+}

+ 22 - 2
src/main/java/cn/cslg/pas/service/business/PatentProjectService.java

@@ -72,7 +72,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
     private LoginUtils loginUtils;
 
     @Autowired
-    private ProjectService projectService;
+    private AssoProjectScenarioService assoProjectScenarioService;
 
     @Autowired
     private AssoProjectEventService assoProjectEventService;
@@ -87,7 +87,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
     @Transactional(rollbackFor = Exception.class)
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
 
-       List<String> sqls = formatQueryService.reSqls(queryRequest,"event");
+       List<String> sqls = formatQueryService.reSqls(queryRequest,"patentProject");
         //根据sql查询事件信息
         List<EventVO> eventVOS = eventMapper.getEvent(sqls.get(0),sqls.get(1),sqls.get(2));
 
@@ -210,6 +210,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
         } catch (Exception e) {
             throw new UnLoginException("未登录");
         }
+
         /**
          * 装载project
          */
@@ -218,6 +219,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
         project.setCreateId(personnelVO.getId());
         project.setTenantId(personnelVO.getTenantId());
         project.insert();
+
         /**
          * 装载patentProject
          */
@@ -225,6 +227,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
         BeanUtils.copyProperties(patentProjectDTO, patentProject);
         patentProject.setProjectId(project.getId());
         patentProject.insert();
+
         /**
          * 装载事件与project关联
          */
@@ -248,7 +251,9 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
             if (assoProjectEvents != null && assoProjectEvents.size() != 0) {
                 assoProjectEventService.saveBatch(assoProjectEvents);
             }
+
         }
+
         /**
          * 装载树结构和project关联
          */
@@ -273,6 +278,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
                 assoProjectTreeNodeService.saveBatch(assoProjectTreeNodes);
             }
         }
+
         /**
          * 装载和附件关联
          */
@@ -290,6 +296,20 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
                 assoProjectFileService.saveBatch(assoProjectFiles);
             }
         }
+
+        //装载应用场景
+        List<Integer> scenarios =patentProjectDTO.getScenarios();
+        if(scenarios!=null&&scenarios.size()>0){
+          List<AssoProjectScenario> assoProjectScenarios =new ArrayList<>();
+          scenarios.forEach(item->{
+              AssoProjectScenario assoProjectScenario =new AssoProjectScenario();
+              assoProjectScenario.setProjectId(project.getId());
+              assoProjectScenario.setScenarioId(item);
+              assoProjectScenarios.add(assoProjectScenario);
+              assoProjectScenarioService.saveBatch(assoProjectScenarios);
+          });
+        }
+
         return project.getId();
     }
 

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

@@ -174,7 +174,7 @@ public class ReportProjectService extends ServiceImpl<ReportProjectMapper,Report
 
     @Override
     public Object addMessage(Object object) {
-        PatentProjectDTO patentProjectDTO =(PatentProjectDTO)object;
+      //
 
         return null;
     }