分子分母归属月份字段更新
This commit is contained in:
@@ -185,7 +185,7 @@ class CommonModule:
|
|||||||
|
|
||||||
# 获取指定天数前的日期
|
# 获取指定天数前的日期
|
||||||
now_time = datetime.now()
|
now_time = datetime.now()
|
||||||
yes_time = now_time + timedelta(days=-2)
|
yes_time = now_time + timedelta(days=-2) # 防止NGV没更新
|
||||||
yes_time_nyr = int(yes_time.strftime('%Y%m%d')) # 获取前两天日期
|
yes_time_nyr = int(yes_time.strftime('%Y%m%d')) # 获取前两天日期
|
||||||
|
|
||||||
# 获取指定天数前的日期
|
# 获取指定天数前的日期
|
||||||
|
|||||||
@@ -141,3 +141,32 @@ Traceback (most recent call last):
|
|||||||
import numpy.typing as typing
|
import numpy.typing as typing
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
ModuleNotFoundError: No module named 'numpy.rec'
|
ModuleNotFoundError: No module named 'numpy.rec'
|
||||||
|
2026-01-06 16:04:19,673 - log_config.py - error_task_logger - ERROR - 任务执行失败: Can only use .dt accessor with datetimelike values
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "D:\Idea Project\SaaS_V1.7\back_ground_module\update_molecule_reporting_adjustment_to_bi.py", line 207, in main
|
||||||
|
df['归属月份'] = df['归属月份'].dt.tz_localize(None).dt.strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\generic.py", line 6321, in __getattr__
|
||||||
|
return object.__getattribute__(self, name)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\accessor.py", line 224, in __get__
|
||||||
|
accessor_obj = self._accessor(obj)
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\indexes\accessors.py", line 643, in __new__
|
||||||
|
raise AttributeError("Can only use .dt accessor with datetimelike values")
|
||||||
|
AttributeError: Can only use .dt accessor with datetimelike values. Did you mean: 'at'?
|
||||||
|
2026-01-06 16:14:24,812 - log_config.py - error_task_logger - ERROR - 写入数据时发生错误: overflow encountered in multiply
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "D:\Idea Project\SaaS_V1.7\back_ground_module\update_denominator_reporting_adjustment_to_bi.py", line 157, in write_to_bi
|
||||||
|
dt_utc = pd.to_datetime(timestamp_ms, unit='ms', utc=True)
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\tools\datetimes.py", line 1072, in to_datetime
|
||||||
|
values = convert_listlike(arg._values, format)
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\tools\datetimes.py", line 409, in _convert_listlike_datetimes
|
||||||
|
return _to_datetime_with_unit(arg, unit, name, utc, errors)
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\pandas\core\tools\datetimes.py", line 517, in _to_datetime_with_unit
|
||||||
|
arr = cast_from_unit_vectorized(arg, unit=unit)
|
||||||
|
File "pandas/_libs/tslibs/conversion.pyx", line 149, in pandas._libs.tslibs.conversion.cast_from_unit_vectorized
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\numpy\_core\fromnumeric.py", line 3674, in round
|
||||||
|
return _wrapfunc(a, 'round', decimals=decimals, out=out)
|
||||||
|
File "D:\Program Files\anaconda3\envs\SaaS\Lib\site-packages\numpy\_core\fromnumeric.py", line 54, in _wrapfunc
|
||||||
|
return bound(*args, **kwds)
|
||||||
|
FloatingPointError: overflow encountered in multiply
|
||||||
|
|||||||
@@ -63,7 +63,8 @@ class DenominatorReportingAdjustment:
|
|||||||
"总部调整结果": "selectField_lfqwg05y",
|
"总部调整结果": "selectField_lfqwg05y",
|
||||||
"总部核对结果": "selectField_lfqwg05x",
|
"总部核对结果": "selectField_lfqwg05x",
|
||||||
"是否上传衡石": "selectField_mca5shoz",
|
"是否上传衡石": "selectField_mca5shoz",
|
||||||
"是否计入应续约数": "selectField_mdnwwvyo"
|
"是否计入应续约数": "selectField_mdnwwvyo",
|
||||||
|
"归属月份": "dateField_mjtprnxl",
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_yida_data(self):
|
def get_yida_data(self):
|
||||||
@@ -146,15 +147,31 @@ class DenominatorReportingAdjustment:
|
|||||||
|
|
||||||
|
|
||||||
# 处理日期字段 - 新增部分
|
# 处理日期字段 - 新增部分
|
||||||
date_fields = ['开户日期', '开始时间', '结束时间']
|
date_fields = ['开户日期', '开始时间', '结束时间', "归属月份"]
|
||||||
|
# 处理日期字段 - 安全版本
|
||||||
for field in date_fields:
|
for field in date_fields:
|
||||||
if field in df.columns:
|
if field in df.columns:
|
||||||
# 转换为整数类型
|
# 1. 先确保是数值类型,非数字转为 NaN
|
||||||
df[field] = pd.to_numeric(df[field], errors='coerce').astype('Int64')
|
numeric_series = pd.to_numeric(df[field], errors='coerce')
|
||||||
# 转换为datetime对象
|
|
||||||
df[field] = pd.to_datetime(df[field], unit='ms')
|
# 2. 设置合理的时间戳范围(毫秒)
|
||||||
# 转换为MySQL兼容的字符串格式
|
# 1970-01-01 到 2100-12-31
|
||||||
df[field] = df[field].dt.strftime('%Y-%m-%d %H:%M:%S')
|
min_ts = 0
|
||||||
|
max_ts = 4102444799999 # 2100-12-31 23:59:59.999 UTC 毫秒
|
||||||
|
|
||||||
|
# 3. 过滤掉超出范围的值(设为 NaN)
|
||||||
|
valid_mask = (numeric_series >= min_ts) & (numeric_series <= max_ts)
|
||||||
|
safe_timestamps = numeric_series.where(valid_mask)
|
||||||
|
|
||||||
|
# 4. 转换为 datetime(只对有效值转换)
|
||||||
|
try:
|
||||||
|
dt_utc = pd.to_datetime(safe_timestamps, unit='ms', utc=True)
|
||||||
|
dt_shanghai = dt_utc.dt.tz_convert('Asia/Shanghai')
|
||||||
|
dt_naive = dt_shanghai.dt.tz_localize(None)
|
||||||
|
df[field] = dt_naive.dt.strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
except Exception as e:
|
||||||
|
error_task_logger.warning(f"字段 '{field}' 时间转换失败,全部置空: {e}")
|
||||||
|
df[field] = None
|
||||||
|
|
||||||
df = df.replace([None, np.nan, pd.NA, 'nan', 'NaN', 'NAN', ''], None)
|
df = df.replace([None, np.nan, pd.NA, 'nan', 'NaN', 'NAN', ''], None)
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,10 @@ class MoleculeReportingAdjustment:
|
|||||||
if id_in_map == field_id:
|
if id_in_map == field_id:
|
||||||
transformed_data[display_name] = value
|
transformed_data[display_name] = value
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# BI上已经实现
|
# BI上已经实现
|
||||||
# if transformed_data.get("是否上传衡石") == "否" or transformed_data.get("是否上传衡石") is None:
|
# if transformed_data.get("是否上传衡石") == "否" or transformed_data.get("是否上传衡石") is None:
|
||||||
# continue
|
# continue
|
||||||
@@ -193,11 +197,21 @@ class MoleculeReportingAdjustment:
|
|||||||
df = pd.DataFrame(self.molecule_data_list)
|
df = pd.DataFrame(self.molecule_data_list)
|
||||||
# df.to_csv('molecule_data.csv', index=False)
|
# df.to_csv('molecule_data.csv', index=False)
|
||||||
if '归属月份' in df.columns:
|
if '归属月份' in df.columns:
|
||||||
# 确保是整数类型
|
# 1. 先将所有值转为数值,无法转换的变成 NaN
|
||||||
df['归属月份'] = df['归属月份'].astype('Int64')
|
timestamp_ms = pd.to_numeric(df['归属月份'], errors='coerce')
|
||||||
# 转换为datetime对象
|
|
||||||
df['归属月份'] = pd.to_datetime(df['归属月份'], unit='ms')
|
# 2. 只对有效数值(非 NaN)进行 datetime 转换
|
||||||
# 转换为MySQL兼容的字符串格式
|
# unit='ms', origin='unix' (默认), utc=True 表示输入是 UTC 毫秒时间戳
|
||||||
|
df['归属月份'] = pd.to_datetime(timestamp_ms, unit='ms', utc=True)
|
||||||
|
|
||||||
|
# 3. 转换时区到 UTC+8(Asia/Shanghai)
|
||||||
|
df['归属月份'] = df['归属月份'].dt.tz_convert('Asia/Shanghai')
|
||||||
|
|
||||||
|
# 4. 移除时区信息(因为 MySQL DATETIME 不支持时区)
|
||||||
|
df['归属月份'] = df['归属月份'].dt.tz_localize(None)
|
||||||
|
|
||||||
|
# 5. 格式化为字符串(可选:如果你写入的是 DATETIME 字段,其实可以保持 datetime 类型,pymysql 会自动处理)
|
||||||
|
# 但你当前 write_to_bi 用的是 %s 插入,所以需要字符串
|
||||||
df['归属月份'] = df['归属月份'].dt.strftime('%Y-%m-%d %H:%M:%S')
|
df['归属月份'] = df['归属月份'].dt.strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
# step2:清空BI数据表
|
# step2:清空BI数据表
|
||||||
|
|||||||
@@ -2578,3 +2578,24 @@
|
|||||||
2026-01-04 13:45:42,823 - log_config.py - error_task_logger - ERROR - 任务 合伙人结算登记同步到BI (12:02) 超过执行窗口5分钟以上,标记为过期。
|
2026-01-04 13:45:42,823 - log_config.py - error_task_logger - ERROR - 任务 合伙人结算登记同步到BI (12:02) 超过执行窗口5分钟以上,标记为过期。
|
||||||
2026-01-04 13:45:42,824 - log_config.py - error_task_logger - ERROR - 任务 省市区人员关系表转BI (08:00) 超过执行窗口5分钟以上,标记为过期。
|
2026-01-04 13:45:42,824 - log_config.py - error_task_logger - ERROR - 任务 省市区人员关系表转BI (08:00) 超过执行窗口5分钟以上,标记为过期。
|
||||||
2026-01-04 13:45:42,824 - log_config.py - error_task_logger - ERROR - 任务 续约回访待办 (09:35) 超过执行窗口5分钟以上,标记为过期。
|
2026-01-04 13:45:42,824 - log_config.py - error_task_logger - ERROR - 任务 续约回访待办 (09:35) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,451 - log_config.py - error_task_logger - ERROR - 任务 NGV新增数据 (09:00) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,452 - log_config.py - error_task_logger - ERROR - 任务 新签客户回访 (09:05) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,453 - log_config.py - error_task_logger - ERROR - 任务 续约客户回访 (09:08) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,454 - log_config.py - error_task_logger - ERROR - 任务 接车宝日常派发 (09:10) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,455 - log_config.py - error_task_logger - ERROR - 任务 私域小程序数据支撑 (04:40) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,456 - log_config.py - error_task_logger - ERROR - 任务 小六提成数据支撑 (04:40) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,457 - log_config.py - error_task_logger - ERROR - 任务 异业合作数据支撑 (04:20) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,459 - log_config.py - error_task_logger - ERROR - 任务 短信数据支撑 (04:10) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,460 - log_config.py - error_task_logger - ERROR - 任务 海外邮件推送 (08:28) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,461 - log_config.py - error_task_logger - ERROR - 任务 异常服务待办派发 (10:00) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,462 - log_config.py - error_task_logger - ERROR - 任务 简道云海外项目CRM客户档案迁移BI (08:37) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,463 - log_config.py - error_task_logger - ERROR - 任务 分母报备调整 (09:05) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,465 - log_config.py - error_task_logger - ERROR - 任务 分子报备调整 (09:03) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,466 - log_config.py - error_task_logger - ERROR - 任务 履约表数据支撑 (09:10) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,467 - log_config.py - error_task_logger - ERROR - 任务 字段监控 (06:25) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,468 - log_config.py - error_task_logger - ERROR - 任务 经销商新签服务单转BI (08:05) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,470 - log_config.py - error_task_logger - ERROR - 任务 非标业绩提报转BI (08:01) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,471 - log_config.py - error_task_logger - ERROR - 任务 合伙人结算登记同步到BI (08:02) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,472 - log_config.py - error_task_logger - ERROR - 任务 高德匹配手机号 (05:00) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,473 - log_config.py - error_task_logger - ERROR - 任务 省市区人员关系表转BI (08:00) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
2026-01-06 10:22:45,475 - log_config.py - error_task_logger - ERROR - 任务 续约回访待办 (09:35) 超过执行窗口5分钟以上,标记为过期。
|
||||||
|
|||||||
@@ -291,3 +291,53 @@
|
|||||||
2026-01-04 13:45:42,825 - utils.py - task_logger - INFO - 任务 续约回访待办 (09:35) 状态已更新为 过期。
|
2026-01-04 13:45:42,825 - utils.py - task_logger - INFO - 任务 续约回访待办 (09:35) 状态已更新为 过期。
|
||||||
2026-01-04 13:45:42,825 - utils.py - task_logger - INFO - 启动任务加载完成。
|
2026-01-04 13:45:42,825 - utils.py - task_logger - INFO - 启动任务加载完成。
|
||||||
2026-01-04 13:45:42,825 - main.py - task_logger - INFO - 程序已启动...
|
2026-01-04 13:45:42,825 - main.py - task_logger - INFO - 程序已启动...
|
||||||
|
2026-01-06 10:22:44,364 - utils.py - task_logger - INFO - 任务队列已从磁盘加载。
|
||||||
|
2026-01-06 10:22:45,444 - api.py - task_logger - INFO - 获取了35条数据
|
||||||
|
2026-01-06 10:22:45,449 - sample_cloud_modules.py - task_logger - INFO - 任务已从云端获取并保存到 tasks.csv 文件。
|
||||||
|
2026-01-06 10:22:45,450 - main.py - task_logger - INFO - 任务列表已保存到 csv 文件中。
|
||||||
|
2026-01-06 10:22:45,450 - utils.py - task_logger - INFO - 启动时加载并执行任务...
|
||||||
|
2026-01-06 10:22:45,451 - utils.py - task_logger - INFO - 任务已从磁盘加载到全局任务字典。
|
||||||
|
2026-01-06 10:22:45,452 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,452 - utils.py - task_logger - INFO - 任务 NGV新增数据 (09:00) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,453 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,453 - utils.py - task_logger - INFO - 任务 新签客户回访 (09:05) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,453 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,454 - utils.py - task_logger - INFO - 任务 续约客户回访 (09:08) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,454 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,455 - utils.py - task_logger - INFO - 任务 接车宝日常派发 (09:10) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,456 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,456 - utils.py - task_logger - INFO - 任务 私域小程序数据支撑 (04:40) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,457 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,457 - utils.py - task_logger - INFO - 任务 小六提成数据支撑 (04:40) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,458 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,458 - utils.py - task_logger - INFO - 任务 异业合作数据支撑 (04:20) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,459 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,460 - utils.py - task_logger - INFO - 任务 短信数据支撑 (04:10) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,461 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,461 - utils.py - task_logger - INFO - 任务 海外邮件推送 (08:28) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,462 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,462 - utils.py - task_logger - INFO - 任务 异常服务待办派发 (10:00) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,463 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,463 - utils.py - task_logger - INFO - 任务 简道云海外项目CRM客户档案迁移BI (08:37) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,464 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,465 - utils.py - task_logger - INFO - 任务 分母报备调整 (09:05) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,466 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,466 - utils.py - task_logger - INFO - 任务 分子报备调整 (09:03) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,467 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,467 - utils.py - task_logger - INFO - 任务 履约表数据支撑 (09:10) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,468 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,468 - utils.py - task_logger - INFO - 任务 字段监控 (06:25) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,469 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,469 - utils.py - task_logger - INFO - 任务 经销商新签服务单转BI (08:05) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,470 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,471 - utils.py - task_logger - INFO - 任务 非标业绩提报转BI (08:01) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,472 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,472 - utils.py - task_logger - INFO - 任务 合伙人结算登记同步到BI (08:02) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,473 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,473 - utils.py - task_logger - INFO - 任务 高德匹配手机号 (05:00) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,474 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,474 - utils.py - task_logger - INFO - 任务 省市区人员关系表转BI (08:00) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 所有任务状态已保存到磁盘。
|
||||||
|
2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 任务 续约回访待办 (09:35) 状态已更新为 过期。
|
||||||
|
2026-01-06 10:22:45,476 - utils.py - task_logger - INFO - 启动任务加载完成。
|
||||||
|
2026-01-06 10:22:45,476 - main.py - task_logger - INFO - 程序已启动...
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
unique_id,exec_time,is_switch_on,status
|
unique_id,exec_time,is_switch_on,status
|
||||||
NGV新增数据,09:00,True,过期
|
NGV新增数据,09:00,True,过期
|
||||||
NGV更新数据,12:30,True,过期
|
NGV更新数据,12:30,True,待执行
|
||||||
新签客户回访,09:05,True,过期
|
新签客户回访,09:05,True,过期
|
||||||
续约客户回访,09:08,True,过期
|
续约客户回访,09:08,True,过期
|
||||||
大客户回访,08:55,False,已禁用
|
大客户回访,08:55,False,已禁用
|
||||||
@@ -28,9 +28,9 @@ NGV更新数据,12:30,True,过期
|
|||||||
非标业绩提报转BI,08:01,True,过期
|
非标业绩提报转BI,08:01,True,过期
|
||||||
合伙人结算登记同步到BI,08:02,True,过期
|
合伙人结算登记同步到BI,08:02,True,过期
|
||||||
高德匹配手机号,05:00,True,过期
|
高德匹配手机号,05:00,True,过期
|
||||||
非标业绩提报转BI,12:01,True,过期
|
非标业绩提报转BI,12:01,True,待执行
|
||||||
非标业绩提报转BI,17:01,True,待执行
|
非标业绩提报转BI,17:01,True,待执行
|
||||||
合伙人结算登记同步到BI,12:02,True,过期
|
合伙人结算登记同步到BI,12:02,True,待执行
|
||||||
合伙人结算登记同步到BI,17:02,True,待执行
|
合伙人结算登记同步到BI,17:02,True,待执行
|
||||||
省市区人员关系表转BI,08:00,True,过期
|
省市区人员关系表转BI,08:00,True,过期
|
||||||
续约回访待办,09:35,True,过期
|
续约回访待办,09:35,True,过期
|
||||||
|
|||||||
|
@@ -596,6 +596,8 @@ class YDToJDYRenewalToDo(object):
|
|||||||
else:
|
else:
|
||||||
# 没有历史文件 或 无法比对 → 返回全部当前数据
|
# 没有历史文件 或 无法比对 → 返回全部当前数据
|
||||||
diff_records = df_current.to_dict('records') # ← 关键修改点
|
diff_records = df_current.to_dict('records') # ← 关键修改点
|
||||||
|
# 保存当前全量数据(覆盖)
|
||||||
|
df_current.to_csv(current_file, index=False)
|
||||||
|
|
||||||
return diff_records
|
return diff_records
|
||||||
|
|
||||||
|
|||||||
+21
-22
@@ -237,8 +237,8 @@
|
|||||||
{
|
{
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"ExecuteTime": {
|
"ExecuteTime": {
|
||||||
"end_time": "2025-12-25T06:47:43.233398500Z",
|
"end_time": "2026-01-06T08:14:03.891128500Z",
|
||||||
"start_time": "2025-12-25T06:47:42.837753600Z"
|
"start_time": "2026-01-06T08:14:03.535415Z"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
@@ -254,10 +254,10 @@
|
|||||||
" } # 衡时数据库链接配置-mysql\n",
|
" } # 衡时数据库链接配置-mysql\n",
|
||||||
"# table_name = \"new_dealer_service_order_to_bi\" # 替换为你的实际表名\n",
|
"# table_name = \"new_dealer_service_order_to_bi\" # 替换为你的实际表名\n",
|
||||||
"\n",
|
"\n",
|
||||||
"table_name = \"partner_settlement_to_BI\"\n",
|
"table_name = \"f6_denominator_adjustment\"\n",
|
||||||
"column_name = \"是否同步\"\n",
|
"column_name = \"归属月份\"\n",
|
||||||
"new_column_type = \"VARCHAR(255)\" # 目标数据类型\n",
|
"# new_column_type = \"VARCHAR(255)\" # 目标数据类型\n",
|
||||||
"# new_column_type = \"DATETIME\" # 目标数据类型\n",
|
"new_column_type = \"DATETIME\" # 目标数据类型\n",
|
||||||
"\n",
|
"\n",
|
||||||
"try:\n",
|
"try:\n",
|
||||||
" # 连接数据库\n",
|
" # 连接数据库\n",
|
||||||
@@ -316,12 +316,12 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"✅ 成功添加字段: `是否同步`\n",
|
"✅ 成功添加字段: `归属月份`\n",
|
||||||
"数据库连接已关闭\n"
|
"数据库连接已关闭\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"execution_count": 24
|
"execution_count": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
@@ -421,8 +421,8 @@
|
|||||||
{
|
{
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"ExecuteTime": {
|
"ExecuteTime": {
|
||||||
"end_time": "2025-06-11T01:39:55.579785Z",
|
"end_time": "2026-01-06T08:21:20.943512600Z",
|
||||||
"start_time": "2025-06-11T01:39:55.295469Z"
|
"start_time": "2026-01-06T08:21:19.361422Z"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
@@ -432,10 +432,10 @@
|
|||||||
"from mysql.connector import Error\n",
|
"from mysql.connector import Error\n",
|
||||||
"\n",
|
"\n",
|
||||||
"# 数据库连接信息\n",
|
"# 数据库连接信息\n",
|
||||||
"host = \"rm-uf6r230vbtxf5gdz63o.mysql.rds.aliyuncs.com\"\n",
|
"BI_CONN_host = \"f6-public.rwlb.rds.aliyuncs.com\"\n",
|
||||||
"user = \"rw_operation_data_relay\"\n",
|
"BI_CONN_INFO_database = \"f6operation_data_relay\"\n",
|
||||||
"password = \"m+q5Z4%IVuF9bf\"\n",
|
"BI_CONN_INFO_user = \"rw_operation_data_relay\"\n",
|
||||||
"database = \"f6operation_data_relay\"\n",
|
"BI_CONN_INFO_password = \"m+q5Z4%IVuF9bf\"\n",
|
||||||
"table_name = \"yida_process_time_statistics\" # 要操作的表名\n",
|
"table_name = \"yida_process_time_statistics\" # 要操作的表名\n",
|
||||||
"# table_name = \"thailand_store_data_email\" # 要操作的表名\n",
|
"# table_name = \"thailand_store_data_email\" # 要操作的表名\n",
|
||||||
"min_id_to_delete = 127821 # 要删除的最小ID值\n",
|
"min_id_to_delete = 127821 # 要删除的最小ID值\n",
|
||||||
@@ -443,20 +443,20 @@
|
|||||||
"# 连接数据库\n",
|
"# 连接数据库\n",
|
||||||
"try:\n",
|
"try:\n",
|
||||||
" connection = mysql.connector.connect(\n",
|
" connection = mysql.connector.connect(\n",
|
||||||
" host=host,\n",
|
" host=BI_CONN_host,\n",
|
||||||
" user=user,\n",
|
" user=BI_CONN_INFO_user,\n",
|
||||||
" password=password,\n",
|
" password=BI_CONN_INFO_password,\n",
|
||||||
" database=database\n",
|
" database=BI_CONN_INFO_database\n",
|
||||||
" )\n",
|
" )\n",
|
||||||
"\n",
|
"\n",
|
||||||
" if connection.is_connected():\n",
|
" if connection.is_connected():\n",
|
||||||
" cursor = connection.cursor()\n",
|
" cursor = connection.cursor()\n",
|
||||||
"\n",
|
"\n",
|
||||||
" # 使用DELETE删除ID大于等于127821的数据\n",
|
" # 使用DELETE删除ID大于等于127821的数据\n",
|
||||||
" cursor.execute(f\"DELETE FROM {table_name} WHERE id >= {min_id_to_delete}\")\n",
|
" # cursor.execute(f\"DELETE FROM {table_name} WHERE id >= {min_id_to_delete}\")\n",
|
||||||
|
" cursor.execute(f\"DELETE FROM GP_monthly_renewal_rate_new WHERE 月分区(仅用于存储每月最后一天截至数据) = '202512';\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
" connection.commit()\n",
|
" connection.commit()\n",
|
||||||
" print(f\"成功删除表 {table_name} 中ID大于等于{min_id_to_delete}的所有数据\")\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"except Error as e:\n",
|
"except Error as e:\n",
|
||||||
" print(f\"删除数据时发生错误: {e}\")\n",
|
" print(f\"删除数据时发生错误: {e}\")\n",
|
||||||
@@ -474,12 +474,11 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"成功删除表 yida_process_time_statistics 中ID大于等于127821的所有数据\n",
|
|
||||||
"数据库连接已关闭\n"
|
"数据库连接已关闭\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"execution_count": 3
|
"execution_count": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
|||||||
Reference in New Issue
Block a user