瀏覽代碼

分析项

zero 1 年之前
父節點
當前提交
85c10c5bad

+ 8 - 0
src/main/java/cn/cslg/pas/common/dto/customAnalyse/SelectCustomAnalyseDTO.java

@@ -0,0 +1,8 @@
+package cn.cslg.pas.common.dto.customAnalyse;
+
+import lombok.Data;
+
+@Data
+public class SelectCustomAnalyseDTO {
+
+}

+ 16 - 0
src/main/java/cn/cslg/pas/common/dto/customAnalyse/SelectCustomAnalyseListDTO.java

@@ -0,0 +1,16 @@
+package cn.cslg.pas.common.dto.customAnalyse;
+
+
+import lombok.Data;
+
+@Data
+public class SelectCustomAnalyseListDTO {
+
+    private String name;
+
+    private Integer permissions;
+
+    private Integer sort;
+
+    private Integer type;
+}

+ 11 - 0
src/main/java/cn/cslg/pas/common/vo/customAnalyse/CustomAnalyseIdVO.java

@@ -0,0 +1,11 @@
+package cn.cslg.pas.common.vo.customAnalyse;
+
+import lombok.Data;
+
+@Data
+public class CustomAnalyseIdVO {
+
+    private Integer id;
+
+    private Integer type;
+}

+ 25 - 0
src/main/java/cn/cslg/pas/common/vo/customAnalyse/CustomAnalyseVO.java

@@ -0,0 +1,25 @@
+package cn.cslg.pas.common.vo.customAnalyse;
+
+
+import lombok.Data;
+
+@Data
+public class CustomAnalyseVO {
+
+    private Integer id;
+
+    private String name;
+
+    private Integer parentId;
+
+    private Integer permissions;
+
+    private Integer projectId;
+
+    private Integer sort;
+
+    //类型 1组别  2分析项
+    private Integer type;
+
+    private Integer status;
+}

+ 11 - 0
src/main/java/cn/cslg/pas/common/vo/customAnalyse/SelectCustomAnalyseVO.java

@@ -0,0 +1,11 @@
+package cn.cslg.pas.common.vo.customAnalyse;
+
+import lombok.Data;
+
+@Data
+public class SelectCustomAnalyseVO {
+
+    private Integer projectId;
+
+    private Integer type;
+}

+ 61 - 0
src/main/java/cn/cslg/pas/controller/CustomAnalyseController.java

@@ -0,0 +1,61 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.customAnalyse.SelectCustomAnalyseDTO;
+import cn.cslg.pas.common.dto.customAnalyse.SelectCustomAnalyseListDTO;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.vo.customAnalyse.CustomAnalyseIdVO;
+import cn.cslg.pas.common.vo.customAnalyse.CustomAnalyseVO;
+import cn.cslg.pas.common.vo.customAnalyse.SelectCustomAnalyseVO;
+import cn.cslg.pas.service.business.CustomAnalyseService;
+import io.swagger.v3.oas.annotations.Operation;
+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 java.util.List;
+
+@RequestMapping(Constants.API_XiaoSHI + "/customAnalyse")
+@RestController
+public class CustomAnalyseController {
+
+    @Autowired
+    private CustomAnalyseService customAnalyseService;
+
+    @Operation(summary = "查询组别")
+    @PostMapping("/queryAnalyseGroup")
+    public Response queryAnalyseGroup(@RequestBody SelectCustomAnalyseVO vo) {
+        List<SelectCustomAnalyseListDTO> list = customAnalyseService.queryAnalyseGroup(vo);
+        return Response.success(list);
+    }
+
+    @Operation(summary = "查询组别详情")
+    @PostMapping("/queryAnalyseGroupDetail")
+    public Response queryAnalyseGroupDetail(@RequestBody CustomAnalyseIdVO vo) {
+        SelectCustomAnalyseDTO dto = customAnalyseService.queryAnalyseGroupDetail(vo);
+        return Response.success(dto);
+    }
+
+    @Operation(summary = "添加组别")
+    @PostMapping("/addAnalyseGroup")
+    public Response addAnalyseGroup(@RequestBody CustomAnalyseVO vo) {
+        Integer groupId = customAnalyseService.addAnalyseGroup(vo);
+        return Response.success(groupId);
+    }
+
+    @Operation(summary = "编辑组别")
+    @PostMapping("/editAnalyseGroup")
+    public Response editAnalyseGroup(@RequestBody CustomAnalyseVO vo) {
+        Integer groupId = customAnalyseService.editAnalyseGroup(vo);
+        return Response.success(groupId);
+    }
+
+    @Operation(summary = "删除组别")
+    @PostMapping("/delAnalyseGroup")
+    public Response delAnalyseGroup(@RequestBody CustomAnalyseIdVO vo) {
+        Integer groupId = customAnalyseService.delAnalyseGroup(vo);
+        return Response.success(groupId);
+    }
+}

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

@@ -19,6 +19,7 @@ import cn.cslg.pas.common.vo.business.PatentNoVO;
 import cn.cslg.pas.common.vo.es.EsCustomFieldBatchVO;
 import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.factorys.businessFactory.BusinessFactory;
+import cn.cslg.pas.service.business.CustomAnalyseService;
 import cn.cslg.pas.service.business.PDFExportFirstPageService;
 import cn.cslg.pas.service.business.PatentExportService;
 import cn.cslg.pas.service.business.MergePersonService;

+ 55 - 0
src/main/java/cn/cslg/pas/domain/business/CustomAnalysisItem.java

@@ -0,0 +1,55 @@
+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 zero
+ * @Date 2024/01/12
+ */
+@Data
+@TableName("os_custom_analysis_item")
+public class CustomAnalysisItem extends BaseEntity<CustomAnalysisItem> {
+
+    @TableField(value = "name")
+    private String name;
+
+    @TableField(value = "parent_id")
+    private Integer parentId;
+
+    @TableField(value = "permissions")
+    private Integer permissions;
+
+    @TableField(value = "project_id")
+    private Integer projectId;
+
+    @TableField(value = "tenant_id")
+    private Integer tenantId;
+
+    @TableField(value = "sort")
+    private Integer sort;
+
+    @TableField(value = "type")
+    private Integer type;
+
+    @TableField(value = "status")
+    private Integer status;
+
+    @TableField(value = "creator_id")
+    private String creatorId;
+
+    @TableField(value = "creator")
+    private String creator;
+
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    @TableField(value = "update_time")
+    private Date updateTime;
+}

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

@@ -0,0 +1,53 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 自定义分析项目维度数据
+ *
+ * @Author zero
+ * @Date 2024/01/12
+ */
+@Data
+@TableName("os_custom_analysis_item_schema")
+public class CustomAnalysisItemSchema extends BaseEntity<CustomAnalysisItemSchema> {
+
+    @TableField(value = "dimension")
+    private String dimension;
+
+    @TableField(value = "field")
+    private Integer field;
+
+    @TableField(value = "expand")
+    private Integer expand;
+
+    @TableField(value = "type")
+    private Integer type;
+
+    @TableField(value = "ptype")
+    private Integer ptype;
+
+    @TableField(value = "num")
+    private Integer num;
+
+    @TableField(value = "status")
+    private Integer status;
+
+    @TableField(value = "creator_id")
+    private Integer creatorId;
+
+    @TableField(value = "creator")
+    private String creator;
+
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    @TableField(value = "update_time")
+    private Date updateTime;
+
+}

+ 21 - 0
src/main/java/cn/cslg/pas/mapper/CustomAnalysisItemMapper.java

@@ -0,0 +1,21 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.common.dto.customAnalyse.SelectCustomAnalyseListDTO;
+import cn.cslg.pas.common.vo.customAnalyse.SelectCustomAnalyseVO;
+import cn.cslg.pas.domain.business.CustomAnalysisItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 自定义分析项目mapper
+ * @Author zero
+ * @Date 2024/01/12
+ */
+@Repository
+public interface CustomAnalysisItemMapper extends BaseMapper<CustomAnalysisItem> {
+    public List<SelectCustomAnalyseListDTO> queryAnalyseGroup(@Param("vo") SelectCustomAnalyseVO vo);
+
+}

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

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.CustomAnalysisItemSchema;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 自定义分析项目维度数据mapper
+ * @Author zero
+ * @Date 2024/01/12
+ */
+@Repository
+public interface CustomAnalysisItemSchemaMapper extends BaseMapper<CustomAnalysisItemSchema> {
+}

+ 111 - 0
src/main/java/cn/cslg/pas/service/business/CustomAnalyseService.java

@@ -0,0 +1,111 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.dto.customAnalyse.SelectCustomAnalyseDTO;
+import cn.cslg.pas.common.dto.customAnalyse.SelectCustomAnalyseListDTO;
+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.customAnalyse.CustomAnalyseIdVO;
+import cn.cslg.pas.common.vo.customAnalyse.CustomAnalyseVO;
+import cn.cslg.pas.common.vo.customAnalyse.SelectCustomAnalyseVO;
+import cn.cslg.pas.domain.business.CustomAnalysisItem;
+import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.mapper.CustomAnalysisItemMapper;
+import cn.hutool.core.util.ObjectUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 自定义分析项目Service层
+ *
+ * @Author zero
+ * @Date 2024/01/12
+ */
+@Service
+public class CustomAnalyseService {
+
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
+    @Autowired
+    private CustomAnalysisItemMapper customAnalysisItemMapper;
+
+    public List<SelectCustomAnalyseListDTO> queryAnalyseGroup(SelectCustomAnalyseVO vo) {
+        List<SelectCustomAnalyseListDTO> list = new ArrayList<>();
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+
+        return list;
+    }
+
+
+    public SelectCustomAnalyseDTO queryAnalyseGroupDetail(CustomAnalyseIdVO vo) {
+        SelectCustomAnalyseDTO dto = new SelectCustomAnalyseDTO();
+        CustomAnalysisItem item = customAnalysisItemMapper.selectById(vo.getId());
+        if (ObjectUtil.isNotEmpty(item)) {
+            BeanUtils.copyProperties(item, dto);
+        }
+        return dto;
+    }
+
+    public Integer addAnalyseGroup(CustomAnalyseVO vo) {
+
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+
+        CustomAnalysisItem item = new CustomAnalysisItem();
+        BeanUtils.copyProperties(vo, item);
+        item.setTenantId(personnelVO.getTenantId());
+        item.setCreatorId(personnelVO.getId());
+        item.setCreator(personnelVO.getName());
+        item.setCreateTime(new Date());
+        item.setUpdateTime(new Date());
+        item.insert();
+        return item.getId();
+    }
+
+    public Integer editAnalyseGroup(CustomAnalyseVO vo) {
+
+        //获取登陆人信息 用于设置创建人
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+
+        CustomAnalysisItem item = customAnalysisItemMapper.selectById(vo.getId());
+        BeanUtils.copyProperties(vo, item);
+        item.setTenantId(personnelVO.getTenantId());
+        item.setCreatorId(personnelVO.getId());
+        item.setCreator(personnelVO.getName());
+        item.setUpdateTime(new Date());
+        item.insert();
+        return item.getId();
+    }
+
+    public Integer delAnalyseGroup(CustomAnalyseIdVO vo) {
+        CustomAnalysisItem item = customAnalysisItemMapper.selectById(vo.getId());
+        customAnalysisItemMapper.deleteById(vo.getId());
+        return item.getId();
+    }
+
+}

+ 25 - 0
src/main/resources/mapper/CustomAnalyseMapper.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.CustomAnalysisItemMapper">
+
+    <select id="queryAnalyseGroup" resultType="cn.cslg.pas.common.dto.customAnalyse.SelectCustomAnalyseListDTO">
+        select id,name,parent_id,permissions,project_id,tenant_id,sort,type,status,creator
+        from os_custom_analysis_item
+        <where>
+            <if test="vo.type != null">
+                type = #{vo.type}
+            </if>
+            /*系统公开情况*/
+            (permissions = 1 AND tenant_id = #{tenantId})
+            or
+            /*系统私有公开*/
+            (permissions = 2 AND creator_id = #{creatorId})
+            or
+            /*数据库公开*/
+            (permissions = 3 AND tenant_id = #{tenant_id} And project_id = #{project_id})
+            or
+            /*数据库私有*/
+            (permissions = 4 AND creator_id = #{creatorId} And project_id = #{project_id})
+        </where>
+    </select>
+</mapper>