Commit 0740a9f4 by dong

fix20230113

parent c41f8c37
...@@ -323,6 +323,10 @@ def upload_project_data2(): ...@@ -323,6 +323,10 @@ def upload_project_data2():
set_project_status = row_content[17] # 项目立项状态 set_project_status = row_content[17] # 项目立项状态
project_progress = row_content[18] # 项目进展 project_progress = row_content[18] # 项目进展
sign_time = row_content[19] # 签约时间 sign_time = row_content[19] # 签约时间
project_year = ''
if sign_time:
project_year = int(sign_time.splite('/')[0])
start_time = row_content[20] # 开工时间 start_time = row_content[20] # 开工时间
end_time = row_content[21] # 竣工时间 end_time = row_content[21] # 竣工时间
is_fixed_investment = row_content[22] # 固定资产投资项目 is_fixed_investment = row_content[22] # 固定资产投资项目
...@@ -361,7 +365,7 @@ def upload_project_data2(): ...@@ -361,7 +365,7 @@ def upload_project_data2():
} }
time_strf = datetime.now().strftime("%Y") time_strf = datetime.now().strftime("%Y")
project_num_li = '' project_num_li = ''
project_obj_list = ProjectManagement.query.all() project_obj_list = ProjectManagement.query.filter_by(is_delete=0).all()
if project_obj_list: if project_obj_list:
project_num_li = [project_obj.project_num for project_obj in project_obj_list if project_num_li = [project_obj.project_num for project_obj in project_obj_list if
project_obj.project_num.startswith(time_strf + prefix_dic[district])] project_obj.project_num.startswith(time_strf + prefix_dic[district])]
...@@ -405,6 +409,7 @@ def upload_project_data2(): ...@@ -405,6 +409,7 @@ def upload_project_data2():
set_project_status=set_project_status, set_project_status=set_project_status,
project_progress=project_progress, project_progress=project_progress,
sign_time=sign_time, sign_time=sign_time,
project_year=project_year,
start_time=start_time, start_time=start_time,
end_time=end_time, end_time=end_time,
is_fixed_investment=is_fixed_investment, is_fixed_investment=is_fixed_investment,
...@@ -621,6 +626,10 @@ def project_edit(): ...@@ -621,6 +626,10 @@ def project_edit():
project_unity = request.form['project_unity'] project_unity = request.form['project_unity']
is_development_project = request.form['is_development_project'] is_development_project = request.form['is_development_project']
sign_time = request.form['sign_time'] sign_time = request.form['sign_time']
project_year = ''
if sign_time:
project_year = int(sign_time.splite('/')[0])
start_time = request.form['start_time'] start_time = request.form['start_time']
end_time = request.form['end_time'] end_time = request.form['end_time']
investor_rank = request.form['investor_rank'] investor_rank = request.form['investor_rank']
...@@ -687,12 +696,12 @@ def project_edit(): ...@@ -687,12 +696,12 @@ def project_edit():
project_obj.project_problem = project_problem project_obj.project_problem = project_problem
project_obj.upload_unity = upload_unity project_obj.upload_unity = upload_unity
project_obj.upload_people = upload_people project_obj.upload_people = upload_people
# project_obj.upload_time = upload_time
project_obj.project_num = project_num project_obj.project_num = project_num
project_obj.project_source = project_source project_obj.project_source = project_source
project_obj.project_unity = project_unity project_obj.project_unity = project_unity
project_obj.is_development_project = is_development_project project_obj.is_development_project = is_development_project
project_obj.sign_time = sign_time project_obj.sign_time = sign_time
project_obj.project_year = project_year
project_obj.start_time = start_time project_obj.start_time = start_time
project_obj.end_time = end_time project_obj.end_time = end_time
project_obj.investor_rank = investor_rank project_obj.investor_rank = investor_rank
......
...@@ -289,7 +289,7 @@ def update_sign_project(upload_people, row_content): ...@@ -289,7 +289,7 @@ def update_sign_project(upload_people, row_content):
# 更新开工库 # 更新开工库
def update_star_project(upload_people, row_content): def update_start_project(upload_people, row_content):
try: try:
project_num = row_content[0] # 项目编号 project_num = row_content[0] # 项目编号
project_name = row_content[1] # 项目名称 project_name = row_content[1] # 项目名称
...@@ -840,7 +840,6 @@ def upload_project_data1(): ...@@ -840,7 +840,6 @@ def upload_project_data1():
return jsonify(code=RET.DATAERR, msg='数据更新出错,错误位置为第【{}】行!'.format(i)) return jsonify(code=RET.DATAERR, msg='数据更新出错,错误位置为第【{}】行!'.format(i))
else: else:
pass pass
if int(data_type) == 3: # 更新签约库 if int(data_type) == 3: # 更新签约库
row_list = [table.row_values(i) for i in range(1, nrows)] row_list = [table.row_values(i) for i in range(1, nrows)]
rows = len(row_list) rows = len(row_list)
...@@ -869,7 +868,7 @@ def upload_project_data1(): ...@@ -869,7 +868,7 @@ def upload_project_data1():
return jsonify(code=RET.NODATA, return jsonify(code=RET.NODATA,
msg="表格内无有效数据!") msg="表格内无有效数据!")
ret = update_star_project(row_content) ret = update_start_project(upload_people, row_content)
if ret == 'continue': if ret == 'continue':
update_num += 1 update_num += 1
continue continue
......
...@@ -27,7 +27,6 @@ from apps.inves_manage.siku_view import get_num, upload_daily_picture ...@@ -27,7 +27,6 @@ from apps.inves_manage.siku_view import get_num, upload_daily_picture
# 项目签约完成率 # 项目签约完成率
# def get_data1(district_li, current_year, data_time):
def get_data1(district_li, current_year): def get_data1(district_li, current_year):
data_li1 = [] data_li1 = []
# now_time = datetime.now().strftime('%Y-%m-01 00:00:00') # now_time = datetime.now().strftime('%Y-%m-01 00:00:00')
...@@ -92,7 +91,6 @@ def get_data1(district_li, current_year): ...@@ -92,7 +91,6 @@ def get_data1(district_li, current_year):
# 项目开工率 # 项目开工率
# def get_data2(district_li, current_year, data_time):
def get_data2(district_li, current_year): def get_data2(district_li, current_year):
data_li2 = [] data_li2 = []
...@@ -1263,40 +1261,42 @@ def get_data(): ...@@ -1263,40 +1261,42 @@ def get_data():
flag = req_dic['flag'] flag = req_dic['flag']
# current_year = str(datetime.now().year) # current_year = str(datetime.now().year)
current_year = "2022" current_year = "2022"
district_li1 = ["全市", "城区", "泽州县", "高平市", "阳城县", "陵川县", "沁水县", "晋城经济技术开发区"] district_li1 = ["全市", "城区", "泽州县", "高平市", "阳城县",
"陵川县", "沁水县", "晋城经济技术开发区"]
target_data_li = [] target_data_li = []
if flag == 1: # 签约项目完成情况 if flag == 1: # 签约项目完成情况
try: try:
for district in district_li1: # for district in district_li1:
data = {} # data = {}
project_obj = ProjectManagement.query.filter( # project_obj = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(current_year)), # ProjectManagement.sign_time.like('%{}%'.format(current_year)),
ProjectManagement.is_delete == 0, # ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('') # ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
) # )
# 区县 # # 区县
data.update({"district": district}) # data.update({"district": district})
# 年度目标 # # 年度目标
jc_obj = JcTarget.query.filter(JcTarget.year.like('%{}%'.format(current_year)), # jc_obj = JcTarget.query.filter(JcTarget.year.like('%{}%'.format(current_year)),
JcTarget.is_delete == 0, # JcTarget.is_delete == 0,
JcTarget.district_name.like('%{}%'.format(str(district))) if district != '全市' else text('')).first() # JcTarget.district_name.like('%{}%'.format(str(district))) if district != '全市' else text('')).first()
target = 0 # target = 0
if jc_obj: # if jc_obj:
target = jc_obj.money_sign # target = jc_obj.money_sign
data.update({"target": target}) # data.update({"target": target})
# 签约金额(亿元) # # 签约金额(亿元)
project_obj_list = project_obj.all() # project_obj_list = project_obj.all()
if not project_obj_list: # if not project_obj_list:
sign_money = 0 # sign_money = 0
else: # else:
sign_money = sum([project_obj.investment_volume / 10000 for project_obj in project_obj_list]) # sign_money = sum([project_obj.investment_volume / 10000 for project_obj in project_obj_list])
data.update({"value": round(sign_money, 2)}) # data.update({"value": round(sign_money, 2)})
#
# 签约完成率 # # 签约完成率
rate = round(sign_money / target * 100, 2) if target and target != 0 else 0 # rate = round(sign_money / target * 100, 2) if target and target != 0 else 0
data.update({"rate": rate}) # data.update({"rate": rate})
target_data_li.append(data) # target_data_li.append(data)
target_data_li = get_data1(district_li1, current_year)
return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。') return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。')
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
...@@ -1304,30 +1304,32 @@ def get_data(): ...@@ -1304,30 +1304,32 @@ def get_data():
if flag == 2: # 项目开工完成情况 if flag == 2: # 项目开工完成情况
try: try:
for district in district_li1: # for district in district_li1:
data = {} # data = {}
# 区县 # # 区县
data.update({"district": district}) # data.update({"district": district})
project_obj = ProjectManagement.query.filter( # project_obj = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(current_year)), # ProjectManagement.sign_time.like('%{}%'.format(current_year)),
ProjectManagement.is_delete == 0, # ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('') # ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
) # )
# 签约个数 # # 签约个数
sign_num = project_obj.count() # sign_num = project_obj.count()
data.update({"value": sign_num}) # data.update({"value": sign_num})
# 当年开工个数 # # 当年开工个数
target = ProjectManagement.query.filter( # target = ProjectManagement.query.filter(
ProjectManagement.start_time.like('%{}%'.format(current_year)), # ProjectManagement.start_time.like('%{}%'.format(current_year)),
ProjectManagement.is_delete == 0, # ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('') # ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).count() # ).count()
data.update({"target": target}) # data.update({"target": target})
#
# # 开工率进度(40 %)
# rate = round(target / sign_num * 100, 2) if sign_num and sign_num != 0 else 0
# data.update({"rate": rate})
# target_data_li.append(data)
target_data_li = get_data2(district_li1, current_year)
# 开工率进度(40 %)
rate = round(target / sign_num * 100, 2) if sign_num and sign_num != 0 else 0
data.update({"rate": rate})
target_data_li.append(data)
return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。') return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。')
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
...@@ -1335,38 +1337,39 @@ def get_data(): ...@@ -1335,38 +1337,39 @@ def get_data():
if flag == 3: # 新开工项目计划投资额完情况 if flag == 3: # 新开工项目计划投资额完情况
try: try:
for district in district_li1: # for district in district_li1:
data = {} # data = {}
# 区县 # # 区县
data.update({"district": district}) # data.update({"district": district})
# 新开工项目计划投资额(亿元) # # 新开工项目计划投资额(亿元)
project_obj_list = ProjectManagement.query.filter( # project_obj_list = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(current_year)), # ProjectManagement.sign_time.like('%{}%'.format(current_year)),
ProjectManagement.is_delete == 0, # ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(district)) if district != '全市' else text('') # ProjectManagement.district.like('%{}%'.format(district)) if district != '全市' else text('')
).all() # ).all()
if not project_obj_list: # if not project_obj_list:
new_start_money = 0 # new_start_money = 0
else: # else:
new_start_money = sum([project_obj.investment_volume / 10000 for project_obj in project_obj_list]) # new_start_money = sum([project_obj.investment_volume / 10000 for project_obj in project_obj_list])
data.update({"value": round(new_start_money, 2)}) # data.update({"value": round(new_start_money, 2)})
#
# 新开工年度目标 # # 新开工年度目标
jc_obj = JcTarget.query.filter( # jc_obj = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''), # JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.year.like('%{}%'.format(current_year)), # JcTarget.year.like('%{}%'.format(current_year)),
JcTarget.is_delete == 0 # JcTarget.is_delete == 0
).first() # ).first()
if not jc_obj: # if not jc_obj:
target = 0 # target = 0
else: # else:
target = jc_obj.money_plan_invest # target = jc_obj.money_plan_invest
data.update({"target": target}) # data.update({"target": target})
#
# 新开工完成率 # # 新开工完成率
rate = round(new_start_money / target * 100, 2) if target and target != 0 else 0 # rate = round(new_start_money / target * 100, 2) if target and target != 0 else 0
data.update({"rate": rate}) # data.update({"rate": rate})
target_data_li.append(data) # target_data_li.append(data)
target_data_li = get_data3(district_li1, current_year)
return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。') return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。')
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
...@@ -1374,42 +1377,43 @@ def get_data(): ...@@ -1374,42 +1377,43 @@ def get_data():
if flag == 4: # 固投资金完成情况 if flag == 4: # 固投资金完成情况
try: try:
for district in district_li1: # for district in district_li1:
data = {} # data = {}
# 区县 # # 区县
data.update({"district": district}) # data.update({"district": district})
# 固定资产投资项目资金到位额(亿元) # # 固定资产投资项目资金到位额(亿元)
money_obj_li = MoneyArrive.query.filter_by(is_delete=0).all() # money_obj_li = MoneyArrive.query.filter_by(is_delete=0).all()
max_id = max([money_obj.id for money_obj in money_obj_li]) # max_id = max([money_obj.id for money_obj in money_obj_li])
data_time_obj = MoneyArrive.query.get(max_id) # data_time_obj = MoneyArrive.query.get(max_id)
data_time = data_time_obj.data_time # data_time = data_time_obj.data_time
project_obj = MoneyArrive.query.filter( # project_obj = MoneyArrive.query.filter(
MoneyArrive.data_time == data_time, # MoneyArrive.data_time == data_time,
MoneyArrive.is_delete == 0, # MoneyArrive.is_delete == 0,
MoneyArrive.district_name.like('%{}%'.format(str(district))) if district != '全市' else text('') # MoneyArrive.district_name.like('%{}%'.format(str(district))) if district != '全市' else text('')
).first() # ).first()
if not project_obj: # if not project_obj:
gutou1_money = 0 # gutou1_money = 0
else: # else:
gutou1_money = project_obj.arrive_money # gutou1_money = project_obj.arrive_money
data.update({"value": gutou1_money}) # data.update({"value": gutou1_money})
#
# 年度目标 # # 年度目标
jc_obj = JcTarget.query.filter( # jc_obj = JcTarget.query.filter(
JcTarget.district_name == district if district != '全市' else text(''), # JcTarget.district_name == district if district != '全市' else text(''),
JcTarget.year.like('%{}%'.format(str(current_year))), # JcTarget.year.like('%{}%'.format(str(current_year))),
JcTarget.is_delete == 0 # JcTarget.is_delete == 0
).first() # ).first()
if not jc_obj: # if not jc_obj:
gutou1_target = 0 # gutou1_target = 0
else: # else:
gutou1_target = jc_obj.money_arrive_target1 # gutou1_target = jc_obj.money_arrive_target1
data.update({"target": gutou1_target}) # data.update({"target": gutou1_target})
#
# 完成率 # # 完成率
gutou1_rate = round(gutou1_money / gutou1_target * 100, 2) if gutou1_target and gutou1_target != 0 else 0 # gutou1_rate = round(gutou1_money / gutou1_target * 100, 2) if gutou1_target and gutou1_target != 0 else 0
data.update({"rate": gutou1_rate}) # data.update({"rate": gutou1_rate})
target_data_li.append(data) # target_data_li.append(data)
target_data_li = get_data4(district_li1, current_year)
return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。') return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。')
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
...@@ -1417,39 +1421,40 @@ def get_data(): ...@@ -1417,39 +1421,40 @@ def get_data():
if flag == 5: # 非固投资金完成情况 if flag == 5: # 非固投资金完成情况
try: try:
for district in district_li1: # for district in district_li1:
data = {} # data = {}
# 区县 # # 区县
data.update({"district": district}) # data.update({"district": district})
# 非固定资产投资项目资金到位额(亿元) # # 非固定资产投资项目资金到位额(亿元)
project_obj_list = ProjectManagement.query.filter( # project_obj_list = ProjectManagement.query.filter(
ProjectManagement.is_fixed_investment == '否', # ProjectManagement.is_fixed_investment == '否',
ProjectManagement.sign_time.like('%{}%'.format(current_year)), # ProjectManagement.sign_time.like('%{}%'.format(current_year)),
ProjectManagement.is_delete == 0, # ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('') # ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).all() # ).all()
if not project_obj_list: # if not project_obj_list:
gutou0_money = 0 # gutou0_money = 0
else: # else:
gutou0_money = sum([project_obj.investment_volume / 10000 for project_obj in project_obj_list]) # gutou0_money = sum([project_obj.investment_volume / 10000 for project_obj in project_obj_list])
data.update({"value": round(gutou0_money, 2)}) # data.update({"value": round(gutou0_money, 2)})
#
# 年度目标 # # 年度目标
jc_obj = JcTarget.query.filter( # jc_obj = JcTarget.query.filter(
JcTarget.district_name == district, # JcTarget.district_name == district,
JcTarget.year.like('%{}%'.format(current_year)), # JcTarget.year.like('%{}%'.format(current_year)),
JcTarget.is_delete == 0 # JcTarget.is_delete == 0
).first() # ).first()
if not jc_obj: # if not jc_obj:
gutou0_target = 0 # gutou0_target = 0
else: # else:
gutou0_target = jc_obj.money_arrive_target0 # gutou0_target = jc_obj.money_arrive_target0
data.update({"target": gutou0_target}) # data.update({"target": gutou0_target})
#
# 完成率 # # 完成率
gutou0_rate = round(gutou0_money / gutou0_target * 100, 2) if gutou0_target and gutou0_target != 0 else 0 # gutou0_rate = round(gutou0_money / gutou0_target * 100, 2) if gutou0_target and gutou0_target != 0 else 0
data.update({"rate": gutou0_rate}) # data.update({"rate": gutou0_rate})
target_data_li.append(data) # target_data_li.append(data)
target_data_li = get_data5(district_li1, current_year)
return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。') return jsonify(code=RET.OK, data=target_data_li, msg='数据查询成功。')
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
......
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