diff --git a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java index 5997b3d8f..6ff482e65 100644 --- a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java +++ b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java @@ -52,7 +52,7 @@ public class RyTask { public void ryNoParams() { System.out.println("执行无参方法"); } - /*************MES定时任务开始*******************/ + /*************MES定时任务开始****************1***/ public void shopOrderSync(){ SapShopOrderQuery sapProOrder = new SapShopOrderQuery(); //sapProOrder.setCreateTime(DateUtils.getNowDate());//TODO; @@ -206,6 +206,7 @@ public class RyTask { /************hr 人力基础数据定时任务开始*****************/ //人力基本数据同步每天 public void syncUserInfoTask(){ + logger.info("++hr人力基础数据同步+开始++syncUserInfoTask+++++"); remoteUserService.syncUserInfoTask(); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index 666e059e2..6a27d402f 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -319,7 +319,13 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { // 加载sf-cloud库的sys_datasource SysUser sysUser = new SysUser(); sysUser.setUserId(1L); - R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> dateSources = dateSources0.getData(); ExecutorService executorService = new ThreadPoolExecutor( dateSources.size(), @@ -368,7 +374,13 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { // 加载sf-cloud库的sys_datasource SysUser sysUser = new SysUser(); sysUser.setUserId(1L); - R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> dateSources = dateSources0.getData(); ExecutorService executorService = new ThreadPoolExecutor( dateSources.size(), diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorksServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorksServiceImpl.java index b75e924da..6934079f3 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorksServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorksServiceImpl.java @@ -71,7 +71,13 @@ public class MesReportWorksServiceImpl implements IMesReportWorksService { // 加载sf-cloud库的sys_datasource SysUser sysUser = new SysUser(); sysUser.setUserId(1L); - R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> dateSources = dateSources0.getData(); ExecutorService executorService = new ThreadPoolExecutor( dateSources.size(), @@ -159,16 +165,20 @@ public class MesReportWorksServiceImpl implements IMesReportWorksService { } public void setMesProInfoFunc(String poolName){ - DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key - //工厂名称 + try{ + DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key + //工厂名称 - //车间名称 + //车间名称 - //发送企业微信 - ProOrderWorkorder prowork = new ProOrderWorkorder(); - prowork.setFactoryCode("小榄工厂"); - prowork.setWorkorderName("黑蚊香生产车间"); - this.sendWX(prowork); + //发送企业微信 + ProOrderWorkorder prowork = new ProOrderWorkorder(); + prowork.setFactoryCode("小榄工厂"); + prowork.setWorkorderName("黑蚊香生产车间"); + this.sendWX(prowork); + }finally { + DynamicDataSourceContextHolder.poll(); + } } protected void sendWX(ProOrderWorkorder prowork){ //发企业微信--------------------开始(跟班组有关) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java index 898ae58c4..96a2116ca 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java @@ -249,55 +249,58 @@ public class QcCheckTaskIncomeController extends BaseController { } public AjaxResult createIncomeBatchTaskFunc(String poolName){ - DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key - Date taskTime = DateUtils.getNowDate(); - logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务开始+++时间:"+ taskTime +"++++++++++"); - Map mapBom = new HashMap(); - mapBom.put("P_WERKS",poolName.replace("ds_",""));//物料工厂 例如:1000 - logger.info("来料信息查询请求:" + JSONObject.toJSONString(mapBom)); - R incomeR = remoteSapService.inComingCheck(mapBom); - if(incomeR.getCode()==500){ - return AjaxResult.error(JSONObject.toJSONString(incomeR)); - } - logger.info("来料信息查询结果:" + JSONObject.toJSONString(incomeR)); - List incomeAll = JSONArray.parseArray(JSONObject.toJSONString(incomeR.getData()),QcCheckTaskIncomeDTO.class); - //已经生成过检验任务的采购订单-物料凭证编号 - List todayIncomeLists = qcCheckTaskIncomeService.getTodayIncomeLists(); - List newIncomes= null; - if(CollectionUtils.isEmpty(todayIncomeLists)){ - newIncomes = incomeAll; - }else{ - newIncomes = incomeAll.stream() - .filter(item -> !todayIncomeLists.contains(item.getAttr1())) - .collect(Collectors.toList()); - } - - int successNum = 0;//成功任务数 - int failNum = 0;//失败任务数 - if(!CollectionUtils.isEmpty(newIncomes)){ - logger.info("工厂来料检验任务生成参数:" + JSONObject.toJSONString(newIncomes)); - for(QcCheckTaskIncomeDTO income:newIncomes){ - //供应商+物料编码+数量+来料时间 - QcCheckTaskIncome hasTask = qcCheckTaskIncomeService.hasIncomeTask(income); - if(hasTask != null){ - logger.info(poolName + "工厂的" + income.getAttr1()+"来料检验创建任务重复++++++++++"+ - JSONObject.toJSONString(income)); - continue; - } - - AjaxResult ajaxResult = createIncomeTask(income); - if(ajaxResult.isSuccess()){ - successNum = successNum + 1; - logger.info(poolName + "工厂的" + income.getAttr1()+"来料检验创建任务成功++++++++++"); - }else if(ajaxResult.isError()){ - failNum = failNum +1; - logger.info(poolName + "工厂的" + income.getAttr1()+"来料检验创建任务失败++++++++++"); - } + try{ + DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key + Date taskTime = DateUtils.getNowDate(); + logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务开始+++时间:"+ taskTime +"++++++++++"); + Map mapBom = new HashMap(); + mapBom.put("P_WERKS",poolName.replace("ds_",""));//物料工厂 例如:1000 + logger.info("来料信息查询请求:" + JSONObject.toJSONString(mapBom)); + R incomeR = remoteSapService.inComingCheck(mapBom); + if(incomeR.getCode()==500){ + return AjaxResult.error(JSONObject.toJSONString(incomeR)); } - }else{ - logger.info("++++++++++++" + poolName + "工厂来料检验没有可创建的任务++++++++++"); + logger.info("来料信息查询结果:" + JSONObject.toJSONString(incomeR)); + List incomeAll = JSONArray.parseArray(JSONObject.toJSONString(incomeR.getData()),QcCheckTaskIncomeDTO.class); + //已经生成过检验任务的采购订单-物料凭证编号 + List todayIncomeLists = qcCheckTaskIncomeService.getTodayIncomeLists(); + List newIncomes= null; + if(CollectionUtils.isEmpty(todayIncomeLists)){ + newIncomes = incomeAll; + }else{ + newIncomes = incomeAll.stream() + .filter(item -> !todayIncomeLists.contains(item.getAttr1())) + .collect(Collectors.toList()); + } + + int successNum = 0;//成功任务数 + int failNum = 0;//失败任务数 + if(!CollectionUtils.isEmpty(newIncomes)){ + logger.info("工厂来料检验任务生成参数:" + JSONObject.toJSONString(newIncomes)); + for(QcCheckTaskIncomeDTO income:newIncomes){ + //供应商+物料编码+数量+来料时间 + QcCheckTaskIncome hasTask = qcCheckTaskIncomeService.hasIncomeTask(income); + if(hasTask != null){ + logger.info(poolName + "工厂的" + income.getAttr1()+"来料检验创建任务重复++++++++++"+ + JSONObject.toJSONString(income)); + continue; + } + + AjaxResult ajaxResult = createIncomeTask(income); + if(ajaxResult.isSuccess()){ + successNum = successNum + 1; + logger.info(poolName + "工厂的" + income.getAttr1()+"来料检验创建任务成功++++++++++"); + }else if(ajaxResult.isError()){ + failNum = failNum +1; + logger.info(poolName + "工厂的" + income.getAttr1()+"来料检验创建任务失败++++++++++"); + } + } + }else{ + logger.info("++++++++++++" + poolName + "工厂来料检验没有可创建的任务++++++++++"); + } + }finally { + DynamicDataSourceContextHolder.poll(); } - logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务结束:成功"+ successNum +"失败"+ failNum +"+++++"); return success(); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskDetailServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskDetailServiceImpl.java index de70e3308..589b82d4f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskDetailServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskDetailServiceImpl.java @@ -145,7 +145,13 @@ public class QcCheckTaskDetailServiceImpl implements IQcCheckTaskDetailService { // 加载sf-cloud库的sys_datasource SysUser sysUser = new SysUser(); sysUser.setUserId(1L); - R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> dateSources = dateSources0.getData(); ExecutorService executorService = new ThreadPoolExecutor( dateSources.size(), diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java index a71dfd997..a12700d13 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java @@ -387,7 +387,13 @@ public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventorySer // 加载sf-cloud库的sys_datasource SysUser sysUser = new SysUser(); sysUser.setUserId(1L); - R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> dateSources = dateSources0.getData(); ExecutorService executorService = new ThreadPoolExecutor( dateSources.size(), @@ -438,20 +444,23 @@ public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventorySer } public void createCCFunc(String poolName){ - DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key - QcCheckTaskInventory qoPutIn = new QcCheckTaskInventory(); - //根据base_product的库检周期和入库时间获取当前需要检验的物料 - List qoPutInList = qcCheckTaskInventoryMapper.getPutInOrderList(qoPutIn); - for(QcCheckTaskInventory putIn:qoPutInList){ - QcCheckTaskInventory ccTask = new QcCheckTaskInventory(); + try{ + DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key + QcCheckTaskInventory qoPutIn = new QcCheckTaskInventory(); + //根据base_product的库检周期和入库时间获取当前需要检验的物料 + List qoPutInList = qcCheckTaskInventoryMapper.getPutInOrderList(qoPutIn); + for(QcCheckTaskInventory putIn:qoPutInList){ + QcCheckTaskInventory ccTask = new QcCheckTaskInventory(); - BeanUtils.copyProperties(putIn,ccTask); - ccTask.setCheckType("checkTypeCC");//库存检验 - ccTask.setFactoryCode(poolName.replace("ds_","")); - int m = insertQcCheckTaskInventory(ccTask); - //logger.info("++++++++++++仓库检验任务生成" + m + "++++++++++++++"); + BeanUtils.copyProperties(putIn,ccTask); + ccTask.setCheckType("checkTypeCC");//库存检验 + ccTask.setFactoryCode(poolName.replace("ds_","")); + int m = insertQcCheckTaskInventory(ccTask); + //logger.info("++++++++++++仓库检验任务生成" + m + "++++++++++++++"); + } + }finally { + DynamicDataSourceContextHolder.poll(); } - //logger.info("++++++++++++" + poolName + "++++仓库检验任务结束++++++++++"); } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java index cabcf078f..a1300cf21 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java @@ -399,7 +399,13 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin // 加载sf-cloud库的sys_datasource SysUser sysUser = new SysUser(); sysUser.setUserId(1L); - R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> dateSources = dateSources0.getData(); ExecutorService executorService = new ThreadPoolExecutor( dateSources.size(), diff --git a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java index 01217e5d0..967ef67dc 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java @@ -87,7 +87,13 @@ public class SapController extends BaseController { // 加载sf-cloud库的sys_datasource SysUser sysUser = new SysUser(); sysUser.setUserId(1L); - R>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> 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>> dateSources0 = remoteUserService.getPoolNameList(sysUser); - List> dateSources = dateSources0.getData(); + DynamicDataSourceContextHolder.push("master"); + R>> 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> 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>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> 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>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + DynamicDataSourceContextHolder.push("master"); + R>> dateSources0 = new R<>(); + try { + dateSources0 = remoteUserService.getPoolNameList(sysUser); + }finally { + DynamicDataSourceContextHolder.poll(); + } List> 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 dtos = (List) 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 dtos = (List) 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>> dateSources0 = remoteUserService.getPoolNameList(sysUser); - List> dateSources = dateSources0.getData(); + DynamicDataSourceContextHolder.push("master"); + R>> 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 dtos = (List) 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> 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 dtos = (List) r.getData(); + if (!CollectionUtils.isEmpty(dtos)) { + sapWorkCenterService.syncCustom(dtos); + } + } else { + logger.error("++++++++++++" + dateSource.get("poolName") + "错误信息:" + r.getMsg()); + } + }finally { + DynamicDataSourceContextHolder.poll(); + } + }); return R.ok(); } diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysDeptServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysDeptServiceImpl.java index 84b4ff5e8..889f7d13a 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysDeptServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysDeptServiceImpl.java @@ -324,30 +324,32 @@ public class SysDeptServiceImpl implements ISysDeptService { @Override public R sysDeptInfoTask() { DynamicDataSourceContextHolder.push("master");// 这是数据源的key - - Date maxTime0 = deptMapper.getMaxTime(); - if(maxTime0 != null){ - Calendar calendar = Calendar.getInstance(); - calendar.setTime(maxTime0); - calendar.add(Calendar.DAY_OF_YEAR, 1); - Date maxTime = calendar.getTime(); - String ymd = DateFormatUtils.format(maxTime, "yyyy-MM-dd");//yyyy-MM-dd - log.info("更新部门-参数:"+ ymd); - AjaxResult hrR = remoteOpenService.GetHrDeptInfo(); - log.info("更新部门-结果:"+ hrR.get("data")); - List infoList = new ArrayList(); - if((int)hrR.get("code")==200){ - infoList = JSONArray.parseArray(JSONObject.toJSONString(hrR.get("data")),com.op.system.api.domain.quality.HRDeptInfo.class); - log.info(String.valueOf(infoList)); - if(!CollectionUtils.isEmpty(infoList)){ - this.sysDeptInfoFunc(infoList); + try{ + Date maxTime0 = deptMapper.getMaxTime(); + if(maxTime0 != null){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(maxTime0); + calendar.add(Calendar.DAY_OF_YEAR, 1); + Date maxTime = calendar.getTime(); + String ymd = DateFormatUtils.format(maxTime, "yyyy-MM-dd");//yyyy-MM-dd + log.info("更新部门-参数:"+ ymd); + AjaxResult hrR = remoteOpenService.GetHrDeptInfo(); + log.info("更新部门-结果:"+ hrR.get("data")); + List infoList = new ArrayList(); + if((int)hrR.get("code")==200){ + infoList = JSONArray.parseArray(JSONObject.toJSONString(hrR.get("data")),com.op.system.api.domain.quality.HRDeptInfo.class); + log.info(String.valueOf(infoList)); + if(!CollectionUtils.isEmpty(infoList)){ + this.sysDeptInfoFunc(infoList); + } + }else{ + log.info("无最新需要更新的部门数据"); + return R.fail("无最新需要更新的部门数据"); } - }else{ - log.info("无最新需要更新的部门数据"); - return R.fail("无最新需要更新的部门数据"); } + }finally { + DynamicDataSourceContextHolder.poll(); } - return R.ok(); } diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index fb10611b9..8cd5e0ff6 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -552,7 +552,7 @@ public class SysUserServiceImpl implements ISysUserService { @Override public R syncUserInfoTask() { DynamicDataSourceContextHolder.push("master");// 这是数据源的key - + try{ //Date maxTime0 = userMapper.getMaxTime(); //if(maxTime0 != null){ Calendar calendar = Calendar.getInstance(); @@ -576,7 +576,9 @@ public class SysUserServiceImpl implements ISysUserService { }else{ return R.fail("无最新需要更新的人力数据"); } - //} + }finally { + DynamicDataSourceContextHolder.poll(); + } return R.ok(); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsSellOutEmbryoServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsSellOutEmbryoServiceImpl.java index 58490a1b9..be3723680 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsSellOutEmbryoServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsSellOutEmbryoServiceImpl.java @@ -163,7 +163,11 @@ public class WmsSellOutEmbryoServiceImpl implements IWmsSellOutEmbryoService { @Override public void SynchronizationOfShippingDocuments() { DynamicDataSourceContextHolder.push("ds_1000"); - List wmsSellOutEmbryoList= dayin(); + try { + List wmsSellOutEmbryoList = dayin(); + }finally { + DynamicDataSourceContextHolder.poll(); + } } @Override