|
@@ -96,6 +96,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
List<ItfTblWangdianWxgDownload> wxgDownladRecs = new ArrayList<>();
|
|
|
List<WebsitWorker> websitWorkerUp = new ArrayList<>();
|
|
|
Map<String,List<WebsitWorker>> websitWorkerWorkerIdMap = new HashMap<>();
|
|
|
+ List<String> workerIdandNames = new ArrayList<>();
|
|
|
|
|
|
// 提取品牌信息
|
|
|
Brand brand = baseService.getBrand();
|
|
@@ -111,11 +112,11 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
oldWorkerRec.clear();
|
|
|
}
|
|
|
|
|
|
- /*List<WebsitWorker> wws = websitWorkerService.lambdaQuery().list();
|
|
|
+ List<WebsitWorker> wws = websitWorkerService.lambdaQuery().list();
|
|
|
if (CollectionUtils.isNotEmpty(wws)){
|
|
|
websitWorkerWorkerIdMap = wws.stream().collect(Collectors.groupingBy(WebsitWorker::getWorkerId));
|
|
|
wws.clear();
|
|
|
- }*/
|
|
|
+ }
|
|
|
|
|
|
// 提取格力现有的网点师傅数据信息
|
|
|
wxgDownladRecs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
@@ -130,12 +131,12 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
.like(ItfTblWangdianWxgDownload::getWdno,"S%").list();
|
|
|
|
|
|
// 提取现有已存在的证件信息的师傅信息(待回传同步的证件不处理)
|
|
|
- /*List<WorkerCert> wc = workerCertService.lambdaQuery()
|
|
|
+ List<WorkerCert> wc = workerCertService.lambdaQuery()
|
|
|
.eq(WorkerCert::getOutSyncStatus,1).list();
|
|
|
if (CollectionUtils.isNotEmpty(wc)){
|
|
|
WorkerCertWorkerIdMaps = wc.stream().collect(Collectors.groupingBy(WorkerCert::getWorkerId));
|
|
|
wc.clear();
|
|
|
- }*/
|
|
|
+ }
|
|
|
|
|
|
|
|
|
for (ItfTblWangdianWxgDownload wxg :wxgDownladRecs){
|
|
@@ -152,21 +153,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- // 提取该师傅的证件信息的师傅信息(待回传同步的证件不处理)
|
|
|
- List<WorkerCert> wc = workerCertService.lambdaQuery()
|
|
|
- .eq(WorkerCert::getWorkerId,workerId)
|
|
|
- .eq(WorkerCert::getOutSyncStatus,1).list();
|
|
|
- if (CollectionUtils.isNotEmpty(wc)){
|
|
|
- WorkerCertWorkerIdMaps = wc.stream().collect(Collectors.groupingBy(WorkerCert::getWorkerId));
|
|
|
- wc.clear();
|
|
|
- }
|
|
|
|
|
|
- List<WebsitWorker> wws = websitWorkerService.lambdaQuery()
|
|
|
- .eq(WebsitWorker::getWorkerId,workerId).list();
|
|
|
- if (CollectionUtils.isNotEmpty(wws)){
|
|
|
- websitWorkerWorkerIdMap = wws.stream().collect(Collectors.groupingBy(WebsitWorker::getWorkerId));
|
|
|
- wws.clear();
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
// 有证件信息的师傅不再新增
|
|
|
/*if (WorkerCertWorkerIdMaps.containsKey(workerId)){
|
|
@@ -192,7 +180,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
log.info("总部获取的工程师证件照信息wvos:{}", JSONObject.toJSONString(wvos));
|
|
|
// 同步-新增证件信息
|
|
|
getCertInfo(wvos, addList, workerId, workerWorkeridMap.get(workerId).get(0).getWorkerName(),
|
|
|
- WorkerCertWorkerIdMaps, websitWorkerUp,wxg.getWdno(), websitWorkerWorkerIdMap);
|
|
|
+ WorkerCertWorkerIdMaps, websitWorkerUp,wxg.getWdno(), websitWorkerWorkerIdMap,workerIdandNames);
|
|
|
// 新增或修改(证件)
|
|
|
addDataCert(addList);
|
|
|
// 修改保险信息
|
|
@@ -776,21 +764,26 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private void getCertInfo(WangdianWxgVos wvos, List<WorkerCert> addList, String workerId,
|
|
|
+ private void getCertInfobak(WangdianWxgVos wvos, List<WorkerCert> addList, String workerId,
|
|
|
String workerName, Map<String,List<WorkerCert>> WorkerCertWorkerIdMaps,
|
|
|
List<WebsitWorker> websitWorkerUp,String wdno,
|
|
|
Map<String,List<WebsitWorker>> websitWorkerWorkerIdMap) throws Exception {
|
|
|
// 同步-新增证件信息
|
|
|
for (ZJInfo zj: wvos.getZjInfoList()){
|
|
|
// 保险证单独处理 只有修改无需新增操作
|
|
|
- if (zj.getZjmc().trim().equals("保险证")){
|
|
|
- ZJInfoBX bx = checkBxCertInfo(workerId, websitWorkerWorkerIdMap,zj, wdno);
|
|
|
- if (bx == null){
|
|
|
+ // websit.category_type决定保险类型 自建+不为商用(家用)其他商用
|
|
|
+ // 家用 insure_worker_record
|
|
|
+ // 商用 insure_worker_commercial 商用才操作,最有效期最后的那个
|
|
|
+ // websit_worker
|
|
|
+
|
|
|
+ if (zj.getZjmc().trim().equals("保险证")){
|
|
|
+ ZJInfoBX bx = checkBxCertInfo(workerId, websitWorkerWorkerIdMap,zj, wdno);
|
|
|
+ if (bx == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ workerBXAdd(bx, websitWorkerUp);
|
|
|
continue;
|
|
|
}
|
|
|
- workerBXAdd(bx, websitWorkerUp);
|
|
|
- continue;
|
|
|
- }
|
|
|
// 校验证件是否需要新增同步
|
|
|
ZJInfoC addZj =checkCertInfo(workerId,WorkerCertWorkerIdMaps,zj);
|
|
|
if (addZj.getZjInfo()!=null){
|
|
@@ -799,6 +792,72 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private void getCertInfo(WangdianWxgVos wvos, List<WorkerCert> addList, String workerId,
|
|
|
+ String workerName, Map<String,List<WorkerCert>> WorkerCertWorkerIdMaps,
|
|
|
+ List<WebsitWorker> websitWorkerUp,String wdno,
|
|
|
+ Map<String,List<WebsitWorker>> websitWorkerWorkerIdMap,
|
|
|
+ List<String> workerIdandNames) throws Exception {
|
|
|
+ // 同步-新增证件信息
|
|
|
+ for (ZJInfo zj: wvos.getZjInfoList()){
|
|
|
+ // 保险证单独处理 只有修改无需新增操作
|
|
|
+ // websit.category_type决定保险类型 自建+不为商用(家用)其他商用
|
|
|
+ // 家用 insure_worker_record
|
|
|
+ // 商用 insure_worker_commercial 商用才操作,最有效期最后的那个
|
|
|
+ // websit_worker
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // workerid+证件名称锁定不重复
|
|
|
+ if (workerIdandNames.contains(workerId+zj.getZjmc().trim())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 历史数据存在不新增
|
|
|
+ if (WorkerCertWorkerIdMaps.containsKey(workerId)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 新增
|
|
|
+ addNewWorkerCert(wvos, addList, workerId, workerName, workerIdandNames, zj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void addNewWorkerCert(WangdianWxgVos wvos, List<WorkerCert> addList, String workerId, String workerName, List<String> workerIdandNames, ZJInfo zj) throws ParseException {
|
|
|
+ WorkerCert add = new WorkerCert();
|
|
|
+ add.setId(UUID.randomUUID().toString());
|
|
|
+ add.setWorkerId(workerId);
|
|
|
+ add.setCertName(zj.getZjmc().trim());
|
|
|
+ add.setName(workerName);
|
|
|
+ if (StringUtils.isNotEmpty(zj.getZjlj())){
|
|
|
+ add.setOutZjlj(zj.getZjlj());
|
|
|
+ } else {
|
|
|
+ add.setOutZjljProcess(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (zj.getZjbh().contains("/")){
|
|
|
+ List<String> result = Arrays.asList(zj.getZjbh().split("/"));
|
|
|
+ add.setCertNo(result.get(1));
|
|
|
+ } else {
|
|
|
+ add.setCertNo(zj.getZjbh());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(zj.getZjyxq())){
|
|
|
+ add.setExpireTime(baseService.utcToDateStr(zj.getZjyxq()));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(zj.getZjfssj())){
|
|
|
+ add.setReviewTime(baseService.utcToDateStr(zj.getZjfssj()));
|
|
|
+ }
|
|
|
+ add.setExamineStatus("OK");
|
|
|
+ add.setSex(wvos.getXingb());
|
|
|
+ add.setOutSyncStatus(1);
|
|
|
+ add.setOutSyncTime(new Date());
|
|
|
+ addList.add(add);
|
|
|
+ workerIdandNames.add(workerId + zj.getZjmc().trim());
|
|
|
+ }
|
|
|
+
|
|
|
// 返回null时不处理
|
|
|
private ZJInfoBX checkBxCertInfo(String workerId, Map<String,List<WebsitWorker>> websitWorkerWorkerIdMap,
|
|
|
ZJInfo zj, String wdno) {
|