2025-11-11 10:07:25 +08:00
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
# @Author: Owl
|
|
|
|
|
|
# @Date: 2025/11/10 18:12
|
|
|
|
|
|
# @Description:
|
|
|
|
|
|
|
|
|
|
|
|
import json
|
|
|
|
|
|
from flask import Flask, request, jsonify, redirect
|
|
|
|
|
|
from flask_cors import CORS
|
|
|
|
|
|
from app.models import *
|
|
|
|
|
|
from app.task_worker import *
|
2025-11-11 11:20:50 +08:00
|
|
|
|
from app.cross_eva_views import *
|
2025-11-11 10:07:25 +08:00
|
|
|
|
#app = Flask(__name__)
|
|
|
|
|
|
#CORS(app, resources={r"/api/*": {"origins": "*"}})
|
|
|
|
|
|
|
|
|
|
|
|
#获取路口台账的查询时的基础参数
|
|
|
|
|
|
@app.route('/api/get_task_list_parameter', methods=['GET'])
|
|
|
|
|
|
def cross_task_list_parameter():
|
|
|
|
|
|
return do_query_task_list_parameter(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
#获取全部符合条件的任务
|
|
|
|
|
|
#task_name
|
|
|
|
|
|
#task_type
|
|
|
|
|
|
#task_class
|
|
|
|
|
|
#plan_begin_time
|
|
|
|
|
|
#plan_end_time
|
|
|
|
|
|
#state
|
|
|
|
|
|
#executor
|
|
|
|
|
|
#task_src
|
|
|
|
|
|
@app.route('/api/get_task_list', methods=['GET'])
|
|
|
|
|
|
def get_task_list():
|
|
|
|
|
|
return do_query_task_list(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#获取所有具有'已完成'任务的路口
|
|
|
|
|
|
#params
|
|
|
|
|
|
#nodeid
|
|
|
|
|
|
@app.route('/api/get_completed_task_cross_list', methods=['GET'])
|
|
|
|
|
|
def get_completed_task_cross_list():
|
|
|
|
|
|
return do_query_completed_task_cross_list(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
#获取指定路口的所有的'已完成'任务
|
|
|
|
|
|
#params
|
|
|
|
|
|
#nodeid
|
|
|
|
|
|
#crossid
|
|
|
|
|
|
@app.route('/api/get_completed_task_by_cross', methods=['GET'])
|
|
|
|
|
|
def get_completed_task_by_cross():
|
|
|
|
|
|
return do_query_completed_task_by_cross(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#参数:
|
|
|
|
|
|
# "nodeid": "9660"
|
|
|
|
|
|
#creatorid
|
|
|
|
|
|
#task_name
|
|
|
|
|
|
#task_type
|
|
|
|
|
|
#plan_begin_time
|
|
|
|
|
|
#plan_end_time
|
|
|
|
|
|
#executor
|
|
|
|
|
|
#description
|
|
|
|
|
|
#crossids 路口id
|
|
|
|
|
|
#sectionids 路段id,选填
|
|
|
|
|
|
#comment
|
|
|
|
|
|
#task_src
|
|
|
|
|
|
#task_class
|
|
|
|
|
|
@app.route('/api/add_task', methods=['POST'])
|
|
|
|
|
|
def add_task():
|
|
|
|
|
|
try:
|
|
|
|
|
|
vle = do_add_task(dict(request.form))
|
|
|
|
|
|
return vle
|
|
|
|
|
|
except pymysql.Error as e:
|
|
|
|
|
|
# 捕获 PyMySQL 异常
|
|
|
|
|
|
logging.error(f"add_task except: {e}")
|
|
|
|
|
|
return json.dumps(make_common_res(-1, '发生异常'))
|
|
|
|
|
|
|
|
|
|
|
|
#删除任务
|
|
|
|
|
|
#参数:
|
|
|
|
|
|
# "nodeid": "9660"
|
|
|
|
|
|
# "taskno"
|
|
|
|
|
|
# 20250103 更新为post接口以支持同时删除多条记录
|
|
|
|
|
|
@app.route('/api/remove_task', methods=['POST'])
|
|
|
|
|
|
def remove_task():
|
|
|
|
|
|
return do_remove_task(request.get_json())
|
|
|
|
|
|
|
|
|
|
|
|
#下发任务
|
|
|
|
|
|
#参数:
|
|
|
|
|
|
# "nodeid": "9660"
|
|
|
|
|
|
# "taskno"
|
|
|
|
|
|
@app.route('/api/distribute_task', methods=['POST'])
|
|
|
|
|
|
def distribute_task():
|
|
|
|
|
|
return do_distribute_task(dict(request.form))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#审批任务
|
|
|
|
|
|
#参数:
|
|
|
|
|
|
# "nodeid": "9660"
|
|
|
|
|
|
# "taskno"
|
|
|
|
|
|
@app.route('/api/approval_task', methods=['POST'])
|
|
|
|
|
|
def approval_task():
|
2025-12-22 15:28:23 +08:00
|
|
|
|
return do_approval(dict(request.form))
|
2025-11-11 10:07:25 +08:00
|
|
|
|
|
|
|
|
|
|
#完成任务
|
|
|
|
|
|
#参数:
|
|
|
|
|
|
# "nodeid": "9660"
|
|
|
|
|
|
# "taskno"
|
|
|
|
|
|
@app.route('/api/complete_task', methods=['GET'])
|
|
|
|
|
|
def complete_task():
|
|
|
|
|
|
return do_complete_task(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/api/update_task', methods=['POST'])
|
|
|
|
|
|
def update_task():
|
|
|
|
|
|
return do_update_task(dict(request.form))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#参数:
|
|
|
|
|
|
# "nodeid": "9660"
|
|
|
|
|
|
# "taskno"
|
|
|
|
|
|
@app.route('/api/get_task_history', methods=['GET'])
|
|
|
|
|
|
def get_task_history():
|
|
|
|
|
|
return do_query_task_history(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#参数:
|
|
|
|
|
|
# "nodeid": "9660"
|
|
|
|
|
|
# "cross_id"
|
|
|
|
|
|
@app.route('/api/get_task_detail', methods=['GET'])
|
|
|
|
|
|
def get_task_detail():
|
|
|
|
|
|
return do_query_task_detail(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/api/upload_task_file', methods=['POST'])
|
|
|
|
|
|
def task_upload():
|
|
|
|
|
|
return do_task_upload(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/api/download_task_file', methods=['GET'])
|
|
|
|
|
|
def task_download():
|
|
|
|
|
|
return do_task_file_download(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.route('/api/del_task_file', methods=['GET'])
|
|
|
|
|
|
def task_del():
|
|
|
|
|
|
return del_task_file_api(dict(request.args))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# if __name__ == '__main__':
|
|
|
|
|
|
# init()
|
|
|
|
|
|
# app.run(debug=True)
|