yaozhixue 1 yıl önce
ebeveyn
işleme
da5ab89964

+ 10 - 14
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPGFWebsitWorkerServiceImpl.java

@@ -88,7 +88,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         log.info("同步师傅数据到到本地库结束耗时(毫秒): {}",endTime-startTime);
 
         // 新增网点师傅 websit_worker+商户网点师傅信息 存在修改,不存在新增
-        addWebsitWorkerBrandAccountsInfo(recs);
+        // addWebsitWorkerBrandAccountsInfo(recs);
         recs.clear();
     }
 
@@ -602,21 +602,15 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
 
 
     private void getWorker(List<Worker> addWorkerRec, List<String> sfzens, ItfTblWangdianWxgDownload m,
-                           Map<String, List<Worker>> workerIdcardMap) {
+                           Map<String, String> workerIdcardMap) {
         Boolean uflag = Boolean.FALSE;
         Worker v = new Worker();
         Worker o = null;
 
         // 师傅身份证,名称,电话 已存在为修改
-        if (workerIdcardMap.containsKey(m.getSfzen())){
-            for (Worker w:workerIdcardMap.get(m.getSfzen())){
-                if (w.getWorkerName().equals(m.getWxgmc()) && w.getMobile().equals(m.getYddh())){
-                    v.setWorkerId(w.getWorkerId());
-                    o = workerService.lambdaQuery()
-                            .eq(Worker::getWorkerId,w.getWorkerId()).one();
-                    break;
-                }
-            }
+        if (workerIdcardMap.containsKey(m.getSfzen() + m.getWxgmc() + m.getYddh())){
+            o = workerService.lambdaQuery()
+                    .eq(Worker::getWorkerId,workerIdcardMap.get(m.getSfzen() + m.getWxgmc() + m.getYddh())).one();
         }
 
         // 新增
@@ -860,12 +854,14 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
     private void extractedWorkerAddNew(List<ItfTblWangdianWxgDownload> addRec, List<Worker> addWorkerRec) {
         // 身份证 + 姓名 + 手机号
         List<String> sfzens = new ArrayList<>();
-        Map<String, List<Worker>> workerIdcardMap = new HashMap<>();
+        Map<String, String> workerIdcardMap = new HashMap<>();
         // 提取原有的信息
         List<Worker> oldWorkerRec =  workerService.lambdaQuery()
-                .select(Worker::getIdcard,Worker::getWorkerId,Worker::getWorkerName,Worker::getMobile).list();
+                .select(Worker::getIdcard,Worker::getWorkerName,Worker::getMobile,Worker::getWorkerId).list();
         if (CollectionUtils.isNotEmpty(oldWorkerRec)){
-            workerIdcardMap = oldWorkerRec.stream().collect(Collectors.groupingBy(Worker::getIdcard));
+            for (Worker item: oldWorkerRec){
+                workerIdcardMap.put(item.getIdcard() + item.getWorkerName() + item.getMobile(),item.getWorkerId());
+            }
         }
 
         for (ItfTblWangdianWxgDownload m : addRec){