|
|
|
@ -87,7 +87,13 @@ public class SapController extends BaseController {
|
|
|
|
|
// 加载sf-cloud库的sys_datasource
|
|
|
|
|
SysUser sysUser = new SysUser();
|
|
|
|
|
sysUser.setUserId(1L);
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
DynamicDataSourceContextHolder.push("master");
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = new R<>();
|
|
|
|
|
try {
|
|
|
|
|
dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
List<Map<String, String>> dateSources = dateSources0.getData();
|
|
|
|
|
ExecutorService executorService = new ThreadPoolExecutor(
|
|
|
|
|
dateSources.size(),
|
|
|
|
@ -128,32 +134,38 @@ public class SapController extends BaseController {
|
|
|
|
|
// 加载sf-cloud库的sys_datasource
|
|
|
|
|
SysUser sysUser = new SysUser();
|
|
|
|
|
sysUser.setUserId(1L);
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
List<Map<String, String>> dateSources = dateSources0.getData();
|
|
|
|
|
DynamicDataSourceContextHolder.push("master");
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = new R<>();
|
|
|
|
|
try {
|
|
|
|
|
dateSources.forEach(dateSource -> {
|
|
|
|
|
if (!"ds_999".equals(dateSource.get("poolName"))) {
|
|
|
|
|
logger.info("++++++++++++" + dateSource.get("poolName") + "++++bom同步开始++++++++++");
|
|
|
|
|
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
|
|
|
|
|
Date maxTime0 = sapBomMapper.getBomMaxTime();
|
|
|
|
|
if (maxTime0 != null) {
|
|
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
|
|
calendar.setTime(maxTime0);
|
|
|
|
|
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
|
|
|
|
Date maxTime = calendar.getTime();
|
|
|
|
|
qo.setAedat(DateFormatUtils.format(maxTime, "yyyyMMdd"));//修改日期20230923
|
|
|
|
|
}
|
|
|
|
|
R r = sapBomService.bomSync(qo);
|
|
|
|
|
if (r.getCode() != 200) {
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "同步bom失败,错误信息:" + r.getMsg());
|
|
|
|
|
}
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "++++bom同步结束++++++++++");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
List<Map<String, String>> dateSources = dateSources0.getData();
|
|
|
|
|
|
|
|
|
|
dateSources.forEach(dateSource -> {
|
|
|
|
|
if (!"ds_999".equals(dateSource.get("poolName"))) {
|
|
|
|
|
try {
|
|
|
|
|
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
|
|
|
|
|
Date maxTime0 = sapBomMapper.getBomMaxTime();
|
|
|
|
|
if (maxTime0 != null) {
|
|
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
|
|
calendar.setTime(maxTime0);
|
|
|
|
|
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
|
|
|
|
Date maxTime = calendar.getTime();
|
|
|
|
|
qo.setAedat(DateFormatUtils.format(maxTime, "yyyyMMdd"));//修改日期20230923
|
|
|
|
|
}
|
|
|
|
|
R r = sapBomService.bomSync(qo);
|
|
|
|
|
if (r.getCode() != 200) {
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "同步bom失败,错误信息:" + r.getMsg());
|
|
|
|
|
}
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return R.ok();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -180,7 +192,13 @@ public class SapController extends BaseController {
|
|
|
|
|
// 加载sf-cloud库的sys_datasource
|
|
|
|
|
SysUser sysUser = new SysUser();
|
|
|
|
|
sysUser.setUserId(1L);
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
DynamicDataSourceContextHolder.push("master");
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = new R<>();
|
|
|
|
|
try {
|
|
|
|
|
dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
List<Map<String, String>> dateSources = dateSources0.getData();
|
|
|
|
|
try {
|
|
|
|
|
dateSources.forEach(dateSource -> {
|
|
|
|
@ -222,41 +240,47 @@ public class SapController extends BaseController {
|
|
|
|
|
@PostMapping("/sapSupplierSync")
|
|
|
|
|
@Log(title = "供应商主数据", businessType = BusinessType.SAP)
|
|
|
|
|
public R sapSupplierSync() {
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
SapSupplierQuery sapSupplierQuery = new SapSupplierQuery();
|
|
|
|
|
// 加载sf-cloud库的sys_datasource
|
|
|
|
|
SysUser sysUser = new SysUser();
|
|
|
|
|
sysUser.setUserId(1L);
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
DynamicDataSourceContextHolder.push("master");
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = new R<>();
|
|
|
|
|
try {
|
|
|
|
|
dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
List<Map<String, String>> dateSources = dateSources0.getData();
|
|
|
|
|
dateSources.forEach(dateSource -> {
|
|
|
|
|
logger.info("++++++++++++" + dateSource.get("poolName") + "++++供应商主数据开始++++++++++");
|
|
|
|
|
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
|
|
|
|
|
sapSupplierQuery.setBukrs(dateSource.get("poolName").replace("ds_", ""));//工厂
|
|
|
|
|
Date maxTime0 = sapBomMapper.getSupplierMaxTime();
|
|
|
|
|
if (maxTime0 != null) {
|
|
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
|
|
calendar.setTime(maxTime0);
|
|
|
|
|
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
|
|
|
|
Date maxTime = calendar.getTime();
|
|
|
|
|
sapSupplierQuery.setErdat(DateFormatUtils.format(maxTime, "yyyyMMdd"));//修改日期20230923
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
R r = sapWorkCenterService.sapSupplierSync(sapSupplierQuery);
|
|
|
|
|
if (r.getCode() == 200) {
|
|
|
|
|
List<SapSupplier> dtos = (List<SapSupplier>) r.getData();
|
|
|
|
|
if (!CollectionUtils.isEmpty(dtos)) {
|
|
|
|
|
sapWorkCenterService.syncSupplier(dtos);
|
|
|
|
|
try {
|
|
|
|
|
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
|
|
|
|
|
sapSupplierQuery.setBukrs(dateSource.get("poolName").replace("ds_", ""));//工厂
|
|
|
|
|
Date maxTime0 = sapBomMapper.getSupplierMaxTime();
|
|
|
|
|
if (maxTime0 != null) {
|
|
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
|
|
calendar.setTime(maxTime0);
|
|
|
|
|
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
|
|
|
|
Date maxTime = calendar.getTime();
|
|
|
|
|
sapSupplierQuery.setErdat(DateFormatUtils.format(maxTime, "yyyyMMdd"));//修改日期20230923
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "错误信息:" + r.getMsg());
|
|
|
|
|
R r = sapWorkCenterService.sapSupplierSync(sapSupplierQuery);
|
|
|
|
|
if (r.getCode() == 200) {
|
|
|
|
|
List<SapSupplier> dtos = (List<SapSupplier>) r.getData();
|
|
|
|
|
if (!CollectionUtils.isEmpty(dtos)) {
|
|
|
|
|
sapWorkCenterService.syncSupplier(dtos);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "错误信息:" + r.getMsg());
|
|
|
|
|
}
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "++++供应商主数据结束++++++++++");
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return R.ok();
|
|
|
|
|
}
|
|
|
|
@ -274,37 +298,42 @@ public class SapController extends BaseController {
|
|
|
|
|
// 加载sf-cloud库的sys_datasource
|
|
|
|
|
SysUser sysUser = new SysUser();
|
|
|
|
|
sysUser.setUserId(1L);
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
List<Map<String, String>> dateSources = dateSources0.getData();
|
|
|
|
|
DynamicDataSourceContextHolder.push("master");
|
|
|
|
|
R<List<Map<String, String>>> dateSources0 = new R<>();
|
|
|
|
|
try {
|
|
|
|
|
dateSources.forEach(dateSource -> {
|
|
|
|
|
logger.info("++++++++++++" + dateSource.get("poolName") + "++++客户主数据开始++++++++++");
|
|
|
|
|
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
|
|
|
|
|
sapCustom.setBukrs(dateSource.get("poolName").replace("ds_", ""));//工厂
|
|
|
|
|
Date maxTime0 = sapBomMapper.getCustomMaxTime();
|
|
|
|
|
|
|
|
|
|
if (maxTime0 != null) {
|
|
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
|
|
calendar.setTime(maxTime0);
|
|
|
|
|
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
|
|
|
|
Date maxTime = calendar.getTime();
|
|
|
|
|
sapCustom.setErdat(DateFormatUtils.format(maxTime, "yyyyMMdd"));//修改日期20230923
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
R r = sapWorkCenterService.sapCustomSync(sapCustom);
|
|
|
|
|
if (r.getCode() == 200) {
|
|
|
|
|
List<SapCustom> dtos = (List<SapCustom>) r.getData();
|
|
|
|
|
if (!CollectionUtils.isEmpty(dtos)) {
|
|
|
|
|
sapWorkCenterService.syncCustom(dtos);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "错误信息:" + r.getMsg());
|
|
|
|
|
}
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "++++客户主数据结束++++++++++");
|
|
|
|
|
});
|
|
|
|
|
dateSources0 = remoteUserService.getPoolNameList(sysUser);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
List<Map<String, String>> dateSources = dateSources0.getData();
|
|
|
|
|
|
|
|
|
|
dateSources.forEach(dateSource -> {
|
|
|
|
|
try {
|
|
|
|
|
DynamicDataSourceContextHolder.push(dateSource.get("poolName"));// 这是数据源的key
|
|
|
|
|
sapCustom.setBukrs(dateSource.get("poolName").replace("ds_", ""));//工厂
|
|
|
|
|
Date maxTime0 = sapBomMapper.getCustomMaxTime();
|
|
|
|
|
|
|
|
|
|
if (maxTime0 != null) {
|
|
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
|
|
calendar.setTime(maxTime0);
|
|
|
|
|
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
|
|
|
|
Date maxTime = calendar.getTime();
|
|
|
|
|
sapCustom.setErdat(DateFormatUtils.format(maxTime, "yyyyMMdd"));//修改日期20230923
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
R r = sapWorkCenterService.sapCustomSync(sapCustom);
|
|
|
|
|
if (r.getCode() == 200) {
|
|
|
|
|
List<SapCustom> dtos = (List<SapCustom>) r.getData();
|
|
|
|
|
if (!CollectionUtils.isEmpty(dtos)) {
|
|
|
|
|
sapWorkCenterService.syncCustom(dtos);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
logger.error("++++++++++++" + dateSource.get("poolName") + "错误信息:" + r.getMsg());
|
|
|
|
|
}
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return R.ok();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|