libushang před 4 dny
rodič
revize
f4edb57a76

+ 3 - 3
common/db/db_task.py

@@ -63,11 +63,11 @@ def get_task_file_list(db: Session, task_id: str):
     } for file in files]
     return result
 
-def get_task_feeback_file_list(db: Session, task_id: str):
+def get_task_feeback_file_list(db: Session, feeback_id: int):
     file_query = db.query(TaskFile)
     file_query = file_query.filter(TaskFile.del_flag != '2')
     file_query = file_query.filter(TaskFile.from_scenario == 'task_feeback')
-    file_query = file_query.filter(TaskFile.foreign_key == task_id)
+    file_query = file_query.filter(TaskFile.foreign_key == str(feeback_id))
     files = file_query.all()
     result = [{
         "uid": file.file_id,
@@ -103,7 +103,7 @@ def get_task_feebacks(db: Session, task_id: str):
         info = get_model_dict(row)
         info['create_time'] = get_datetime_str(row.create_time)
         info['approval_time'] = get_datetime_str(row.approval_time)
-        info['fileList'] = get_task_feeback_file_list(db, task_id)
+        info['fileList'] = get_task_feeback_file_list(db, row.id)
         data.append(info)
     
     return data

+ 16 - 2
routers/api/taskRegistration/__init__.py

@@ -288,6 +288,7 @@ async def update_task_status(
         )
         db.add(new_feeback)
         db.commit()
+        db.refresh(new_feeback)
 
         task_entry.processing_status = processing_status
         task_entry.update_time = datetime.now()
@@ -300,7 +301,7 @@ async def update_task_status(
                 status = file['status']
                 new_file = TaskFile(
                     file_id=new_guid(),
-                    foreign_key=task_id_to_use,
+                    foreign_key=str(new_feeback.id),
                     from_scenario='task_feeback',
                     file_name=file_name,
                     file_name_desc=file_name_desc,
@@ -711,7 +712,20 @@ async def feeback_by_mobile_station(
         
         def get_file_list_by_task_id(task_id):
             task_file_list = db_task.get_task_file_list(db, task_id)
-            task_feeback_file_list = db_task.get_task_feeback_file_list(db, task_id)
+
+            file_query = db.query(TaskFile, TaskFeeback).join(TaskFeeback, TaskFile.from_scenario == TaskFeeback.id)
+            file_query = file_query.filter(TaskFeeback.feeback_type == '0')
+            file_query = file_query.filter(TaskFeeback.work_station == mobile_id)
+            file_query = file_query.filter(TaskFile.del_flag == '0')
+            file_query = file_query.filter(TaskFile.from_scenario == 'task_feeback')
+            files = file_query.all()
+            task_feeback_file_list = [{
+                "uid": file.file_id,
+                "status": file.status,
+                "name": file.file_name_desc,
+                "url":  file.file_name
+            } for file, _ in files]
+            
             return task_file_list + task_feeback_file_list
 
         missing_event_code = db.query(EventBase).filter(EventBase.event_code == event_code).first()

+ 4 - 1
routers/prod_api/sso.py

@@ -172,7 +172,10 @@ async def create_event(
         return {
             "code": 0,
             "msg": "新建事件成功",
-            "data": f"https://yjdp.mmsyjj.cn:8086/yjdp/#/emergencyCommandMap?event_id={eventId}"
+            "data": {
+                "eventId": eventId,
+                "url": f"https://yjdp.mmsyjj.cn:8086/yjdp/#/emergencyCommandMap?event_id={eventId}"
+            }
         }
         
     except Exception as e: