浏览代码

电签签字时优先使用dqid

lvy 2 月之前
父节点
当前提交
564124062a

+ 9 - 30
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVDataServiceImpl.java

@@ -119,25 +119,14 @@ public class EVDataServiceImpl implements EVDataService {
                     SignBackPdfInfo(taskApp);
                     return;
                 } else {
-                    // 一个位置只留一个签字
+                    // 优先使用项目配置的电签
                     Map<Integer, SealStrategyVO> map = new HashMap<>();
                     strategyListByAXQ.forEach(item -> {
-                        String keyword = item.getKeyword();
-                        Integer lineNum = eVisaConfigMap.get(keyword);
-                        if (lineNum ==  null) {
-                            return;
-                        }
-                        SealStrategyVO vo = map.get(lineNum);
-                        if (vo == null) {
-                            map.put(lineNum, item);
-                        } else {
-                            String keyword1 = vo.getKeyword();
-                            if (keyword1 != null && keyword1.contains("✹") && !keyword.contains("✹")) {
-                                map.put(lineNum, item);
-                            }
+                        if (!item.getKeyword().contains("✹")) {
+                            map.put(eVisaConfigMap.get(item.getKeyword()), item);
                         }
                     });
-                    strategyListByAXQ = new ArrayList<>(map.values());
+                    strategyListByAXQ.removeIf(item -> item.getKeyword().contains("✹") && map.containsKey(eVisaConfigMap.get(item.getKeyword())));
                 }
 
                 //调用签字逻辑
@@ -154,25 +143,15 @@ public class EVDataServiceImpl implements EVDataService {
                 //添加电签策略
                 List<Map<String, Object>> strategyListByDFZX = getStrategyListByDFZX(taskApp, ids);
                 if (strategyListByDFZX != null && !strategyListByDFZX.isEmpty()) {
-                    // 一个位置只留一个签字
-                    Map<Integer, Map<String, Object>> map = new HashMap<>();
+                    // 优先使用项目配置的电签
+                    Map<Integer, Integer> map = new HashMap<>();
                     strategyListByDFZX.forEach(item -> {
                         String keyword = item.get("keyword") + "";
-                        Integer lineNum = eVisaConfigMap.get(keyword);
-                        if (lineNum ==  null) {
-                            return;
-                        }
-                        Map<String, Object> vo = map.get(lineNum);
-                        if (vo == null) {
-                            map.put(lineNum, item);
-                        } else {
-                            String keyword1 = vo.get("keyword") + "";
-                            if (!keyword1.equals("null") && keyword1.contains("✹") && !keyword.contains("✹")) {
-                                map.put(lineNum, item);
-                            }
+                        if (!keyword.contains("✹")) {
+                            map.put(eVisaConfigMap.get(keyword), 1);
                         }
                     });
-                    strategyListByDFZX = new ArrayList<>(map.values());
+                    strategyListByDFZX.removeIf(item -> (item.get("keyword") + "").contains("✹") && map.containsKey(eVisaConfigMap.get(item.get("keyword") + "")));
                 }
                 //调用签字逻辑
                 String s = signTaskBatchByDFZX(strategyListByDFZX, fileUrl, taskApp.getSigType(),taskApp.getRemarkType(),taskApp.getContractId());