Commit ef7cb0cd authored by jichao's avatar jichao

修复业绩时间去值遇到节假日情况

parent 876fa964
......@@ -2,7 +2,7 @@ from datetime import datetime as dt
from typing import List
import pandas as pd
from py_jftech import component, autowired, get_config, format_date
from py_jftech import component, autowired, get_config, format_date, filter_weekend
from api import RoboReportor
......@@ -29,8 +29,10 @@ class FixedRangeReport(RoboReportor):
if not datas.empty:
result = pd.DataFrame(columns=datas.columns)
for range in self.range_dates:
row_name = f"{format_date(range['start'])}~{format_date(range['end'])}"
result.loc[row_name] = datas[range['start']:range['end']].values[-1] / datas[range['start']:range['end']].values[0] - 1
start = filter_weekend(range['start'])
end = filter_weekend(range['end'])
row_name = f"{format_date(start)}~{format_date(end)}"
result.loc[row_name] = datas[start:end].values[-1] / datas[start:end].values[0] - 1
result = round(result, 4) * 100
result.reset_index(inplace=True)
result.rename(columns={'index': 'range-date'}, inplace=True)
......
......@@ -3,7 +3,7 @@ from typing import List
import pandas as pd
from dateutil.relativedelta import relativedelta
from py_jftech import component, autowired, get_config, format_date
from py_jftech import component, autowired, get_config, format_date, filter_weekend
from api import RoboReportor
......@@ -32,9 +32,10 @@ class RelativeRangeReport(RoboReportor):
for range in self.range_dates:
kwargs = range.copy()
del kwargs['name']
start = max_date - relativedelta(**kwargs)
row_name = f"{range['name']}({format_date(start)}~{format_date(max_date)})"
result.loc[row_name] = datas[start:max_date].values[-1] / datas[start:max_date].values[0] - 1
start = filter_weekend(max_date - relativedelta(**kwargs))
end = filter_weekend(max_date)
row_name = f"{range['name']}({format_date(start)}~{format_date(end)})"
result.loc[row_name] = datas[start:end].values[-1] / datas[start:end].values[0] - 1
result = round(result, 4) * 100
result.reset_index(inplace=True)
result.rename(columns={'index': 'range-date'}, inplace=True)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment