zero 1 rok pred
rodič
commit
3836b3e205

+ 14 - 0
src/main/java/cn/cslg/pas/controller/CommonController.java

@@ -2,6 +2,7 @@ package cn.cslg.pas.controller;
 
 
 import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.es.EsCustomFieldDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.utils.StringUtils;
@@ -16,6 +17,7 @@ import cn.cslg.pas.service.business.AssoScenarioMatterService;
 import cn.cslg.pas.service.business.CommonService;
 import cn.cslg.pas.service.business.ScenarioService;
 import cn.cslg.pas.service.business.SystemDictService;
+import cn.cslg.pas.service.business.es.EsCustomFieldService;
 import cn.cslg.pas.service.common.PersonFieldService;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
@@ -41,6 +43,9 @@ public class CommonController {
     private AssoScenarioMatterService assoScenarioMatterService;
     @Autowired
     private PersonFieldService personFieldService;
+    @Autowired
+    private EsCustomFieldService esCustomFieldService;
+
 
     @PostMapping("getOsSystemDict")
     @Operation(summary = "根据类型获取所有字典项")
@@ -130,4 +135,13 @@ public class CommonController {
         records.setData(commonService.getExcelConfig());
         return Response.success(records);
     }
+
+    @PostMapping("/addCustomField")
+    @Operation(summary = "添加自定义栏位")
+    public Response addCustomField(@RequestBody EsCustomFieldDTO vo) throws Exception {
+        String field = esCustomFieldService.addCustomField(vo);
+        Records records = new Records();
+        records.setData(field);
+        return Response.success(records);
+    }
 }

+ 17 - 10
src/main/java/cn/cslg/pas/service/business/es/EsCustomFieldService.java

@@ -43,7 +43,7 @@ public class EsCustomFieldService {
     private final TreeNodeService treeNodeService;
 
     //添加自定义栏位值
-    public void addCustomField(EsCustomFieldDTO esCustomFieldDTO) throws Exception {
+    public String addCustomField(EsCustomFieldDTO esCustomFieldDTO) throws Exception {
         ESCustomField esCustomField = new ESCustomField();
         String id = "";
         //判断类型
@@ -81,6 +81,7 @@ public class EsCustomFieldService {
             esCustomField.setTaskId(taskId);
         }
         List<String> values = esCustomField.getFieldValue();
+
         //设置值
         switch (fieldType) {
             case 0:
@@ -91,26 +92,33 @@ public class EsCustomFieldService {
                 ;
             case 2:              //文本类型
                 if (optionType.equals(1) || optionType.equals(2)) {
-                    if (addValues != null && addValues.size() == 1 && !values.contains(addValues))
+                    if (addValues != null && addValues.size() == 1)
                         esCustomField.setFieldValue(esCustomFieldDTO.getFieldValue());
+                        esCustomField.setStatsValue(addValues);
                 } else if (optionType.equals(0)) {
-                    esCustomField.setFieldType(null);
+                    esCustomField.setFieldValue(new ArrayList<>());
+                    esCustomField.setStatsValue(new ArrayList<>());
                 }
                 break;
             case 4:     //单选
                 if (optionType.equals(1) || optionType.equals(2)) {
-                    if (addValues != null && addValues.size() == 1 && !values.contains(addValues)) {
+                    if (addValues != null && addValues.size() == 1) {
+                        esCustomField.setFieldValue(addValues);
                         esCustomField.setStatsValue(addValues);
                     }
                 } else if (optionType.equals(0)) {
-                    esCustomField.setFieldValue(null);
-                    esCustomField.setStatsValue(null);
+                    esCustomField.setFieldValue(new ArrayList<>());
+                    esCustomField.setStatsValue(new ArrayList<>());
                 }
                 break;
             case 5:
                 if (optionType.equals(1)) {
-                    if (addValues != null && addValues.size() == 1 && !values.contains(addValues)) {
+                    if (addValues != null && addValues.size() > 0 ) {
+                        esCustomField.setFieldValue(addValues);
                         esCustomField.setStatsValue(addValues);
+                    }else {
+                        esCustomField.setFieldValue(new ArrayList<>());
+                        esCustomField.setStatsValue(new ArrayList<>());
                     }
                 }
                 break;
@@ -208,12 +216,11 @@ public class EsCustomFieldService {
             esCustomFieldHistory.setPersonId("1");
             esCustomFieldHistory.setProjectId(projectId);
             esCustomFieldHistory.setCustomFieldId(id);
-            String a = this.addCustomFieldHistory(esCustomFieldHistory);
-            System.out.println("---" + a);
+            this.addCustomFieldHistory(esCustomFieldHistory);
         } else {
             String b = this.addEsCustomFieldToEs(esCustomField, patentNo);
-            System.out.println("+++++++++" + b);
         }
+        return id;
     }
 
 

+ 13 - 3
src/test/java/cn/cslg/pas/service/EventServiceTests.java

@@ -37,6 +37,8 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 
 /**
@@ -252,6 +254,14 @@ public class EventServiceTests {
         vo.setPatentNo("CN201910069334.7");
         PatentDetailDTO columnDTO = patentService.selectPatentDetail(vo);
         System.out.println(columnDTO);
+
+//        String s = "asfassafsafe";
+//        Map<Character, Long> map = s.chars().mapToObj(c->(char)c).collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
+//        System.out.println(map);
+//
+//        List<String> stringList = Arrays.asList("apple", "apple", "balana", "origin", "apple", "balana");
+//        Map<String, Long> collect = stringList.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
+//        System.out.println("----" + collect);
     }
 
     @Test
@@ -277,9 +287,9 @@ public class EventServiceTests {
     void test15() throws Exception {
         EsCustomFieldDTO dto = new EsCustomFieldDTO();
         dto.setProjectId(83);
-        dto.setFieldType(6);
-        dto.setFieldId("101");
-        dto.setFieldValue(Arrays.asList("1010"));
+        dto.setFieldType(5);
+        dto.setFieldId("303");
+        dto.setFieldValue(Arrays.asList("多选1","多选2"));
         dto.setOptionType(1);
         dto.setPatentNo("CN201910069334.7");
         esCustomFieldService.addCustomField(dto);