lwhhszx 1 سال پیش
والد
کامیت
87fffb60db

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

@@ -0,0 +1,36 @@
+package cn.cslg.pas.common.dto.business;
+
+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;
+
+/**
+ * 专利数据库
+ * @Author lirj
+ * @Date 2023/11/1
+ */
+@Data
+public class PatentProjectDTO {
+    @Schema(description = "名称")
+    private String name;
+    @Schema(description = "事件集合")
+    List<ProjectEventDTO>  events;
+    @Schema(description = "处理人id")
+    private Integer headId;
+    @Schema(description = "负责部门id")
+    private Integer departmentId;
+    @Schema(description = "委托类型1客户,2部门")
+    private Integer entrustType;
+    @Schema(description = "委托id")
+    private Integer entrustId;
+    @Schema(description = "是否更新")
+    private Boolean ifUpdate;
+    @Schema(description = "树结构")
+    private List<ProjectTreesDTO> trees;
+    @Schema(description = "周期")
+    private String crons;
+}

+ 27 - 0
src/main/java/cn/cslg/pas/common/dto/business/ProjectEventDTO.java

@@ -0,0 +1,27 @@
+package cn.cslg.pas.common.dto.business;
+
+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;
+
+/**
+ * <p>
+ * 专题库使用的事件类
+ * </p>
+ *
+ * @author 李仁杰
+ * @since 2022-11-1
+ */
+@Data
+/*数据库中的表对应的类
+ */
+public class ProjectEventDTO {
+    @Schema(description = "事件id")
+    private Integer eventId;
+    @Schema(description = "处理事项id")
+    private Integer matterId;
+
+}

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

@@ -0,0 +1,25 @@
+package cn.cslg.pas.common.dto.business;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 专题库使用的树结构类
+ * </p>
+ *
+ * @author 李仁杰
+ * @since 2022-11-1
+ */
+@Data
+
+public class ProjectTreesDTO {
+    @Schema(description = "1 技术分类 2产品 3产品分类")
+    private Integer type;
+    @Schema(description = "栏位id")
+    private Integer fieldId;
+    @Schema(description = "值id")
+    private List<Integer> valueIds;
+}

+ 1 - 1
src/main/java/cn/cslg/pas/common/dto/business/UpdateEventDTO.java

@@ -35,6 +35,6 @@ public class UpdateEventDTO {
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     private Date eventDate;
     @Schema(description = "文件guid")
-    private List<String> guids;
+    private List<String> fileGuids;
 
 }

+ 1 - 2
src/main/java/cn/cslg/pas/common/model/cronModel/PersonnelVO.java

@@ -17,9 +17,8 @@ public class PersonnelVO {
     /**
      * ID
      */
-    private Integer id;
+    private String id;
 
-    private String guid;
 
     /**
      * Front:姓名

+ 6 - 5
src/main/java/cn/cslg/pas/controller/PatentProjectController.java

@@ -2,6 +2,7 @@ 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.PatentProjectDTO;
 import cn.cslg.pas.common.dto.business.UpdateEventDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.model.request.StringGroupRequest;
@@ -46,13 +47,12 @@ public class PatentProjectController {
 
     @Operation(summary = "添加专利数据库")
     @PostMapping("/addPatentProject")
-    public Response addPatentProject(String event, List<MultipartFile> files) throws Exception {
-        if (event != null) {
-            EventDTO eventDTO = JSONObject.parseObject(event, EventDTO.class);
+    public Response addPatentProject(PatentProjectDTO patentProjectDTO) throws Exception {
+        if (patentProjectDTO != null) {
             Business business = businessFactory.getClass("eventService");
             Integer id = null;
             try {
-                id = (Integer) business.addMessage(eventDTO, files);
+                id = (Integer) business.addMessage(patentProjectDTO);
             } catch (Exception e) {
                 if (e instanceof XiaoShiException) {
                     return Response.error(e.getMessage());
@@ -64,10 +64,11 @@ public class PatentProjectController {
             }
             return Response.success(id);
         } else {
-            return Response.error("网络异常");
+            return Response.error("未传入参数");
         }
     }
 
+
     @Operation(summary = "更新专利数据库")
     @PostMapping("/updatePatentProject")
     public Response updatePatentProject(String event, List<MultipartFile> files) throws Exception {

+ 101 - 0
src/main/java/cn/cslg/pas/controller/ReportProjectController.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/1
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/reportProject")
+@RestController
+public class ReportProjectController {
+    @Autowired
+    private BusinessFactory businessFactory;
+
+    @Operation(summary = "查询报告")
+    @PostMapping("/queryReportProject")
+    public Response queryPatentProject(@RequestBody StringRequest stringRequest) throws Exception {
+        Business business = businessFactory.getClass("patentProjectService");
+        Records records = (Records) business.queryMessage(stringRequest);
+        return Response.success(records);
+    }
+
+
+    @Operation(summary = "添加报告")
+    @PostMapping("/addPatentProject")
+    public Response addPatentProject(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("/updatePatentProject")
+    public Response updatePatentProject(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("/deletePatentProject")
+    public String deletePatentProject(@RequestBody List<Integer> ids) throws Exception {
+        Business business = businessFactory.getClass("eventService");
+        business.deleteMessage(ids);
+        return Response.success();
+    }
+
+    @Operation(summary = "分组专利数据库")
+    @PostMapping("/groupPatentProject")
+    public Response groupPatentProject(@RequestBody StringGroupRequest stringGroupRequest) throws Exception {
+        Business business = businessFactory.getClass("eventService");
+        Records records = (Records)business.getGroup(stringGroupRequest,"event");
+        return Response.success(records);
+    }
+
+}

+ 88 - 0
src/main/java/cn/cslg/pas/domain/business/ReportProject.java

@@ -0,0 +1,88 @@
+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;
+
+/**
+ * <p>
+ * 专利数据库
+ * </p>
+ *
+ * @author 李仁杰
+ * @since 2022-11-1
+ */
+@Data
+@TableName("report")
+public class ReportProject extends BaseEntity<ReportProject> {
+    /**
+     * 项目id
+     */
+    @TableField(value = "project_id")
+    private Integer project_id;
+
+    /**
+     *标的专利号
+     */
+    @TableField(value = "sign_patent_no")
+    private String signPatentNo;
+
+    /**
+     *标的产品号
+     */
+    @TableField(value = "sign_project_id")
+    private Integer signProjectId;
+
+    /**
+     *类型
+     */
+    @TableField(value = "type")
+    private Integer type;
+    /**
+     * 状态
+     */
+    @TableField(value = "status")
+    private  Integer status;
+
+    /**
+     * 案件编号
+     */
+    @TableField(value = "case_number")
+    private String caseNumber;
+
+    /**
+     * 发文序号
+     */
+    @TableField(value = "issue_number")
+    private String issueNumber;
+
+    /**
+     * 发明创造名称
+     */
+    @TableField(value = "invention_name")
+    private String inventionName;
+
+    /**
+     * 专利权人
+     */
+    @TableField(value = "current_application")
+    private String currentApplication;
+
+
+    /**
+     * 无效宣告请求人
+     */
+    @TableField(value = "invalid_application")
+    private String invalidApplication;
+
+
+
+    /**
+     * 结论论述
+     */
+    @TableField(value = "cron_description")
+    private String cron_description;
+
+}

+ 17 - 0
src/main/java/cn/cslg/pas/mapper/ReportProjectMapper.java

@@ -0,0 +1,17 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.PatentProject;
+import cn.cslg.pas.domain.business.ReportProject;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 报告表
+ *
+ * @Author 李仁杰
+ * @Date 2023/11/1
+ */
+@Repository
+public interface ReportProjectMapper extends BaseMapper<ReportProject> {
+
+}

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

@@ -1,7 +1,6 @@
 package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.dto.business.EventDTO;
-import cn.cslg.pas.common.dto.business.EventUpdateDTO;
 import cn.cslg.pas.common.dto.business.UpdateEventDTO;
 import cn.cslg.pas.common.model.cronModel.*;
 import cn.cslg.pas.common.model.request.*;
@@ -38,7 +37,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -129,7 +127,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
         //事件入库
         Event event = new Event();
         BeanUtils.copyProperties(eventDTO, event);
-        event.setCreateId(personnelVO.getGuid());
+        event.setCreateId(personnelVO.getId());
         event.setTenantId(personnelVO.getTenantId());
         event.insert();
         if (files != null && files.size() != 0) {
@@ -140,7 +138,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
                     AssoEventFile assoEventFile = new AssoEventFile();
                     assoEventFile.setEventId(event.getId());
                     assoEventFile.setFileGuid(item);
-                    assoEventFile.setCreateId(personnelVO.getGuid());
+                    assoEventFile.setCreateId(personnelVO.getId());
                     assoEventFiles.add(assoEventFile);
                 }
 
@@ -196,7 +194,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
         LambdaQueryWrapper<Event> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(Event::getName, name);
         List<Event> events = this.list(queryWrapper);
-        if (updateEventDTO.getName() != event.getName() && events.size() != 0) {
+        if (!updateEventDTO.getName().equals(event.getName())  && events.size() != 0) {
             throw new XiaoShiException("名称重复");
         }
         BeanUtils.copyProperties(updateEventDTO, event);
@@ -209,8 +207,8 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
         List<String> fileGuIds = assoReportFiles.stream().map(AssoEventFile::getFileGuid).collect(Collectors.toList());
         // 获得事件更新后的附件Id
         List<String> updateFilGuId = new ArrayList<>();
-        if (updateEventDTO.getGuids() != null && updateEventDTO.getGuids().size() != 0) {
-            updateFilGuId = updateEventDTO.getGuids();
+        if (updateEventDTO.getFileGuids() != null && updateEventDTO.getFileGuids().size() != 0) {
+            updateFilGuId = updateEventDTO.getFileGuids();
         }
         fileGuIds.retainAll(updateFilGuId);
         //做差获得被删除的文件Id
@@ -374,7 +372,7 @@ public class EventService extends ServiceImpl<EventMapper, Event> implements Bus
         //装载信息
         for (EventVO eventVO : eventVOs) {
             //装载人员信息
-            Personnel personnel = personnels.stream().filter(item -> item.getId().equals(eventVO.getCreateId())).findFirst().orElse(null);
+            Personnel personnel = personnels.stream().filter(item -> item.getId().equals(Integer.parseInt(eventVO.getCreateId()))).findFirst().orElse(null);
             if (personnel != null) {
                 eventVO.setCreateName(personnel.getPersonnelName());
             }

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

@@ -1,6 +1,7 @@
 package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.dto.business.EventDTO;
+import cn.cslg.pas.common.dto.business.PatentProjectDTO;
 import cn.cslg.pas.common.dto.business.UpdateEventDTO;
 import cn.cslg.pas.common.model.cronModel.*;
 import cn.cslg.pas.common.model.request.GroupRequest;
@@ -11,10 +12,11 @@ import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.vo.business.EventCountVO;
 import cn.cslg.pas.common.vo.business.EventVO;
 import cn.cslg.pas.domain.business.AssoEventFile;
-import cn.cslg.pas.domain.business.Event;
+
 import cn.cslg.pas.domain.business.PatentProject;
+import cn.cslg.pas.domain.business.Project;
 import cn.cslg.pas.domain.business.SystemDict;
-import cn.cslg.pas.exception.UnLoginException;
+
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.factorys.reGroupFactory.QueryGroupFactory;
@@ -74,6 +76,9 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
     @Autowired
     private LoginUtils loginUtils;
 
+    @Autowired
+    private ProjectService projectService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
@@ -134,9 +139,6 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
 
        return null;
         }
-
-
-
     /**
      * 查询事件分组信息
      *
@@ -176,8 +178,26 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
         return records;
     }
 
+    /**
+     * 添加
+     * @param object
+     * @return
+     */
     @Override
     public Object addMessage(Object object) {
+        //TODO 校验参数
+        PatentProjectDTO patentProjectDTO =(PatentProjectDTO)object;
+
+        //装载project
+        Project project = new Project();
+        BeanUtils.copyProperties(patentProjectDTO,project);
+
+        //装载patentProject
+        PatentProject patentProject=new PatentProject();
+        BeanUtils.copyProperties(patentProjectDTO,patentProject);
+
+        //装载
+        projectService
         return null;
     }
 

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

@@ -0,0 +1,326 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.dto.business.PatentProjectDTO;
+import cn.cslg.pas.common.model.cronModel.*;
+import cn.cslg.pas.common.model.request.GroupRequest;
+import cn.cslg.pas.common.model.request.QueryRequest;
+import cn.cslg.pas.common.model.request.StringRequest;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.common.vo.business.EventCountVO;
+import cn.cslg.pas.common.vo.business.EventVO;
+import cn.cslg.pas.domain.business.AssoEventFile;
+import cn.cslg.pas.domain.business.PatentProject;
+import cn.cslg.pas.domain.business.ReportProject;
+import cn.cslg.pas.domain.business.SystemDict;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.factorys.businessFactory.Business;
+import cn.cslg.pas.factorys.reGroupFactory.QueryGroupFactory;
+import cn.cslg.pas.factorys.reGroupFactory.QueryGroupImp;
+import cn.cslg.pas.mapper.AssoProjectEventMapper;
+import cn.cslg.pas.mapper.EventMapper;
+import cn.cslg.pas.mapper.PatentProjectMapper;
+import cn.cslg.pas.mapper.ReportProjectMapper;
+import cn.cslg.pas.service.common.FileManagerService;
+import cn.cslg.pas.service.permissions.PermissionService;
+import cn.cslg.pas.service.query.FormatQueryService;
+import com.alibaba.fastjson.JSON;
+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 org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class ReportProjectService extends ServiceImpl<ReportProjectMapper,ReportProject> implements Business {
+    @Autowired
+    private EventMapper eventMapper;
+
+    @Autowired
+    private FormatQueryService formatQueryService;
+
+    @Autowired
+    private FileManagerService fileManagerService;
+
+    @Autowired
+    private AssoEventFileService assoEventFileService;
+
+    @Autowired
+    private QueryGroupFactory queryGroupFactory;
+
+    @Autowired
+    private PermissionService permissionService;
+
+    @Autowired
+    private SystemDictService systemDictService;
+
+    @Autowired
+    private AssoProjectEventMapper assoProjectEventMapper;
+
+    @Autowired
+    private CacheUtils cacheUtils;
+    @Autowired
+    private LoginUtils loginUtils;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Object queryMessage(QueryRequest queryRequest) throws Exception {
+
+       List<String> sqls = formatQueryService.reSqls(queryRequest,"event");
+        //根据sql查询事件信息
+        List<EventVO> eventVOS = eventMapper.getEvent(sqls.get(0),sqls.get(1),sqls.get(2));
+
+        //查询总数
+        Long total = eventMapper.getEventCount(sqls.get(0));
+
+        //装载事件信息
+        this.loadEvent(eventVOS);
+        Records records = new Records();
+        records.setCurrent(queryRequest.getCurrent());
+        records.setSize(queryRequest.getSize());
+        records.setData(eventVOS);
+        records.setTotal(total);
+        return records;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Integer addMessage(Object object, List<MultipartFile> files) {
+
+        return null;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Object deleteMessage(List<Integer> ids) throws IOException {
+        //根据事件id删除事件和文件关联
+        LambdaQueryWrapper<AssoEventFile> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(AssoEventFile::getEventId, ids);
+        List<AssoEventFile> assoEventFiles = assoEventFileService.list(queryWrapper);
+        List<String> guids = assoEventFiles.stream().map(AssoEventFile::getFileGuid).collect(Collectors.toList());
+        // 根据guid删除文件
+        if (guids.size() != 0) {
+            fileManagerService.deleteFileFromFMS(guids);
+        }
+        //删除事件和文件关联表
+        assoEventFiles.remove(queryWrapper);
+        //根据事件id删除事件
+        this.removeBatchByIds(ids);
+        return ids;
+    }
+
+    /**
+     * 更新事件接口
+     *
+     * @param object
+     * @param files
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Object updateMessage(Object object, List<MultipartFile> files) {
+
+       return null;
+        }
+    /**
+     * 查询事件分组信息
+     *
+     * @param groupRequest
+     * @return
+     * @throws Exception
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Object getGroup(GroupRequest groupRequest,String tableName) throws Exception {
+        StringRequest stringRequest =new StringRequest();
+        BeanUtils.copyProperties(groupRequest,stringRequest);
+        List<String> sqls = formatQueryService.reSqls(stringRequest,tableName);
+        //格式化 分组
+        GroupConfig groupConfig=null;
+        if (groupRequest.getGroupBy() != null) {
+            String json = CommonService.readJsonFile(tableName+".json");
+            List<GroupConfig> groupConfigs = JSON.parseArray(json, GroupConfig.class);
+            groupConfig = groupConfigs.stream().filter(item -> groupRequest.getGroupBy().equals(item.getField())).findFirst().orElse(null);
+            if (groupConfig == null) {
+                throw new XiaoShiException("未找到配置");
+            }
+        }
+
+        //返回分组数据
+        QueryGroupImp queryGroupImp = queryGroupFactory.getClass(groupConfig.getGroupClass());
+        ReGroupDataVO  reGroupDataVO = queryGroupImp.getGroup(sqls, tableName, groupConfig.getSqlField());
+
+        //装载数据
+        GroupVO groupVO = new GroupVO();
+        groupVO.setField(groupRequest.getGroupBy());
+        groupVO.setValues(reGroupDataVO.getValues());
+        Records records = new Records();
+        records.setCurrent(groupRequest.getCurrent());
+        records.setSize(groupRequest.getSize());
+        records.setData(groupVO);
+        records.setTotal(reGroupDataVO.getTotal());
+        return records;
+    }
+
+    @Override
+    public Object addMessage(Object object) {
+        PatentProjectDTO patentProjectDTO =(PatentProjectDTO)object;
+
+        return null;
+    }
+
+    @Override
+    public Object updateMessage(Object object) {
+        return null;
+    }
+
+    /**
+     * 装载事件返回类
+     *
+     * @param eventVOs
+     */
+    private void loadEvent(List<EventVO> eventVOs) throws IOException {
+        List<String> createIds = new ArrayList<>();
+        List<Integer> clientIds = new ArrayList<>();
+        List<Integer> ids = new ArrayList<>();
+        List<EventCountVO> eventCountVOS = new ArrayList<>();
+        //获得所有文件的guid
+        eventVOs.forEach(
+                item -> {
+                    if (item.getClientId() != null) {
+                        clientIds.add(item.getClientId());
+                    }
+
+                    if (item.getCreateId() != null) {
+                        createIds.add(item.getCreateId());
+                    }
+                    if (item.getId() != null) {
+                        ids.add(item.getId());
+                    }
+                }
+        );
+
+        List<Personnel> personnels = new ArrayList<>();
+        List<Client> clients = new ArrayList<>();
+        List<String> guids = new ArrayList<>();
+        List<SystemFile> systemFiles = new ArrayList<>();
+        List<AssoEventFile> assoEventFiles = new ArrayList<>();
+
+        if (ids.size() != 0) {
+            //根据事件id获得事件文件关联表
+            LambdaQueryWrapper<AssoEventFile> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(AssoEventFile::getEventId, ids);
+            assoEventFiles = assoEventFileService.list(queryWrapper);
+            guids = assoEventFiles.stream().map(AssoEventFile::getFileGuid).collect(Collectors.toList());
+
+
+            //根据事件id分组查询事件关联专题库或报告数量
+            eventCountVOS = assoProjectEventMapper.getEventProjectCount(ids);
+        }
+
+        //查询创建人名称
+        if (createIds.size() != 0) {
+            String res = permissionService.getPersonnelByIdsFromPCS(createIds);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
+        }
+
+        //查询客户名称
+        if (clientIds.size() != 0) {
+            String res = permissionService.getClientByIdsFromPCS(clientIds);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            clients = JSONObject.parseArray(jsonObject.getString("data"), Client.class);
+        }
+
+        //查询文件
+        if (guids.size() != 0) {
+            String res = fileManagerService.getSystemFileFromFMS(guids);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            systemFiles = JSONObject.parseArray(jsonObject.getString("data"), SystemFile.class);
+        }
+
+        //查询关联报告或专题库
+
+        //查询应用场景
+        List<SystemDict> systemDictList = systemDictService.getSystemDictListByType(Arrays.asList("ENTERPRISE_APPLICATION_SCENARIO"));
+
+        //查询专题库数量
+
+        //装载信息
+        for (EventVO eventVO : eventVOs) {
+            //装载人员信息
+            Personnel personnel = personnels.stream().filter(item -> item.getId().equals(eventVO.getCreateId())).findFirst().orElse(null);
+            if (personnel != null) {
+                eventVO.setCreateName(personnel.getPersonnelName());
+            }
+
+            //装载客户信息
+            Client client = clients.stream().filter(item -> item.getId().equals(eventVO.getClientId())).findFirst().orElse(null);
+            if (client != null) {
+                eventVO.setClientName(client.getName());
+            }
+
+            //装载场景
+            SystemDict systemDict = systemDictList.stream().filter(item -> item.getValue().equals(eventVO.getScenarioId().toString())).findFirst().orElse(null);
+            if (systemDict != null) {
+                eventVO.setScenarioName(systemDict.getLabel());
+            }
+
+            //装载文件信息
+            List<AssoEventFile> assoEventFileTemp = assoEventFiles.stream().filter(item -> item.getEventId().equals(eventVO.getId())).collect(Collectors.toList());
+            if (assoEventFileTemp.size() != 0) {
+                List<String> guidTemp = assoEventFileTemp.stream().map(AssoEventFile::getFileGuid).collect(Collectors.toList());
+                if (guidTemp.size() != 0) {
+                    List<SystemFile> systemFileTemp = systemFiles.stream().filter(item -> guidTemp.contains(item.getGuid())).collect(Collectors.toList());
+                    if (systemFileTemp.size() != 0) {
+                        eventVO.setSystemFileList(systemFileTemp);
+                    }
+                }
+            }
+
+
+            //装载专题库或报告数量
+            if (eventCountVOS.size() != 0) {
+                //专题库数量
+                EventCountVO eventCountVO1 = eventCountVOS.stream().filter(item ->
+                        item.getEventId().equals(eventVO.getId()) && item.getProjectType().equals(1)).findFirst().orElse(null);
+
+                //报告数量
+                EventCountVO eventCountVO2 = eventCountVOS.stream().filter(item ->
+                        item.getEventId().equals(eventVO.getId()) && item.getProjectType().equals(2)).findFirst().orElse(null);
+
+                //设置专题库数量
+                if (eventCountVO1 != null) {
+                    eventVO.setPatentProjectNum(eventCountVO1.getProjectCount());
+                } else {
+                    eventVO.setPatentProjectNum(0);
+                }
+
+                //设置报告数量
+                if (eventCountVO2 != null) {
+                    eventVO.setReportProjectNum(eventCountVO2.getProjectCount());
+                } else {
+                    eventVO.setReportProjectNum(0);
+                }
+
+            } else {
+                eventVO.setReportProjectNum(0);
+                eventVO.setPatentProjectNum(0);
+            }
+        }
+
+
+    }
+
+
+}

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

@@ -79,7 +79,7 @@
     "orderClass": "getComOrder",
     "groupClass":"getTimeGroup",
     "ifSearch":"true",
-    "ifGroup": "true",
+    "ifGroup": "false",
     "ifShow":"true"
   },
   {"name":"发生月份",

+ 0 - 9
src/main/resources/jsons/event_group.json

@@ -1,9 +0,0 @@
-[{"field":"name","sqlField":"name","groupClass":"getComGroup"
-
-},
-{"field":"id","sqlField":"id","groupClass":"getComGroup"
-},
-{"field":"createName","sqlField":"create_id","groupClass":"getComGroup"
-}
-
-]

+ 5 - 2
src/test/java/cn/cslg/pas/service/EventServiceTests.java

@@ -5,6 +5,7 @@ import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.controller.EventController;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.http.entity.ContentType;
+import org.junit.Before;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -29,7 +30,7 @@ public class EventServiceTests {
     @Test
     void test() throws Exception {
         StringRequest queryRequest = new StringRequest();
-        queryRequest.setSearchQuery("name CONTAIN 事件 OR name =[1 OR 2] AND name = 事件11");
+        queryRequest.setSearchQuery("id=52");
         List<OrderDTO> dtos = new ArrayList<>();
         OrderDTO orderDTO1 = new OrderDTO();
         orderDTO1.setOrderBy("name");
@@ -46,7 +47,7 @@ public class EventServiceTests {
        System.out.println(response); }
 
     @Test
-    void add() throws Exception {
+        void add() throws Exception {
         JSONObject jsonObj = new JSONObject();
         jsonObj.put("name", "事件4");
         jsonObj.put("description", "描述1");
@@ -65,6 +66,8 @@ public class EventServiceTests {
         list.add(mulFile);
         eventController.addEvent(json_to_string, list);
 
+
+
     }
 
 

+ 30 - 0
src/test/java/cn/cslg/pas/service/PatentProjectTests.java

@@ -0,0 +1,30 @@
+package cn.cslg.pas.service;
+
+import cn.cslg.pas.service.business.es.EsService;
+import org.junit.Assert;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author chenyu
+ * @date 2023/9/6
+ */
+@SpringBootTest
+public class PatentProjectTests {
+    @Autowired
+    private EsService esService;
+
+    @Test
+    void addIoc() throws Exception {
+//        List<String> list =new ArrayList<>();
+//        list.add("event");
+//        esService.addDoc();
+        Assert.assertEquals(1,1);
+         Assert.assertEquals(12,1);
+    }
+
+}