|
@@ -24,6 +24,7 @@ import com.zfire.jiasm.syncdata.utils.oss.OSSUtil;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
+import org.jetbrains.annotations.Nullable;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -102,6 +103,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
List<InsureWorkerCommercial> insurecs = new ArrayList<>();
|
|
List<InsureWorkerCommercial> insurecs = new ArrayList<>();
|
|
List<InsureWorkerCommercialFile> insurefiles = new ArrayList<>();
|
|
List<InsureWorkerCommercialFile> insurefiles = new ArrayList<>();
|
|
List<String> insureworkeridandWebsitids = new ArrayList<>();
|
|
List<String> insureworkeridandWebsitids = new ArrayList<>();
|
|
|
|
+ Map<String,List<WebsitWorker>> websitWorderwidwdidMap = new HashMap<>();
|
|
|
|
|
|
// 提取品牌信息
|
|
// 提取品牌信息
|
|
Brand brand = baseService.getBrand();
|
|
Brand brand = baseService.getBrand();
|
|
@@ -124,10 +126,17 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
iwcs.stream().forEach(event->{
|
|
iwcs.stream().forEach(event->{
|
|
insureworkeridandWebsitids.add(event.getWorkerId()+event.getWebsitId());
|
|
insureworkeridandWebsitids.add(event.getWorkerId()+event.getWebsitId());
|
|
});
|
|
});
|
|
-
|
|
|
|
iwcs.clear();
|
|
iwcs.clear();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ List<WebsitWorker> wws = publicService.getWebsitWorkerByWorkerAndWebsit();
|
|
|
|
+ if (CollectionUtils.isNotEmpty(wws)){
|
|
|
|
+ websitWorderwidwdidMap = wws.stream().collect(Collectors.groupingBy(WebsitWorker::getWorkerId));
|
|
|
|
+ wws.clear();
|
|
|
|
+ }
|
|
|
|
+
|
|
// 提取格力现有的网点师傅数据信息
|
|
// 提取格力现有的网点师傅数据信息
|
|
wxgDownladRecs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
wxgDownladRecs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
.select(ItfTblWangdianWxgDownload::getWxgid,
|
|
.select(ItfTblWangdianWxgDownload::getWxgid,
|
|
@@ -187,7 +196,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
log.info("总部获取的工程师证件照信息wvos:{}", JSONObject.toJSONString(wvos));
|
|
log.info("总部获取的工程师证件照信息wvos:{}", JSONObject.toJSONString(wvos));
|
|
// 同步-新增证件信息
|
|
// 同步-新增证件信息
|
|
getCertInfo(wvos, addList, workerId, WorkerCertWorkerIdMaps,wxg.getWdno(),workerIdandNames,
|
|
getCertInfo(wvos, addList, workerId, WorkerCertWorkerIdMaps,wxg.getWdno(),workerIdandNames,
|
|
- workerWorkeridMap,insurecs,insurefiles, insureworkeridandWebsitids);
|
|
|
|
|
|
+ workerWorkeridMap,insurecs,insurefiles, insureworkeridandWebsitids,websitWorderwidwdidMap);
|
|
// 新增或修改(证件)
|
|
// 新增或修改(证件)
|
|
addDataCert(addList);
|
|
addDataCert(addList);
|
|
// 修改保险信息
|
|
// 修改保险信息
|
|
@@ -929,12 +938,14 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
String wdno, List<String> workerIdandNames,Map<String,List<Worker>> workerWorkeridMap,
|
|
String wdno, List<String> workerIdandNames,Map<String,List<Worker>> workerWorkeridMap,
|
|
List<InsureWorkerCommercial> insurecs,
|
|
List<InsureWorkerCommercial> insurecs,
|
|
List<InsureWorkerCommercialFile> insurefiles,
|
|
List<InsureWorkerCommercialFile> insurefiles,
|
|
- List<String> insureworkeridandWebsitids) throws ParseException {
|
|
|
|
|
|
+ List<String> insureworkeridandWebsitids,
|
|
|
|
+ Map<String,List<WebsitWorker>> websitWorderwidwdidMap) throws ParseException {
|
|
// 同步-新增证件信息
|
|
// 同步-新增证件信息
|
|
for (ZJInfo zj: wvos.getZjInfoList()){
|
|
for (ZJInfo zj: wvos.getZjInfoList()){
|
|
// 保除证
|
|
// 保除证
|
|
if (zj.getZjmc().trim().equals("保险证")){
|
|
if (zj.getZjmc().trim().equals("保险证")){
|
|
- if (produceBXInfo(workerId, wdno, workerWorkeridMap, insurecs, insurefiles, insureworkeridandWebsitids, zj)){
|
|
|
|
|
|
+ if (produceBXInfo(workerId, wdno, workerWorkeridMap, insurecs, insurefiles,
|
|
|
|
+ insureworkeridandWebsitids, zj,websitWorderwidwdidMap)){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -982,7 +993,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
*/
|
|
*/
|
|
private boolean produceBXInfo(String workerId, String wdno, Map<String, List<Worker>> workerWorkeridMap,
|
|
private boolean produceBXInfo(String workerId, String wdno, Map<String, List<Worker>> workerWorkeridMap,
|
|
List<InsureWorkerCommercial> insurecs, List<InsureWorkerCommercialFile> insurefiles,
|
|
List<InsureWorkerCommercial> insurecs, List<InsureWorkerCommercialFile> insurefiles,
|
|
- List<String> insureworkeridandWebsitids, ZJInfo zj) throws ParseException {
|
|
|
|
|
|
+ List<String> insureworkeridandWebsitids, ZJInfo zj,
|
|
|
|
+ Map<String, List<WebsitWorker>> websitWorderwidwdidMap) throws ParseException {
|
|
// 提取商户售后网点对应的平台售后网点信息 存在一对多的关系 无对应关系退出不处理
|
|
// 提取商户售后网点对应的平台售后网点信息 存在一对多的关系 无对应关系退出不处理
|
|
List<WebsitOrderSign> wos = publicService.shShwdToptshwdByBrandWebsitNo(wdno);
|
|
List<WebsitOrderSign> wos = publicService.shShwdToptshwdByBrandWebsitNo(wdno);
|
|
if (CollectionUtils.isEmpty(wos)){
|
|
if (CollectionUtils.isEmpty(wos)){
|
|
@@ -995,8 +1007,15 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
if (insureworkeridandWebsitids.contains(workerId +item.getWebsitId())){
|
|
if (insureworkeridandWebsitids.contains(workerId +item.getWebsitId())){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 对于在商户网点师傅都为无效的状态时在平台网点师傅表中可能是不存在的 需要排除掉
|
|
|
|
+ String websitWorkerId = checkWebsitWorker(workerId, websitWorderwidwdidMap, item);
|
|
|
|
+ if (websitWorkerId == null) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
// 生成商用保险对像
|
|
// 生成商用保险对像
|
|
- InsureWorkerCommercial a = getInsureWorkerCommercial(workerId, workerWorkeridMap, insurecs, zj, item);
|
|
|
|
|
|
+ InsureWorkerCommercial a = getInsureWorkerCommercial(workerId, workerWorkeridMap, insurecs, zj, item,websitWorkerId);
|
|
|
|
|
|
// 生成附件对像
|
|
// 生成附件对像
|
|
getInsureWorkerCommercialFile(insurefiles, zj, a);
|
|
getInsureWorkerCommercialFile(insurefiles, zj, a);
|
|
@@ -1006,17 +1025,36 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Nullable
|
|
|
|
+ private String checkWebsitWorker(String workerId, Map<String, List<WebsitWorker>> websitWorderwidwdidMap, WebsitOrderSign item) {
|
|
|
|
+ String websitWorkerId="";
|
|
|
|
+ if (!websitWorderwidwdidMap.containsKey(workerId)){
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ // 提取 websitWorkerId
|
|
|
|
+ for (WebsitWorker w : websitWorderwidwdidMap.get(workerId)){
|
|
|
|
+ if (w.getWebsitId().equals(item.getWebsitId())){
|
|
|
|
+ websitWorkerId=w.getWebsitWorkerId();
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isEmpty(websitWorkerId)){
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ return websitWorkerId;
|
|
|
|
+ }
|
|
|
|
+
|
|
@NotNull
|
|
@NotNull
|
|
private InsureWorkerCommercial getInsureWorkerCommercial(String workerId, Map<String, List<Worker>> workerWorkeridMap,
|
|
private InsureWorkerCommercial getInsureWorkerCommercial(String workerId, Map<String, List<Worker>> workerWorkeridMap,
|
|
- List<InsureWorkerCommercial> insurecs, ZJInfo zj, WebsitOrderSign item) throws ParseException {
|
|
|
|
|
|
+ List<InsureWorkerCommercial> insurecs, ZJInfo zj,
|
|
|
|
+ WebsitOrderSign item, String websitWorkerId) throws ParseException {
|
|
InsureWorkerCommercial a = new InsureWorkerCommercial();
|
|
InsureWorkerCommercial a = new InsureWorkerCommercial();
|
|
a.setId(IdWorker.getIdStr());
|
|
a.setId(IdWorker.getIdStr());
|
|
a.setWorkerId(workerId);
|
|
a.setWorkerId(workerId);
|
|
a.setWorkerName(workerWorkeridMap.get(workerId).get(0).getWorkerName());
|
|
a.setWorkerName(workerWorkeridMap.get(workerId).get(0).getWorkerName());
|
|
a.setWorkerMobile(workerWorkeridMap.get(workerId).get(0).getMobile());
|
|
a.setWorkerMobile(workerWorkeridMap.get(workerId).get(0).getMobile());
|
|
a.setWebsitId(item.getWebsitId());
|
|
a.setWebsitId(item.getWebsitId());
|
|
- WebsitWorker websitWorker = publicService.getWebsitWorkerByWorkerAndWebsit(workerId, item.getWebsitId());
|
|
|
|
- a.setWebsitWorkerId(websitWorker.getWebsitWorkerId());
|
|
|
|
|
|
+ a.setWebsitWorkerId(websitWorkerId);
|
|
a.setIdcard(workerWorkeridMap.get(workerId).get(0).getIdcard());
|
|
a.setIdcard(workerWorkeridMap.get(workerId).get(0).getIdcard());
|
|
if (StringUtils.isNotEmpty(zj.getZjyxq())){
|
|
if (StringUtils.isNotEmpty(zj.getZjyxq())){
|
|
a.setStartTime(baseService.utcToDateStr(zj.getZjyxq()));
|
|
a.setStartTime(baseService.utcToDateStr(zj.getZjyxq()));
|