1、定时器修改

This commit is contained in:
llllon 2025-09-23 09:06:30 +08:00
parent 5173dccafb
commit 07ff4f27f8
11 changed files with 49 additions and 46 deletions

View File

@ -57,15 +57,12 @@ public class PurchaseDataLinkUpJob implements IJob {
} }
} }
LOGGER.info("采购数据汇总计算开始时间为:{},结束时间为:{}",dateRange.getStartDate(),dateRange.getEndDate()); LOGGER.info("采购数据汇总计算开始时间为:{},结束时间为:{}",dateRange.getStartDate(),dateRange.getEndDate());
for (BO mainConfig : mainConfigs) { List<RowMap> bkgsMaps = DBSql.getMaps("SELECT BKGS FROM BO_EU_DWD_ORDER_RKD_HZ GROUP BY BKGS");
String targetTable = mainConfig.getString("LDB"); if (bkgsMaps!=null) {
List<RowMap> bkgsMaps = DBSql.getMaps("SELECT BKGS FROM " + targetTable + " GROUP BY BKGS"); for (RowMap map : bkgsMaps) {
if (bkgsMaps!=null) { BO bo = new BO();
for (RowMap map : bkgsMaps) { bo.set("BKGS", map.getString("BKGS"));
BO bo = new BO(); purchaseDataSummaryService.calculateSummary(dateRange, bo);
bo.set("BKGS", map.getString("BKGS"));
purchaseDataSummaryService.calculateSummary(dateRange, bo);
}
} }
} }
LOGGER.info("======== 销售数据同步任务执行完成 ========"); LOGGER.info("======== 销售数据同步任务执行完成 ========");

View File

@ -57,7 +57,6 @@ public class SaleDataLinkUpJob implements IJob {
LOGGER.info("======== 销售汇总各板块数据执行完成 ========"); LOGGER.info("======== 销售汇总各板块数据执行完成 ========");
// 数据同步完成后执行汇总计算 // 数据同步完成后执行汇总计算
LOGGER.info("======== 开始执行一体化-销售数据BI汇总计算 ========");
//获取汇总计算时间 //获取汇总计算时间
Set<DateRange> collect = list.stream().filter(o -> o.getStartDate() != null || o.getEndDate() != null) Set<DateRange> collect = list.stream().filter(o -> o.getStartDate() != null || o.getEndDate() != null)
.collect(Collectors.toSet()); .collect(Collectors.toSet());
@ -69,33 +68,19 @@ public class SaleDataLinkUpJob implements IJob {
} }
} }
LOGGER.info("汇总计算开始时间为:{},结束时间为:{}",dateRange.getStartDate(),dateRange.getEndDate()); LOGGER.info("汇总计算开始时间为:{},结束时间为:{}",dateRange.getStartDate(),dateRange.getEndDate());
for (BO mainConfig : mainConfigs) { List<RowMap> bkgsMaps = DBSql.getMaps("SELECT BKGS FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ GROUP BY BKGS");
String targetTable = mainConfig.getString("LDB"); if (bkgsMaps!=null) {
List<RowMap> bkgsMaps = DBSql.getMaps("SELECT BKGS FROM " + targetTable + " GROUP BY BKGS"); for (RowMap map : bkgsMaps) {
if (bkgsMaps!=null) { BO bo = new BO();
for (RowMap map : bkgsMaps) { bo.set("BKGS", map.getString("BKGS"));
BO bo = new BO(); LOGGER.info("========{}- 开始执行一体化-销售数据BI汇总计算 ========",map.getString("BKGS"));
bo.set("BKGS", map.getString("BKGS")); summaryService.calculateSummary(dateRange, bo);
summaryService.calculateSummary(dateRange, bo); LOGGER.info("========{}- 一体化-销售数据汇总计算完成 ========",map.getString("BKGS"));
} LOGGER.info("========{}- 开始执行销售数据汇总计算 ========",map.getString("BKGS"));
saleCountDimension.calculateSummary(dateRange, bo);
LOGGER.info("========{}- 销售数据汇总计算完成 ========",map.getString("BKGS"));
} }
} }
LOGGER.info("======== 一体化-销售数据汇总计算完成 ========");
LOGGER.info("======== 开始执行销售数据汇总计算 ========");
for (BO mainConfig : mainConfigs) {
String targetTable = mainConfig.getString("LDB");
List<RowMap> bkgsMaps = DBSql.getMaps("SELECT BKGS FROM " + targetTable + " GROUP BY BKGS");
if (bkgsMaps!=null) {
for (RowMap map : bkgsMaps) {
BO bo = new BO();
bo.set("BKGS", map.getString("BKGS"));
saleCountDimension.calculateSummary(dateRange, bo);
}
}
}
LOGGER.info("======== 销售数据汇总计算完成 ========");
LOGGER.info("======== 销售数据同步任务执行完成 ========"); LOGGER.info("======== 销售数据同步任务执行完成 ========");
} catch (Exception e) { } catch (Exception e) {

View File

@ -760,7 +760,7 @@ public class PurchaseDataSyncServiceImpl implements DataSyncService {
LOGGER.info("已删除目标表[{}}]中{}条数据(时间范围: {} - {})", LOGGER.info("已删除目标表[{}}]中{}条数据(时间范围: {} - {})",
hzb,deletedCount, startDate, endDate); hzb,deletedCount, startDate, endDate);
// 根据时间范围增加数据分页查询数据存储到BO_EU_BNBM_DATALINKUP_XS_XSL_HZ // 根据时间范围增加数据分页查询数据存储
// 全量分页迁移数据到汇总表 // 全量分页迁移数据到汇总表
summarizeScopeData(targetTable, null, null, null, hzb); summarizeScopeData(targetTable, null, null, null, hzb);
} else { } else {
@ -779,9 +779,12 @@ public class PurchaseDataSyncServiceImpl implements DataSyncService {
// 按时间范围删除 // 按时间范围删除
String deleteSql = "DELETE FROM " + hzb + String deleteSql = "DELETE FROM " + hzb +
" WHERE BKGS = '"+bkgs+"' AND " + targetTimeField + " BETWEEN ? AND ?"; " WHERE BKGS = '"+bkgs+"' AND " + targetTimeField + " BETWEEN ? AND ?";
int deletedCount = DBSql.update(deleteSql, new Object[]{startDate, endDate}); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
LOGGER.info("已删除目标表[{}]中{}条数据(时间范围: {} - {})", String startDateStr = simpleDateFormat.format(startDate)+" 00:00:00";
hzb,deletedCount, startDate, endDate); String endDateStr = simpleDateFormat.format(endDate)+" 23:59:59";
int deletedCount = DBSql.update(deleteSql, new Object[]{startDateStr, endDateStr});
LOGGER.info("已删除目标表[{}]中{}条数据(时间范围: {} - {}",
hzb,deletedCount, startDateStr, endDateStr);
// 根据时间范围增加数据分页查询数据存储到BO_EU_BNBM_DATALINKUP_XS_XSL_HZ // 根据时间范围增加数据分页查询数据存储到BO_EU_BNBM_DATALINKUP_XS_XSL_HZ
// 按时间范围分页迁移数据到汇总表 // 按时间范围分页迁移数据到汇总表
@ -804,6 +807,7 @@ public class PurchaseDataSyncServiceImpl implements DataSyncService {
*/ */
@Override @Override
public void summarizeScopeData(String targetTable, Date startDated, Date endDated, String targetTimeField, String hzb) { public void summarizeScopeData(String targetTable, Date startDated, Date endDated, String targetTimeField, String hzb) {
LOGGER.info("targetTable:{};startDated:{};endDated:{};targetTimeField:{};hzb:{}",targetTable,startDated,endDated,targetTimeField,hzb);
int pageNo = 1; int pageNo = 1;
boolean hasMore; boolean hasMore;
String pageSql = ""; String pageSql = "";

View File

@ -766,9 +766,12 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
// 按时间范围删除 // 按时间范围删除
String deleteSql = "DELETE FROM " + hzb + String deleteSql = "DELETE FROM " + hzb +
" WHERE BKGS = '"+bkgs+"' AND " + targetTimeField + " BETWEEN ? AND ?"; " WHERE BKGS = '"+bkgs+"' AND " + targetTimeField + " BETWEEN ? AND ?";
int deletedCount = DBSql.update(deleteSql, new Object[]{startDate, endDate}); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startDateStr = simpleDateFormat.format(startDate);
String endDateStr = simpleDateFormat.format(endDate);
int deletedCount = DBSql.update(deleteSql, new Object[]{startDateStr+" 00:00:00", endDateStr+" 23:59:59"});
LOGGER.info("已删除目标表[{}]中{}条数据(时间范围: {} - {})", LOGGER.info("已删除目标表[{}]中{}条数据(时间范围: {} - {})",
hzb,deletedCount, startDate, endDate); hzb,deletedCount, startDateStr+" 00:00:00", endDateStr+" 23:59:59");
// 根据时间范围增加数据分页查询数据存储到BO_EU_BNBM_DATALINKUP_XS_XSL_HZ // 根据时间范围增加数据分页查询数据存储到BO_EU_BNBM_DATALINKUP_XS_XSL_HZ
// 按时间范围分页迁移数据到汇总表 // 按时间范围分页迁移数据到汇总表
@ -862,8 +865,15 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
} }
//销售汇总表修改区域公司 //销售汇总表修改区域公司
if ("梦牌".equals(bo.getString("BKGS"))) { if ("梦牌".equals(bo.getString("BKGS"))) {
String cs = StringUtils.isBlank(bo.getString("SHIQU"))?"":bo.getString("SHIQU"); String cs = "";
String sq = StringUtils.isBlank(bo.getString("SHENGQU"))?"":bo.getString("SHENGQU"); String sq = "";
if (hzb.equals("BO_EU_BNBM_DATALINKUP_XS_XSL_HZ")){
cs = StringUtils.isBlank(bo.getString("CS"))?"":bo.getString("CS");
sq = StringUtils.isBlank(bo.getString("SQ"))?"":bo.getString("SQ");
}else {
cs = StringUtils.isBlank(bo.getString("SHIQU"))?"":bo.getString("SHIQU");
sq = StringUtils.isBlank(bo.getString("SHENGQU"))?"":bo.getString("SHENGQU");
}
boolean found = false; // 标记是否找到匹配 boolean found = false; // 标记是否找到匹配
for (BO bo1 : mpqyList) { for (BO bo1 : mpqyList) {
String ss = bo1.getString("SS"); String ss = bo1.getString("SS");
@ -996,8 +1006,15 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
} }
//销售汇总表修改区域公司 //销售汇总表修改区域公司
if ("梦牌".equals(bo.getString("BKGS"))) { if ("梦牌".equals(bo.getString("BKGS"))) {
String cs = StringUtils.isBlank(bo.getString("SHIQU"))?"":bo.getString("SHIQU"); String cs = "";
String sq = StringUtils.isBlank(bo.getString("SHENGQU"))?"":bo.getString("SHENGQU"); String sq = "";
if (hzb.equals("BO_EU_BNBM_DATALINKUP_XS_XSL_HZ")){
cs = StringUtils.isBlank(bo.getString("CS"))?"":bo.getString("CS");
sq = StringUtils.isBlank(bo.getString("SQ"))?"":bo.getString("SQ");
}else {
cs = StringUtils.isBlank(bo.getString("SHIQU"))?"":bo.getString("SHIQU");
sq = StringUtils.isBlank(bo.getString("SHENGQU"))?"":bo.getString("SHENGQU");
}
boolean found = false; // 标记是否找到匹配 boolean found = false; // 标记是否找到匹配
for (BO bo1 : mpqyList) { for (BO bo1 : mpqyList) {
String ss = bo1.getString("SS"); String ss = bo1.getString("SS");
@ -1211,7 +1228,7 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
"FROM " + tableName + " WHERE "+conditionBuilder.toString()+" AND full_date::DATE BETWEEN '"+startDate+"' AND '"+endDate+"' " + "FROM " + tableName + " WHERE "+conditionBuilder.toString()+" AND full_date::DATE BETWEEN '"+startDate+"' AND '"+endDate+"' " +
"GROUP BY DATE_TRUNC('MONTH', " + timeField + "::DATE)) t2 " + "GROUP BY DATE_TRUNC('MONTH', " + timeField + "::DATE)) t2 " +
"ON t1." + timeField + "::DATE = t2.max_date " + "ON t1." + timeField + "::DATE = t2.max_date " +
"WHERE t1." +conditionBuilder.toString()+ "WHERE " +conditionBuilder.toString()+
" AND t1."+timeField+"::DATE BETWEEN '"+startDate+"' AND '"+endDate+"'"; " AND t1."+timeField+"::DATE BETWEEN '"+startDate+"' AND '"+endDate+"'";
} else if ("SQLSERVER".equalsIgnoreCase(DBname)) { } else if ("SQLSERVER".equalsIgnoreCase(DBname)) {
querySql = "SELECT t1.* FROM " + tableName + " t1 " + querySql = "SELECT t1.* FROM " + tableName + " t1 " +