|
@@ -73,18 +73,66 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void inputData(){
|
|
public void inputData(){
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
- // 提取所有的数据 身份证作为唯一 (有效与无效的只要有效的)
|
|
|
|
|
|
+ // 新增师傅数据
|
|
|
|
+ inputDataWorker();
|
|
|
|
+ // worker_brand_account(师傅网点对应品牌网点信息表) + websit_worker(网点师傅信息表))
|
|
|
|
+ inputDataWebsitWorker();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ void inputDataWebsitWorker(){
|
|
|
|
+ List<String> sfzs = new ArrayList<>();
|
|
List<String> recouts = new ArrayList<>();
|
|
List<String> recouts = new ArrayList<>();
|
|
- List<String> recins = new ArrayList<>();
|
|
|
|
|
|
+ List<ItfTblWangdianWxgDownload> recs = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ // 提取所有的数据 身份证作为唯一 (有效与无效的只要有效的)
|
|
|
|
+ extracted(sfzs, recouts);
|
|
|
|
+
|
|
|
|
+ // 先同步有效的数据
|
|
|
|
+ recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
|
|
+ .select(ItfTblWangdianWxgDownload::getSfzen)
|
|
|
|
+ .in(ItfTblWangdianWxgDownload::getSfzen,sfzs).list();
|
|
|
|
+ // 新增网点师傅 websit_worker(商户网点师傅信息) 存在修改,不存在新增
|
|
|
|
+ addWebsitWorkerBrandAccountsInfo(recs);
|
|
|
|
+
|
|
|
|
+ // 同步无效的数据
|
|
|
|
+ recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
|
|
+ .select(ItfTblWangdianWxgDownload::getSfzen)
|
|
|
|
+ .in(ItfTblWangdianWxgDownload::getSfzen,recouts).list();
|
|
|
|
+ addWebsitWorkerBrandAccountsInfo(recs);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ void inputDataWorker(){
|
|
List<String> sfzs = new ArrayList<>();
|
|
List<String> sfzs = new ArrayList<>();
|
|
|
|
+ List<String> recouts = new ArrayList<>();
|
|
List<ItfTblWangdianWxgDownload> recs = new ArrayList<>();
|
|
List<ItfTblWangdianWxgDownload> recs = new ArrayList<>();
|
|
|
|
+ extracted(sfzs, recouts);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ // 先同步有效的数据
|
|
|
|
+ recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
|
|
+ .select(ItfTblWangdianWxgDownload::getSfzen)
|
|
|
|
+ .in(ItfTblWangdianWxgDownload::getSfzen,sfzs).list();
|
|
|
|
+ // 新增或修改师傅数据 worker:师傅信息表
|
|
|
|
+ addInOutWorker(recs,Boolean.TRUE);
|
|
|
|
+
|
|
|
|
+ // 同步无效的数据
|
|
|
|
+ recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
|
|
+ .select(ItfTblWangdianWxgDownload::getSfzen)
|
|
|
|
+ .in(ItfTblWangdianWxgDownload::getSfzen,recouts).list();
|
|
|
|
+ // 新增或修改师傅数据 worker:师傅信息表
|
|
|
|
+ addInOutWorker(recs,Boolean.FALSE);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void extracted(List<String> sfzs, List<String> recouts) {
|
|
|
|
+ List<ItfTblWangdianWxgDownload> recs;// 提取所有的数据 身份证作为唯一 (有效与无效的只要有效的)
|
|
|
|
+ List<String> recins = new ArrayList<>();
|
|
|
|
|
|
// 有效
|
|
// 有效
|
|
recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
.select(ItfTblWangdianWxgDownload::getSfzen)
|
|
.select(ItfTblWangdianWxgDownload::getSfzen)
|
|
- .ne(ItfTblWangdianWxgDownload::getFlag,"无效").list();
|
|
|
|
- recs.stream().forEach(wba->{
|
|
|
|
|
|
+ .ne(ItfTblWangdianWxgDownload::getFlag, "无效").list();
|
|
|
|
+ recs.stream().forEach(wba -> {
|
|
recins.add(wba.getSfzen());
|
|
recins.add(wba.getSfzen());
|
|
});
|
|
});
|
|
// 去重
|
|
// 去重
|
|
@@ -93,8 +141,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
//无效
|
|
//无效
|
|
recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
recs = itfTblWangdianWxgDownloadService.lambdaQuery()
|
|
.select(ItfTblWangdianWxgDownload::getSfzen)
|
|
.select(ItfTblWangdianWxgDownload::getSfzen)
|
|
- .eq(ItfTblWangdianWxgDownload::getFlag,"无效").list();
|
|
|
|
- recs.stream().forEach(wba->{
|
|
|
|
|
|
+ .eq(ItfTblWangdianWxgDownload::getFlag, "无效").list();
|
|
|
|
+ recs.stream().forEach(wba -> {
|
|
recouts.add(wba.getSfzen());
|
|
recouts.add(wba.getSfzen());
|
|
});
|
|
});
|
|
// 去重
|
|
// 去重
|
|
@@ -105,30 +153,6 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
recins.retainAll(recouts);
|
|
recins.retainAll(recouts);
|
|
//差 无效的
|
|
//差 无效的
|
|
recouts.removeAll(recins);
|
|
recouts.removeAll(recins);
|
|
-
|
|
|
|
- log.info("有效 {}",sfzs.size());
|
|
|
|
- log.info("无效 {}",recouts.size());
|
|
|
|
-
|
|
|
|
- if (1==1){
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- Long startTime = System.currentTimeMillis();
|
|
|
|
- log.info("同步师傅数据到到本地库: \uF0B7{}",sdf.format(new Date()));
|
|
|
|
-
|
|
|
|
- // 新增或修改师傅数据 worker:师傅信息表
|
|
|
|
- addWorker(recs);
|
|
|
|
-
|
|
|
|
- Long endTime = System.currentTimeMillis();
|
|
|
|
- log.info("同步师傅数据到到本地库结束耗时(毫秒): {}",endTime-startTime);
|
|
|
|
-
|
|
|
|
- // 新增网点师傅 websit_worker(商户网点师傅信息) 存在修改,不存在新增
|
|
|
|
- addWebsitWorkerBrandAccountsInfo(recs);
|
|
|
|
- recs.clear();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
private void dupRemoval(List<String> recins) {
|
|
private void dupRemoval(List<String> recins) {
|
|
@@ -368,13 +392,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
|
|
|
|
private String checkIsGreeWroker(Map<String, List<Worker>> workerIdcardMap, ItfTblWangdianWxgDownload wxg) {
|
|
private String checkIsGreeWroker(Map<String, List<Worker>> workerIdcardMap, ItfTblWangdianWxgDownload wxg) {
|
|
String workerId="";
|
|
String workerId="";
|
|
- if (workerIdcardMap.containsKey(wxg.getSfzen())){
|
|
|
|
- for (Worker w: workerIdcardMap.get(wxg.getSfzen())){
|
|
|
|
- if (w.getWorkerName().equals(wxg.getWxgmc().trim()) && w.getMobile().equals(wxg.getYddh())){
|
|
|
|
- workerId = w.getWorkerId();
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ if (workerIdcardMap.containsKey(wxg.getSfzen().trim())){
|
|
|
|
+ workerId = workerIdcardMap.get(wxg.getSfzen().trim()).get(0).getWorkerId();
|
|
}
|
|
}
|
|
return workerId;
|
|
return workerId;
|
|
}
|
|
}
|
|
@@ -405,12 +424,8 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
v.setUpdateTime(m.getLastModifiedDate());
|
|
v.setUpdateTime(m.getLastModifiedDate());
|
|
}
|
|
}
|
|
|
|
|
|
- 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.setWorkerName(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerName());
|
|
// v.setWorkerName(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerName());
|
|
|
|
|
|
v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
|
|
v.setStatus(DictTypeEnum.DICT_TYPE_ON.getCode());
|
|
@@ -424,7 +439,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
// v.setBirthDate();
|
|
// v.setBirthDate();
|
|
v.setGender(m.getXingb());
|
|
v.setGender(m.getXingb());
|
|
v.setMobile(m.getYddh());
|
|
v.setMobile(m.getYddh());
|
|
- v.setIdcard(m.getSfzen());
|
|
|
|
|
|
+ v.setIdcard(m.getSfzen().trim());
|
|
v.setAge(m.getNianl());
|
|
v.setAge(m.getNianl());
|
|
v.setEducation(m.getXueli());
|
|
v.setEducation(m.getXueli());
|
|
// v.setAddress();
|
|
// v.setAddress();
|
|
@@ -500,12 +515,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
List<WorkerBrandAccount> addwbas, WebsitOrderSign i) {
|
|
List<WorkerBrandAccount> addwbas, WebsitOrderSign i) {
|
|
WorkerBrandAccount add = new WorkerBrandAccount();
|
|
WorkerBrandAccount add = new WorkerBrandAccount();
|
|
|
|
|
|
- for (Worker w:workerIdCardMap.get(m.getSfzen())){
|
|
|
|
- if (w.getWorkerName().equals(m.getWxgmc().trim()) && w.getMobile().equals(m.getYddh())){
|
|
|
|
- add.setWorkerId(w.getWorkerId());
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ add.setWorkerId(workerIdCardMap.get(m.getSfzen().trim()).get(0).getWorkerId());
|
|
// add.setWorkerId(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerId());
|
|
// add.setWorkerId(workerIdCardMap.get(m.getSfzen()).get(0).getWorkerId());
|
|
|
|
|
|
// 自生成 一定要与websit_worker.websit_worker_id相同
|
|
// 自生成 一定要与websit_worker.websit_worker_id相同
|
|
@@ -655,18 +665,17 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
|
|
|
|
private void getWorker(List<Worker> addWorkerRec, List<String> sfzens, ItfTblWangdianWxgDownload m,
|
|
private void getWorker(List<Worker> addWorkerRec, List<String> sfzens, ItfTblWangdianWxgDownload m,
|
|
Map<String, String> workerIdcardMap) {
|
|
Map<String, String> workerIdcardMap) {
|
|
- Worker v = new Worker();
|
|
|
|
Worker o = null;
|
|
Worker o = null;
|
|
|
|
|
|
- // 师傅身份证,名称,电话 已存在为修改
|
|
|
|
- if (workerIdcardMap.containsKey(m.getSfzen() + m.getWxgmc().trim() + m.getYddh())){
|
|
|
|
|
|
+ // 师傅身份证
|
|
|
|
+ if (workerIdcardMap.containsKey(m.getSfzen().trim())){
|
|
o = workerService.lambdaQuery()
|
|
o = workerService.lambdaQuery()
|
|
- .eq(Worker::getWorkerId,workerIdcardMap.get(m.getSfzen() + m.getWxgmc().trim() + m.getYddh())).one();
|
|
|
|
|
|
+ .eq(Worker::getWorkerId,workerIdcardMap.get(m.getSfzen().trim())).one();
|
|
}
|
|
}
|
|
|
|
|
|
// 新增
|
|
// 新增
|
|
if (o==null){
|
|
if (o==null){
|
|
- addWorkerInfo(addWorkerRec, m, v);
|
|
|
|
|
|
+ addWorkerInfo(addWorkerRec, m,Boolean.TRUE);
|
|
} else {
|
|
} else {
|
|
// 看有无修改的可能
|
|
// 看有无修改的可能
|
|
upWorkerInfo(addWorkerRec, m, o);
|
|
upWorkerInfo(addWorkerRec, m, o);
|
|
@@ -674,13 +683,37 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
sfzens.add(m.getSfzen() + m.getWxgmc().trim() + m.getYddh());
|
|
sfzens.add(m.getSfzen() + m.getWxgmc().trim() + m.getYddh());
|
|
}
|
|
}
|
|
|
|
|
|
- private void addWorkerInfo(List<Worker> addWorkerRec, ItfTblWangdianWxgDownload m, Worker v) {
|
|
|
|
|
|
+ private void getAddWorker(List<Worker> addWorkerRec, List<String> sfzens, ItfTblWangdianWxgDownload m,
|
|
|
|
+ Map<String, String> workerIdcardMap, Boolean flag) {
|
|
|
|
+ Worker o = null;
|
|
|
|
+
|
|
|
|
+ // 师傅身份证
|
|
|
|
+ if (workerIdcardMap.containsKey(m.getSfzen().trim())){
|
|
|
|
+ o = workerService.lambdaQuery()
|
|
|
|
+ .eq(Worker::getWorkerId,workerIdcardMap.get(m.getSfzen().trim())).one();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 新增
|
|
|
|
+ if (o==null){
|
|
|
|
+ addWorkerInfo(addWorkerRec, m, flag);
|
|
|
|
+ sfzens.add(m.getSfzen().trim());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ private void addWorkerInfo(List<Worker> addWorkerRec, ItfTblWangdianWxgDownload m,Boolean flag) {
|
|
|
|
+ Worker v = new Worker();
|
|
v.setWorkerId(IdWorker.getIdStr());
|
|
v.setWorkerId(IdWorker.getIdStr());
|
|
v.setWorkerName(m.getWxgmc().trim());
|
|
v.setWorkerName(m.getWxgmc().trim());
|
|
v.setCreateBy("system");
|
|
v.setCreateBy("system");
|
|
v.setUpdateBy("system");
|
|
v.setUpdateBy("system");
|
|
v.setCreateTime(new Date());
|
|
v.setCreateTime(new Date());
|
|
v.setUpdateTime(new Date());
|
|
v.setUpdateTime(new Date());
|
|
|
|
+ v.setStatus("OFF");
|
|
|
|
+ if (flag){
|
|
|
|
+ v.setStatus("ON");
|
|
|
|
+ }
|
|
if (m.getCreatedBy() != null){
|
|
if (m.getCreatedBy() != null){
|
|
v.setCreateBy(m.getCreatedBy());
|
|
v.setCreateBy(m.getCreatedBy());
|
|
}
|
|
}
|
|
@@ -695,7 +728,7 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
}
|
|
}
|
|
v.setGender(m.getXingb());
|
|
v.setGender(m.getXingb());
|
|
v.setMobile(m.getYddh());
|
|
v.setMobile(m.getYddh());
|
|
- v.setIdcard(m.getSfzen());
|
|
|
|
|
|
+ v.setIdcard(m.getSfzen().trim());
|
|
v.setAge(m.getNianl());
|
|
v.setAge(m.getNianl());
|
|
v.setEducation(m.getXueli());
|
|
v.setEducation(m.getXueli());
|
|
v.setNvq(m.getZgzh());
|
|
v.setNvq(m.getZgzh());
|
|
@@ -958,6 +991,47 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
sfzens.clear();
|
|
sfzens.clear();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public void extractedWorkerAddNewInOut(List<ItfTblWangdianWxgDownload> addRec, List<Worker> addWorkerRec, Boolean flag) {
|
|
|
|
+ // 身份证 作为唯一 (有效与无效的只要有效)
|
|
|
|
+ List<String> sfzens = new ArrayList<>();
|
|
|
|
+ // 提取原有的信息
|
|
|
|
+ List<Worker> oldWorkerRec = workerService.lambdaQuery()
|
|
|
|
+ .select(Worker::getIdcard).list();
|
|
|
|
+ if (CollectionUtils.isNotEmpty(oldWorkerRec)){
|
|
|
|
+ oldWorkerRec.stream().forEach(wba->{
|
|
|
|
+ sfzens.add(wba.getIdcard());
|
|
|
|
+ });
|
|
|
|
+ oldWorkerRec.clear();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (ItfTblWangdianWxgDownload m : addRec){
|
|
|
|
+ // 已处理过不再处理 因为这里是网点师傅会存在重复数据
|
|
|
|
+ if (sfzens.contains(m.getSfzen().trim())){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 生成对象
|
|
|
|
+ addWorkerInfo(addWorkerRec, m, flag);
|
|
|
|
+ sfzens.add(m.getSfzen().trim());
|
|
|
|
+
|
|
|
|
+ // 新增的插入到表
|
|
|
|
+ if (addWorkerRec.size()>=1000){
|
|
|
|
+ workerService.saveOrUpdateBatch(addWorkerRec);
|
|
|
|
+ log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
|
|
|
|
+ addWorkerRec.clear();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 新增的插入到表
|
|
|
|
+ if (addWorkerRec.size()>0){
|
|
|
|
+ workerService.saveOrUpdateBatch(addWorkerRec);
|
|
|
|
+ log.info("本地网点维修工人员信息表新增插入了{}条数据", addWorkerRec.size());
|
|
|
|
+ addWorkerRec.clear();
|
|
|
|
+ }
|
|
|
|
+ sfzens.clear();
|
|
|
|
+ }
|
|
|
|
+
|
|
private void addWorkerInfo(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec, List<Worker> addWorkerRec) {
|
|
private void addWorkerInfo(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec, List<Worker> addWorkerRec) {
|
|
// 获取新增的
|
|
// 获取新增的
|
|
if (addRec.size()>0){
|
|
if (addRec.size()>0){
|
|
@@ -1000,6 +1074,16 @@ public class GLPPGFWebsitWorkerServiceImpl implements GLPPGFWebsitWorkerService
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ public void addInOutWorker(List<ItfTblWangdianWxgDownload> Recs,Boolean flag) {
|
|
|
|
+ List<Worker> addWorkerRec = new ArrayList<>();
|
|
|
|
+ if (Recs.size()>0){
|
|
|
|
+ // worker:师傅信息
|
|
|
|
+ extractedWorkerAddNewInOut(Recs, addWorkerRec, flag);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
private void extractedLocalAddOrUpdate(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec) {
|
|
private void extractedLocalAddOrUpdate(List<ItfTblWangdianWxgDownload> addRec, List<ItfTblWangdianWxgDownload> updateRec) {
|
|
|
|
|
|
List<Worker> addWorkerRec = new ArrayList<>();
|
|
List<Worker> addWorkerRec = new ArrayList<>();
|