|
@@ -350,12 +350,6 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
String workerId="";
|
|
|
if (workerIdcardMap.containsKey(wxg.getSfzen())){
|
|
|
workerId = workerIdcardMap.get(wxg.getSfzen()).get(0).getWorkerId();
|
|
|
- /*for (Worker w: workerIdcardMap.get(wxg.getSfzen())){
|
|
|
- if (w.getWorkerName().equals(wxg.getWxgmc().trim()) && w.getMobile().equals(wxg.getYddh())){
|
|
|
- workerId = w.getWorkerId();
|
|
|
- break;
|
|
|
- }
|
|
|
- }*/
|
|
|
}
|
|
|
return workerId;
|
|
|
}
|
|
@@ -368,6 +362,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
Map<String, List<SysDictRef>> sysDictRefMap = new HashMap<>();
|
|
|
List<SysDictRef> sysDictRef = new ArrayList<>();
|
|
|
List<WorkerServiceCategoryDetail> wxgCategoryRec = new ArrayList<>();
|
|
|
+ List<String> workerServiceCategoryDetailList = new ArrayList<>();
|
|
|
|
|
|
// 提取品牌信息
|
|
|
Brand brand = baseService.getBrand();
|
|
@@ -446,7 +441,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- wxgCategoryQueryAdd(wxgDownload,workerBrandAccounts,workerServiceCategoryDetailMap,sysDict,sysDictRefMap);
|
|
|
+ wxgCategoryQueryAdd(wxgDownload,workerBrandAccounts,workerServiceCategoryDetailMap,sysDict,sysDictRefMap, workerServiceCategoryDetailList);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1332,7 +1327,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
public void wxgCategoryQueryAdd(ItfTblWangdianWxgDownload wxgDownload,
|
|
|
List<WorkerBrandAccount> workerBrandAccounts,
|
|
|
Map<String,List<WorkerServiceCategoryDetail>> workerServiceCategoryDetailMap,
|
|
|
- SysDict sysDict,Map<String, List<SysDictRef>> sysDictRefMap) throws Exception {
|
|
|
+ SysDict sysDict,Map<String, List<SysDictRef>> sysDictRefMap,
|
|
|
+ List<String> workerServiceCategoryDetailList) throws Exception {
|
|
|
Map<String,Object> req = new HashMap<>();
|
|
|
WangdianWxgVos wvos = new WangdianWxgVos();
|
|
|
Map<String, List<WorkerServiceCategoryDetail>> wxgCategoryTypeRecs = new HashMap<>();
|
|
@@ -1351,6 +1347,11 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ // 师傅对应的网点服务类目信息已存在不处理 只做插入
|
|
|
+ if (workerServiceCategoryDetailList.contains(workerBrandAccount.getWebsitWorkerId())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
// 参数 获取网点维修工信息
|
|
|
getParameter(wxgDownload.getWdno(), wxgDownload.getWxgno(), req);
|
|
|
try {
|
|
@@ -1381,7 +1382,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
}
|
|
|
|
|
|
// 同步-师傅服务的类目信息 无则插入
|
|
|
- getServiceCategory(wvos, wscList, wscdList, sysDict, wxgDownload, wxgCategoryTypeRecs, sysDictRefMap, workerBrandAccount);
|
|
|
+ getServiceCategory(wvos, wscList, wscdList, sysDict, wxgDownload, wxgCategoryTypeRecs,
|
|
|
+ sysDictRefMap, workerBrandAccount, workerServiceCategoryDetailList);
|
|
|
|
|
|
// 新增或修改(师傅服务的类目)
|
|
|
addDataCategory(wscList, wscdList);
|
|
@@ -1426,7 +1428,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
private void getServiceCategory(WangdianWxgVos wvos, List<WorkerServiceCategory> wscList, List<WorkerServiceCategoryDetail> wscdList,
|
|
|
SysDict sysDict, ItfTblWangdianWxgDownload wxg,
|
|
|
Map<String,List<WorkerServiceCategoryDetail>> wxgCategoryTypeRecs,
|
|
|
- Map<String, List<SysDictRef>> sysDictRefMap,WorkerBrandAccount workerBrandAccount) {
|
|
|
+ Map<String, List<SysDictRef>> sysDictRefMap,WorkerBrandAccount workerBrandAccount,
|
|
|
+ List<String> workerServiceCategoryDetailList) {
|
|
|
List<String> complete = new ArrayList<>();
|
|
|
// 先处理商用
|
|
|
for (SignSplb syitem: wvos.getSySignSplbList()){
|
|
@@ -1434,7 +1437,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
for (String s :syitem.getFwlbList()){
|
|
|
// 师傅服务的大类中查看是否存在 不存在新增
|
|
|
extracted(wscList, wscdList, complete, sysDict, wxg, wxgCategoryTypeRecs,
|
|
|
- syitem, s, ServiceCategoryEnum.COMMERCIAL_TYPE.getCode(), sysDictRefMap, workerBrandAccount);
|
|
|
+ syitem, s, ServiceCategoryEnum.COMMERCIAL_TYPE.getCode(), sysDictRefMap,
|
|
|
+ workerBrandAccount, workerServiceCategoryDetailList);
|
|
|
}
|
|
|
}
|
|
|
complete.clear();
|
|
@@ -1445,7 +1449,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
for (String s :syitem.getFwlbList()){
|
|
|
// 师傅服务的大类中查看是否存在 不存在新增
|
|
|
extracted(wscList, wscdList, complete, sysDict, wxg, wxgCategoryTypeRecs,
|
|
|
- syitem, s,ServiceCategoryEnum.HOME_TYPE.getCode(), sysDictRefMap, workerBrandAccount);
|
|
|
+ syitem, s,ServiceCategoryEnum.HOME_TYPE.getCode(), sysDictRefMap,
|
|
|
+ workerBrandAccount, workerServiceCategoryDetailList);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1475,20 +1480,24 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
private void extracted(List<WorkerServiceCategory> wscList, List<WorkerServiceCategoryDetail> wscdList,
|
|
|
List<String> complete, SysDict sysDict, ItfTblWangdianWxgDownload wxg,
|
|
|
Map<String,List<WorkerServiceCategoryDetail>> wxgCategoryTypeRecs, SignSplb syitem,
|
|
|
- String s, String type,Map<String, List<SysDictRef>> sysDictRefMap, WorkerBrandAccount workerBrandAccount) {
|
|
|
+ String s, String type,Map<String, List<SysDictRef>> sysDictRefMap,
|
|
|
+ WorkerBrandAccount workerBrandAccount, List<String> workerServiceCategoryDetailList) {
|
|
|
if ( !complete.contains(s + syitem.getSpdl())){
|
|
|
// 提取品牌商对应的大类信息
|
|
|
SysDictRef sysDictRef = sysDictRefMap.get(String.valueOf(syitem.getSpdl())).get(0);
|
|
|
|
|
|
if (s.equals(ServiceCategoryEnum.INSTALL_TYPE.getText())){
|
|
|
getAddInfo(wscList, wscdList, sysDict, wxg, wxgCategoryTypeRecs,
|
|
|
- sysDictRef,ServiceCategoryEnum.INSTALL_TYPE.getCode(),type,workerBrandAccount);
|
|
|
+ sysDictRef,ServiceCategoryEnum.INSTALL_TYPE.getCode(),
|
|
|
+ type,workerBrandAccount,workerServiceCategoryDetailList);
|
|
|
} else if (s.equals(ServiceCategoryEnum.REPAIR_TYPE.getText())){
|
|
|
getAddInfo(wscList, wscdList, sysDict, wxg, wxgCategoryTypeRecs,
|
|
|
- sysDictRef,ServiceCategoryEnum.REPAIR_TYPE.getCode(),type,workerBrandAccount);
|
|
|
+ sysDictRef,ServiceCategoryEnum.REPAIR_TYPE.getCode(),
|
|
|
+ type,workerBrandAccount,workerServiceCategoryDetailList);
|
|
|
} else if (s.equals(ServiceCategoryEnum.DELIVERY_TYPE.getText())){
|
|
|
getAddInfo(wscList, wscdList, sysDict, wxg, wxgCategoryTypeRecs,
|
|
|
- sysDictRef,ServiceCategoryEnum.DELIVERY_TYPE.getCode(),type,workerBrandAccount);
|
|
|
+ sysDictRef,ServiceCategoryEnum.DELIVERY_TYPE.getCode(),
|
|
|
+ type,workerBrandAccount,workerServiceCategoryDetailList);
|
|
|
}
|
|
|
// 新增过的无需再次新增
|
|
|
complete.add(s + syitem.getSpdl());
|
|
@@ -1497,7 +1506,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
|
|
|
private void getAddInfo(List<WorkerServiceCategory> wscList, List<WorkerServiceCategoryDetail> wscdList, SysDict sysDict,
|
|
|
ItfTblWangdianWxgDownload wxg, Map<String, List<WorkerServiceCategoryDetail>> wxgCategoryTypeRecs,
|
|
|
- SysDictRef sysDictRef, String code, String type, WorkerBrandAccount workerBrandAccount) {
|
|
|
+ SysDictRef sysDictRef, String code, String type, WorkerBrandAccount workerBrandAccount,
|
|
|
+ List<String> workerServiceCategoryDetailList) {
|
|
|
Boolean include = Boolean.FALSE;
|
|
|
// 看师傅是否已有(服务类型 INSTALL=安装 REPAIR=维修 DELIVERY=配送)对应的大类信息 如有不做任何处理
|
|
|
if (wxgCategoryTypeRecs !=null && wxgCategoryTypeRecs.size()>0){
|
|
@@ -1544,6 +1554,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
|
|
|
wscdList.add(wscd);
|
|
|
|
|
|
+ workerServiceCategoryDetailList.add(workerBrandAccount.getWebsitWorkerId());
|
|
|
+
|
|
|
} else {
|
|
|
// WorkerServiceCategoryDetail 新增
|
|
|
WorkerServiceCategoryDetail wscd = new WorkerServiceCategoryDetail();
|
|
@@ -1560,6 +1572,7 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
|
|
|
wscd.setMainName(sysDictRef.getDictValue());
|
|
|
wscd.setCreateTime(new Date());
|
|
|
wscdList.add(wscd);
|
|
|
+ workerServiceCategoryDetailList.add(workerBrandAccount.getWebsitWorkerId());
|
|
|
}
|
|
|
}
|
|
|
}
|