yaozhixue 1 год назад
Родитель
Сommit
ac4872d857

+ 64 - 104
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPGFWebsitWorkerServiceImpl.java

@@ -88,14 +88,16 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
 
     @Override
     public void inputData(){
+        Map<Long,ItfTblWangdianWxgDownload> uprecs = new HashMap<>();
         // 新增师傅数据 只新增不修改
-        inputDataWorker();
+        inputDataWorker(uprecs);
 
         // 添加网点师傅数据及平台与商户网点师傅数据  worker_brand_account(师傅网点对应品牌网点信息表) + websit_worker(网点师傅信息表))
-        inputDataWebsitWorker();
+        inputDataWebsitWorker(uprecs);
+
     }
 
-    void inputDataWebsitWorker(){
+    void inputDataWebsitWorker(Map<Long,ItfTblWangdianWxgDownload> uprecs){
         List<String> sfzs = new ArrayList<>();
         List<String> recouts = new ArrayList<>();
         List<ItfTblWangdianWxgDownload> recs = new ArrayList<>();
@@ -107,23 +109,32 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         // 先同步有效的数据
         if (CollectionUtils.isNotEmpty(sfzs)){
             recs = itfTblWangdianWxgDownloadService.lambdaQuery()
+                    .eq(ItfTblWangdianWxgDownload::getSynStatus,0)
                     .in(ItfTblWangdianWxgDownload::getSfzen,sfzs).list();
             // 新增网点师傅 websit_worker(商户网点师傅信息) 存在修改,不存在新增
             // 只做新增,不做修改动作
-            addWebsitWorkerBrandAccountsInfo(recs);
+            addWebsitWorkerBrandAccountsInfo(recs, uprecs);
         }
 
 
         // 同步无效的数据
         if (CollectionUtils.isNotEmpty(recouts)){
             recs = itfTblWangdianWxgDownloadService.lambdaQuery()
+                    .eq(ItfTblWangdianWxgDownload::getSynStatus,0)
                     .in(ItfTblWangdianWxgDownload::getSfzen,recouts).list();
-            addWebsitWorkerBrandAccountsInfo(recs);
+            addWebsitWorkerBrandAccountsInfo(recs, uprecs);
+        }
+
+        if (uprecs.size()>0){
+            List<ItfTblWangdianWxgDownload> wxgs = new ArrayList<>();
+            uprecs.entrySet().stream()
+                    .forEach(entry -> wxgs.add(entry.getValue()));
+            itfTblWangdianWxgDownloadService.updateBatchById(wxgs);
         }
 
     }
 
-    void inputDataWorker(){
+    void inputDataWorker(Map<Long,ItfTblWangdianWxgDownload> uprecs){
         List<String> sfzs = new ArrayList<>();
         List<String> recouts = new ArrayList<>();
         List<ItfTblWangdianWxgDownload> recs = new ArrayList<>();
@@ -133,17 +144,19 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         // 先同步有效的数据
         if (CollectionUtils.isNotEmpty(sfzs)){
             recs = itfTblWangdianWxgDownloadService.lambdaQuery()
+                    .eq(ItfTblWangdianWxgDownload::getSynStatus,0)
                     .in(ItfTblWangdianWxgDownload::getSfzen,sfzs).list();
             // 新增或修改师傅数据 worker:师傅信息表
-            addInOutWorker(recs,Boolean.TRUE);
+            addInOutWorker(recs,Boolean.TRUE,uprecs);
         }
 
         // 同步无效的数据
         if (CollectionUtils.isNotEmpty(recouts)){
             recs = itfTblWangdianWxgDownloadService.lambdaQuery()
+                    .eq(ItfTblWangdianWxgDownload::getSynStatus,0)
                     .in(ItfTblWangdianWxgDownload::getSfzen,recouts).list();
             // 新增或修改师傅数据 worker:师傅信息表
-            addInOutWorker(recs,Boolean.FALSE);
+            addInOutWorker(recs,Boolean.FALSE,uprecs);
         }
 
     }
@@ -189,7 +202,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public void addWebsitWorkerBrandAccountsInfo(List<ItfTblWangdianWxgDownload> addRec) {
+    public void addWebsitWorkerBrandAccountsInfo(List<ItfTblWangdianWxgDownload> addRec,Map<Long,ItfTblWangdianWxgDownload> uprecs) {
         // 新增网点师傅 websit_worker+(商户网点师傅信息) 存在修改,不存在新增
         Map<String,List<WebsitOrderSign>> websitOrderSignMap = new HashMap<>();
         Map<String, List<Worker>> workerIdCardMap = new HashMap<>();
@@ -222,7 +235,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         if (addRec.size()>0){
             // 生成平台网点及品牌商网点师傅数据
             getWebsitWorkerBrandAccounts(addRec, websitOrderSignMap, workerIdCardMap, ptPpWebsitMap, addwbas,
-                    websitWorkeradd, upWorkerBrandAccount);
+                    websitWorkeradd, upWorkerBrandAccount, uprecs);
 
             // 修改品牌商网点师傅数据
             if (upWorkerBrandAccount.size()>0){
@@ -248,84 +261,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
     }
 
 
-    private void addWebsitWorkerBrandAccounts(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec) {
-        // 新增网点师傅 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).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();
-            }
-
-        }
-
-        if (updateRec.size()>0){
-            // 生成平台网点及品牌商网点师傅数据
-            getWebsitWorkerBrandAccounts(updateRec, 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();
-            }
-        }
-    }
 
     @Nullable
     private void getWebsitWorkerBrandAccounts(List<ItfTblWangdianWxgDownload> addRec,
@@ -334,10 +270,13 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
                                                                   Map<String, List<Websit>> ptPpWebsitMap,
                                                                   List<WorkerBrandAccount> addwbas,
                                                                   List<WebsitWorker> websitWorkeradd,
-                                                                  List<WorkerBrandAccount> upWorkerBrandAccounts) {
+                                                                  List<WorkerBrandAccount> upWorkerBrandAccounts,
+                                              Map<Long,ItfTblWangdianWxgDownload> uprecs) {
         List<String> WebsitWorkers = new ArrayList<>();
 
         for (ItfTblWangdianWxgDownload m : addRec){
+            m.setSynStatus(1);
+            uprecs.put(m.getSynReqId(),m);
             // 只有存在网点对应关系才可以新增师傅到网点信息中来 存在品牌网点对应平台多网点
             if (!websitOrderSignMap.containsKey(m.getWdno())){
                 continue;
@@ -1029,7 +968,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public void extractedWorkerAddNewInOut(List<ItfTblWangdianWxgDownload> addRec, List<Worker> addWorkerRec, Boolean flag) {
+    public void extractedWorkerAddNewInOut(List<ItfTblWangdianWxgDownload> addRec, List<Worker> addWorkerRec, Boolean flag,
+                                           Map<Long,ItfTblWangdianWxgDownload> uprecs) {
         // 身份证 作为唯一 (有效与无效的只要有效)
         List<String> sfzens = new ArrayList<>();
         List<String> mobiles = new ArrayList<>();
@@ -1045,6 +985,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
         }
 
         for (ItfTblWangdianWxgDownload m : addRec){
+            m.setSynStatus(1);
+            uprecs.put(m.getSynReqId(),m);
             // 已处理过不再处理 因为这里是网点师傅会存在重复数据
             if (sfzens.contains(m.getSfzen().trim())){
                 continue;
@@ -1119,28 +1061,16 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
     }
 
 
-    public void addInOutWorker(List<ItfTblWangdianWxgDownload> Recs,Boolean flag) {
+    public void addInOutWorker(List<ItfTblWangdianWxgDownload> Recs,Boolean flag, Map<Long,ItfTblWangdianWxgDownload> uprecs) {
         List<Worker> addWorkerRec = new ArrayList<>();
         if (Recs.size()>0){
             // worker:师傅信息
-            extractedWorkerAddNewInOut(Recs, addWorkerRec, flag);
+            extractedWorkerAddNewInOut(Recs, addWorkerRec, flag, uprecs);
         }
     }
 
 
-    private void extractedLocalAddOrUpdate(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec) {
-
-        List<Worker> addWorkerRec = new ArrayList<>();
-
-        // 新增师傅数据 worker:师傅信息表
-        addWorkerInfo(addRec, updateRec, addWorkerRec);
-
-        // 新增 品牌网点师傅信息(worker_brand_account) + 平台网点师傅信息(websit_worker)
-        addWebsitWorkerBrandAccounts(addRec, updateRec);
-    }
-
-
-    private void extractedAddOrUpdate(JSONArray jsonArray) {
+    private void extractedAddOrUpdatebak(JSONArray jsonArray) {
         String synTaskNo = publicService.getUUID();
         List<ItfTblWangdianWxgDownload> add = new ArrayList<>();
         List<ItfTblWangdianWxgDownload> update = new ArrayList<>();
@@ -1199,4 +1129,34 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
             update.clear();
         }
     }
+
+    private void extractedAddOrUpdate(JSONArray jsonArray) {
+        String synTaskNo = publicService.getUUID();
+        List<ItfTblWangdianWxgDownload> add = new ArrayList<>();
+
+        for (int i = 0; i < jsonArray.size(); i++) {
+            JSONObject aData = jsonArray.getJSONObject(i);
+            ItfTblWangdianWxgDownload item = JSON.toJavaObject(aData,ItfTblWangdianWxgDownload.class);
+            // 新增
+            item.setSynTaskNo(synTaskNo);
+            item.setSynReqTime(new Date());
+            item.setSynStatus(0);
+            item.setSynTime(new Date());
+            item.setSynTimes(0);
+            add.add(item);
+
+            if (add.size()>1000){
+                itfTblWangdianWxgDownloadService.saveBatch(add);
+                log.info("网点维修工基础资料信息同步新增插入了{}条数据", add.size());
+                add.clear();
+            }
+        }
+
+        // 新增的插入到表
+        if (add.size()>0){
+            itfTblWangdianWxgDownloadService.saveBatch(add);
+            log.info("网点维修工基础资料信息同步新增插入了{}条数据", add.size());
+            add.clear();
+        }
+    }
 }

+ 6 - 15
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPWXGQueryAddServiceImpl.java

@@ -363,13 +363,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
 
         // 提取格力现有的网点师傅数据信息
         wxgDownladRecs =  itfTblWangdianWxgDownloadService.lambdaQuery()
-                .select(ItfTblWangdianWxgDownload::getWxgid,
-                        ItfTblWangdianWxgDownload::getWxgno,
-                        ItfTblWangdianWxgDownload::getWdno,
-                        ItfTblWangdianWxgDownload::getSfzen,
-                        ItfTblWangdianWxgDownload::getWxgmc,
-                        ItfTblWangdianWxgDownload::getYddh,
-                        ItfTblWangdianWxgDownload::getFlag)
+                .eq(ItfTblWangdianWxgDownload::getCertStatus,0)
                 // .eq(ItfTblWangdianWxgDownload::getSfzen,"430421198107039037")// 测试用
                 .like(ItfTblWangdianWxgDownload::getWdno,"S%").list();
 
@@ -409,7 +403,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
                     addDataCert(addList);
                     // 修改保险信息
                     upWebsitWorker(upWebsitWorkers);
-
+                    wxg.setCertStatus(1);
+                    wxg.updateById();
                     // log.info("工程师证件照信息同步成功-师傅证件信息:{}", wxg.getSfzen());
                 } else {
                     log.info("获取工程师证件照信息失败-师傅证件信息:{}", wxg.getSfzen());
@@ -681,13 +676,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
 
         // 提取格力现有的网点师傅数据信息
         List<ItfTblWangdianWxgDownload> wxgRecs =  itfTblWangdianWxgDownloadService.lambdaQuery()
-                .select(ItfTblWangdianWxgDownload::getWxgid,
-                        ItfTblWangdianWxgDownload::getWxgno,
-                        ItfTblWangdianWxgDownload::getWdno,
-                        ItfTblWangdianWxgDownload::getSfzen,
-                        ItfTblWangdianWxgDownload::getWxgmc,
-                        ItfTblWangdianWxgDownload::getYddh,
-                        ItfTblWangdianWxgDownload::getFlag)
+                .eq(ItfTblWangdianWxgDownload::getCategoryStatus,0)
                 // .eq(ItfTblWangdianWxgDownload::getWdno,"S21A0365")// 测试用
                 // .eq(ItfTblWangdianWxgDownload::getSfzen,"441229197909100475")// 测试用
                 .eq(ItfTblWangdianWxgDownload::getFlag,DictTypeEnum.DICT_TYPE_FLAG_ON.getCode())
@@ -733,6 +722,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
             }
 
             wxgCategoryQueryAdd(wxgDownload,workerBrandAccounts,workerServiceCategoryDetailList,serviceCategoryDict,sysDictRefMap);
+            wxgDownload.setCategoryStatus(1);
+            wxgDownload.updateById();
         }
     }
 

+ 18 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/InstallProduceDataUploadServiceImpl.java

@@ -375,6 +375,9 @@ public class InstallProduceDataUploadServiceImpl implements InstallProduceDataUp
             }
             // 更新pgmxid
             upPgmix(ojtutl, op);
+
+
+
             // 生成数据
             generateMx(brand, ojtutl, op,orderBase);
         }
@@ -390,6 +393,21 @@ public class InstallProduceDataUploadServiceImpl implements InstallProduceDataUp
         orderPar.setId(op.getId());
         getOrderProductMapper.upPgmxid(orderPar);
         op.setPgmxid(orderPar.getPgid());
+
+       /* List<OrderProduct> opuplist = new ArrayList<>();
+        List<OrderProduct> oldoplist = new ArrayList<>();
+        oldoplist = orderProductService.lambdaQuery()
+                .eq(OrderProduct::getOrderBaseId,ojtutl.getOrderNo()).list();
+        for (OrderProduct item:oldoplist){
+            if (StringUtils.isEmpty(item.getPgmxid())){
+                item.setPgmxid(publicService.getUUID());
+                opuplist.add(item);
+            }
+        }
+        if (opuplist.size()>0){
+            orderProductService.updateBatchById(opuplist);
+            opuplist.clear();
+        }*/
     }
 
     private void generateMx(Brand brand, OutJiasmToGreeUploadTaskList ojtutl, OrderProduct op,OrderBase orderBase) {

+ 15 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/RepairProduceDataUploadServiceImpl.java

@@ -588,6 +588,21 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
         orderPar.setPgid(newDykh);
         orderPar.setId(row.getId());
         getOrderProductMapper.upPgmxid(orderPar);
+
+        /*List<OrderProduct> opuplist = new ArrayList<>();
+        List<OrderProduct> oldoplist = new ArrayList<>();
+        oldoplist = orderProductService.lambdaQuery()
+                .eq(OrderProduct::getOrderBaseId,sourceData.getOrderNo()).list();
+        for (OrderProduct item:oldoplist){
+            if (StringUtils.isEmpty(item.getPgmxid())){
+                item.setPgmxid(publicService.getUUID());
+                opuplist.add(item);
+            }
+        }
+        if (opuplist.size()>0){
+            orderProductService.updateBatchById(opuplist);
+            opuplist.clear();
+        }*/
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/service/impl/UploadWorkeCertificateServiceImpl.java

@@ -1309,7 +1309,7 @@ public class UploadWorkeCertificateServiceImpl implements UploadWorkeCertificate
         // 同步标志-synStatus(0:待同步;1:已同步;99:同步失败)
         return workerCertService.lambdaQuery()
                 .in(WorkerCert::getOutSyncStatus,0,99)
-                .lt(WorkerCert::getOutSyncTimes,10)
+                .lt(WorkerCert::getOutSyncTimes,100)
                 .list();
     }