| 
					
				 | 
			
			
				@@ -49,10 +49,6 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 数据同步落到同步信息表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         extractedAddOrUpdate(addRec, updateRec, jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 数据同步到本地表(worker:师傅信息表 + worker_brand_account:师傅网点对应品牌网点信息表 + websit_worker:网点师傅信息表) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 师傅信息一定新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 品牌网点与平台网点有对应关系才会同步生成相应的网点数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        extractedLocalAddOrUpdate(addRec, updateRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,9 +59,6 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 数据同步落到同步信息表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         extractedAddOrUpdate(addRec, updateRec, jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 数据同步到本地表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        extractedLocalAddOrUpdate(addRec, updateRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -76,9 +69,6 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 数据同步落到同步信息表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         extractedAddOrUpdate(addRec, updateRec, jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 数据同步到本地表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         extractedLocalAddOrUpdate(addRec, updateRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -89,11 +79,78 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 数据同步落到同步信息表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         extractedAddOrUpdate(addRec, updateRec, jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void inputData(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 提取所有的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<ItfTblWangdianWxgDownload> recs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        recs = itfTblWangdianWxgDownloadService.lambdaQuery().list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 新增或修改师傅数据 worker:师傅信息表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        addWorker(recs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 数据同步到本地表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        extractedLocalAddOrUpdate(addRec, updateRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 新增网点师傅 websit_worker+商户网点师傅信息 存在修改,不存在新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        addWebsitWorkerBrandAccountsInfo(recs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        recs.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void addWebsitWorkerBrandAccountsInfo(List<ItfTblWangdianWxgDownload> addRec) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 新增网点师傅 websit_worker+商户网点师傅信息 存在修改,不存在新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String,List<WebsitOrderSign>> websitOrderSignMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, List<Worker>> workerIdCardMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Websit> websitrec = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String,List<Websit>> websitMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<WorkerBrandAccount> addwbas = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<WebsitWorker> websitWorkeradd = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<WorkerBrandAccount> upWorkerBrandAccount = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 提取平台师傅信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Worker> oldWorkerRec =  workerService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .select(Worker::getIdcard,Worker::getWorkerId,Worker::getWorkerName,Worker::getMobile).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(oldWorkerRec)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            workerIdCardMap = oldWorkerRec.stream().collect(Collectors.groupingBy(Worker::getIdcard)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        websitrec = websitService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .select(Websit::getWebsitId,Websit::getServiceId,Websit::getWebsitName).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(websitrec)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            websitMap = websitrec.stream().collect(Collectors.groupingBy(Websit::getWebsitId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 查看品牌网点与平台网点是否存在对应关系 (存在品牌网点对应平台多网点) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<WebsitOrderSign> wos = publicService.SyncshshwdToptshwd(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(wos)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            websitOrderSignMap = wos.stream().collect(Collectors.groupingBy(WebsitOrderSign::getBrandWebsitId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (addRec.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 生成平台网点及品牌商网点师傅数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getWebsitWorkerBrandAccounts(addRec, websitOrderSignMap, workerIdCardMap, websitMap, addwbas, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    websitWorkeradd, upWorkerBrandAccount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 修改品牌商网点师傅数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (upWorkerBrandAccount.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                workerBrandAccountService.updateBatchById(upWorkerBrandAccount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                upWorkerBrandAccount.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 新增品牌师傅网点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (addwbas.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                workerBrandAccountService.saveBatch(addwbas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                addwbas.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 新增师傅所在平台网点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (websitWorkeradd.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                websitWorkerService.saveBatch(websitWorkeradd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                websitWorkeradd.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void addWebsitWorkerBrandAccounts(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 新增网点师傅 websit_worker+商户网点师傅信息 存在修改,不存在新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String,List<WebsitOrderSign>> websitOrderSignMap = new HashMap<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -150,7 +207,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (updateRec.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 生成平台网点及品牌商网点师傅数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            getWebsitWorkerBrandAccounts(updateRec, websitOrderSignMap, workerIdCardMap, websitMap, addwbas, websitWorkeradd, upWorkerBrandAccount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getWebsitWorkerBrandAccounts(updateRec, websitOrderSignMap, workerIdCardMap, websitMap, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    addwbas, websitWorkeradd, upWorkerBrandAccount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 修改品牌商网点师傅数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (upWorkerBrandAccount.size()>0){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -180,6 +238,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                   List<WorkerBrandAccount> addwbas, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                   List<WebsitWorker> websitWorkeradd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                   List<WorkerBrandAccount> upWorkerBrandAccounts) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> WebsitWorkers = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (ItfTblWangdianWxgDownload m : addRec){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 只有存在网点对应关系才可以新增师傅到网点信息中来 存在品牌网点对应平台多网点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!websitOrderSignMap.containsKey(m.getWdno())){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -205,26 +265,56 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 upWorkerBrandAccounts.addAll(oldwbas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 修改平台网点师傅信息 要求存在就不修改只新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 新增师傅所在品牌、商网点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 新增师傅所在品牌、商户网点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<WebsitOrderSign> wosrec = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 wosrec = websitOrderSignMap.get(m.getWdno()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 存在品牌网点对应平台多网点 平台网点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (WebsitOrderSign i : wosrec){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 若师傅身份证没找到说明师傅信息未同步到师傅信息表,不处理 等下次处理即可 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!workerIdCardMap.containsKey(m.getSfzen())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 生成品牌师傅网点信息对像 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     WorkerBrandAccount add = getWorkerBrandAccount(workerIdCardMap, websitMap, m, addwbas, i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 主键: worker_id + websit_id  已添加过就不再添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (WebsitWorkers.contains(add.getWorkerId()+add.getWebsitId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    WebsitWorkers.add(add.getWorkerId()+add.getWebsitId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 生成师傅所在平台网点信息对像(如已存在不再新增 即不修改平台网点师傅信息) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     WebsitWorker ww = websitWorkerService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            .eq(WebsitWorker::getWorkerId,workerIdCardMap.get(m.getSfzen()).get(0).getWorkerId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .eq(WebsitWorker::getWorkerId,add.getWorkerId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             .eq(WebsitWorker::getWebsitId,i.getWebsitId()).one(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (ww == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         getWebsitWorker(workerIdCardMap, websitMap, m, websitWorkeradd, i, add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 修改品牌商网点师傅数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (upWorkerBrandAccounts.size()>3000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                workerBrandAccountService.updateBatchById(upWorkerBrandAccounts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                upWorkerBrandAccounts.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 新增品牌师傅网点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (addwbas.size()>3000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                workerBrandAccountService.saveBatch(addwbas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                addwbas.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 新增师傅所在平台网点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (websitWorkeradd.size()>3000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                websitWorkerService.saveBatch(websitWorkeradd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                websitWorkeradd.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        WebsitWorkers.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void getWebsitWorker(Map<String, List<Worker>> workerIdCardMap, Map<String, List<Websit>> websitrecMap, ItfTblWangdianWxgDownload m, List<WebsitWorker> websitWorkeradd, WebsitOrderSign i, WorkerBrandAccount add) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void getWebsitWorker(Map<String, List<Worker>> workerIdCardMap, Map<String, List<Websit>> websitrecMap, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 ItfTblWangdianWxgDownload m, List<WebsitWorker> websitWorkeradd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 WebsitOrderSign i, WorkerBrandAccount add) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         WebsitWorker v = new WebsitWorker(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 一定要与worker_brand_account.websit_worker_id相同 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v.setWebsitWorkerId(add.getWebsitWorkerId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -247,7 +337,15 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (m.getLastModifiedDate() != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             v.setUpdateTime(m.getLastModifiedDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        v.setWorkerName(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (Worker w:workerIdCardMap.get(m.getSfzen())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (w.getMobile().equals(m.getYddh())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v.setWorkerName(w.getWorkerName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // v.setWorkerName(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (m.getFlag() != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!m.getFlag().trim().equals(DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -329,11 +427,20 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @NotNull 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private WorkerBrandAccount getWorkerBrandAccount(Map<String, List<Worker>> workerIdCardMap, Map<String, List<Websit>> websitrecMap, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private WorkerBrandAccount getWorkerBrandAccount(Map<String, List<Worker>> workerIdCardMap, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                     Map<String, List<Websit>> websitrecMap, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                      ItfTblWangdianWxgDownload m, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                      List<WorkerBrandAccount> addwbas, WebsitOrderSign i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         WorkerBrandAccount add = new WorkerBrandAccount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        add.setWorkerId(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (Worker w:workerIdCardMap.get(m.getSfzen())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (w.getWorkerName().equals(m.getWxgmc()) && w.getMobile().equals(m.getYddh())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                add.setWorkerId(w.getWorkerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // add.setWorkerId(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 自生成 一定要与websit_worker.websit_worker_id相同 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         add.setWebsitWorkerId(IdWorker.getIdStr()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         add.setGroupCompanyId(i.getGroupCompanyId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -373,12 +480,20 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void getWorker(List<Worker> addWorkerRec, List<String> sfzens, ItfTblWangdianWxgDownload m, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           Map<String, List<Worker>> oldRecMap) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           Map<String, List<Worker>> workerIdcardMap) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Boolean flag = Boolean.FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Worker v = new Worker(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v.setWorkerId(IdWorker.getIdStr()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 师傅身份证已存在为修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (oldRecMap.containsKey(m.getSfzen())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            v.setWorkerId(oldRecMap.get(m.getSfzen()).get(0).getWorkerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 师傅身份证,名称,电话 已存在为修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (workerIdcardMap.containsKey(m.getSfzen())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // v.setWorkerId(workerIdcardMap.get(m.getSfzen()).get(0).getWorkerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (Worker w:workerIdcardMap.get(m.getSfzen())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (w.getWorkerName().equals(m.getWxgmc()) && w.getMobile().equals(m.getYddh())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    v.setWorkerId(w.getWorkerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag = Boolean.TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v.setWorkerName(m.getWxgmc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //v.setIsReal("YES"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -462,28 +577,32 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v.setCarNo(m.getCphm()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v.setGpsMachineId(m.getGpsid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v.setVipFlag(m.getVipflag()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        v.setSyncFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 修改时不变动来源 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!flag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v.setSyncFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         addWorkerRec.add(v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sfzens.add(m.getSfzen()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sfzens.add(m.getSfzen() + m.getWxgmc() + m.getYddh()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void extractedWorkerAddNew(List<ItfTblWangdianWxgDownload> addRec, List<Worker> addWorkerRec) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 身份证 + 姓名 + 手机号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<String> sfzens = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String, List<Worker>> oldRecMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, List<Worker>> workerIdcardMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 提取原有的信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Worker> oldWorkerRec =  workerService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .select(Worker::getIdcard,Worker::getWorkerId).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .select(Worker::getIdcard,Worker::getWorkerId,Worker::getWorkerName,Worker::getMobile).list(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (CollectionUtils.isNotEmpty(oldWorkerRec)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            oldRecMap = oldWorkerRec.stream().collect(Collectors.groupingBy(Worker::getIdcard)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            workerIdcardMap = oldWorkerRec.stream().collect(Collectors.groupingBy(Worker::getIdcard)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (ItfTblWangdianWxgDownload m : addRec){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 已处理过不再处理 因为这里是网点师傅会存在重复数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (sfzens.contains(m.getSfzen())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (sfzens.contains(m.getSfzen() + m.getWxgmc() + m.getYddh())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 生成对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            getWorker(addWorkerRec, sfzens, m, oldRecMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            getWorker(addWorkerRec, sfzens, m, workerIdcardMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 新增的插入到表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (addWorkerRec.size()>=3000){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -492,6 +611,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 addWorkerRec.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sfzens.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void addWorkerInfo(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec, List<Worker> addWorkerRec) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -520,7 +641,24 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void addWorker(List<ItfTblWangdianWxgDownload> Recs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Worker> addWorkerRec = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 新增的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (Recs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // worker:师傅信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extractedWorkerAddNew(Recs, addWorkerRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 新增的插入到表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (addWorkerRec.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                workerService.saveOrUpdateBatch(addWorkerRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                addWorkerRec.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void extractedLocalAddOrUpdate(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Worker> addWorkerRec = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 新增师傅数据 worker:师傅信息表 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -555,7 +693,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ItfTblWangdianWxgDownload old = oldRecMap.get(item.getWxgid()).get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 MyBeanUtils.copyProperties(item,old); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 update.add(old); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (update.size()>2000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (update.size()>3000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     itfTblWangdianWxgDownloadService.updateBatchById(update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     log.info("网点维修工基础资料信息同步更新修改了{}条数据", update.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     updateRec.addAll(update); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -570,7 +708,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 item.setSynTimes(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 add.add(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (add.size()>=2000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (add.size()>3000){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     itfTblWangdianWxgDownloadService.saveBatch(add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     log.info("网点维修工基础资料信息同步新增插入了{}条数据", add.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     addRec.addAll(add); 
			 |