瀏覽代碼

Merge remote-tracking branch 'origin/release' into release

沈永艺 3 年之前
父節點
當前提交
9518f2d10a

+ 10 - 2
PAS/src/main/java/cn/cslg/pas/common/model/vo/UploadParamsVO.java

@@ -2,6 +2,7 @@ package cn.cslg.pas.common.model.vo;
 
 import cn.cslg.pas.domain.*;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 import java.util.List;
 
@@ -100,7 +101,14 @@ public class UploadParamsVO {
     /**
      * 自定义字段
      */
-    private String key;
-    private List<String> fieldList;
+    private List<Field> customerFieldList;
+
+    @Data
+    @Accessors(chain = true)
+    public static class Field {
+        private String key;
+        private List<String> fieldList;
+    }
+
 
 }

+ 13 - 11
PAS/src/main/java/cn/cslg/pas/common/utils/UploadPatentBatchUtil.java

@@ -4,6 +4,7 @@ import cn.cslg.pas.common.model.vo.ProjectImportPatentVO;
 import cn.cslg.pas.common.model.vo.UploadParamsVO;
 import cn.cslg.pas.common.model.vo.UploadSettingVO;
 import cn.cslg.pas.common.utils.handler.DataProcessHandler;
+import cn.cslg.pas.common.utils.handler.StringSpecialHandler;
 import org.springframework.stereotype.Component;
 
 import java.lang.reflect.Field;
@@ -59,11 +60,18 @@ public class UploadPatentBatchUtil {
      */
     public static UploadParamsVO processData(Map<Object, Object> row, List<UploadSettingVO.Column> jsonData) {
         UploadParamsVO uploadParamsVO = new UploadParamsVO();
-
+        List<UploadParamsVO.Field> list = new ArrayList<>();
         try {
             for (Object object : row.keySet()) {
                 String key = object.toString();
                 Object value = row.get(key);
+                if (key.contains(":")) {
+                    UploadParamsVO.Field field = new UploadParamsVO.Field();
+                    StringSpecialHandler stringSpecialHandler = new StringSpecialHandler();
+                    field.setKey(key);
+                    field.setFieldList((List<String>) stringSpecialHandler.processData(value.toString(), "\\\n"));
+                    list.add(field);
+                }
                 if (StringUtils.isNotNull(value) && !value.equals("") && !value.equals("-") && !value.equals("\\")) {
                     //将配置项与Excel栏位进行比对
                     List<UploadSettingVO.Column> temVOColumn = getColumn(jsonData, key);
@@ -78,16 +86,16 @@ public class UploadPatentBatchUtil {
                         }
                         //将格式化后的数据装配到VO类
                         assemblyObject(uploadParamsVO, column.getColumn(), getProcessData);
-                        if (key.contains(":")) {
-                            uploadParamsVO.setKey(key);
-                        }
+
                     }
                 }
             }
+
         } catch (Exception e) {
             e.printStackTrace();
         }
         //数据装配完毕 准备返回Service层 进行数据库操作
+        uploadParamsVO.setCustomerFieldList(list);
         return uploadParamsVO;
     }
 
@@ -99,13 +107,7 @@ public class UploadPatentBatchUtil {
                 columnList.add(jsonDatum);
             }
         }
-        if (key.contains(":")) {
-            UploadSettingVO.Column field = new UploadSettingVO.Column();
-            field.setColumn("fieldList");
-            field.setSplitSymbol("\\\n");
-            field.setHandler("cn.cslg.pas.common.utils.handler.StringSpecialHandler");
-            columnList.add(field);
-        }
+
         return columnList;
     }
 

+ 7 - 5
PAS/src/main/java/cn/cslg/pas/service/UploadPatentBatchService.java

@@ -193,7 +193,7 @@ public class UploadPatentBatchService {
             //事务信息 OS_PATENT_AFFAIR
             patentAffairBusiness(uploadParamsVO);
             //自定义字段
-            if (uploadParamsVO.getKey() != null && uploadParamsVO.getFieldList() != null) {
+            if (uploadParamsVO.getCustomerFieldList() != null) {
                 patentFieldBusiness(params, uploadParamsVO, projectImportPatentVO);
             }
         } catch (Exception e) {
@@ -413,10 +413,12 @@ public class UploadPatentBatchService {
 
     private void patentFieldBusiness(TaskParams params, UploadParamsVO uploadParamsVO, ProjectImportPatentVO projectImportPatentVO) {
         PatentCustomFieldParams patentCustomFieldParams = new PatentCustomFieldParams();
-        patentCustomFieldParams.setPatentId(uploadParamsVO.getPatent().getId());
-        patentCustomFieldParams.setProjectId(projectImportPatentVO.getProjectId());
-        patentCustomFieldParams.setUserId(Integer.parseInt(params.getUserId()));
-        patentCustomFieldParams.put(uploadParamsVO.getKey(), uploadParamsVO.getFieldList());
+        for (int i = 0; i < uploadParamsVO.getCustomerFieldList().size(); i++) {
+            patentCustomFieldParams.setPatentId(uploadParamsVO.getPatent().getId());
+            patentCustomFieldParams.setProjectId(projectImportPatentVO.getProjectId());
+            patentCustomFieldParams.setUserId(Integer.parseInt(params.getUserId()));
+            patentCustomFieldParams.put(uploadParamsVO.getCustomerFieldList().get(i).getKey(), uploadParamsVO.getCustomerFieldList().get(i).getFieldList());
+        }
 
         patentService.updatePatentCustomField(patentCustomFieldParams);
     }