Pārlūkot izejas kodu

241206-2代码。

baoyubo 5 mēneši atpakaļ
vecāks
revīzija
07554427f7

+ 45 - 27
routers/api/resourceProvison/MaterialReserveManagement/material.py

@@ -46,6 +46,19 @@ def delete_resource_provision_file(db,from_scenario,foreign_key):
     files = file_query.all()
     for file in files:
         file.del_flag = '2'
+def get_resource_provision_file_query_fun(db,from_scenario,foreign_key):
+    file_query = db.query(ResourceProvisionFile)
+    file_query = file_query.filter(ResourceProvisionFile.del_flag != '2')
+    file_query = file_query.filter(ResourceProvisionFile.from_scenario == from_scenario)
+    file_query = file_query.filter(ResourceProvisionFile.foreign_key == foreign_key)
+    files = file_query.all()
+    result = [{
+        "uid": file.file_id,
+        "status": file.status,
+        "name": file.file_name_desc,
+        "url":  file.file_name  #"/api/file/download/%s" %
+    } for file in files]
+    return result
 
 @router.post("/create")
 async def create_pattern(
@@ -98,13 +111,15 @@ async def create_pattern(
 
         db.add(new_material)
         new_file_list = body['fileList']
-
+        db.commit()
+        db.refresh(new_material)
         for file in new_file_list:
-            file_name = file['file_name']
-            file_name_desc = file['file_name_desc']
+            file_name = file['url']
+            file_name_desc = file['name']
             status = file['status']
+            uid = file['uid']
             new_file = ResourceProvisionFile(
-                file_id=new_guid(),
+                file_id=uid,
                 foreign_key=new_material.material_id,
                 from_scenario='ResourceProvisionMaterialInfo',
                 file_name=file_name,
@@ -176,11 +191,12 @@ async def update_pattern(
 
         new_file_list = body['fileList']
         for file in new_file_list:
-            file_name = file['file_name']
-            file_name_desc = file['file_name_desc']
+            file_name = file['url']
+            file_name_desc = file['name']
             status = file['status']
+            uid = file['uid']
             new_file = ResourceProvisionFile(
-                file_id=new_guid(),
+                file_id=uid,
                 foreign_key=id,
                 from_scenario='ResourceProvisionMaterialInfo',
                 file_name=file_name,
@@ -205,20 +221,20 @@ async def get_pattern_info(
         if not info:
             return JSONResponse(status_code=404,content={"code":404,"msg":"warehouse room not found"})
         warehouse_info = warehouse_id_get_warehouse_info(db,info.warehouse_id)
-        if not warehouse_info:
-            warehouse_name=None
-        else:
+        if  warehouse_info:
             warehouse_name = warehouse_info.warehouse_name
-        material_type_info = type_id_get_material_type_info(db,info.material_type)
-        if not material_type_info:
-            material_category_name=None
         else:
+            warehouse_name=None
+        material_type_info = type_id_get_material_type_info(db,info.material_type)
+        if  material_type_info:
             material_category_name = material_type_info.material_category_name
-        warehouse_room_info = type_id_get_material_type_info(db, info.room_id)
-        if not warehouse_room_info:
-            room_name = None
         else:
+            material_category_name=None
+        warehouse_room_info = warehouse_room_id_get_warehouse_room_info(db, info.room_id)
+        if  warehouse_room_info:
             room_name = warehouse_room_info.room_name
+        else:
+            room_name = None
         data = {
             "material_id": info.material_id,
             "material_name": info.material_name,
@@ -261,7 +277,8 @@ async def get_pattern_info(
             "shelf_life_warning_days": info.shelf_life_warning_days,
             "shelf_life_warning_pusher": info.shelf_life_warning_pusher,
             "from_sys": info.from_sys,
-            "create_time":info.create_time}
+            "create_time":info.create_time,
+            "fileList": get_resource_provision_file_query_fun(db=db,from_scenario='ResourceProvisionMaterialInfo', foreign_key=info.material_id)}
         return {"code": 200, "msg": "获取成功", "data": data}
     except Exception as e:
         traceback.print_exc()
@@ -296,20 +313,20 @@ async def get_pattern_list(
         data = []
         for info in lists:
             warehouse_info = warehouse_id_get_warehouse_info(db, info.warehouse_id)
-            if not warehouse_info:
-                warehouse_name = None
-            else:
+            if  warehouse_info:
                 warehouse_name = warehouse_info.warehouse_name
-            material_type_info = type_id_get_material_type_info(db, info.material_type)
-            if not material_type_info:
-                material_category_name = None
             else:
+                warehouse_name = None
+            material_type_info = type_id_get_material_type_info(db, info.material_type)
+            if  material_type_info:
                 material_category_name = material_type_info.material_category_name
-            warehouse_room_info = type_id_get_material_type_info(db, info.room_id)
-            if not warehouse_room_info:
-                room_name = None
             else:
+                material_category_name = None
+            warehouse_room_info = warehouse_room_id_get_warehouse_room_info(db, info.room_id)
+            if  warehouse_room_info:
                 room_name = warehouse_room_info.room_name
+            else:
+                room_name = None
             data.append({
             "material_id": info.material_id,
             "material_name": info.material_name,
@@ -352,7 +369,8 @@ async def get_pattern_list(
             "shelf_life_warning_days": info.shelf_life_warning_days,
             "shelf_life_warning_pusher": info.shelf_life_warning_pusher,
             "from_sys": info.from_sys,
-            "create_time":info.create_time})
+            "create_time":info.create_time,
+            "fileList": get_resource_provision_file_query_fun(db=db,from_scenario='ResourceProvisionMaterialInfo', foreign_key=info.material_id)})
         return {"code": 200, "msg": "查询成功", "data": data,
                 "total": total_items,
                 "page": page,

+ 3 - 1
routers/api/resourceProvison/MaterialReserveManagement/material_type.py

@@ -110,7 +110,7 @@ async def get_pattern_info(
 async def get_pattern_list(
     name: str = Query(None, description='名称'),
     page: int = Query(1, gt=0, description='页码'),
-    pageSize: int = Query(100, gt=0, description='每页条目数量'),
+    pageSize: int = Query(None, gt=0, description='每页条目数量'),
     db: Session = Depends(get_db)
 ):
     try:
@@ -120,6 +120,8 @@ async def get_pattern_list(
             query = query.filter(ResourceProvisionMaterialType.material_category_name.like(f'%{name}%'))
         total_items = query.count()
         # 排序
+        if pageSize is None:
+            pageSize=total_items
         query = query.order_by(ResourceProvisionMaterialType.create_time.desc())
         # 执行分页查询
         lists = query.offset((page - 1) * pageSize).limit(pageSize).all()

+ 3 - 3
routers/api/resourceProvison/MaterialReserveManagement/warehouse_root.py

@@ -150,10 +150,10 @@ async def get_pattern_list(
         data = []
         for info in lists:
             warehouse_info = warehouse_id_get_warehouse_info(db, info.warehouse)
-            if not warehouse_info:
-                warehouse_name = None
-            else:
+            if  warehouse_info:
                 warehouse_name = warehouse_info.warehouse_name
+            else:
+                warehouse_name = None
             data.append({
                 "id":info.id,
                 "warehouse_id": info.warehouse,