Commit 5cf6e3a4 by dong

fix20230111

parent ab01b5c0
......@@ -27,10 +27,34 @@ 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):
data_li1 = []
# now_time = datetime.now().strftime('%Y-%m-01 00:00:00')
# now_time1 = (datetime.now() - relativedelta(years=1)).strftime('%Y-%m-01 00:00:00')
#
# if data_time:
# if data_time[0] and data_time[1]:
# now_time3 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[1])
# if data_time[2]:
# now_time4 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[2])
try:
for district in district_li:
# if not data_time:
# project_obj_list = ProjectManagement.query.filter(
# ProjectManagement.is_delete == 0,
# ProjectManagement.sign_time < now_time,
# ProjectManagement.sign_time >= now_time1,
# 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 < now_time4 if now_time4 else text(''),
# ProjectManagement.sign_time >= now_time3,
# ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
# ).all()
project_obj_list = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
......@@ -68,23 +92,51 @@ def get_data1(district_li, current_year):
# 项目开工率
# def get_data2(district_li, current_year, data_time):
def get_data2(district_li, current_year):
data_li2 = []
# now_time = datetime.now().strftime('%Y-%m-01 00:00:00')
# now_time1 = (datetime.now() - relativedelta(years=1)).strftime('%Y-%m-01 00:00:00')
#
# if data_time:
# if data_time[0] and data_time[1]:
# now_time3 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[1])
# if data_time[2]:
# now_time4 = ('{}-{}-01 00:00:00').format(data_time[0], data_time[2])
try:
for district in district_li:
# 签约项目个数
# if not data_time:
# sign_num = ProjectManagement.query.filter(
# ProjectManagement.is_delete == 0,
# # ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
# ProjectManagement.sign_time < now_time,
# ProjectManagement.sign_time >= now_time1,
# 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.start_time < now_time,
# ProjectManagement.start_time >= now_time1,
# ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
# ).count()
sign_num = ProjectManagement.query.filter(
ProjectManagement.is_delete == 0,
# ProjectManagement.sign_time.like('%{}%'.format(str(current_year))),
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.start_time.like('%{}%'.format(str(current_year))),
ProjectManagement.district.like('%{}%'.format(str(district))) if district != '全市' else text('')
).count()
data = {
"name": district,
"data": start_num,
......@@ -304,28 +356,34 @@ def get_data6(district_li, current_year):
return data_li6
# def get_data_li(district_li, current_year, data_time):
def get_data_li(district_li, current_year):
# 一。项目签约完成率(签约项目完成率:完成率(%):签约金额(亿元)/ 年度目标(亿元))
# data_li1 = get_data1(district_li, current_year, data_time)
data_li1 = get_data1(district_li, current_year)
if data_li1 == 'error':
return jsonify(code=RET.DBERR, msg='项目签约完成率计算出错')
# 二。项目开工率(开工率进度:当年签约当年开工个数/签约个数)
# data_li2 = get_data2(district_li, current_year, data_time)
data_li2 = get_data2(district_li, current_year)
if data_li2 == 'error':
return jsonify(code=RET.DBERR, msg='项目开工率计算出错')
# 三。新开工项目计划投资额完成率(完成率(%):新开工项目计划投资额(亿元)/ 年度目标(亿元))
# data_li3 = get_data3(district_li, current_year, data_time)
data_li3 = get_data3(district_li, current_year)
if data_li3 == 'error':
return jsonify(code=RET.DBERR, msg='新开工项目计划投资额完成率计算出错')
# 四。固定资产投资项目到位资金完成率(完成率(%):固定资产投资项目资金到位额(亿元)/ 年度目标(亿元))
# data_li4 = get_data4(district_li, current_year, data_time)
data_li4 = get_data4(district_li, current_year)
if data_li4 == 'error':
return jsonify(code=RET.DBERR, msg='固定资产投资项目到位资金完成率计算出错')
# 五。非固定资产投资项目到位资金完成率(完成率(%):非固定资产投资项目资金到位额(亿元)/ 年度目标(亿元))
# data_li5 = get_data5(district_li, current_year, data_time)
data_li5 = get_data5(district_li, current_year)
if data_li5 == 'error':
return jsonify(code=RET.DBERR, msg='非固定资产投资项目到位资金完成率计算出错')
......@@ -338,20 +396,18 @@ def get_data_li(district_li, current_year):
def statistic_shanxi_data():
req_dic = request.get_json()
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] + '月'
data_time = req_dic['data_time'] # ["2022", "07", "18"]
data_time = data_time[0] + '年' + data_time[1] + '-' + data_time[2] + '月'
try:
# 获取最新的时间周期
data_obj = ShanxiTarget.query.order_by(sqlalchemy.desc(ShanxiTarget.id)).first()
data_time1 = data_obj.data_time
target_obj_li = ShanxiTarget.query.filter_by(data_time=data_time1, is_delete=0).all()
# if not data_time1:
# # 获取最新时间周期的数据
# 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()
if not data_time1:
# 获取最新时间周期的数据
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 = ''
data2 = ''
......@@ -393,12 +449,14 @@ def statistic_shanxi_data():
@api_manage.route("/StatisticJcData", methods=["POST"])
def statistic_jc_data():
# req_dic = request.get_json()
# data_time = req_dic['data_time']
# data_time = req_dic['data_time'] # [2022, 01, 12]
current_year = datetime.now().year
# current_year = datetime.now().year
current_year = 2022
district_li = ["全市", "城区", "泽州县", "高平市", "阳城县", "陵川县",
"沁水县", "晋城经济技术开发区"]
try:
# data_li1, data_li2, data_li3, data_li4, data_li5 = get_data_li(district_li, current_year, data_time)
data_li1, data_li2, data_li3, data_li4, data_li5 = get_data_li(district_li, current_year)
# 六。综合得分
......
......@@ -1295,6 +1295,9 @@ class ProjectManagement(db.Model):
sign_time = db.Column(db.String(40), default='', comment='签约时间')
start_time = db.Column(db.String(40), default='', comment='开工时间')
end_time = db.Column(db.String(40), default='', comment='竣工时间')
# sign_time = db.Column(db.DateTime, default='', comment='签约时间')
# start_time = db.Column(db.DateTime, default='', comment='开工时间')
# end_time = db.Column(db.DateTime, default='', comment='竣工时间')
investor_rank = db.Column(db.String(30), comment='投资方排名')
is_transf_project = db.Column(db.String(30), comment='是否转型项目')
country = db.Column(db.String(30), comment='投资方国别')
......
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