|
@@ -82,7 +82,9 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
@Resource
|
|
|
WebsitWorkerService websitWorkerService;
|
|
|
@Resource
|
|
|
- WebsitOrderSignService websitOrderSignService;
|
|
|
+ InsureWorkerCommercialService insureWorkerCommercialService;
|
|
|
+ @Resource
|
|
|
+ InsureWorkerCommercialFileService insureWorkerCommercialFileService;
|
|
|
|
|
|
|
|
|
|
|
@@ -98,6 +100,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
List<WebsitWorker> websitWorkerUp = new ArrayList<>();
|
|
|
Map<String,List<WebsitWorker>> websitWorkerWorkerIdMap = new HashMap<>();
|
|
|
List<String> workerIdandNames = new ArrayList<>();
|
|
|
+ List<InsureWorkerCommercial> insurecs = new ArrayList<>();
|
|
|
+ List<InsureWorkerCommercialFile> insurefiles = new ArrayList<>();
|
|
|
|
|
|
// 提取品牌信息
|
|
|
Brand brand = baseService.getBrand();
|
|
@@ -177,12 +181,14 @@ 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,workerIdandNames);
|
|
|
+ getCertInfo(wvos, addList, workerId, WorkerCertWorkerIdMaps, websitWorkerUp,wxg.getWdno(),
|
|
|
+ websitWorkerWorkerIdMap,workerIdandNames, workerWorkeridMap,insurecs,insurefiles);
|
|
|
// 新增或修改(证件)
|
|
|
addDataCert(addList);
|
|
|
// 修改保险信息
|
|
|
upWebsitWorker(websitWorkerUp);
|
|
|
+ addBxInfo(insurecs, insurefiles);
|
|
|
+
|
|
|
log.info("工程师证件照信息同步成功-师傅证件信息:{}", wxg.getSfzen());
|
|
|
} else {
|
|
|
log.info("获取工程师证件照信息失败-师傅证件信息:{}", wxg.getSfzen());
|
|
@@ -191,6 +197,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
} catch (Exception ex) {
|
|
|
addDataCert(addList);
|
|
|
upWebsitWorker(websitWorkerUp);
|
|
|
+ addBxInfo(insurecs, insurefiles);
|
|
|
ex.printStackTrace();
|
|
|
log.info("工程师证件照信息同步失败-师傅证件信息:{}", wxg.getSfzen());
|
|
|
}
|
|
@@ -198,6 +205,18 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void addBxInfo(List<InsureWorkerCommercial> insurecs, List<InsureWorkerCommercialFile> insurefiles) {
|
|
|
+ if (insurecs.size()>0){
|
|
|
+ insureWorkerCommercialService.saveOrUpdateBatch(insurecs);
|
|
|
+ insurecs.clear();
|
|
|
+ }
|
|
|
+ if (insurefiles.size()>0){
|
|
|
+ insureWorkerCommercialFileService.saveOrUpdateBatch(insurefiles);
|
|
|
+ insurefiles.clear();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public void extractedCert() throws Exception{
|
|
@@ -839,6 +858,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
// 商用 insure_worker_commercial 商用才操作,最有效期最后的那个
|
|
|
// websit_worker
|
|
|
|
|
|
+
|
|
|
if (zj.getZjmc().trim().equals("保险证")){
|
|
|
ZJInfoBX bx = checkBxCertInfo(workerId, websitWorkerWorkerIdMap,zj, wdno);
|
|
|
if (bx == null){
|
|
@@ -857,10 +877,11 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
|
|
|
|
|
|
private void getCertInfo(WangdianWxgVos wvos, List<WorkerCert> addList, String workerId,
|
|
|
- String workerName, Map<String,List<WorkerCert>> WorkerCertWorkerIdMaps,
|
|
|
+ Map<String,List<WorkerCert>> WorkerCertWorkerIdMaps,
|
|
|
List<WebsitWorker> websitWorkerUp,String wdno,
|
|
|
Map<String,List<WebsitWorker>> websitWorkerWorkerIdMap,
|
|
|
- List<String> workerIdandNames) throws Exception {
|
|
|
+ List<String> workerIdandNames,Map<String,List<Worker>> workerWorkeridMap,
|
|
|
+ List<InsureWorkerCommercial> insurecs,List<InsureWorkerCommercialFile> insurefiles) throws Exception {
|
|
|
// 同步-新增证件信息
|
|
|
for (ZJInfo zj: wvos.getZjInfoList()){
|
|
|
Boolean addFlag = Boolean.FALSE;
|
|
@@ -869,8 +890,24 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
// 家用 insure_worker_record
|
|
|
// 商用 insure_worker_commercial 商用才操作,最有效期最后的那个
|
|
|
// websit_worker
|
|
|
- // 保除证也跳过
|
|
|
+ // 统一入商用保险,有多少份入多少份
|
|
|
+
|
|
|
+ // 保除证先跳过
|
|
|
if (zj.getZjmc().trim().equals("保险证")){
|
|
|
+ // 提取商户售后网点对应的平台售后网点信息 存在一对多的关系 无对应关系退出不处理
|
|
|
+ List<WebsitOrderSign> wos = publicService.shShwdToptshwdByBrandWebsitNo(wdno);
|
|
|
+ if (CollectionUtils.isEmpty(wos)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 生成商用保险对像 网点多对1时每个网点放一份
|
|
|
+ for (WebsitOrderSign item : wos){
|
|
|
+ // 生成商用保险对像
|
|
|
+ InsureWorkerCommercial a = getInsureWorkerCommercial(workerId, workerWorkeridMap, insurecs, zj, item);
|
|
|
+
|
|
|
+ // 生成附件对像
|
|
|
+ getInsureWorkerCommercialFile(insurefiles, zj, a);
|
|
|
+ }
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -894,7 +931,59 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
continue;
|
|
|
}
|
|
|
// 新增
|
|
|
- addNewWorkerCert(wvos, addList, workerId, workerName, workerIdandNames, zj);
|
|
|
+ addNewWorkerCert(wvos, addList, workerId, workerWorkeridMap.get(workerId).get(0).getWorkerName(), workerIdandNames, zj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @NotNull
|
|
|
+ private InsureWorkerCommercial getInsureWorkerCommercial(String workerId, Map<String, List<Worker>> workerWorkeridMap, List<InsureWorkerCommercial> insurecs, ZJInfo zj, WebsitOrderSign item) throws ParseException {
|
|
|
+ InsureWorkerCommercial a = new InsureWorkerCommercial();
|
|
|
+ a.setId(IdWorker.getIdStr());
|
|
|
+ a.setWorkerId(workerId);
|
|
|
+ a.setWorkerName(workerWorkeridMap.get(workerId).get(0).getWorkerName());
|
|
|
+ a.setWorkerMobile(workerWorkeridMap.get(workerId).get(0).getMobile());
|
|
|
+ a.setWebsitId(item.getWebsitId());
|
|
|
+ WebsitWorker websitWorker = publicService.getWebsitWorkerByWorkerAndWebsit(workerId, item.getWebsitId());
|
|
|
+ a.setWebsitWorkerId(websitWorker.getWebsitWorkerId());
|
|
|
+ a.setIdcard(workerWorkeridMap.get(workerId).get(0).getIdcard());
|
|
|
+ if (StringUtils.isNotEmpty(zj.getZjyxq())){
|
|
|
+ a.setStartTime(baseService.utcToDateStr(zj.getZjyxq()));
|
|
|
+ a.setEndTime(baseService.utcToDateStr(zj.getZjyxq()));
|
|
|
+ }
|
|
|
+ a.setExamineStatus("OK");
|
|
|
+ Insure insure = publicService.getWebsitWorkerByWorkerAndWebsit("意外险");
|
|
|
+
|
|
|
+ if (insure !=null){
|
|
|
+ a.setInsureBill(insure.getId());
|
|
|
+ a.setInsureName(insure.getName());
|
|
|
+ } else {
|
|
|
+ if (zj.getZjbh().contains("/")){
|
|
|
+ List<String> result = Arrays.asList(zj.getZjbh().split("/"));
|
|
|
+ a.setInsureName(result.get(0));
|
|
|
+ a.setInsureBill(result.get(1));
|
|
|
+ } else {
|
|
|
+ a.setInsureBill(zj.getZjbh());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ insurecs.add(a);
|
|
|
+ return a;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void getInsureWorkerCommercialFile(List<InsureWorkerCommercialFile> insurefiles, ZJInfo zj, InsureWorkerCommercial a) {
|
|
|
+ List<String> zjs = new ArrayList<>();
|
|
|
+ if (zj.getZjlj().contains(",")){
|
|
|
+ zjs = Arrays.asList(zj.getZjlj().split(","));
|
|
|
+ } else {
|
|
|
+ zjs.add(zj.getZjlj());
|
|
|
+ }
|
|
|
+ for (String fileurl:zjs){
|
|
|
+ InsureWorkerCommercialFile icf = new InsureWorkerCommercialFile();
|
|
|
+ icf.setId(IdWorker.getIdStr());
|
|
|
+ icf.setInsureWorkerCommercialId(a.getWorkerId());
|
|
|
+ icf.setCreateBy("system");
|
|
|
+ icf.setCreateTime(new Date());
|
|
|
+ icf.setOutZjlj(fileurl);
|
|
|
+ insurefiles.add(icf);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -942,9 +1031,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
zjinfo.setZjInfo(zj);
|
|
|
|
|
|
// 提取商户售后网点对应的平台售后网点信息 存在一对多的关系
|
|
|
- List<WebsitOrderSign> wos = websitOrderSignService.lambdaQuery()
|
|
|
- .eq(WebsitOrderSign::getBrandWebsitId, wdno)
|
|
|
- .list();
|
|
|
+ List<WebsitOrderSign> wos = publicService.shShwdToptshwdByBrandWebsitNo(wdno);
|
|
|
// 找不到对应关系时不再处理保险证数据
|
|
|
if (CollectionUtils.isEmpty(wos)){
|
|
|
return null;
|