From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 27 五月 2020 09:59:29 +0800
Subject: [PATCH] merage

---
 src/main/java/com/highdatas/mdm/service/impl/MasterModifiedServiceImpl.java |  130 ++++++++++++++++++++++--------------------
 1 files changed, 68 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/MasterModifiedServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MasterModifiedServiceImpl.java
index 0c761d2..a3c5431 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/MasterModifiedServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/MasterModifiedServiceImpl.java
@@ -120,73 +120,79 @@
     @Override
     @Async
     public void dealFlow(String maintainId, ActivitiStatus status) {
-        Maintain maintain = maintainService.selectById(maintainId);
-        if (maintain == null) {
-            return;
-        }
-        String tableName = maintain.getTableName();
-        String recordTableName = tableName + Constant.RECORD;
-        List<Map<String,String>> modifiedList = masterModifiedMapper.selectByMaintainId(recordTableName, DbUtils.quotedStr(maintainId));
-        switch (status) {
-            case open:
-                for (Map<String, String> masterModifiedMap : modifiedList) {
-                    String preJson = masterModifiedMap.get(pre_record);
-                    JSONObject jsonObject = JSONObject.parseObject(preJson);
-                    if (jsonObject == null){
-                        continue;
-                    }
-                    Set<String> keySet = jsonObject.keySet();
-                    HashMap<String, String> userMap = new HashMap<>();
-                    for (String field : keySet) {
-                        String userId = jsonObject.getString(field);
-                        if (userMap.containsKey(userId)) {
-                            String preFieldStr = userMap.get(userId);
-                            field = preFieldStr + Constant.SEMICOLON  + field;
-                        }
-                        userMap.put(userId, field);
-                    }
-                    List<TableSchemaResult> tableField = tableInfoMapper.getTableField(master_modified);
-                    List<String> existsFieldList = tableField.stream().map(TableSchemaResult::getFieldName).collect(Collectors.toList());
-                    Set<String> userIdList = userMap.keySet();
-
-                    if (!existsFieldList.containsAll(userIdList)) {
-                        //鏂板涔嬪墠涓嶅瓨鍦ㄧ殑鐢ㄦ埛
-                        List<String> unExistsUserList = userIdList.stream().filter(s -> !existsFieldList.contains(s)).collect(Collectors.toList());
-                        for (String s : unExistsUserList) {
-                            //鏂板瀛楁
-                            maintainFieldMapper.addCloumn(master_modified, s, Constant.Text);
-                        }
-                    }
-                    masterModifiedMap.putAll(userMap);
-                    updateById(masterModifiedMap);
-                }
-                break;
-            case close:
-                List<String> unUserIdList = new ArrayList<>();
-                unUserIdList.add(Constant.ID);
-                unUserIdList.add(master_id);
-                unUserIdList.add(table_name);
-                unUserIdList.add(pre_record);
-                for (Map<String, String> masterModifiedMap : modifiedList) {
-                    //todo   鍙嶆洿鏂� perjson  鑾峰彇褰撳墠琛ㄦ墍鏈夊彲鏇存敼鐨勭敤鎴� 涔嬪悗寰呬慨鏀� 鍏堜粠鏈湴user琛ㄤ腑鎷�
-                    Set<String> keySet = masterModifiedMap.keySet();
-                    List<String> userIdList = keySet.stream().filter(s -> !unUserIdList.contains(s)).collect(Collectors.toList());
-                    JSONObject jsonObject = new JSONObject();
-                    for (String s : userIdList) {
-                        String fields = masterModifiedMap.get(s);
-                        if (StringUtils.isEmpty(fields)) {
+        try {
+            Maintain maintain = maintainService.selectById(maintainId);
+            if (maintain == null) {
+                return;
+            }
+            String tableName = maintain.getTableName();
+            String recordTableName = tableName + Constant.RECORD;
+            List<Map<String,String>> modifiedList = masterModifiedMapper.selectByMaintainId(recordTableName, DbUtils.quotedStr(maintainId));
+            switch (status) {
+                case open:
+                    for (Map<String, String> masterModifiedMap : modifiedList) {
+                        String preJson = masterModifiedMap.get(pre_record);
+                        JSONObject jsonObject = JSONObject.parseObject(preJson);
+                        if (jsonObject == null){
                             continue;
                         }
-                        String[] split = fields.split(Constant.SEMICOLON);
-                        for (String field : split) {
-                            jsonObject.fluentPut(field, s);
+                        Set<String> keySet = jsonObject.keySet();
+                        HashMap<String, String> userMap = new HashMap<>();
+                        for (String field : keySet) {
+                            String userId = jsonObject.getString(field);
+                            if (userMap.containsKey(userId)) {
+                                String preFieldStr = userMap.get(userId);
+                                field = preFieldStr + Constant.SEMICOLON  + field;
+                            }
+                            userMap.put(userId, field);
                         }
+                        List<TableSchemaResult> tableField = tableInfoMapper.getTableField(master_modified);
+                        List<String> existsFieldList = tableField.stream().map(TableSchemaResult::getFieldName).collect(Collectors.toList());
+                        Set<String> userIdList = userMap.keySet();
+
+                        if (!existsFieldList.containsAll(userIdList)) {
+                            //鏂板涔嬪墠涓嶅瓨鍦ㄧ殑鐢ㄦ埛
+                            List<String> unExistsUserList = userIdList.stream().filter(s -> !existsFieldList.contains(s)).collect(Collectors.toList());
+                            for (String s : unExistsUserList) {
+                                //鏂板瀛楁
+                                maintainFieldMapper.addCloumn(master_modified, s, Constant.Text);
+                            }
+                        }
+                        masterModifiedMap.putAll(userMap);
+                        updateById(masterModifiedMap);
                     }
-                    masterModifiedMap.put(pre_record, jsonObject.toJSONString());
-                    updateById(masterModifiedMap);
-                }
-                break;
+                    break;
+                case close:
+                    List<String> unUserIdList = new ArrayList<>();
+                    unUserIdList.add(Constant.ID);
+                    unUserIdList.add(master_id);
+                    unUserIdList.add(table_name);
+                    unUserIdList.add(pre_record);
+                    for (Map<String, String> masterModifiedMap : modifiedList) {
+                        //todo   鍙嶆洿鏂� perjson  鑾峰彇褰撳墠琛ㄦ墍鏈夊彲鏇存敼鐨勭敤鎴� 涔嬪悗寰呬慨鏀� 鍏堜粠鏈湴user琛ㄤ腑鎷�
+                        Set<String> keySet = masterModifiedMap.keySet();
+                        List<String> userIdList = keySet.stream().filter(s -> !unUserIdList.contains(s)).collect(Collectors.toList());
+                        JSONObject jsonObject = new JSONObject();
+                        for (String s : userIdList) {
+                            String fields = masterModifiedMap.get(s);
+                            if (StringUtils.isEmpty(fields)) {
+                                continue;
+                            }
+                            String[] split = fields.split(Constant.SEMICOLON);
+                            for (String field : split) {
+                                jsonObject.fluentPut(field, s);
+                            }
+                        }
+                        masterModifiedMap.put(pre_record, jsonObject.toJSONString());
+                        updateById(masterModifiedMap);
+                    }
+                    break;
+            }
         }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+
     }
 
     @Override

--
Gitblit v1.8.0