Commit 8a539f7e by dong

fix20230306

parent 210ba33f
......@@ -42,14 +42,14 @@ from apps.inves_manage.siku_view import get_num, upload_daily_picture
# 项目签约完成率
def get_data1(data_time, district_li, current_year):
def get_data1(data_time, district_li, max_year):
try:
data_li1 = []
for district in district_li:
if not data_time:
# 获取晋城年度目标表中的最新数据看看是哪一年的
jc_obj_list = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.district_name == district,
JcTarget.is_delete == 0
).all()
year_list = []
......@@ -85,8 +85,8 @@ def get_data1(data_time, district_li, current_year):
# 年度目标
jc_obj = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.year.like('%{}%'.format(str(data_time[0])) if data_time else str(max_year)),
JcTarget.district_name == district,
JcTarget.year.like('%{}%'.format(str(data_time[0]) if data_time else str(max_year))),
# JcTarget.year.like('%{}%'.format(str(data_time[0]))) if data_time else text(''),
JcTarget.is_delete == 0
).first()
......@@ -535,13 +535,12 @@ def get_data1(data_time, district_li, current_year):
""""""
def get_data2(data_time, district_li, current_year):
def get_data2(data_time, district_li, max_year):
data_li2 = []
now_time3 = ''
now_time4 = ''
now_time = datetime.now().strftime('%Y-01-01 00:00:00')
now_time1 = (datetime.now() + relativedelta(years=1)).strftime('%Y-01-01 00:00:00')
now_time = '{}-01-01 00:00:00'.format(max_year)
now_time1 = '{}-01-01 00:00:00'.format(max_year + 1)
if data_time:
if data_time[0] and data_time[1]:
now_time3 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[1])
......@@ -601,7 +600,7 @@ def get_data2(data_time, district_li, current_year):
# 新开工项目计划投资额完成率
def get_data3(data_time, district_li, current_year):
def get_data3(data_time, district_li, max_year):
data_li3 = []
max_year = ''
try:
......@@ -609,7 +608,7 @@ def get_data3(data_time, district_li, current_year):
if not data_time:
# 获取晋城年度目标表中的最新数据看看是哪一年的
jc_obj_list = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.district_name == district,
JcTarget.is_delete == 0
).all()
year_list = []
......@@ -642,8 +641,8 @@ def get_data3(data_time, district_li, current_year):
investment_volume = sum([project_obj.investment_volume for project_obj in project_obj_list])
# 年度目标
jc_obj = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.year.like('%{}%'.format(str(data_time[0])) if data_time else str(max_year)),
JcTarget.district_name == district,
JcTarget.year.like('%{}%'.format(str(data_time[0]) if data_time else str(max_year))),
JcTarget.is_delete == 0
).first()
if not jc_obj:
......@@ -668,14 +667,14 @@ def get_data3(data_time, district_li, current_year):
# 固定资产投资项目到位资金完成率
def get_data4(data_time, district_li, current_year):
def get_data4(data_time, district_li, max_year):
data_li4 = []
try:
for district in district_li:
# 获取晋城年度目标表中的最新数据看看是哪一年的
jc_obj_list = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.district_name == district,
JcTarget.is_delete == 0
).all()
year_list = []
......@@ -684,9 +683,10 @@ def get_data4(data_time, district_li, current_year):
max_year = max(set(year_list))
project_obj = MoneyArrive.query.filter(
MoneyArrive.data_time.like('%{}%'.format(data_time[0]) if data_time else str(max_year)),
# MoneyArrive.data_time.like('%{}%'.format(data_time[0]) if data_time else str(max_year)),
MoneyArrive.data_time.like('%{}%'.format(str(data_time[0]) if data_time else str(max_year))),
MoneyArrive.is_delete == 0,
MoneyArrive.district_name.like('%{}%'.format(str(district))) if district != '全市' else text('')
MoneyArrive.district_name == district
).first()
if not project_obj:
arrive_money = 0
......@@ -694,8 +694,8 @@ def get_data4(data_time, district_li, current_year):
arrive_money = project_obj.arrive_money
# 年度目标
jc_obj = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.year.like('%{}%'.format(data_time[0]) if data_time else str(max_year)),
JcTarget.district_name == district,
JcTarget.year.like('%{}%'.format(str(data_time[0]) if data_time else str(max_year))),
JcTarget.is_delete == 0
).first()
if not jc_obj:
......@@ -720,17 +720,14 @@ def get_data4(data_time, district_li, current_year):
# 非固定资产投资项目到位资金完成率
def get_data5(data_time, district_li, current_year):
def get_data5(data_time, district_li, max_year):
data_li5 = []
try:
for district in district_li:
if not data_time:
# 获取晋城年度目标表中的最新数据看看是哪一年的
jc_obj_list = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.district_name == district,
JcTarget.is_delete == 0
).all()
year_list = []
......@@ -740,7 +737,6 @@ def get_data5(data_time, district_li, current_year):
now_time = '{}-01-01 00:00:00'.format(max_year)
now_time1 = '{}-01-01 00:00:00'.format(max_year + 1)
project_obj_list = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
ProjectManagement.is_fixed_investment == '否',
......@@ -768,8 +764,8 @@ def get_data5(data_time, district_li, current_year):
investment_volume = sum([float(project_obj.investment_year) for project_obj in project_obj_list])
# 年度目标
jc_obj = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.year.like('%{}%'.format(data_time[0]) if data_time else str(max_year)),
JcTarget.district_name == district,
JcTarget.year.like('%{}%'.format(str(data_time[0]) if data_time else str(max_year))),
JcTarget.is_delete == 0
).first()
if not jc_obj:
......@@ -872,29 +868,29 @@ def get_data6(district_li, data_li1, data_li2, data_li3, data_li4, data_li5):
return data_li6
def get_data_li(data_time, district_li, current_year):
def get_data_li(data_time, district_li, max_year):
# 一。项目签约完成率(签约项目完成率:完成率(%):签约金额(亿元)/ 年度目标(亿元))
data_li1 = get_data1(data_time, district_li, current_year)
data_li1 = get_data1(data_time, district_li, max_year)
if data_li1 == 'error':
return jsonify(code=RET.DBERR, msg='项目签约完成率计算出错')
# 二。项目开工率(开工率进度:当年签约当年开工个数/签约个数)
data_li2 = get_data2(data_time, district_li, current_year)
data_li2 = get_data2(data_time, district_li, max_year)
if data_li2 == 'error':
return jsonify(code=RET.DBERR, msg='项目开工率计算出错')
# 三。新开工项目计划投资额完成率(完成率(%):新开工项目计划投资额(亿元)/ 年度目标(亿元))
data_li3 = get_data3(data_time, district_li, current_year)
data_li3 = get_data3(data_time, district_li, max_year)
if data_li3 == 'error':
return jsonify(code=RET.DBERR, msg='新开工项目计划投资额完成率计算出错')
# 四。固定资产投资项目到位资金完成率(完成率(%):固定资产投资项目资金到位额(亿元)/ 年度目标(亿元))
data_li4 = get_data4(data_time, district_li, current_year)
data_li4 = get_data4(data_time, district_li, max_year)
if data_li4 == 'error':
return jsonify(code=RET.DBERR, msg='固定资产投资项目到位资金完成率计算出错')
# 五。非固定资产投资项目到位资金完成率(完成率(%):非固定资产投资项目资金到位额(亿元)/ 年度目标(亿元))
data_li5 = get_data5(data_time, district_li, current_year)
data_li5 = get_data5(data_time, district_li, max_year)
if data_li5 == 'error':
return jsonify(code=RET.DBERR, msg='非固定资产投资项目到位资金完成率计算出错')
......@@ -980,7 +976,7 @@ def statistic_jc_data():
year_list.append(int(jc_obj.year.split('年')[0]))
max_year = max(set(year_list))
data_li1, data_li2, data_li3, data_li4, data_li5 = get_data_li(data_time, district_li, current_year)
data_li1, data_li2, data_li3, data_li4, data_li5 = get_data_li(data_time, district_li, max_year)
# 六。综合得分
data_li6 = get_data6(district_li, data_li1, data_li2, data_li3, data_li4, data_li5)
......
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