Commit f4e0d331 by dong

fix20230107

parent 31c76fa6
...@@ -27,15 +27,25 @@ from apps.inves_manage.siku_view import get_num, upload_daily_picture ...@@ -27,15 +27,25 @@ from apps.inves_manage.siku_view import get_num, upload_daily_picture
# 项目签约完成率 # 项目签约完成率
def get_data1(district_li, current_year): def get_data1(district_li, current_year, data_time):
data_li1 = [] data_li1 = []
if data_time:
data_time = data_time[0] + '/' + data_time[1] + '/' + data_time[2]
try: try:
for district in district_li: for district in district_li:
project_obj_list = ProjectManagement.query.filter( if not data_time:
ProjectManagement.is_delete == 0, project_obj_list = ProjectManagement.query.filter(
ProjectManagement.sign_time.like('%{}%'.format(str(current_year))), ProjectManagement.is_delete == 0,
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('') ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
).all() ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).all()
else:
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()
project_obj_list = [int(project_obj.sign_time.split('/')[1]) < data_time[1] for project_obj in project_obj_list]
if not project_obj_list: if not project_obj_list:
investment_volume = 0 investment_volume = 0
else: else:
...@@ -304,9 +314,9 @@ def get_data6(district_li, current_year): ...@@ -304,9 +314,9 @@ def get_data6(district_li, current_year):
return data_li6 return data_li6
def get_data_li(district_li, current_year): def get_data_li(district_li, current_year, data_time):
# 一。项目签约完成率(签约项目完成率:完成率(%):签约金额(亿元)/ 年度目标(亿元)) # 一。项目签约完成率(签约项目完成率:完成率(%):签约金额(亿元)/ 年度目标(亿元))
data_li1 = get_data1(district_li, current_year) data_li1 = get_data1(district_li, current_year, data_time)
if data_li1 == 'error': if data_li1 == 'error':
return jsonify(code=RET.DBERR, msg='项目签约完成率计算出错') return jsonify(code=RET.DBERR, msg='项目签约完成率计算出错')
...@@ -338,12 +348,19 @@ def get_data_li(district_li, current_year): ...@@ -338,12 +348,19 @@ def get_data_li(district_li, current_year):
def statistic_shanxi_data(): def statistic_shanxi_data():
req_dic = request.get_json() req_dic = request.get_json()
flag = req_dic['flag'] # 1项目签约金额完成情况, 2新开工项目计划投资额完成情况, 3固定资产投资项目资金到位完成情况 flag = req_dic['flag'] # 1项目签约金额完成情况, 2新开工项目计划投资额完成情况, 3固定资产投资项目资金到位完成情况
data_time = req_dic['data_time'] # ["2022", "07", "18"]
data_time = data_time[0] + '年' + data_time[1] + '-' + data_time[2] + '月'
try: try:
# 获取最新的时间周期 # 获取最新的时间周期
data_obj = ShanxiTarget.query.order_by(sqlalchemy.desc(ShanxiTarget.id)).first() data_obj = ShanxiTarget.query.order_by(sqlalchemy.desc(ShanxiTarget.id)).first()
data_time = data_obj.data_time data_time1 = data_obj.data_time
# 获取最新时间周期的数据 if not data_time1:
target_obj_li = ShanxiTarget.query.filter_by(data_time=data_time).all() # 获取最新时间周期的数据
target_obj_li = ShanxiTarget.query.filter_by(data_time=data_time1, is_delete=0).all()
else:
# 获取所选时间周期条件的数据
target_obj_li = ShanxiTarget.query.filter_by(data_time=data_time, is_delete=0).all()
data1 = '' data1 = ''
data2 = '' data2 = ''
if flag == 1: if flag == 1:
...@@ -369,7 +386,7 @@ def statistic_shanxi_data(): ...@@ -369,7 +386,7 @@ def statistic_shanxi_data():
"district_name": target_obj.district_name, "district_name": target_obj.district_name,
"arrive_money": round(target_obj.arrive_money / 10000, 2), "arrive_money": round(target_obj.arrive_money / 10000, 2),
"arrive_target_money": round(target_obj.arrive_target_money / 10000, 2), "arrive_target_money": round(target_obj.arrive_target_money / 10000, 2),
"arrive_finish_rate": target_obj.arrive_finish_rate, "arrive_finish_rate": round(target_obj.arrive_finish_rate, 2)
} for target_obj in target_obj_li] } for target_obj in target_obj_li]
data1 = sorted(data, key=lambda x: x['arrive_money'], reverse=True) data1 = sorted(data, key=lambda x: x['arrive_money'], reverse=True)
data2 = sorted(data1, key=lambda x: x['arrive_finish_rate'], reverse=True) data2 = sorted(data1, key=lambda x: x['arrive_finish_rate'], reverse=True)
...@@ -383,12 +400,14 @@ def statistic_shanxi_data(): ...@@ -383,12 +400,14 @@ def statistic_shanxi_data():
# 晋城市数据统计 # 晋城市数据统计
@api_manage.route("/StatisticJcData", methods=["POST"]) @api_manage.route("/StatisticJcData", methods=["POST"])
def statistic_jc_data(): def statistic_jc_data():
# req_dic = request.get_json() req_dic = request.get_json()
data_time = req_dic['data_time']
current_year = datetime.now().year current_year = datetime.now().year
district_li = ["全市", "城区", "泽州县", "高平市", "阳城县", "陵川县", district_li = ["全市", "城区", "泽州县", "高平市", "阳城县", "陵川县",
"沁水县", "晋城经济技术开发区"] "沁水县", "晋城经济技术开发区"]
try: try:
data_li1, data_li2, data_li3, data_li4, data_li5 = get_data_li(district_li, current_year) data_li1, data_li2, data_li3, data_li4, data_li5 = get_data_li(district_li, current_year, data_time)
# 六。综合得分 # 六。综合得分
data_li6 = get_data6(district_li, current_year) data_li6 = get_data6(district_li, current_year)
......
...@@ -1327,8 +1327,8 @@ class ShanxiTarget(db.Model): ...@@ -1327,8 +1327,8 @@ class ShanxiTarget(db.Model):
upload_time = db.Column(db.String(30), comment='上传日期') upload_time = db.Column(db.String(30), comment='上传日期')
upload_unit = db.Column(db.String(30), comment='上传部门') upload_unit = db.Column(db.String(30), comment='上传部门')
upload_people = db.Column(db.String(30), comment='上传人') upload_people = db.Column(db.String(30), comment='上传人')
district_name = db.Column(db.String(30), comment='区县名称') district_name = db.Column(db.String(30), comment='区县名称')
# 签约项目情况 # 签约项目情况
sign_money = db.Column(db.Float, comment='签约金额') sign_money = db.Column(db.Float, comment='签约金额')
sign_target_money = db.Column(db.Float, comment='目标金额(年度目标)') sign_target_money = db.Column(db.Float, comment='目标金额(年度目标)')
......
...@@ -100,7 +100,6 @@ def industry_cluster(): ...@@ -100,7 +100,6 @@ def industry_cluster():
find_up_thr1(2, industry_id), find_up_thr1(2, industry_id),
find_up_thr1(3, industry_id)] find_up_thr1(3, industry_id)]
} }
# print(result)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="数据异常") return jsonify(code=RET.DBERR, msg="数据异常")
...@@ -138,16 +137,17 @@ def find_up_thr1(industry_type, industry_id): ...@@ -138,16 +137,17 @@ def find_up_thr1(industry_type, industry_id):
"chain_name_id": chain_one_obj.id "chain_name_id": chain_one_obj.id
} for chain_one_obj in chain_one_obj_list] } for chain_one_obj in chain_one_obj_list]
for it in res_one: # 一级节点 for it in res_one: # 一级节点
pname_one = it pname_one = it
chain_name = pname_one["chain_name"] chain_name = pname_one["chain_name"]
c_type = Industry total_count = 0
company_count = get_count(chain_name) company_count = get_count(chain_name)
total_count += company_count
# 一级 # 一级
node_one = { node_one = {
"node": "{}".format(chain_name), "node": "{}".format(chain_name),
"level": 2, "level": 2,
"company_count": company_count, # "company_count": total_count,
"subNodeList": [] "subNodeList": []
} }
# 获取二级节点 # 获取二级节点
...@@ -160,6 +160,8 @@ def find_up_thr1(industry_type, industry_id): ...@@ -160,6 +160,8 @@ def find_up_thr1(industry_type, industry_id):
pname_two = item pname_two = item
chain_name = pname_two["chain_name"] chain_name = pname_two["chain_name"]
company_count = get_count(chain_name) company_count = get_count(chain_name)
total_count += company_count
# 二级 # 二级
node_two = { node_two = {
"node": "{}".format(chain_name), "node": "{}".format(chain_name),
...@@ -176,6 +178,8 @@ def find_up_thr1(industry_type, industry_id): ...@@ -176,6 +178,8 @@ def find_up_thr1(industry_type, industry_id):
pname_thr = itm pname_thr = itm
chain_name = pname_thr["chain_name"] chain_name = pname_thr["chain_name"]
company_count = get_count(chain_name) company_count = get_count(chain_name)
total_count += company_count
# 三级 # 三级
node_thr = { node_thr = {
"node": "{}".format(chain_name), "node": "{}".format(chain_name),
...@@ -185,7 +189,7 @@ def find_up_thr1(industry_type, industry_id): ...@@ -185,7 +189,7 @@ def find_up_thr1(industry_type, industry_id):
} }
node_two["subNodeList"].append(node_thr) node_two["subNodeList"].append(node_thr)
node_one["subNodeList"].append(node_two) node_one["subNodeList"].append(node_two)
data["subNodeList"].append(node_one) data["subNodeList"].append(node_one.update({"company_count": total_count}))
return data return data
......
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