|
@@ -157,12 +157,17 @@ async def select_tasks(
|
|
|
offset = (pageNum - 1) * pageSize
|
|
|
data_query = data_query.offset(offset).limit(pageSize)
|
|
|
|
|
|
- tasks = data_query.all()
|
|
|
+ rows = data_query.all()
|
|
|
+ data = []
|
|
|
+ for row in rows:
|
|
|
+ info = get_model_dict(row)
|
|
|
+ info['expire_time'] = get_date_str(info['expire_time'])
|
|
|
+ data.append(info)
|
|
|
|
|
|
return {
|
|
|
"code": 200,
|
|
|
"msg": "任务查询成功",
|
|
|
- "data": tasks,
|
|
|
+ "data": data,
|
|
|
"total": total_count,
|
|
|
"pages": (total_count + pageSize - 1) // pageSize,
|
|
|
"current_page": pageNum,
|
|
@@ -180,32 +185,66 @@ async def update_task_status(
|
|
|
request: Request,
|
|
|
db: Session = Depends(get_db),
|
|
|
user_id=Depends(valid_access_token)):
|
|
|
- body = await request.json()
|
|
|
- task_id_to_use = body.get('task_id')
|
|
|
- processing_status = body.get('processing_status')
|
|
|
-
|
|
|
- event_code = db.query(EventBase).filter(EventBase.event_code == body.get('event_code')).first()
|
|
|
- if not event_code:
|
|
|
- return Response(content="事件不存在", status_code=400)
|
|
|
|
|
|
+ try:
|
|
|
+ body = await request.json()
|
|
|
+ task_id_to_use = body.get('task_id')
|
|
|
+ processing_status = body.get('processing_status')
|
|
|
+ feedback_content = body.get('feedback_content')
|
|
|
+ attachList = body.get('attachList')
|
|
|
|
|
|
- if not task_id_to_use:
|
|
|
- return Response(content="Missing required parameter 'task_id'", status_code=400)
|
|
|
- if processing_status not in ['已完成', '处理中', '待处理','未完成']:
|
|
|
- return Response(content="processing_status must be '已完成' or '处理中' or '待处理' or '未完成'", status_code=400)
|
|
|
+ event_code = db.query(EventBase).filter(EventBase.event_code == body.get('event_code')).first()
|
|
|
+ if not event_code:
|
|
|
+ return Response(content="事件不存在", status_code=400)
|
|
|
|
|
|
- task_entry = (db.query(TaskRegistration)
|
|
|
- .filter(TaskRegistration.del_flag != '2')
|
|
|
- .filter(TaskRegistration.task_id == task_id_to_use))
|
|
|
- task_entry = task_entry.first()
|
|
|
- if not task_entry:
|
|
|
- raise HTTPException(status_code=404, detail="任务不存在")
|
|
|
|
|
|
- task_entry.processing_status = processing_status
|
|
|
- task_entry.update_time = datetime.now()
|
|
|
+ if not task_id_to_use:
|
|
|
+ return Response(content="Missing required parameter 'task_id'", status_code=400)
|
|
|
+ if processing_status not in ['已完成', '处理中', '待处理','未完成']:
|
|
|
+ return Response(content="processing_status must be '已完成' or '处理中' or '待处理' or '未完成'", status_code=400)
|
|
|
+
|
|
|
+ task_entry = (db.query(TaskRegistration)
|
|
|
+ .filter(TaskRegistration.del_flag != '2')
|
|
|
+ .filter(TaskRegistration.task_id == task_id_to_use))
|
|
|
+ task_entry = task_entry.first()
|
|
|
+ if not task_entry:
|
|
|
+ raise HTTPException(status_code=404, detail="任务不存在")
|
|
|
+
|
|
|
+ new_feeback = TaskFeeback(
|
|
|
+ task_id = task_id_to_use,
|
|
|
+ feeback_user = task_entry.registrar,
|
|
|
+ content = feedback_content,
|
|
|
+ processing_status = processing_status,
|
|
|
+ create_time = datetime.now(),
|
|
|
+ feeback_type = "0",
|
|
|
+ leader_unit = "",
|
|
|
+ leader_name = "",
|
|
|
+ approval_content = "",
|
|
|
+ recorded_by=user_id
|
|
|
+ )
|
|
|
+ db.add(new_feeback)
|
|
|
+ db.commit()
|
|
|
|
|
|
- try:
|
|
|
+ task_entry.processing_status = processing_status
|
|
|
+ task_entry.update_time = datetime.now()
|
|
|
db.commit()
|
|
|
+
|
|
|
+ if attachList is not None:
|
|
|
+ for file in attachList:
|
|
|
+ file_name = file['name']
|
|
|
+ file_name_desc = file['url']
|
|
|
+ status = file['status']
|
|
|
+ new_file = TaskFile(
|
|
|
+ file_id=new_guid(),
|
|
|
+ foreign_key=task_id_to_use,
|
|
|
+ from_scenario='task_feeback',
|
|
|
+ file_name=file_name,
|
|
|
+ file_name_desc=file_name_desc,
|
|
|
+ status=status
|
|
|
+ )
|
|
|
+ db.add(new_file)
|
|
|
+ db.commit()
|
|
|
+
|
|
|
return {
|
|
|
"code": 200,
|
|
|
"msg": "任务状态更新成功",
|
|
@@ -216,7 +255,7 @@ async def update_task_status(
|
|
|
}
|
|
|
}
|
|
|
except Exception as e:
|
|
|
- db.rollback()
|
|
|
+ traceback.print_exc()
|
|
|
raise HTTPException(status_code=500, detail=str(e))
|
|
|
|
|
|
@router.delete('/delete')
|