Commit 46e098ec by dong

fix20221130

parent 87798a6e
......@@ -390,8 +390,8 @@ def batch_export_project5():
req_dic = request.get_json()
select_id_list = req_dic["select_id_list"]
path = './apps/statics/project_file/'
# pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
# pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
if not select_id_list:
return jsonify(code=RET.PARAMERR, msg="参数不能为空!")
target_data_list = []
......@@ -1377,8 +1377,8 @@ def download_jc_data():
req_dic = request.get_json()
year = req_dic["year"]
path = './apps/statics/project_file/'
# pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
# pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
if not year:
return jsonify(code=RET.PARAMERR, msg="参数不能为空!")
target_data_list = []
......@@ -1669,8 +1669,8 @@ def download_money_arrive():
req_dic = request.get_json()
data_time = req_dic["data_time"]
path = './apps/statics/project_file/'
# pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
# pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
if not data_time:
return jsonify(code=RET.PARAMERR, msg="参数不能为空!")
target_data_list = []
......
......@@ -32,6 +32,7 @@ def get_data1(district_li, current_year):
try:
for district in district_li:
project_obj_list = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).all()
......@@ -69,11 +70,13 @@ def get_data2(district_li, current_year):
for district in district_li:
# 签约项目个数
sign_num = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).count()
# 年度目标
start_num = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
ProjectManagement.start_time.like('%{}%'.format(str(current_year))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).count()
......@@ -97,6 +100,7 @@ def get_data3(district_li, current_year):
try:
for district in district_li:
project_obj_list = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
ProjectManagement.start_time.like('%{}%'.format(str(current_year))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).all()
......@@ -169,6 +173,7 @@ def get_data5(district_li, current_year):
try:
for district in district_li:
project_obj_list = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
ProjectManagement.is_fixed_investment == '否',
ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
......@@ -382,13 +387,9 @@ def export_jc_data():
req_dic = request.get_json()
flag = req_dic['flag'] # 1县(市、区)、开发区指标,2开发区(示范区)指标
data_time = req_dic['data_time']
# year = req_dic['year']
current_year = datetime.now().year
path = './apps/statics/project_file/'
# pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
pro_path = 'http://39.100.39.50:8008/aaa_statics/project_file/' # 项目路径
# pro_path = 'http://192.168.1.4:5000/statics/project_file/' # 项目路径
if flag == 1:
res = export_jc_data1(data_time, path, pro_path)
if res == 'error':
......@@ -419,26 +420,22 @@ def export_jc_data1(data_time, path, pro_path):
target_data_list = []
try:
for district in district_li:
project_obj = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
)
data_list = []
# 县(市、区)、开发区
data_list.append(district)
# 签约个数
sign_num = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).count()
sign_num = project_obj.count()
data_list.append(sign_num)
# 签约金额(亿元)
project_obj_list = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).all()
project_obj_list = project_obj.all()
if not project_obj_list:
sign_money = 0
else:
......@@ -469,7 +466,7 @@ def export_jc_data1(data_time, path, pro_path):
start_num = ProjectManagement.query.filter(
ProjectManagement.start_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).count()
data_list.append(start_num)
......@@ -489,7 +486,7 @@ def export_jc_data1(data_time, path, pro_path):
project_obj_list = ProjectManagement.query.filter(
ProjectManagement.start_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).all()
if not project_obj_list:
......@@ -561,7 +558,7 @@ def export_jc_data1(data_time, path, pro_path):
ProjectManagement.is_fixed_investment == '否',
ProjectManagement.sign_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).all()
if not project_obj_list:
......@@ -637,6 +634,7 @@ def export_jc_data1(data_time, path, pro_path):
current_app.logger.error(e)
return 'error'
# 开发区指标完成表导出
def export_jc_data2(data_time, path, pro_path):
district_li = ["晋城经济技术开发区(一区四园)", "高平经济技术开发区",
......@@ -657,7 +655,8 @@ def export_jc_data2(data_time, path, pro_path):
project_obj = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.district.like('%{}%'.format(str(district)))
ProjectManagement.district.like('%{}%'.format(str(district))),
ProjectManagement.is_delete == 0
)
# 1县(市、区)、开发区
data_list.append(district)
......@@ -685,7 +684,7 @@ def export_jc_data2(data_time, path, pro_path):
project_obj1 = ProjectManagement.query.filter(
ProjectManagement.start_time.like('%{}%'.format(str(current_year1))),
ProjectManagement.start_time.like('%{}%'.format(str(current_year2))),
ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district)))
)
project_obj_list1 = project_obj1.all()
......@@ -767,20 +766,20 @@ def project_graph():
req_dic = request.get_json()
district = req_dic['district']
flag = req_dic['flag'] # 1项目来源区域分布,2项目投资额区间分布,3项目产业分布,4项目行业类型分布
project_source = req_dic['project_source'] # 用于1项目来源区域分布
industry_name = req_dic['industry_name'] # 用于4项目行业类型分布
current_year = datetime.now().year
try:
project_obj = ProjectManagement.query.filter(
ProjectManagement.district == district if district else text(''),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year)))
ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
ProjectManagement.is_delete == 0
)
if not project_obj.all():
return jsonify(code=RET.NODATA, msg='查询无数据!')
if flag == 1:
num1 = 0 # 京津冀
num2 = 0 # 长三角
num3 = 0 # 珠三角
num4 = 0 # 中原经济区
num5 = 0 # 其他
total_num = project_obj.count()
num1 = project_obj.filter(or_(
ProjectManagement.project_source.like('%北京%'),
......@@ -799,8 +798,6 @@ def project_graph():
)).count()
num4 = project_obj.filter(or_(
ProjectManagement.project_source.like('%河南%'),
# ProjectManagement.project_source.like('%天津%'),
# ProjectManagement.project_source.like('%河北%'),
ProjectManagement.project_source.like('%长治%'),
ProjectManagement.project_source.like('%晋城%'),
ProjectManagement.project_source.like('%运城%'),
......@@ -875,19 +872,128 @@ def project_graph():
{"name": "第三产业", "value": round(project_count3 / total_num * 100, 2)},
]
elif flag == 4:
industry_list = []
for project_obj_obj in project_obj.all():
if project_obj_obj.industry not in industry_list:
industry_list.append(project_obj_obj.industry)
continue
else:
continue
# industry_list = []
# for project_obj_obj in project_obj.all():
# if project_obj_obj.industry not in industry_list:
# industry_list.append(project_obj_obj.industry)
# continue
# else:
# continue
industry_list = ["传统产业升级改造", "现代农业", "战略性新兴产业", "现代服务业", "文化旅游产业", "其他"]
data = []
num_li = []
for industry in industry_list:
if industry == '其他':
all_project_count = project_obj.count()
other_num = all_project_count - sum(num_li)
data_dic = {"name": industry, "value": other_num}
data.append(data_dic)
else:
project_count = project_obj.filter(ProjectManagement.industry == industry).count()
num_li.append(project_count)
data_dic = {"name": industry, "value": project_count}
data.append(data_dic)
continue
elif flag == 5:
if project_source == '京津冀':
num1 = project_obj.filter(or_(
ProjectManagement.project_source.like('%北京%'),
)).count()
num2 = project_obj.filter(or_(
ProjectManagement.project_source.like('%天津%'),
)).count()
num3 = project_obj.filter(or_(
ProjectManagement.project_source.like('%河北%')
)).count()
total_num = sum([num1, num2, num3])
data = [
{"name": "北京市", "value": round(num1 / total_num * 100, 2)},
{"name": "天津市", "value": round(num2 / total_num * 100, 2)},
{"name": "河北省", "value": round(num3 / total_num * 100, 2)},
]
if project_source == '长三角':
num1 = project_obj.filter(or_(
ProjectManagement.project_source.like('%江苏%'),
)).count()
num2 = project_obj.filter(or_(
ProjectManagement.project_source.like('%浙江%'),
)).count()
num3 = project_obj.filter(or_(
ProjectManagement.project_source.like('%上海%')
)).count()
total_num = sum([num1, num2, num3])
data = [
{"name": "江苏省", "value": round(num1 / total_num * 100, 2)},
{"name": "浙江省", "value": round(num2 / total_num * 100, 2)},
{"name": "上海市", "value": round(num3 / total_num * 100, 2)},
]
if project_source == '珠三角':
num1 = project_obj.filter(or_(
ProjectManagement.project_source.like('%广东%'),
)).count()
num2 = project_obj.filter(or_(
ProjectManagement.project_source.like('%香港%'),
)).count()
num3 = project_obj.filter(or_(
ProjectManagement.project_source.like('%澳门%')
)).count()
total_num = sum([num1, num2, num3])
data = [
{"name": "广东省", "value": round(num1 / total_num * 100, 2)},
{"name": "香港特别行政区", "value": round(num2 / total_num * 100, 2)},
{"name": "澳门特别行政区", "value": round(num3 / total_num * 100, 2)},
]
if project_source == '中原经济区':
project_obj_list = project_obj.filter(or_(
ProjectManagement.project_source.like('%河南%'),
ProjectManagement.project_source.like('%长治%'),
ProjectManagement.project_source.like('%晋城%'),
ProjectManagement.project_source.like('%运城%'),
ProjectManagement.project_source.like('%聊城%'),
ProjectManagement.project_source.like('%菏泽%'),
ProjectManagement.project_source.like('%泰安%'),
ProjectManagement.project_source.like('%宿州%'),
ProjectManagement.project_source.like('%淮北%'),
ProjectManagement.project_source.like('%阜阳%'),
ProjectManagement.project_source.like('%亳州%'),
ProjectManagement.project_source.like('%蚌埠%'),
ProjectManagement.project_source.like('%淮南%'),
ProjectManagement.project_source.like('%邢台%'),
ProjectManagement.project_source.like('%邯郸%')
)).all()
source_list = set([project_obj.project_source for project_obj in project_obj_list])
num_list = []
source_data_list = []
data = []
for source in list(source_list):
num = project_obj.filter(or_(
ProjectManagement.project_source.like('%{}%'.format(source)),
)).count()
num_list.append(num)
source_data_list.append({"source": source, "num": num})
total_num = sum(num_list)
for source_data in source_data_list:
data_dic = {"name": source_data["source"], "value": round(source_data["num"] / total_num * 100, 2)}
data.append(data_dic)
continue
elif flag == 6:
project_obj_list = project_obj.filter(ProjectManagement.industry == industry_name).all()
industry2_name_list = set([project_obj.industry2 for project_obj in project_obj_list])
num_list = []
industry_data_list = []
data = []
for industry2 in list(industry2_name_list):
num = project_obj.filter(ProjectManagement.industry2 == industry2).count()
num_list.append(num)
industry_data_list.append({"industry": industry2, "num": num})
continue
total_num = sum(num_list)
for industry_data in industry_data_list:
data.append({"name": industry_data["industry"], "value": round(industry_data["num"] / total_num * 100, 2)})
continue
else:
return jsonify(code=RET.PARAMERR, msg="参数错误!")
......@@ -915,7 +1021,8 @@ def areal_project():
try:
project_obj = ProjectManagement.query.filter(
ProjectManagement.district == district if district else text(''),
ProjectManagement.sign_time.like('%{}%'.format(str(current_year)))
ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
ProjectManagement.is_delete == 0
)
if flag == 1: # 项目来源区域分布项目列表
......@@ -960,8 +1067,6 @@ def areal_project():
elif project_source == '其他':
project_obj = project_obj.filter(and_(
ProjectManagement.project_source.notlike('%河南%'),
# ProjectManagement.project_source.notlike('%天津%'),
# ProjectManagement.project_source.notlike('%河北%'),
ProjectManagement.project_source.notlike('%长治%'),
ProjectManagement.project_source.notlike('%晋城%'),
ProjectManagement.project_source.notlike('%运城%'),
......@@ -1003,14 +1108,23 @@ def areal_project():
elif flag == 4: # 项目行业类型分布项目列表
if industry_name:
project_obj = project_obj.filter(ProjectManagement.industry == industry_name)
elif flag == 5: # 下钻的二级数据
if project_source:
project_obj = project_obj.filter(
ProjectManagement.project_source.like('%{}%'.format(project_source))
)
if industry_name:
project_obj = project_obj.filter(ProjectManagement.industry2 == industry_name)
else:
pass
if not project_obj.all():
return jsonify(code=RET.NODATA, msg='没有符合条件的数据!')
project_size = project_obj.count()
id_list = [project_obj.id for project_obj in project_obj.all()]
project_obj_list = project_obj.order_by(ProjectManagement.upload_time.desc()).paginate(page, per_page).items
data = [{
"id": project_obj.id,
"project_name": project_obj.project_name,
......@@ -1022,6 +1136,7 @@ def areal_project():
return jsonify(code=RET.OK,
data={"data": data,
"size": project_size,
"id_list": id_list,
"msg": "数据获取成功!"})
except Exception as 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